/*
Theme Name: IBTS New
Theme URI: https://www.ifieldbarn.co.uk
Author: Ifield Barn Theatre Society
Description: Refreshed theme for Ifield Barn Theatre Society
Version: 0.1.2
License: GNU General Public License v2 or later
Text Domain: ibts-new
*/

/* =========================================================
   LOCAL FONTS
   ========================================================= */
@font-face { font-family:'Lato'; src:url('fonts/Lato-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Lato'; src:url('fonts/Lato-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Lato'; src:url('fonts/Lato-Italic.ttf') format('truetype'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('fonts/Montserrat-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('fonts/Montserrat-SemiBold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Montserrat'; src:url('fonts/Montserrat-Bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }

/* =========================================================
   CUSTOM PROPERTIES
   ========================================================= */
:root {
    --clr-green-darkest:#001a00; --clr-green-dark:#003800;
    --clr-green-mid:#1a5c1a;    --clr-green-pale:#e8f5e8;
    --clr-gold-dark:#8a6500;    --clr-gold:#d9a212;
    --clr-gold-light:#f0c030;   --clr-gold-pale:#fdf6e3;
    --clr-white:#ffffff;        --clr-offwhite:#f9f7f2;
    --clr-text:#1a1a1a;         --clr-text-muted:#5a5a5a;
    --clr-border:#d4c98a;
    --font-display:'Montserrat',Georgia,serif;
    --font-body:'Lato','Helvetica Neue',Arial,sans-serif;
    --space-xs:.5rem; --space-sm:1rem; --space-md:2rem;
    --space-lg:clamp(2rem,6vw,4rem); --space-xl:clamp(3rem,8vw,6rem);
    --max-width:1200px; --header-height:68px;
    --radius-sm:4px; --radius-md:8px; --radius-lg:16px;
    --tr-fast:150ms ease; --tr-mid:300ms ease;
}

/* =========================================================
   RESET
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:19px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--font-body);font-weight:400;color:var(--clr-text);background:var(--clr-offwhite);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--clr-green-dark);text-decoration:none;transition:color var(--tr-fast);}
a:hover{color:var(--clr-gold);}
ul{list-style:none;}

/* =========================================================
   TYPOGRAPHY
   ========================================================= */
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--clr-green-dark);}
h1{font-size:clamp(1.6rem,5vw,3rem);}
h2{font-size:clamp(1.3rem,4vw,2.2rem);}
h3{font-size:clamp(1.1rem,3vw,1.5rem);}
h4{font-size:1.1rem;}
p{margin-bottom:1rem;}
p:last-child{margin-bottom:0;}

/* =========================================================
   LAYOUT
   ========================================================= */
.container{max-width:var(--max-width);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem);}
.section{padding-block:var(--space-lg);}
.section--alt{background:var(--clr-white);}
.section--warm{background:var(--clr-gold-pale);border-top:3px solid var(--clr-gold);border-bottom:3px solid var(--clr-gold);}
.section--dark{background:var(--clr-green-mid);color:var(--clr-white);}
.section--dark h2,.section--dark h3{color:var(--clr-gold-light);}
.section--dark .kicker{color:var(--clr-gold-light);}

.section__header{text-align:center;margin-bottom:var(--space-md);}
.kicker{display:block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--clr-gold);margin-bottom:var(--space-xs);}
.section__header h2{margin-bottom:var(--space-xs);}
.section__header p{color:var(--clr-text-muted);max-width:54ch;margin-inline:auto;}

/* Grids — auto-fit collapses to 1 column on narrow screens automatically */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-md);}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-md);}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--space-sm);}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{display:inline-block;padding:.7em 1.6em;font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--tr-fast),color var(--tr-fast),border-color var(--tr-fast);text-decoration:none;white-space:nowrap;}
.btn--primary{background:var(--clr-gold);color:var(--clr-green-darkest);border-color:var(--clr-gold);}
.btn--primary:hover{background:var(--clr-gold-light);border-color:var(--clr-gold-light);color:var(--clr-green-darkest);}
.btn--outline{background:transparent;color:var(--clr-white);border-color:var(--clr-white);}
.btn--outline:hover{background:var(--clr-white);color:var(--clr-green-dark);}
.btn--outline-dark{background:transparent;color:var(--clr-green-dark);border-color:var(--clr-green-dark);}
.btn--outline-dark:hover{background:var(--clr-green-dark);color:var(--clr-white);}
.btn--gold-outline{background:transparent;color:var(--clr-gold-light);border-color:var(--clr-gold);}
.btn--gold-outline:hover{background:var(--clr-gold);color:var(--clr-green-darkest);}

/* =========================================================
   WORDPRESS ADMIN BAR OFFSET
   ========================================================= */
/* Desktop admin bar: 32px. Mobile (≤782px): 46px. */
.admin-bar .site-header{top:32px;}
.admin-bar .main-nav{top:calc(32px + var(--header-height));}
@media screen and (max-width:782px){
    .admin-bar .site-header{top:46px;}
    .admin-bar .main-nav{top:calc(46px + var(--header-height));}
}

/* =========================================================
   SKIP LINK
   ========================================================= */
.skip-link{position:absolute;top:-100%;left:0;background:var(--clr-gold);color:var(--clr-green-darkest);padding:.5em 1em;font-weight:700;z-index:9999;}
.skip-link:focus{top:0;}

/* =========================================================
   SITE HEADER
   ========================================================= */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-height);background:var(--clr-green-dark);border-bottom:3px solid var(--clr-gold);transition:box-shadow var(--tr-mid);}
.site-header.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.4);}
.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;}

.site-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0;}
.site-logo img{height:46px;width:auto;}
.site-logo__text{display:flex;flex-direction:column;line-height:1.1;}
.site-logo__title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--clr-gold-light);}
.site-logo__subtitle{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82);}
@media(max-width:360px){.site-logo__text{display:none;}}

/* =========================================================
   HAMBURGER TOGGLE
   ========================================================= */
.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;z-index:1100;flex-shrink:0;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--clr-white);border-radius:2px;transition:transform var(--tr-mid),opacity var(--tr-mid),width var(--tr-mid);transform-origin:center;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;width:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* =========================================================
   PRIMARY NAV — mobile first, then desktop override
   ========================================================= */
.main-nav{
    display:flex;flex-direction:column;
    position:fixed;top:var(--header-height);left:0;right:0;
    background:var(--clr-green-darkest);
    border-bottom:3px solid var(--clr-gold);
    padding:1rem;gap:.25rem;
    max-height:calc(100vh - var(--header-height));
    overflow-y:auto;
    /* hidden by default */
    transform:translateY(-110%);opacity:0;pointer-events:none;
    transition:transform var(--tr-mid),opacity var(--tr-mid);
    z-index:900;
}
.main-nav.open{transform:translateY(0);opacity:1;pointer-events:auto;}
.main-nav a{display:block;padding:.75em 1em;font-size:.95rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.85);border-radius:var(--radius-sm);transition:background var(--tr-fast),color var(--tr-fast);}
.main-nav a:hover,.main-nav a.current-menu-item{background:rgba(255,255,255,.1);color:var(--clr-gold-light);}
.main-nav .btn--primary{margin-top:.5rem;text-align:center;}

/* Mobile sub-menu */
.main-nav li.menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center;}
.main-nav li.menu-item-has-children > a{flex:1;}
.main-nav .sub-menu{display:none;width:100%;padding-left:.75rem;margin-top:.15rem;}
.main-nav .sub-menu.open{display:block;}
.main-nav .sub-menu a{font-size:.82rem;padding:.4em 1em;color:rgba(255,255,255,.65);font-weight:600;}
.sub-menu-toggle{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.85);padding:.4em .75em;line-height:1;font-size:1.65rem;flex-shrink:0;}

/* Desktop nav */
@media(min-width:800px){
    .nav-toggle{display:none;}
    .main-nav{position:static;flex-direction:row;align-items:center;background:none;border:none;padding:0;gap:.15rem;max-height:none;overflow:visible;transform:none;opacity:1;pointer-events:auto;transition:none;}
    .main-nav ul{display:flex;align-items:center;}
    .main-nav a{font-size:.8rem;padding:.45em .8em;white-space:nowrap;}
    .main-nav .btn--primary{margin-top:0;margin-left:.5rem;font-size:.78rem;padding:.5em 1.1em;}
    /* Desktop dropdown */
    .sub-menu-toggle{display:none;}
    .main-nav li.menu-item-has-children{display:block;position:relative;}
    .main-nav li.menu-item-has-children > a::after{content:'▾';font-size:.6em;margin-left:.35em;vertical-align:middle;opacity:.7;}
    .main-nav .sub-menu{display:block;position:absolute;top:100%;left:0;background:var(--clr-green-dark);border-top:2px solid var(--clr-gold);border-radius:0 0 var(--radius-md) var(--radius-md);min-width:180px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity var(--tr-mid),transform var(--tr-mid);z-index:500;padding:.4rem 0;box-shadow:0 6px 20px rgba(0,0,0,.35);}
    .main-nav li.menu-item-has-children:hover .sub-menu,.main-nav li.menu-item-has-children:focus-within .sub-menu{opacity:1;pointer-events:auto;transform:translateY(0);}
    .main-nav .sub-menu li{display:block;}
    .main-nav .sub-menu a{white-space:nowrap;font-size:.78rem;padding:.6em 1.2em;border-radius:0;color:rgba(255,255,255,.85);letter-spacing:.04em;}
    .main-nav .sub-menu a:hover{background:rgba(255,255,255,.08);color:var(--clr-gold-light);}
    .main-nav ul > li.menu-item-has-children:last-child .sub-menu{right:0;left:auto;}
}
/* Squeeze a bit on medium so items don't wrap */
@media(min-width:800px) and (max-width:1050px){
    .main-nav a{font-size:.72rem;padding:.4em .55em;}
    .site-logo__title{font-size:.88rem;}
    .site-logo__subtitle{display:none;}
}

/* =========================================================
   HERO SLIDER
   ========================================================= */
.hero-slider{position:relative;margin-top:var(--header-height);overflow:hidden;height:clamp(300px,72vh,760px);}
.hero-slider__track{display:flex;height:100%;transition:transform .7s cubic-bezier(.77,0,.18,1);}
.hero-slide{min-width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;}
.hero-slide__bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--clr-green-dark);}
.hero-slide__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.12) 100%);}
.hero-slide__content{position:relative;z-index:1;text-align:center;padding:1.5rem clamp(1rem,5vw,3rem);max-width:700px;width:100%;animation:slideUp .6s ease both;}
@keyframes slideUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.hero-slide__title{font-family:var(--font-display);font-size:clamp(1.4rem,5vw,3.5rem);font-weight:700;color:var(--clr-white);margin-bottom:.75rem;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.hero-slide__subtitle{font-size:clamp(.88rem,2vw,1.1rem);color:rgba(255,255,255,.88);margin-bottom:1.5rem;}
.hero-slide__actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}
.hero-slide__content--show{max-width:900px;}
.hero-slide__show-layout{display:flex;align-items:center;gap:2rem;flex-direction:column;}
.hero-slide__show-text{text-align:center;}
.hero-slide__eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--clr-gold-light);margin-bottom:.5rem;}
.hero-slide__poster{max-height:360px;width:auto;border-radius:4px;box-shadow:0 8px 32px rgba(0,0,0,.5);display:block;}
@media(max-width:559px){.hero-slide__show-layout{flex-direction:column-reverse;}.hero-slide__poster{max-height:240px;}.hero-slider__btn{display:none!important;}}
@media(min-width:640px){.hero-slide__show-layout{flex-direction:row;}.hero-slide__show-text{text-align:left;flex:1;}.hero-slide__show-text .hero-slide__actions{justify-content:flex-start;}.hero-slide__poster{max-height:480px;}}

.hero-slider__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.4);color:var(--clr-white);width:44px;height:44px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tr-fast),border-color var(--tr-fast);}
.hero-slider__btn:hover{background:var(--clr-gold);border-color:var(--clr-gold);}
.hero-slider__btn--prev{left:clamp(.5rem,2vw,1.5rem);}
.hero-slider__btn--next{right:clamp(.5rem,2vw,1.5rem);}
.hero-slider__dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:10;}
.hero-slider__dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);border:1px solid rgba(255,255,255,.6);cursor:pointer;transition:background var(--tr-fast),transform var(--tr-fast);}
.hero-slider__dot.active{background:var(--clr-gold);border-color:var(--clr-gold);transform:scale(1.3);}

/* =========================================================
   SHOW CARDS
   ========================================================= */
.show-cards-list{display:flex;flex-direction:column;gap:var(--space-md);}
.show-card{background:var(--clr-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:transform var(--tr-mid),box-shadow var(--tr-mid);display:flex;flex-direction:column;}
.show-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.12);}
@media(min-width:560px){.show-card{flex-direction:row;overflow:hidden;}}
.show-card__image{width:100%;height:auto;display:block;flex-shrink:0;}
a.show-card__image{overflow:hidden;}
a.show-card__image img{width:100%;height:100%;object-fit:cover;display:block;}
@media(min-width:560px){.show-card__image{width:260px;flex-shrink:0;object-fit:cover;}}
.show-card__image--placeholder{width:220px;background:var(--clr-green-mid);display:flex;align-items:center;justify-content:center;color:var(--clr-gold-light);font-family:var(--font-display);font-size:1rem;padding:1rem;text-align:center;flex-shrink:0;}
.show-card__body{padding:1.25rem;flex:1;display:flex;flex-direction:column;}
.show-card__meta{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-gold-dark);margin-bottom:.35rem;}
.show-card__title{font-family:var(--font-display);font-size:1.1rem;color:var(--clr-green-dark);margin-bottom:.4rem;}
.show-card__dates{font-size:.82rem;color:var(--clr-text-muted);margin-bottom:var(--space-sm);}
.show-card__excerpt{font-size:.88rem;color:var(--clr-text-muted);flex:1;margin-bottom:0;}
.show-card__footer{margin-top:auto;}
@media(min-width:560px){.show-card__body{justify-content:center;}.show-card__dates{margin-bottom:.4rem;}.show-card__excerpt{flex:none;margin-bottom:.75rem;}.show-card__footer{margin-top:0;}}

/* Single show layout */
.show-detail-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg);align-items:start;}
.show-poster-col img{width:100%;display:block;border-radius:var(--radius-md);box-shadow:0 4px 24px rgba(0,0,0,.15);}
@media(min-width:640px){.show-detail-grid{grid-template-columns:300px 1fr;}.show-poster-col img{width:300px;}}

/* =========================================================
   INFO CARDS
   ========================================================= */
.info-card{background:var(--clr-white);border-radius:var(--radius-md);padding:1.5rem;border-left:4px solid var(--clr-gold);box-shadow:0 2px 12px rgba(0,0,0,.06);display:flex;flex-direction:column;}
.info-card__icon{font-size:1.8rem;margin-bottom:.75rem;display:block;}
.info-card h3{margin-bottom:.4rem;font-size:1.1rem;}
.info-card p{font-size:.9rem;color:var(--clr-text-muted);flex:1;}
.info-card .btn{margin-top:auto;text-align:center;}

/* =========================================================
   EDITOR / PROSE CONTENT
   ========================================================= */
.entry-content h2,.entry-content h3,.entry-content h4{margin-top:1.4em;margin-bottom:.4em;}
.entry-content p{margin-bottom:.9em;line-height:1.7;}
.entry-content ul,.entry-content ol{margin:.6em 0 .9em 1.5rem;display:flex;flex-direction:column;gap:.3em;}
.entry-content ul{list-style:disc;}
.entry-content ol{list-style:decimal;}
.entry-content strong{font-weight:700;}

/* =========================================================
   AWARDS STRIP
   ========================================================= */
.awards-strip{background:var(--clr-green-pale);border-top:3px solid var(--clr-gold);border-bottom:3px solid var(--clr-gold);padding:var(--space-md) 0;}
.awards-strip .kicker{color:var(--clr-green-mid);}
.awards-strip h2{color:var(--clr-green-dark);}
.awards-strip .text-muted{color:var(--clr-text-muted);}
.awards-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-md);}
@media(min-width:600px){.awards-list{grid-template-columns:repeat(3,1fr);}}
@media(min-width:900px){.awards-list{grid-template-columns:repeat(5,1fr);}}
.award-item{text-align:center;display:flex;flex-direction:column;align-items:center;}
.award-item__badge{width:72px;height:72px;border-radius:50%;background:var(--clr-green-dark);color:var(--clr-gold-light);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto .5rem;border:3px solid var(--clr-gold);}
.award-item__name{font-family:var(--font-display);font-size:.82rem;color:var(--clr-green-dark);font-weight:700;min-height:2.6em;line-height:1.3;display:flex;align-items:center;justify-content:center;}
.award-item__year{font-size:.75rem;color:var(--clr-gold-dark);line-height:1.4;}

/* =========================================================
   ACCESSIBILITY SECTION
   ========================================================= */
.access-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin-top:var(--space-md);}
@media(min-width:560px){.access-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.access-grid{grid-template-columns:repeat(3,1fr);}}
.access-item{display:flex;gap:1rem;align-items:flex-start;}
.access-item__icon{font-size:1.6rem;flex-shrink:0;margin-top:2px;}
.access-item h4{font-size:1rem;margin-bottom:.2rem;}
.access-item p{font-size:.86rem;color:var(--clr-text-muted);margin:0;}

/* =========================================================
   SEATING PLAN
   ========================================================= */
.seating-plan{max-width:600px;margin-inline:auto;text-align:center;}
.seating-plan img{border-radius:var(--radius-md);box-shadow:0 4px 24px rgba(0,0,0,.12);}

/* =========================================================
   FIND US
   ========================================================= */
.find-us-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md);}
@media(min-width:700px){.find-us-grid{grid-template-columns:1fr 1fr;align-items:start;}}
.map-embed{border-radius:var(--radius-md);overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.12);}
.map-embed iframe{display:block;width:100%;height:clamp(260px,40vw,420px);border:0;}
.directions-card{background:var(--clr-white);border-radius:var(--radius-md);padding:1.5rem;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.directions-card h3{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--clr-gold);}
.directions-card dt{font-weight:700;color:var(--clr-green-dark);margin-top:1rem;}
.directions-card dd{font-size:.9rem;color:var(--clr-text-muted);margin-left:0;}

/* =========================================================
   PAGE HERO (inner pages)
   ========================================================= */
.page-hero{margin-top:var(--header-height);background:var(--clr-green-dark);padding:clamp(2rem,6vw,4rem) 0 clamp(1.5rem,4vw,2.5rem);text-align:center;border-bottom:4px solid var(--clr-gold);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(255,255,255,.015) 40px,rgba(255,255,255,.015) 80px);pointer-events:none;}
.page-hero__kicker{display:block;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--clr-gold);margin-bottom:.5rem;position:relative;}
.page-hero h1{color:var(--clr-white);position:relative;}
.page-hero p{color:rgba(255,255,255,.75);max-width:52ch;margin-inline:auto;margin-top:.75rem;position:relative;}

/* =========================================================
   ABOUT STATS (homepage dark strip)
   ========================================================= */
.about-strip-inner{display:grid;grid-template-columns:1fr;gap:var(--space-md);align-items:center;}
@media(min-width:800px){.about-strip-inner{grid-template-columns:1fr 1fr;gap:var(--space-lg);}}

.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media(min-width:500px){.stats-grid{grid-template-columns:repeat(4,1fr);}}
.stat-box{background:rgba(255,255,255,.07);border-radius:var(--radius-md);padding:1.25rem 1rem;text-align:center;border:1px solid rgba(201,148,10,.3);}
.stat-box__number{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.2rem);font-weight:700;color:var(--clr-gold-light);line-height:1;}
.stat-box__label{font-size:.72rem;color:rgba(255,255,255,.6);margin-top:.4rem;text-transform:uppercase;letter-spacing:.07em;}

/* =========================================================
   SITE FOOTER
   ========================================================= */
.site-footer{background:var(--clr-green-darkest);color:rgba(255,255,255,.72);padding:var(--space-lg) 0 var(--space-md);border-top:4px solid var(--clr-gold);}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin-bottom:var(--space-md);}
@media(min-width:600px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:900px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;}}
.footer-brand p{font-size:.88rem;margin-top:.75rem;max-width:34ch;}
@media(max-width:599px){.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;}.footer-brand .social-links{justify-content:center;}}
.footer-col h4{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--clr-gold);margin-bottom:.75rem;}
.footer-col ul{display:flex;flex-direction:column;gap:.4rem;}
.footer-col a{font-size:.88rem;color:rgba(255,255,255,.62);transition:color var(--tr-fast);}
.footer-col a:hover{color:var(--clr-gold-light);}
.footer-col a.footer-book-online{color:var(--clr-gold);font-weight:700;}
.footer-col a.footer-book-online:hover{color:var(--clr-gold-light);}
.footer-col address{font-style:normal;font-size:.88rem;line-height:1.8;color:rgba(255,255,255,.62);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--space-sm);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;font-size:.78rem;}
.social-links{display:flex;gap:.6rem;}
.social-links a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);transition:background var(--tr-fast),color var(--tr-fast);text-decoration:none;}
.social-links a:hover{background:var(--clr-gold);color:var(--clr-green-darkest);}

/* =========================================================
   WP CORE / FLOATS
   ========================================================= */
.aligncenter,div.aligncenter{display:block;margin:5px auto;}
.alignleft{float:left;margin:5px 1.5rem 1rem 0;}
.alignright{float:right;margin:5px 0 1rem 1.5rem;}
@media(max-width:480px){.alignleft,.alignright{float:none;margin:0 0 1rem;}}
.wp-caption{max-width:100%;text-align:center;}
.wp-caption-text{font-size:.82rem;color:var(--clr-text-muted);margin-top:.3rem;}

/* =========================================================
   UTILITIES
   ========================================================= */
.text-center{text-align:center;} .text-gold{color:var(--clr-gold);} .text-muted{color:var(--clr-text-muted);}
.mt-sm{margin-top:var(--space-sm);} .mt-md{margin-top:var(--space-md);} .mt-lg{margin-top:var(--space-lg);}
.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px;}

/* =========================================================
   PRINT
   ========================================================= */
@media print{
    .site-header,.hero-slider,.nav-toggle{display:none;}
    body{background:#fff;color:#000;}
    a[href]::after{content:" (" attr(href) ")";}
}
