/*
Theme Name: The Bench Sports Bar V5 (Commercial Package)
Description: Native Elementor Free homepage + WordPress-managed dynamic content (Games, Events, Food Trucks, Gallery, Reservations), real extracted photos/logo/fonts, guided setup/demo-import from Appearance -> The Bench Setup.
Author: Suriya P
Version: 5.0.0
*/

/* ============ Real bundled fonts (extracted from the approved design) ============ */
@font-face{
  font-family:'Anton';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("assets/fonts/Anton-400-0.woff2") format('woff2');
  unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face{
  font-family:'Anton';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("assets/fonts/Anton-400-1.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Anton';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("assets/fonts/Anton-400-2.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-500-3.woff2") format('woff2');
  unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-500-4.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-500-5.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-600-6.woff2") format('woff2');
  unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-600-7.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-600-8.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-700-9.woff2") format('woff2');
  unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-700-10.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/BarlowCondensed-700-11.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("assets/fonts/Caveat-600-12.woff2") format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("assets/fonts/Caveat-600-13.woff2") format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("assets/fonts/Caveat-600-14.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url("assets/fonts/Caveat-600-15.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/Caveat-700-16.woff2") format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/Caveat-700-17.woff2") format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/Caveat-700-18.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'Caveat';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/Caveat-700-19.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("assets/fonts/DMSans-400-20.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("assets/fonts/DMSans-400-21.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("assets/fonts/DMSans-500-22.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url("assets/fonts/DMSans-500-23.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/DMSans-700-24.woff2") format('woff2');
  unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("assets/fonts/DMSans-700-25.woff2") format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bb-dark:#0A0A0A;
  --bb-cream:#F5F0E7;
  --bb-orange:#F39A32;
  --bb-orange-deep:#C97A16;
  --bb-muted:#8E8877;
  --bb-muted-2:#6E6858;
  --bb-line:#1E1E1E;
  --bb-red:#D0342B;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:'DM Sans',system-ui,sans-serif;
  background:var(--bb-dark);
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none}
h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;margin:0}

.bb-label{font:700 12px/1 'Barlow Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase}

/* ---- animations (from original design) ---- */
@keyframes bpulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes bfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes bnudge{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes bpan{0%{transform:scale(1.06) translate(0,0)}100%{transform:scale(1.12) translate(-2%,-2%)}}
@keyframes bshot{0%,20%{opacity:1}25%,95%{opacity:0}100%{opacity:1}}
@keyframes bmarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- header ---- */
.bb-header{position:fixed;top:0;left:0;right:0;z-index:80}
.bb-header.is-scrolled{background:var(--bb-dark);border-bottom:4px solid var(--bb-orange)}
.bb-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(10,10,10,.94),rgba(10,10,10,.55) 70%,rgba(10,10,10,0))}
.bb-topbar{display:flex;align-items:center;justify-content:center;gap:26px;padding:8px 16px;background:var(--bb-orange);color:var(--bb-dark);flex-wrap:wrap;text-align:center;max-height:120px;overflow:hidden;transition:max-height .25s ease,padding .25s ease,opacity .2s ease;opacity:1}
.bb-topbar a{color:var(--bb-dark)}
.bb-navrow{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1480px;margin:0 auto;padding:0 clamp(14px,3.5vw,40px);min-height:102px}
.bb-navrow img{width:132px;height:auto}
.bb-nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,26px)}
.bb-nav a{font:700 16px/1 'Barlow Condensed',sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--bb-cream);padding:8px 2px;border-bottom:3px solid transparent}
.bb-nav a:hover{border-bottom-color:var(--bb-orange);color:var(--bb-orange)}
.bb-nav a.bb-cta{background:var(--bb-orange);color:var(--bb-dark);padding:16px 22px;margin-left:8px;box-shadow:4px 4px 0 var(--bb-dark)}
.bb-mobtoggle{display:none;align-items:center;justify-content:center;width:56px;height:50px;background:var(--bb-orange);border:0;color:var(--bb-dark);font:700 14px/1 'Barlow Condensed',sans-serif;letter-spacing:.12em;cursor:pointer}
.bb-mobmenu{display:none;position:fixed;inset:0;z-index:95;background:var(--bb-dark);padding:18px clamp(16px,6vw,40px);overflow:auto}
.bb-mobmenu.is-open{display:block}
.bb-mobmenu a{display:block;font:400 40px/1 'Anton',sans-serif;text-transform:uppercase;color:var(--bb-cream);padding:14px 0;border-bottom:2px solid var(--bb-line)}
/* Reservations link inside the mobile menu keeps its own highlighted look
   (moved here from an inline style so it now applies automatically to the
   same WordPress menu item wherever it appears — desktop or mobile). Assign
   the CSS class "bb-nav-reserve" to the Reservations item in Appearance →
   Menus to keep this styling once you manage the menu yourself. */
.bb-mobmenu a.bb-nav-reserve{display:block;text-align:center;margin-top:20px;font:400 28px/1 'Anton',sans-serif;color:var(--bb-orange);border:2px solid var(--bb-orange);padding:16px}

@media (max-width:900px){
  .bb-nav{display:none}
  .bb-mobtoggle{display:flex}

  /* Compact info bar on mobile: smaller type, tight row gaps so the
     hours/address/phone stack without the large gaps the flex "gap"
     value previously produced between wrapped lines. */
  .bb-topbar{gap:2px 10px;padding:7px 14px;font-size:11px;line-height:1.5}

  /* The info bar stays visible when the page first loads. Once the
     visitor scrolls (the existing main.js scroll listener already adds
     .is-scrolled to #bb-header at 90px of scroll — used above to swap
     the header background), collapse the info bar's height to 0 so it
     scrolls out of the way instead of permanently occupying space,
     while the logo/nav row directly below it stays fixed and visible. */
  .bb-header.is-scrolled .bb-topbar{max-height:0;padding-top:0;padding-bottom:0;opacity:0}
}

/* ---- hero ---- */
.bb-hero{position:relative;min-height:96vh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--bb-dark)}
.bb-hero-shot{position:absolute;inset:0}
.bb-hero-shot img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;animation:bpan 30s ease-in-out infinite alternate}
.bb-hero-shot:not(:first-child){animation:bshot 12s linear infinite}
.bb-hero-shot:nth-child(2){animation-delay:2.4s}
.bb-hero-shot:nth-child(3){animation-delay:4.8s}
.bb-hero-shot:nth-child(4){animation-delay:7.2s}
.bb-hero-shot:nth-child(5){animation-delay:9.6s}
.bb-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.80) 0%,rgba(10,10,10,.34) 42%,rgba(10,10,10,.93) 100%);pointer-events:none}
.bb-hero-inner{position:relative;max-width:1480px;width:100%;margin:0 auto;padding:clamp(150px,19vh,220px) clamp(14px,3.5vw,40px) clamp(30px,4vw,54px)}
.bb-chip{display:inline-flex;align-items:center;gap:8px;font:700 13px/1 'Barlow Condensed',sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:9px 13px;margin:0 8px 8px 0}
.bb-hero h1{color:#fff;font-size:clamp(46px,11.4vw,182px);line-height:1}
.bb-hero h1 .line1{display:block;font-size:clamp(34px,6vw,86px);line-height:1;text-transform:uppercase}
.bb-hero h1 .line2{display:block;margin-top:10px;color:var(--bb-orange);white-space:nowrap}
.bb-hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.bb-btn{background:var(--bb-orange);color:var(--bb-dark);font:400 clamp(20px,2vw,28px)/1 'Anton',sans-serif;letter-spacing:.03em;text-transform:uppercase;padding:20px 30px;box-shadow:7px 7px 0 var(--bb-dark);display:inline-block}
.bb-btn-outline{background:transparent;color:var(--bb-cream);border:3px solid var(--bb-cream);box-shadow:none}

/* ---- hero: mobile ----
   These target the existing .bb-hero / .bb-chip / .bb-hero-btns / .bb-btn
   classes already used by the hero markup (theme stylesheet is enqueued
   site-wide, so it also styles the hero content placed via the Elementor
   HTML widget — no widget markup needs to change). */
@media (max-width:900px){
  /* Let the hero grow to fit its content instead of clipping it at a
     fixed 96vh — this is what was hiding the second CTA near the bottom. */
  .bb-hero{min-height:auto}
  .bb-hero h1 .line2{white-space:normal}
}
@media (max-width:600px){
  .bb-chip{font-size:10.5px;padding:7px 10px;gap:5px;margin:0 6px 6px 0}
  .bb-hero h1{font-size:clamp(40px,13.5vw,64px);line-height:1.02}
  .bb-hero h1 .line1{font-size:clamp(24px,7.5vw,32px)}
  .bb-hero-btns{gap:10px;margin-top:20px}
  .bb-btn{font:400 clamp(16px,4.8vw,20px)/1 'Anton',sans-serif;padding:14px 20px;box-shadow:5px 5px 0 var(--bb-dark)}
}

/* ---- ticker ---- */
.bb-ticker{background:var(--bb-orange);border-top:4px solid var(--bb-dark);border-bottom:4px solid var(--bb-dark);overflow:hidden;padding:13px 0}
.bb-ticker-track{display:flex;width:max-content;animation:bmarquee 26s linear infinite}
.bb-ticker-track span{font:400 clamp(20px,2.3vw,32px)/1 'Anton',sans-serif;letter-spacing:.03em;text-transform:uppercase;color:var(--bb-dark);padding:0 14px;white-space:nowrap}

/* ---- generic section ---- */
.bb-section{padding:clamp(46px,6vw,92px) clamp(14px,3.5vw,40px)}
.bb-section-inner{max-width:1480px;margin:0 auto}
.bb-dark{background:var(--bb-dark);color:#fff}
.bb-light{background:var(--bb-cream);color:var(--bb-dark)}
.bb-orange-bg{background:var(--bb-orange);color:var(--bb-dark)}

/* ---- games / schedule ---- */
.bb-game-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;border-bottom:2px solid var(--bb-line)}
.bb-game-time{font:400 clamp(28px,3vw,44px)/1 'Anton',sans-serif;color:var(--bb-orange)}
.bb-game-meta{font:700 12px/1 'Barlow Condensed',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--bb-muted)}
.bb-game-teams{font:400 clamp(24px,2.4vw,34px)/1.1 'Anton',sans-serif;text-transform:uppercase}

/* ---- card grids (events / menu / trucks / gallery) ---- */
.bb-grid{display:grid;gap:20px}
.bb-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bb-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.bb-grid-3,.bb-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bb-card{position:relative;overflow:hidden}
.bb-card img{width:100%;aspect-ratio:4/5;object-fit:cover}
.bb-card-title{font:400 clamp(20px,2vw,26px)/1 'Anton',sans-serif;text-transform:uppercase;margin-top:10px}
.bb-card-price{font:700 14px/1 'Barlow Condensed',sans-serif;color:var(--bb-orange);margin-top:4px}

/* ---- [bench_events] shortcode: desktop 3-col / tablet 2-col / mobile 1-col ---- */
.bb-events-heading{font-size:clamp(40px,9vw,140px);line-height:.84;color:#fff}
.bb-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
@media (max-width:768px){
  .bb-events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media (max-width:480px){
  .bb-events-heading{font-size:clamp(34px,13vw,60px);line-height:.9}
  .bb-events-grid{grid-template-columns:minmax(0,1fr);gap:18px}
}

/* ---- booking widget ---- */
.bb-book{background:var(--bb-cream);color:var(--bb-dark);padding:clamp(30px,4vw,54px);max-width:860px;margin:0 auto}
.bb-book-row{margin-bottom:22px}
.bb-book-label{font:700 12px/1 'Barlow Condensed',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--bb-muted-2);margin-bottom:10px;display:block}
.bb-chipbtn{background:var(--bb-cream);color:var(--bb-dark);border:2px solid var(--bb-dark);font:700 13px/1 'Barlow Condensed',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:10px 16px;margin:0 8px 8px 0;cursor:pointer}
.bb-chipbtn.is-active{background:var(--bb-dark);color:var(--bb-orange)}
.bb-book-summary{font:400 20px/1.3 'Anton',sans-serif;text-transform:uppercase;margin:20px 0}
.bb-book-submit{background:var(--bb-dark);color:var(--bb-orange);border:0;font:400 22px/1 'Anton',sans-serif;letter-spacing:.03em;text-transform:uppercase;padding:20px 30px;cursor:pointer}
.bb-book-confirm{display:none}
.bb-book-confirm.is-shown{display:block}

/* ---- footer ---- */
.bb-footer{background:var(--bb-dark);color:#fff;padding:clamp(46px,6vw,92px) clamp(14px,3.5vw,40px)}
.bb-footer a{color:var(--bb-muted-2)}
.bb-footer a:hover{color:var(--bb-orange)}

/* Footer 4-column layout. A fixed column count (instead of the previous
   auto-fit) keeps the 4 columns evenly and predictably aligned at every
   width down to the stacking breakpoint below. */
.bb-footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:30px;align-items:start}
.bb-footer-col-brand img{width:132px;height:auto}
.bb-footer-desc{font:400 15px/1.7 'DM Sans',sans-serif;color:var(--bb-muted);margin:14px 0 0;max-width:290px}
/* align-items:flex-start overrides the align-items:center inherited from
   the shared .bb-nav class (written for the header's horizontal/row nav,
   where align-items:center is correct) — on this column-direction footer
   nav, that inherited center value was centering the links instead of
   left-aligning them under the headings. */
.bb-footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.bb-footer-hours{font:400 15px/1.8 'DM Sans',sans-serif;color:var(--bb-muted)}
.bb-footer-hours a{color:var(--bb-muted)}
.bb-footer-hours a:hover{color:var(--bb-orange)}

.bb-footer-tagline-wrap{margin-top:clamp(30px,4vw,54px);border-top:4px solid var(--bb-line);padding:24px 0}
.bb-footer-tagline{font-size:clamp(26px,6.5vw,104px);line-height:.88;color:#fff;overflow-wrap:break-word;word-break:break-word;max-width:100%}

.bb-footer-bottom{border-top:2px solid var(--bb-line);padding:18px 0 24px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.bb-footer-social{display:flex;flex-wrap:wrap;gap:16px}

@media (max-width:900px){
  .bb-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px;column-gap:24px}
  .bb-footer-col-brand{grid-column:1 / -1}
}

@media (max-width:560px){
  .bb-footer-grid{grid-template-columns:minmax(0,1fr);row-gap:30px}
  .bb-footer-col-brand{grid-column:auto}
  .bb-footer-desc{max-width:100%}
  .bb-footer-tagline{font-size:clamp(22px,10vw,52px);line-height:1.02}
  .bb-footer-tagline-wrap{padding:18px 0}
  .bb-footer-bottom{justify-content:flex-start}
}

/* ---- responsive rules for the restored sections (ported from the original approved HTML) ---- */
/* Each [data-split] section sets its own desktop column ratio inline (courts, collage, visit) —
   this only needs to force a single column on smaller screens. */
@media (max-width:1000px){
  [data-split]{grid-template-columns:minmax(0,1fr) !important}
  [data-foodgrid]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-auto-rows:clamp(88px,20vw,150px) !important}
  [data-foodgrid] > div{grid-column:span 1 !important;grid-row:span 2 !important;margin-top:0 !important}
  [data-out4]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [data-out4] > div{margin-top:0 !important}
}
html{scroll-behavior:smooth}
:focus-visible{outline:3px solid var(--bb-orange);outline-offset:3px}

/* ---- Hero: pins the custom rotating-background widget behind the native heading/text/button content ---- */
.elementor-element-c08c0fc{position:relative;overflow:hidden}
.elementor-element-c08c0fc > .e-con-inner{position:relative;z-index:1}
