/* =========================================================================
   Sowena Group — Events styling
   Brand: navy #1E2A47 · gold #D4A843 · off-white #F8F8F8 · Fustat
   Skins The Events Calendar (Views V2) + custom Events pages to match site.
   Built by Tao Digital. New file — safe to remove to revert.
   ========================================================================= */

:root{
  --sowena-navy:#1E2A47;
  --sowena-navy-2:#141d33;
  --sowena-gold:#D4A843;
  --sowena-gold-bright:#FEDB1A;
  --sowena-grey:#8695A2;
  --sowena-offwhite:#F8F8F8;
  --sowena-text:#3d4657;
}

/* ---- The Events Calendar variable overrides (reskin) ---- */
.tribe-common,
.tribe-events{
  --tec-font-family-sans-serif:"Fustat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --tec-color-accent-primary:#1E2A47;
  --tec-color-accent-primary-hover:#D4A843;
  --tec-color-accent-primary-active:#D4A843;
  --tec-color-text-primary:#1E2A47;
  --tec-color-text-secondary:#6a7180;
  --tec-border-radius-default:8px;
}
.tribe-common *,
.tribe-events *{
  font-family:var(--tec-font-family-sans-serif)!important;
}

/* Give the events views the site's airy container width + spacing */
.tribe-events .tribe-events-l-container{
  padding-top:8px;
}
.single-tribe_events .tribe-events,
.tribe-events-view{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}

/* Hide the stock "Events" archive H1 — our branded hero replaces it */
.post-type-archive-tribe_events .tribe-events-header__title,
.post-type-archive-tribe_events .tribe-events-page-title,
.tribe-events-header .tribe-events-page-title{
  display:none!important;
}

/* Top bar: search + view switcher, cleaner + branded */
.tribe-events .tribe-events-c-top-bar{
  border-color:#e7eef4;
}
.tribe-events .tribe-events-c-view-selector__button,
.tribe-events .tribe-events-c-top-bar__nav-list-item .tribe-events-c-top-bar__nav-link{
  color:var(--sowena-navy);
}

/* Primary buttons ("Find Events", Load More) — Sowena pill, navy → gold hover */
.tribe-events .tribe-common-c-btn,
.tribe-events button.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-common-c-btn-border{
  background-color:var(--sowena-navy)!important;
  border-color:var(--sowena-navy)!important;
  color:#fff!important;
  border-radius:9999px!important;
  font-weight:600;
  letter-spacing:.01em;
  transition:all .2s ease;
}
.tribe-events .tribe-common-c-btn:hover,
.tribe-events .tribe-events-c-search__button:hover,
.tribe-events .tribe-common-c-btn-border:hover{
  background-color:var(--sowena-gold)!important;
  border-color:var(--sowena-gold)!important;
  color:var(--sowena-navy)!important;
}

/* Date nav arrows / "Today" */
.tribe-events .tribe-events-c-nav__prev,
.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__today{
  color:var(--sowena-navy)!important;
  font-weight:600;
}

/* ---- LIST VIEW cards ---- */
.tribe-events .tribe-events-calendar-list__event-row{
  margin-bottom:26px;
}
.tribe-events .tribe-events-calendar-list__event{
  background:#fff;
  border:1px solid #e9edf2;
  border-radius:14px;
  padding:22px 26px;
  box-shadow:0 1px 3px rgba(30,42,71,.05);
  transition:box-shadow .25s ease,transform .25s ease;
}
.tribe-events .tribe-events-calendar-list__event:hover{
  box-shadow:0 10px 30px rgba(30,42,71,.10);
  transform:translateY(-2px);
}
.tribe-events .tribe-events-calendar-list__event-date-tag{
  border-right:1px solid #ececec;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum{
  color:var(--sowena-navy);
  font-weight:800;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-month{
  color:var(--sowena-gold);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
}
.tribe-events .tribe-events-calendar-list__event-title-link{
  color:var(--sowena-navy)!important;
  font-weight:700;
}
.tribe-events .tribe-events-calendar-list__event-title-link:hover,
.tribe-events .tribe-events-calendar-list__event-title-link:focus{
  color:var(--sowena-gold)!important;
}
.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-event-date-start,
.tribe-events time{
  color:var(--sowena-grey);
}
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img,
.tribe-events .tribe-events-calendar-list__event-featured-image{
  border-radius:12px;
}
/* gold "Featured" flag */
.tribe-events .tribe-events-calendar-list__event-datetime-featured-text,
.tribe-events .tribe-common-c-svgicon--featured{
  color:var(--sowena-gold)!important;
  fill:var(--sowena-gold)!important;
}

/* ---- MONTH VIEW ---- */
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date{
  color:var(--sowena-gold);
  font-weight:800;
}
.tribe-events .tribe-events-calendar-month__calendar-event-title-link{
  color:var(--sowena-navy)!important;
}
.tribe-events .tribe-events-calendar-month__calendar-event-datetime-featured,
.tribe-events .tribe-events-calendar-month__day-cell--selected{
  background-color:var(--sowena-navy)!important;
}

/* Single event page: navy title, gold meta labels */
.single-tribe_events .tribe-events-single-event-title{
  color:var(--sowena-navy);
}
.single-tribe_events .tribe-events-cal-links .tribe-events-gcal,
.single-tribe_events .tribe-events-cal-links .tribe-events-ical{
  background-color:var(--sowena-navy)!important;
  color:#fff!important;
  border-radius:9999px!important;
}

/* =========================================================================
   Shared branded HERO (used on /events/ archive + intro of Previous Events)
   ========================================================================= */
/* Padding/margins forced with !important + extra specificity because The Events
   Calendar's container reset (.tribe-events-l-container) zeroes them on /events/. */
.sowena-ev-hero,
.tribe-events .sowena-ev-hero,
.tcb-post-content .sowena-ev-hero{
  background:linear-gradient(160deg,#1E2A47 0%,#141d33 100%);
  color:#fff;
  padding:100px 24px 92px!important;
  text-align:center!important;
  margin:0 0 0!important;
  box-sizing:border-box;
}
.sowena-ev-hero .sowena-ev-eyebrow{
  display:block;
  color:var(--sowena-gold);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:13px;
  font-weight:600;
  margin-bottom:16px;
}
.sowena-ev-hero h1,
.tcb-post-content .sowena-ev-hero h1,
.thrv_wrapper .sowena-ev-hero h1{
  color:#fff!important;
  text-align:center!important;
  font-family:var(--tec-font-family-sans-serif,"Fustat",sans-serif)!important;
  font-size:clamp(40px,6vw,74px)!important;
  font-weight:300!important;
  line-height:1.04!important;
  margin:0 auto 20px!important;
  max-width:14ch!important;
  padding:0!important;
}
.sowena-ev-hero p,
.tcb-post-content .sowena-ev-hero p{
  color:#ffffff!important;
  font-size:19px;
  line-height:1.6;
  max-width:640px;
  margin:0 auto!important;
}
.sowena-ev-hero .sowena-ev-rule,
.tribe-events .sowena-ev-hero .sowena-ev-rule,
.tcb-post-content .sowena-ev-hero .sowena-ev-rule{
  width:64px!important;height:3px!important;
  background:var(--sowena-gold)!important;
  border:0!important;
  margin:38px auto 0 auto!important;
  margin-left:auto!important;margin-right:auto!important;
  border-radius:2px;display:block;
}

/* =========================================================================
   PREVIOUS EVENTS page
   ========================================================================= */
.sowena-pe{color:var(--sowena-text);}
.sowena-pe .sowena-pe-intro{
  max-width:760px;margin:56px auto 8px;padding:0 20px;text-align:center;
}
.sowena-pe .sowena-pe-intro p{
  font-size:19px;line-height:1.65;color:#5b6473;
}
.sowena-pe-event{
  max-width:1080px;margin:0 auto;padding:56px 20px;
  border-bottom:1px solid #ececec;
}
.sowena-pe-event:last-child{border-bottom:0;}
.sowena-pe-event .sowena-pe-date{
  color:var(--sowena-gold);text-transform:uppercase;letter-spacing:.16em;
  font-size:13px;font-weight:700;margin-bottom:10px;
}
.sowena-pe-event h2{
  color:var(--sowena-navy)!important;
  font-size:clamp(28px,3.4vw,40px);font-weight:400;line-height:1.12;margin:0 0 16px;
}
.sowena-pe-event .sowena-pe-desc{
  font-size:18px;line-height:1.7;color:#5b6473;max-width:820px;margin:0 0 30px;
}
/* Responsive 16:9 video */
.sowena-pe-video{
  position:relative;width:100%;padding-top:56.25%;
  border-radius:16px;overflow:hidden;margin:0 0 28px;
  box-shadow:0 14px 40px rgba(30,42,71,.16);background:#0b1220;
}
.sowena-pe-video iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
/* Photo gallery grid */
.sowena-pe-gallery{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px;
}
.sowena-pe-gallery figure{margin:0;}
.sowena-pe-gallery img{
  width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:12px;display:block;transition:transform .35s ease,box-shadow .35s ease;
}
.sowena-pe-gallery a:hover img,
.sowena-pe-gallery img:hover{
  transform:scale(1.02);box-shadow:0 10px 26px rgba(30,42,71,.16);
}
@media(max-width:900px){.sowena-pe-gallery{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){
  .sowena-pe-gallery{grid-template-columns:1fr 1fr;gap:10px;}
  .sowena-ev-hero{padding:56px 18px 48px;}
}

/* CTA strip reused at foot of event pages */
.sowena-ev-cta{
  background:var(--sowena-offwhite);text-align:center;padding:64px 20px;margin-top:8px;
}
.sowena-ev-cta h3{color:var(--sowena-navy)!important;font-weight:400;font-size:clamp(24px,3vw,34px);margin:0 0 14px;}
.sowena-ev-cta p{color:#5b6473;font-size:18px;max-width:560px;margin:0 auto 26px;}
.sowena-ev-cta .sowena-ev-btn{
  display:inline-block;background:var(--sowena-navy);color:#fff;text-decoration:none;
  padding:15px 40px;border-radius:9999px;font-weight:600;transition:all .2s ease;
}
.sowena-ev-cta .sowena-ev-btn:hover{background:var(--sowena-gold);color:var(--sowena-navy);}

/* =========================================================================
   Event sign-up / consultant contact (single event pages)
   ========================================================================= */
.sowena-ev-signup{
  background:var(--sowena-offwhite);
  border:1px solid #e9edf2;
  border-radius:16px;
  padding:34px 32px;
  margin:34px 0 30px;
  text-align:center;
}
/* The single-event container is a flex row: TEC gives the content blocks
   order:1 and the Details/Venue meta blocks order:2. Without an explicit
   order our block inherits 1 and renders *above* the details, whatever its
   position in the markup. order:3 + a full-width basis keeps it on its own
   row directly beneath the Details block. */
.single-tribe_events .sowena-ev-signup{
  order:3!important;
  flex:0 0 100%!important;
  width:100%!important;
  clear:both;
}
.sowena-ev-signup__title{
  color:var(--sowena-navy)!important;
  font-weight:400!important;
  font-size:clamp(21px,2.4vw,27px)!important;
  margin:0 0 12px!important;
}
.sowena-ev-signup__text{
  color:#5b6473;
  font-size:17px;
  line-height:1.65;
  max-width:520px;
  margin:0 auto 22px;
}
.sowena-ev-signup .sowena-ev-btn{
  display:inline-block;
  background:var(--sowena-navy);
  color:#fff!important;
  text-decoration:none;
  padding:14px 38px;
  border-radius:9999px;
  font-weight:600;
  transition:all .2s ease;
}
.sowena-ev-signup .sowena-ev-btn:hover{
  background:var(--sowena-gold);
  color:var(--sowena-navy)!important;
}
.sowena-ev-signup__alt{
  color:#6a7180;
  font-size:15px;
  margin:18px 0 0;
}
.sowena-ev-signup__alt a{
  color:var(--sowena-navy);
  text-decoration:underline;
  text-underline-offset:2px;
}
.sowena-ev-signup__alt a:hover{color:var(--sowena-gold);}

/* =========================================================================
   PREVIOUS EVENTS — thumbnail grid (cards link to each event's own page)
   ========================================================================= */
.sowena-pe-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  max-width:1120px;
  margin:0 auto;
  padding:56px 20px 72px;
}
.sowena-pe-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e9edf2;
  border-radius:16px;
  overflow:hidden;
  text-decoration:none!important;
  box-shadow:0 1px 3px rgba(30,42,71,.05);
  transition:box-shadow .3s ease,transform .3s ease;
  height:100%;
}
.sowena-pe-card:hover{
  box-shadow:0 14px 36px rgba(30,42,71,.13);
  transform:translateY(-4px);
}
.sowena-pe-card__media{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#0b1220;
}
.sowena-pe-card__media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.sowena-pe-card:hover .sowena-pe-card__media img{transform:scale(1.04);}
/* media-type flag (video / gallery) */
.sowena-pe-card__flag{
  position:absolute;top:14px;left:14px;
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(30,42,71,.86);
  color:#fff;
  font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:6px 12px;border-radius:9999px;
  backdrop-filter:blur(2px);
}
.sowena-pe-card__body{
  padding:24px 24px 26px;
  display:flex;flex-direction:column;flex:1;
}
.sowena-pe-card__date{
  color:var(--sowena-gold);
  text-transform:uppercase;letter-spacing:.14em;
  font-size:12px;font-weight:700;margin-bottom:10px;
}
.sowena-pe-card__title{
  color:var(--sowena-navy)!important;
  font-size:21px!important;
  font-weight:600!important;
  line-height:1.28!important;
  margin:0 0 12px!important;
}
.sowena-pe-card:hover .sowena-pe-card__title{color:var(--sowena-gold)!important;}
.sowena-pe-card__excerpt{
  color:#5b6473;font-size:15.5px;line-height:1.6;margin:0 0 18px;flex:1;
}
.sowena-pe-card__more{
  color:var(--sowena-navy);
  font-weight:600;font-size:14.5px;
  display:inline-flex;align-items:center;gap:7px;
}
.sowena-pe-card:hover .sowena-pe-card__more{color:var(--sowena-gold);}
.sowena-pe-card__more::after{
  content:"→";transition:transform .25s ease;
}
.sowena-pe-card:hover .sowena-pe-card__more::after{transform:translateX(4px);}

@media(max-width:980px){
  .sowena-pe-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
}
@media(max-width:620px){
  .sowena-pe-grid{grid-template-columns:1fr;gap:22px;padding:40px 18px 56px;}
}

/* Single past-event detail page */
.sowena-pe-single{max-width:1000px;margin:0 auto;padding:52px 20px 70px;}
.sowena-pe-single .sowena-pe-back{
  display:inline-block;color:var(--sowena-navy);font-weight:600;font-size:15px;
  text-decoration:none;margin-bottom:26px;
}
.sowena-pe-single .sowena-pe-back:hover{color:var(--sowena-gold);}
.sowena-pe-single .sowena-pe-back::before{content:"← ";}

/* Past-event detail page: title + intro copy (theme defaults are too small/black) */
.sowena-pe-single .sowena-pe-date{
  color:var(--sowena-gold)!important;
  text-transform:uppercase;letter-spacing:.16em;
  font-size:13px!important;font-weight:700!important;margin-bottom:12px!important;
}
.sowena-pe-single__title,
.sowena-pe-single .sowena-pe-single__title,
.tcb-post-content .sowena-pe-single__title{
  color:var(--sowena-navy)!important;
  font-size:clamp(30px,4vw,46px)!important;
  font-weight:400!important;
  line-height:1.12!important;
  margin:0 0 20px!important;
  text-align:left!important;
}
.sowena-pe-single .sowena-pe-desc,
.tcb-post-content .sowena-pe-single .sowena-pe-desc{
  font-size:18px!important;
  line-height:1.7!important;
  color:#5b6473!important;
  max-width:820px;
  margin:0 0 34px!important;
}
.sowena-pe-single .sowena-pe-video{margin-bottom:8px;}
