/* ============================================================
   BIG GAME WEEK - SITE STYLES

   This file is loaded on every page by the "Big Game Week Core"
   plugin. Each block below is numbered and labelled, so you can
   change one thing without hunting through the rest.

   Colours live in block 1. Change a value there and it updates
   everywhere that uses it.
   ============================================================ */

/* ---- 1. BRAND COLOURS ------------------------------------- */
:root{
  --bgw-red:#EC2A26;          /* buttons, links, accents        */
  --bgw-red-hover:#B81E14;    /* button hover                   */
  --bgw-night:#15131B;        /* header, dark sections          */
  --bgw-deep:#0B0A0E;         /* utility bar, footer            */
  --bgw-plum:#453F5E;         /* featured + FAQ sections        */
  --bgw-light:#F7F6FA;        /* light section background       */
  --bgw-ink:#141219;          /* headings on light background   */
  --bgw-line-light:#E4E1EC;   /* borders on light background    */
  --bgw-line-dark:rgba(255,255,255,.10);
  --bgw-radius:10px;          /* card corner rounding           */
}

/* ---- 2. STICKY HEADER ------------------------------------- */
/* Delete this block if you do not want the header to follow the
   page as the visitor scrolls. */
.bgw-sticky{ position:sticky; top:0; z-index:99; }
.admin-bar .bgw-sticky{ top:32px; }
@media (max-width:782px){ .admin-bar .bgw-sticky{ top:46px; } }

/* ---- 3. EVENT CARD ---------------------------------------- */
/* The white cards in "Featured This Week". */
.bgw-card{ transition:transform .28s ease, box-shadow .28s ease; }
.bgw-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 60px rgba(0,0,0,.34) !important;
}

/* Poster image sits under the two badges. */
.bgw-card-media{ position:relative; overflow:hidden; }
.bgw-card-media img{
  display:block; width:100%; height:auto;
  transition:transform .5s ease;
}
.bgw-card:hover .bgw-card-media img{ transform:scale(1.04); }

/* Date badge (left) and time badge (right), laid over the poster. */
.bgw-card-pills{
  position:absolute; top:0; left:0; right:0;
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:16px; pointer-events:none; z-index:2;
}

/* ---- 4. CATEGORY TILE ------------------------------------- */
/* The six tiles in "Browse by Experience". */
.bgw-cat{ transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.bgw-cat:hover{
  border-color:var(--bgw-red) !important;
  box-shadow:0 18px 36px rgba(236,42,38,.14);
  transform:translateY(-4px);
}

/* ---- 5. DAY TILE ------------------------------------------ */
/* The seven day tiles in "Week at a Glance". */
.bgw-day{ transition:background-color .25s ease, border-color .25s ease, transform .25s ease; }
.bgw-day:hover{
  background-color:rgba(236,42,38,.14) !important;
  border-color:rgba(236,42,38,.55) !important;
  transform:translateY(-4px);
}

/* ---- 6. FAQ ACCORDION ------------------------------------- */
.bgw-faq .elementor-accordion .elementor-accordion-item{
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  margin-bottom:12px;
  overflow:hidden;
  background:rgba(255,255,255,.05);
}
.bgw-faq .elementor-tab-title{ transition:background-color .2s ease; }
.bgw-faq .elementor-tab-title:hover{ background-color:rgba(255,255,255,.09); }

/* ---- 7. SUBSCRIBE BOX ------------------------------------- */
/* Used in the newsletter section and again in the footer. */
.bgw-subscribe form{ display:flex; gap:10px; flex-wrap:wrap; align-items:stretch; }
.bgw-subscribe input[type=email]{
  flex:1 1 220px; min-width:0;
  padding:16px 18px; border-radius:4px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07); color:#fff;
  font:400 15px/1.2 Manrope,system-ui,sans-serif;
}
.bgw-subscribe input[type=email]::placeholder{ color:#8F8AA0; }
.bgw-subscribe input[type=email]:focus{ outline:2px solid var(--bgw-red); outline-offset:1px; }
.bgw-subscribe button{
  flex:0 0 auto;
  padding:16px 26px; border:0; border-radius:4px; cursor:pointer;
  background:var(--bgw-red); color:#fff;
  font:600 12px/1 Sora,system-ui,sans-serif; letter-spacing:.1em; text-transform:uppercase;
  transition:background-color .2s ease;
}
.bgw-subscribe button:hover{ background:var(--bgw-red-hover); }

/* Footer version is a little tighter. */
.hfe-footer .bgw-subscribe input[type=email]{ flex:1 1 140px; padding:13px 14px; font-size:14px; }
.hfe-footer .bgw-subscribe button{ padding:13px 18px; font-size:11px; }

/* ---- 8. SMALL TIDY-UPS ------------------------------------ */
.bgw-utilitybar .elementor-icon-list-items{ margin:0; }
.bgw-statbar > .e-con-inner > *:last-child,
.bgw-statbar > *:last-child{ border-right:0 !important; }

/* ---- 9. KEYBOARD FOCUS ------------------------------------ */
/* Visible outline for people navigating with the Tab key. */
a:focus-visible, button:focus-visible, input:focus-visible,
.bgw-cat:focus-visible, .bgw-day:focus-visible{
  outline:2px solid var(--bgw-red);
  outline-offset:3px;
  border-radius:3px;
}

/* ---- 10. MOTION ------------------------------------------- */
/* Turned off for visitors who ask for reduced motion. */
@media (prefers-reduced-motion: reduce){
  .bgw-card, .bgw-cat, .bgw-day, .bgw-card-media img{
    transition:none !important;
  }
  .bgw-card:hover, .bgw-cat:hover, .bgw-day:hover,
  .bgw-card:hover .bgw-card-media img{
    transform:none !important;
  }
}

/* ---- 11. MOBILE & TABLET MENU ------------------------------
   Below 1025px the navigation collapses into a hamburger.

   Why these rules exist: the menu plugin shows the hamburger from
   1024px down, but only turns the drop-down panel into an overlay
   below 768px. Between those two widths the menu stayed in the
   header row, stole ~560px and pushed the page sideways. The rules
   below anchor the panel to the header at every width under 1025px,
   so it always opens as a full-width overlay.
   ------------------------------------------------------------ */
@media (max-width:1024px){

  /* Make the header itself the anchor for the drop-down panel. */
  .bgw-header{ position:relative; }
  .bgw-header .e-con-inner,
  .bgw-header .e-con.e-child,
  .bgw-header .elementor-widget-navigation-menu,
  .bgw-header .elementor-widget-navigation-menu > .elementor-widget-container{
    position:static;
  }

  /* The panel: full width, flush under the header. */
  .bgw-header nav.hfe-nav-menu__layout-horizontal{
    position:absolute;
    top:100%; left:0; right:0;
    width:auto;
    background:var(--bgw-night);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 26px 44px rgba(0,0,0,.5);
    padding:0 0 6px;
    max-height:calc(100vh - 100%);
    overflow-y:auto;
    z-index:120;
  }

  /* Hamburger sits at the right end of the header row. */
  .bgw-header .hfe-nav-menu__toggle{ margin-left:auto; }

  /* One comfortable tap target per link. */
  .bgw-header nav.hfe-nav-menu__layout-horizontal .menu-item a.hfe-menu-item,
  .bgw-header nav.hfe-nav-menu__layout-horizontal .menu-item a.hfe-sub-menu-item{
    display:flex;
    align-items:center;
    padding:13px 16px 13px 22px !important;
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .bgw-header nav.hfe-nav-menu__layout-horizontal > ul > .menu-item:last-child > a.hfe-menu-item{
    border-bottom:0;
  }

  /* ---- Sub-menu arrow ("Blogs") -----------------------------
     Rendered as a small rounded button instead of a bare icon,
     and it turns over when the sub-menu is open. */
  .bgw-header nav.hfe-nav-menu__layout-horizontal .sub-arrow{
    position:static !important;
    flex:0 0 32px;
    width:32px; height:32px;
    margin:0 0 0 auto !important;
    padding:0 !important;
    display:inline-flex; align-items:center; justify-content:center;
    border:1px solid rgba(255,255,255,.20);
    border-radius:8px;
    background:rgba(255,255,255,.07);
    color:#fff;
    transition:background-color .2s ease, border-color .2s ease, transform .25s ease;
  }
  .bgw-header nav.hfe-nav-menu__layout-horizontal .sub-arrow i{
    font-size:11px; line-height:1; margin:0;
  }
  .bgw-header nav.hfe-nav-menu__layout-horizontal .sub-arrow:hover{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.34);
  }

  /* Replace the browser's dotted focus box with the brand outline. */
  .bgw-header nav.hfe-nav-menu__layout-horizontal .hfe-has-submenu-container:focus{ outline:none; }
  .bgw-header nav.hfe-nav-menu__layout-horizontal .hfe-has-submenu-container:focus-visible{
    outline:2px solid #ffffff;
    outline-offset:-3px;
  }

  /* Current page: a red bar on the left edge reads better in a stacked
     list than the full-width underline used on desktop. */
  .bgw-header nav.hfe-nav-menu__layout-horizontal .menu-item > a.hfe-menu-item::after{
    display:none !important;
  }
  .bgw-header nav.hfe-nav-menu__layout-horizontal .current-menu-item > a.hfe-menu-item,
  .bgw-header nav.hfe-nav-menu__layout-horizontal .current-menu-item > .hfe-has-submenu-container > a.hfe-menu-item{
    box-shadow:inset 3px 0 0 0 var(--bgw-red);
    color:#ffffff;
  }

  /* Sub-menu (FAQ under Blogs) indents instead of floating. */
  .bgw-header nav.hfe-nav-menu__layout-horizontal .sub-menu{
    background:rgba(0,0,0,.32);
    box-shadow:none;
  }
  .bgw-header nav.hfe-nav-menu__layout-horizontal .sub-menu a.hfe-sub-menu-item{
    padding-left:40px !important;
    font-size:14px;
  }
}

/* ---- 12. HEADER ROW ----------------------------------------
   Keeps logo, call button, menu and CTA on one line. */
.bgw-header .e-con-inner > .e-con{ flex-wrap:nowrap; }
.bgw-logo img{ display:block; }

/* ---- 13. EVENT & BLOG GRIDS --------------------------------
   Used by the [bgw_events] and [bgw_posts] shortcodes on the
   Events, Blogs and Calendar pages. Same card look as the home
   page, but built in the plugin so the listings stay dynamic.
   ------------------------------------------------------------ */
.bgw-grid{
  display:grid;
  gap:28px;
  align-items:stretch;
}
.bgw-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.bgw-grid--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.bgw-grid--1{ grid-template-columns:minmax(0,1fr); }

@media (max-width:1024px){
  .bgw-grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px){
  .bgw-grid{ gap:22px; }
  .bgw-grid--3, .bgw-grid--2{ grid-template-columns:minmax(0,1fr); }
}

/* The card itself. */
.bgw-grid .bgw-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:var(--bgw-radius);
  overflow:hidden;
  box-shadow:0 20px 44px rgba(0,0,0,.26);
}
/* Posters come in every shape, so crop them to one ratio - a ragged
   grid of mismatched image heights reads as broken. */
.bgw-grid .bgw-card-media img{
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
}
.bgw-card-noimage{
  aspect-ratio:4/3;
  background:repeating-linear-gradient(135deg,#2a2634 0 10px,#221f2c 10px 20px);
}

/* Date and time badges over the poster. */
.bgw-pill{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-family:Sora,system-ui,sans-serif;
  font-weight:700;
  line-height:1.15;
}
.bgw-pill--date{
  background:var(--bgw-red);
  border-radius:4px;
  padding:8px 11px;
  font-size:13px;
}
.bgw-pill--date small{
  font-size:9px;
  font-weight:600;
  letter-spacing:.08em;
}
.bgw-pill--time{
  background:rgba(11,10,14,.82);
  border-radius:100px;
  padding:8px 12px;
  font-size:11px;
  letter-spacing:.06em;
}

/* Card text. */
.bgw-card-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:24px 24px 26px;
  flex:1;
}
.bgw-card-eyebrow{
  color:var(--bgw-red);
  font:600 11px/1.3 Sora,system-ui,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.bgw-card-title{
  margin:0;
  font:600 19px/1.4 Sora,system-ui,sans-serif;
  letter-spacing:-.2px;
}
.bgw-card-title a{ color:var(--bgw-ink); text-decoration:none; }
.bgw-card-title a:hover{ color:var(--bgw-red); }

.bgw-card-meta{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.bgw-card-meta li{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#5C566B;
  font:400 14px/1.5 Manrope,system-ui,sans-serif;
}
.bgw-card-meta i{ color:var(--bgw-red); font-size:13px; margin-top:3px; flex:0 0 14px; }

.bgw-card a.bgw-card-link{
  margin-top:auto;
  padding-top:4px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  align-self:flex-start;
  color:var(--bgw-red);
  font:600 12px/1 Sora,system-ui,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
}
.bgw-card a.bgw-card-link:hover{ color:var(--bgw-red-hover); }
.bgw-card a.bgw-card-link i{ transition:transform .2s ease; }
.bgw-card a.bgw-card-link:hover i{ transform:translateX(3px); }

.bgw-grid-empty{
  padding:36px 24px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:var(--bgw-radius);
  text-align:center;
  color:#9C96AD;
  font:400 15px/1.6 Manrope,system-ui,sans-serif;
}

/* ---- 14. LONG-FORM / LEGAL PAGES ---------------------------
   Privacy Policy, Terms, and any other page that is mostly text.
   One comfortable reading column with clear heading steps.
   ------------------------------------------------------------ */
.bgw-prose{
  color:#414D55;
  font:400 16px/1.8 Manrope,system-ui,sans-serif;
}
.bgw-prose h2,
.bgw-prose h3,
.bgw-prose h4{
  color:var(--bgw-ink);
  font-family:Sora,system-ui,sans-serif;
  font-weight:600;
  letter-spacing:-.2px;
  margin:38px 0 12px;
}
.bgw-prose h2{ font-size:26px; line-height:1.3; }
.bgw-prose h3{ font-size:21px; line-height:1.35; }
.bgw-prose h4{ font-size:17px; line-height:1.4; }
.bgw-prose > *:first-child{ margin-top:0; }
.bgw-prose p{ margin:0 0 16px; }
.bgw-prose ul,
.bgw-prose ol{ margin:0 0 18px; padding-left:22px; }
.bgw-prose li{ margin-bottom:8px; }
.bgw-prose a[href]{ color:var(--bgw-red); text-decoration:underline; text-underline-offset:2px; }
.bgw-prose a[href]:hover{ color:var(--bgw-red-hover); }
.bgw-prose strong{ color:var(--bgw-ink); font-weight:600; }

/* Numbered clauses get a rule above them so the page scans easily. */
.bgw-prose h4{
  padding-top:26px;
  border-top:1px solid var(--bgw-line-light);
}
.bgw-prose h4:first-of-type{ padding-top:0; border-top:0; }

/* Article content can contain anything that was pasted in - wide tables,
   long URLs, embeds. These rules keep all of it inside the page instead
   of stretching it sideways on small screens. */
.bgw-prose{ overflow-wrap:break-word; word-break:break-word; }
.bgw-prose img{ max-width:100%; height:auto; }
.bgw-prose iframe,
.bgw-prose video,
.bgw-prose embed{ max-width:100%; }
.bgw-prose pre{ overflow-x:auto; max-width:100%; }

.bgw-prose table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  border-collapse:collapse;
  margin:0 0 22px;
  font-size:15px;
  -webkit-overflow-scrolling:touch;
}
.bgw-prose th,
.bgw-prose td{
  padding:10px 14px;
  border:1px solid var(--bgw-line-light);
  text-align:left;
  vertical-align:top;
}
.bgw-prose th{
  background:var(--bgw-light);
  color:var(--bgw-ink);
  font:600 13px/1.4 Sora,system-ui,sans-serif;
  letter-spacing:.03em;
}


/* ---- 15. WEEK CALENDAR -------------------------------------
   Styles the day-by-day calendar on the Events Calendar page.
   The content stays editable in Elementor's HTML widget - only
   the look is defined here.
   ------------------------------------------------------------ */
.calendar-container > h1{ display:none; }

.calendar-container .date-header{
  margin:46px 0 20px;
  padding:0 0 12px;
  border-bottom:2px solid var(--bgw-red);
  color:#fff;
  font:600 24px/1.3 Sora,system-ui,sans-serif;
  letter-spacing:-.3px;
}
.calendar-container .date-header:first-of-type{ margin-top:0; }

.calendar-container .events-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
@media (max-width:767px){
  .calendar-container .events-grid{ grid-template-columns:minmax(0,1fr); gap:16px; }
  .calendar-container .date-header{ font-size:20px; margin:34px 0 16px; }
}

.calendar-container .event-box{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:22px 22px 20px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:var(--bgw-radius);
  transition:border-color .25s ease, background-color .25s ease, transform .25s ease;
}
.calendar-container .event-box:hover{
  background:rgba(255,255,255,.07);
  border-color:rgba(236,42,38,.45);
  transform:translateY(-3px);
}

.calendar-container .event-title{
  color:#fff;
  font:600 17px/1.4 Sora,system-ui,sans-serif;
  margin-bottom:4px;
}
.calendar-container .event-title .highlight{ color:var(--bgw-red); }

.calendar-container .event-detail{
  color:#C9C4D6;
  font:400 14px/1.6 Manrope,system-ui,sans-serif;
}
.calendar-container .event-detail strong{
  color:#8F8AA0;
  font-weight:600;
  display:inline-block;
  min-width:82px;
}

.calendar-container .details-link{
  margin-top:8px;
  align-self:flex-start;
  color:var(--bgw-red);
  font:600 12px/1 Sora,system-ui,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
}
.calendar-container .details-link:hover{ color:#FF7B6E; }

@media (prefers-reduced-motion: reduce){
  .calendar-container .event-box{ transition:none; }
  .calendar-container .event-box:hover{ transform:none; }
}

/* ---- 16. SINGLE EVENT & ARTICLE PAGES ----------------------
   Layout for one event and one blog article. Elementor's Theme
   Builder is Pro-only, so these pages are rendered by the two
   templates in bgw-core/templates/.
   ------------------------------------------------------------ */
.bgw-single{ background:var(--bgw-night); }

/* ---- Banner ---- */
.bgw-single-hero{
  position:relative;
  background-color:#1C1826;
  background-size:cover;
  background-position:center;
  padding:88px 40px;
}
.bgw-single-hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(16,14,23,.86) 0%,rgba(16,14,23,.94) 100%);
}
.bgw-single-hero__inner{
  position:relative;
  max-width:860px;
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.bgw-single-hero h1{
  margin:0;
  color:#fff;
  font:700 44px/1.15 Sora,system-ui,sans-serif;
  letter-spacing:-1px;
}
.bgw-single-eyebrow{
  color:#FF7B6E;
  font:600 11px/1.3 Sora,system-ui,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.bgw-single-facts{
  list-style:none; margin:2px 0 0; padding:0;
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 26px;
}
.bgw-single-facts li{
  display:flex; align-items:center; gap:9px;
  color:#C9C4D6;
  font:400 15px/1.5 Manrope,system-ui,sans-serif;
}
.bgw-single-facts i{ color:var(--bgw-red); font-size:13px; }
.bgw-single-note{
  margin:0;
  color:#8F8AA0;
  font:400 13px/1.5 Manrope,system-ui,sans-serif;
}

/* ---- Buttons used by the templates ---- */
/* Note: Elementor's global link colour is set as ".elementor-kit-1315 a",
   which outranks a single class. Button and link rules below therefore
   carry an extra class (a.bgw-btn.bgw-btn--primary) so they win. */
a.bgw-btn, .bgw-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:17px 28px;
  border-radius:4px;
  font:600 12px/1 Sora,system-ui,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
a.bgw-btn.bgw-btn--primary, .bgw-btn--primary{ background:var(--bgw-red); color:#fff; box-shadow:0 14px 30px rgba(236,42,38,.34); }
a.bgw-btn.bgw-btn--primary:hover, .bgw-btn--primary:hover{ background:var(--bgw-red-hover); color:#fff; }
a.bgw-btn.bgw-btn--outline, .bgw-btn--outline{ border:1px solid var(--bgw-ink); color:var(--bgw-ink); }
a.bgw-btn.bgw-btn--outline:hover{ background:var(--bgw-ink); color:#fff; }
a.bgw-btn.bgw-btn--outline-light, .bgw-btn--outline-light{ border:1px solid rgba(255,255,255,.26); color:#fff; }
a.bgw-btn.bgw-btn--outline-light:hover{ background:rgba(255,255,255,.10); color:#fff; }
.bgw-btn--block{ width:100%; }

/* ---- Body ---- */
.bgw-single-body{ background:#fff; padding:64px 40px; }
.bgw-single-body__inner{
  max-width:1140px; margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:52px;
  align-items:start;
}
.bgw-single-body--narrow .bgw-single-body__inner{
  grid-template-columns:minmax(0,1fr);
  max-width:780px;
}

/* ---- Details card ---- */
.bgw-detail-card{
  background:var(--bgw-light);
  border:1px solid var(--bgw-line-light);
  border-radius:var(--bgw-radius);
  padding:26px 24px;
  margin-bottom:20px;
}
.bgw-detail-card h2{
  margin:0 0 16px;
  color:var(--bgw-ink);
  font:600 13px/1.3 Sora,system-ui,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.bgw-detail-card dl{ margin:0 0 18px; }
.bgw-detail-card dt{
  color:#6E7A82;
  font:600 11px/1.4 Sora,system-ui,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-top:14px;
}
.bgw-detail-card dt:first-child{ margin-top:0; }
.bgw-detail-card dd{
  margin:4px 0 0;
  color:var(--bgw-ink);
  font:400 15px/1.55 Manrope,system-ui,sans-serif;
}
.bgw-detail-card a.bgw-detail-card__map{
  display:inline-flex; align-items:center; gap:8px;
  margin-bottom:18px;
  color:var(--bgw-red);
  font:600 12px/1 Sora,system-ui,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
}
.bgw-detail-card a.bgw-detail-card__map:hover{ color:var(--bgw-red-hover); }
.bgw-detail-card--quiet{ background:#fff; }
.bgw-detail-card--quiet p{
  margin:0 0 18px;
  color:#5C566B;
  font:400 14px/1.65 Manrope,system-ui,sans-serif;
}

/* ---- Related strip ---- */
.bgw-single-related{ background:var(--bgw-plum); padding:72px 40px; }
.bgw-single-related__inner{
  max-width:1140px; margin:0 auto;
  display:flex; flex-direction:column; align-items:center; gap:12px;
  text-align:center;
}
.bgw-single-related h2{
  margin:0 0 14px;
  color:#fff;
  font:600 32px/1.25 Sora,system-ui,sans-serif;
  letter-spacing:-.5px;
}
.bgw-single-related .bgw-grid{ width:100%; text-align:left; margin-bottom:26px; }

@media (max-width:1024px){
  .bgw-single-body__inner{ grid-template-columns:minmax(0,1fr); gap:34px; }
}
@media (max-width:767px){
  .bgw-single-hero{ padding:54px 18px; }
  .bgw-single-hero h1{ font-size:28px; letter-spacing:-.5px; }
  .bgw-single-body{ padding:44px 18px; }
  .bgw-single-related{ padding:50px 18px; }
  .bgw-single-related h2{ font-size:24px; }
}

/* ---- 17. FORMS ---------------------------------------------
   Contact and Submit An Event. The fields themselves are defined
   in bgw-core/inc/forms.php.
   ------------------------------------------------------------ */
.bgw-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.bgw-field--full{ grid-column:1 / -1; }
@media (max-width:640px){
  .bgw-form-grid{ grid-template-columns:minmax(0,1fr); }
}

.bgw-field label{
  display:block;
  margin-bottom:7px;
  color:var(--bgw-ink);
  font:600 12px/1.3 Sora,system-ui,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bgw-field label span{ color:var(--bgw-red); margin-left:3px; }

.bgw-field input,
.bgw-field select,
.bgw-field textarea{
  width:100%;
  padding:14px 15px;
  border:1px solid var(--bgw-line-light);
  border-radius:6px;
  background:#fff;
  color:var(--bgw-ink);
  font:400 15px/1.5 Manrope,system-ui,sans-serif;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.bgw-field textarea{ resize:vertical; min-height:140px; }
.bgw-field input:focus,
.bgw-field select:focus,
.bgw-field textarea:focus{
  outline:none;
  border-color:var(--bgw-red);
  box-shadow:0 0 0 3px rgba(236,42,38,.14);
}

.bgw-form-submit{
  margin-top:22px;
  padding:17px 32px;
  border:0; border-radius:4px; cursor:pointer;
  background:var(--bgw-red); color:#fff;
  font:600 12px/1 Sora,system-ui,sans-serif;
  letter-spacing:.12em; text-transform:uppercase;
  transition:background-color .2s ease;
}
.bgw-form-submit:hover{ background:var(--bgw-red-hover); }

.bgw-form-small{
  margin:14px 0 0;
  color:#6E7A82;
  font:400 13px/1.6 Manrope,system-ui,sans-serif;
}

/* The spam trap must stay out of sight but reachable by bots. */
.bgw-form-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Success / error banners. */
.bgw-form-note{
  display:flex; flex-direction:column; gap:4px;
  padding:18px 20px;
  margin-bottom:24px;
  border-radius:8px;
  font:400 15px/1.6 Manrope,system-ui,sans-serif;
}
.bgw-form-note strong{ font-family:Sora,system-ui,sans-serif; font-weight:600; }
.bgw-form-note--ok{ background:#E8F5EE; border:1px solid #A9D9C0; color:#1C5C3E; }
.bgw-form-note--error{ background:#FDECEB; border:1px solid #F3B6B4; color:#8E1B16; }

/* ---- 18. EMBEDS --------------------------------------------
   Wrapper for third-party iframes (the Brevo newsletter form). */
.bgw-embed{ width:100%; }
.bgw-embed iframe{ display:block; width:100%; max-width:100%; border:0; margin:0 auto; }

/* ---- 19. NARROW DESKTOPS (1025-1200px) ---------------------
   Just past the tablet breakpoint the full menu, the concierge
   number and the CTA button do not all fit on one line, and the
   button label wrapped onto three lines. The number is dropped in
   this range only - it is still in the top bar and the footer.
   ------------------------------------------------------------ */
@media (min-width:1025px) and (max-width:1200px){
  .bgw-header .bgw-phone{ display:none !important; }
}

/* A button label should never break across lines. */
.bgw-header .elementor-button-text,
.bgw-header .elementor-button-content-wrapper{ white-space:nowrap; }

/* ---- 20. YOUR OWN RULES ----------------------------------- */
/* Add anything new below this line. */
