/* Green Gully SC — theme shell and components.
   One stylesheet, loaded on every request. Do not split this per page:
   the Royals homepage rendered completely unstyled on 1 Jul 2026 because a
   per-page enqueue map drifted from the stylesheets it named. */

/* Fonts embedded (Montserrat + Roboto, woff2 base64) — no external calls. */

*{margin:0;padding:0;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--charcoal);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,.mont{font-family:var(--font-display)}
h1,h2{font-weight:800;line-height:1.02;letter-spacing:.005em}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.section{padding:88px 0}
.section--grey{background:var(--grey-2)}
.section--deep{background:var(--green);color:#fff}
.section--green{background:var(--green);color:#fff}
.section--deep h2,.section--green h2{color:#fff}
.lead{font-size:1.18rem;color:#52605a;max-width:60ch}
.section--deep .lead,.section--green .lead{color:#eef8f2}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Montserrat';font-weight:700;font-size:.82rem;letter-spacing:.08em;padding:14px 26px;border-radius:3px;border:2px solid transparent;cursor:pointer;transition:.18s}
.btn--gold{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.btn--green{background:var(--green);color:#fff;border-color:var(--green)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--dark{background:var(--deep);color:#fff;border-color:var(--deep)}
.btn--lime{background:var(--lime);color:var(--deep);border-color:var(--lime)}

/* NAV */
.nav{position:absolute;top:0;left:0;right:0;z-index:20;background:linear-gradient(180deg,rgba(0,122,64,.85),rgba(0,122,64,0))}
.nav.solid{position:relative;background:var(--green)}
.nav__bar{display:flex;align-items:center;justify-content:space-between;height:92px}
.nav__brand{display:flex;align-items:center;gap:14px}
.nav__brand img{height:62px}
.nav__links{display:flex;align-items:center;gap:30px}
.nav__links a{font-family:'Montserrat';font-weight:700;font-size:.8rem;letter-spacing:.06em;color:#eaf1ec}
.nav__links a.active{color:#fff;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:6px}
.nav__links .btn{margin-left:8px}
/* utility bar and dropdowns */
.nav__util{background:rgba(0,0,0,.28);font-size:.78rem}
.nav__util .wrap{display:flex;justify-content:flex-end;gap:22px;padding-top:7px;padding-bottom:7px}
.nav__util a{font-family:'Montserrat';font-weight:600;color:#fff}
.nav__book{display:none}
.nav__dd{position:relative}
.nav__sub{display:none;position:absolute;top:100%;left:-14px;min-width:300px;padding:10px 0;background:#fff;border-radius:6px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.nav__dd:hover .nav__sub,.nav__dd:focus-within .nav__sub{display:block}
.nav__sub a{display:block;padding:10px 18px;color:var(--deep);font-size:.8rem;letter-spacing:0}
.nav__sub a:hover{background:var(--grey-2);color:var(--green)}
/* mobile menu toggle (hidden on desktop; revealed under 900px) */
.nav__cb{position:absolute;opacity:0;pointer-events:none}
.nav__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:9px;cursor:pointer;background:transparent;border:0}
.nav__burger span{display:block;height:3px;border-radius:2px;background:#fff;transition:transform .25s,opacity .2s}

/* HERO */
.hero{position:relative;min-height:560px;padding:136px 0 56px;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center 28%}
/* A portrait crop for phones, set per template with $gg_hero['img_mobile']. */
@media(max-width:900px){.hero__bg[style*="--hero-m"]{background-image:var(--hero-m)!important;background-position:center 20%!important}}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 100%),linear-gradient(90deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 60%)}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.35fr .9fr;gap:48px;align-items:center;width:100%}
.hero h1{font-size:clamp(2.8rem,5.6vw,4.7rem);font-weight:900;max-width:14ch}
.hero h1 em{font-style:normal;color:var(--gold-soft)}
.hero__sub{font-size:1.2rem;color:#fff;margin:22px 0 30px;max-width:42ch}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}

/* next match card */
.nmc{background:rgba(255,255,255,.07);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.nmc__label{font-family:'Montserrat';font-weight:700;font-size:.7rem;letter-spacing:0;color:#fff;}
.nmc__teams{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:18px 0}
.nmc__team{text-align:center;flex:1}
.nmc__crest{width:60px;height:60px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border-radius:50%}
.nmc__crest img{width:44px}
.nmc__crest.opp{font-family:'Montserrat';font-weight:800;color:#fff;font-size:1.1rem}
.nmc__team span{font-family:'Roboto';font-size:.78rem;color:#cfe0d6;display:block}
.nmc__team--solo span{font-family:'Montserrat';font-weight:800;font-size:1.25rem;color:#fff;line-height:1.2;margin-top:4px}
.nmc__vs{font-family:'Montserrat';font-weight:800;color:var(--gold-soft);font-size:1.1rem}
.nmc__meta{border-top:1px solid rgba(255,255,255,.16);padding-top:16px;display:grid;gap:6px;font-size:.9rem;color:#dbe7df}
.nmc__meta b{color:#fff}
.nmc .btn{width:100%;justify-content:center;margin-top:18px}

/* HOME HERO: the photo stands alone, nothing over it (Matt 12 Oct).
   Gated on .hero--photo, set only by front-page.php, so .phero heroes are untouched. */
header.hero--photo{display:flex;flex-direction:column;min-height:0;padding:0;align-items:stretch;overflow:visible;background:#fff}
.hero--photo .nav{position:relative;order:0;background:var(--deep)}
.hero--photo .hero__bg{position:relative;inset:auto;order:1;height:540px}
.hero--photo .hero__bg::after{content:none}
.welcome{background:#fff;color:var(--deep);padding:56px 0 52px}
.welcome__inner{display:grid;grid-template-columns:1.35fr .9fr;gap:48px;align-items:center}
.welcome h1{font-size:clamp(2.6rem,5vw,4.2rem);font-weight:900;max-width:14ch;color:var(--deep)}
.welcome h1 em{font-style:normal;color:var(--green)}
.welcome__sub{font-size:1.2rem;color:#3d4a44;margin:22px 0 30px;max-width:42ch}
.welcome__cta{display:flex;gap:14px;flex-wrap:wrap}
.welcome .nmc{background:var(--deep);backdrop-filter:none;border:0;box-shadow:0 14px 34px rgba(11,61,46,.22)}
@media(max-width:900px){
  .hero--photo .hero__bg{height:auto;aspect-ratio:4/3}
  .welcome{padding:34px 0 36px}
  .welcome__inner{grid-template-columns:1fr;gap:30px}
  .welcome h1{font-size:clamp(2.3rem,8vw,3.4rem)}
  .welcome__sub{font-size:1.05rem}
  .welcome__cta{flex-direction:column;align-items:stretch}
  .welcome__cta .btn{width:100%;justify-content:center}
}

/* Match Centre ribbon */
.mcr{background:var(--grey-2);border-bottom:1px solid var(--line);color:var(--deep)}
.mcr__row{display:flex;align-items:stretch}
.mcr__cell{flex:1;padding:22px 26px;border-right:1px solid var(--line)}
.mcr__cell:last-child{border-right:none}
.mcr__k{font-family:'Montserrat';font-weight:700;font-size:.9rem;color:var(--green);margin-bottom:10px}
.mcr__teams,.nmc .mcr__teams{display:flex;align-items:center;gap:16px}
.mcr__team{display:flex;align-items:center;gap:10px;font-family:'Montserrat';font-weight:800}
.mcr__team img{width:44px;height:44px;object-fit:contain}
.mcr__init{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--grey);font-style:normal;font-family:'Montserrat';font-weight:800;color:var(--deep)}
.mcr__vs{font-family:'Montserrat';font-weight:800;color:var(--gold)}
.mcr__when{margin-top:8px;font-size:.95rem;color:#4a5a52}
.mcr__score{font-family:'Montserrat';font-weight:800;font-size:1.6rem}
.mcr__link{display:inline-block;margin-top:6px;font-family:'Montserrat';font-weight:700;font-size:.85rem;color:var(--green)}
.nmc .mcr__team{color:#fff;flex-direction:column;text-align:center;flex:1}
.nmc .mcr__teams{margin:18px 0 10px}
.nmc .mcr__when{color:#dbe7df;text-align:center}
.nmc .mcr__init{background:rgba(255,255,255,.12);color:#fff}
@media(max-width:900px){.mcr__row{flex-direction:column}.mcr__cell{border-right:none;border-bottom:1px solid var(--line)}.mcr__cell:last-child{border-bottom:none}}

/* Home sections added for the 12 Oct layout */
.section--mist{background:var(--grey-2)}
.btn--ghost-dark{background:transparent;color:var(--green);border-color:var(--green)}
.mband__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.mband .lead{margin-top:10px}
.mband h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.mcentre{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border:1px solid var(--line);border-radius:8px;background:#fff}
.mcentre__cell{padding:26px;border-right:1px solid var(--line)}
.mcentre__cell:last-child{border-right:none}
.sponsors-home h2{margin-bottom:36px}
.dband{background:var(--grey-2);border-top:1px solid var(--line)}
.strip__item--cta{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
@media(max-width:900px){.mcentre__cell{border-right:none;border-bottom:1px solid var(--line)}.mcentre__cell:last-child{border-bottom:none}.strip__item--cta{padding:18px 26px}}

/* results strip */
.strip{background:#fff;color:var(--deep);border-bottom:1px solid var(--line,#E5E5E5)}
.strip__row{display:flex;align-items:stretch;gap:0;overflow:hidden}
.strip__item{flex:1;padding:22px 26px;border-right:1px solid #E5E5E5}
.strip__item:last-child{border-right:none}
.strip__k{font-family:'Montserrat';font-weight:700;font-size:.66rem;letter-spacing:0;color:var(--green);}
.strip__score{font-family:'Montserrat';font-weight:800;font-size:1.25rem;margin-top:8px}
.strip__sub{font-size:.82rem;color:#4a5a52;margin-top:3px}

/* section heading */
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px;flex-wrap:wrap}
.shead h2{font-size:clamp(1.9rem,3.4vw,2.6rem)}
.rule{height:4px;width:60px;background:var(--gold);margin-top:14px}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{position:relative;border-radius:10px;overflow:hidden;min-height:340px;display:flex;align-items:flex-end;color:#fff;box-shadow:0 16px 40px rgba(11,61,46,.16)}
.pillar__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.pillar__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,145,76,.05),rgba(0,122,64,.94))}
.pillar.green .pillar__bg{background:var(--green)}
.pillar.deep .pillar__bg{background:var(--green)}
.pillar__body{position:relative;z-index:2;padding:30px}
.pillar h3{font-size:1.6rem;font-weight:800;margin:10px 0 8px}
.pillar p{font-size:.96rem;color:#d7e6dd;margin-bottom:14px}
.pillar a{font-family:'Montserrat';font-weight:700;font-size:.78rem;letter-spacing:.08em;color:#fff;text-transform:uppercase}

/* cards / news */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.2s;box-shadow:0 6px 22px rgba(11,61,46,.06)}
.card__img{height:200px;background-size:cover;background-position:center}
.card__body{padding:22px}
.tag{font-family:'Montserrat';font-weight:700;font-size:.64rem;letter-spacing:.03em;color:var(--green);background:rgba(0,145,76,.1);padding:5px 11px;border-radius:3px}
.card h3{font-size:1.12rem;font-weight:700;margin:14px 0 8px;line-height:1.25;text-transform:none}
.card__date{font-size:.78rem;color:#8a978d}
.card p{font-size:.92rem;color:#52605a}

/* pathway stepper */
.path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:p}
.path__step{position:relative;padding:30px 24px;background:#fff;border:1px solid var(--line);border-right:none}
.path__step:last-child{border-right:1px solid var(--line)}
.path__step.flag{background:var(--green);color:#fff;border-color:var(--green)}
.path__age{font-family:'Montserrat';font-weight:800;font-size:.72rem;letter-spacing:0;color:var(--gold);}
.path__step.flag .path__age{color:#fff}
.path__step h3{font-size:1.3rem;font-weight:800;margin:8px 0 8px;text-transform:uppercase}
.path__step p{font-size:.88rem;color:#52605a}
.path__step.flag p{color:#cfe0d6}
.path__arrow{font-family:'Montserrat';font-weight:800;color:var(--gold)}

/* stats band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid rgba(255,255,255,.14);border-radius:8px;overflow:hidden}
.stat{padding:30px 24px;border-right:1px solid rgba(255,255,255,.14)}
.stat:last-child{border-right:none}
.stat__n{font-family:'Montserrat';font-weight:900;font-size:2.3rem;color:#fff;line-height:1}
.stat__l{font-size:.82rem;color:#b9cdc1;margin-top:10px;text-transform:none}

/* ladder */
.ladder{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.ladder th{font-family:'Montserrat';font-weight:700;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:14px 16px;background:var(--green);color:#fff}
.ladder td{padding:13px 16px;border-top:1px solid var(--line)}
.ladder tr.me{background:rgba(0,145,76,.08);font-weight:700}
.ladder tr.me td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.ladder .pos{font-family:'Montserrat';font-weight:700;color:#52605a;width:40px}

/* tiers */
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tier{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;display:flex;flex-direction:column}
.tier.flag{border:2px solid var(--gold);background:linear-gradient(180deg,rgba(204,154,51,.07),#fff)}
.tier__badge{font-family:'Montserrat';font-weight:700;font-size:.64rem;letter-spacing:0;color:var(--gold);}
.tier h3{font-family:'Montserrat';font-weight:800;font-size:1.5rem;color:var(--deep);margin:8px 0 4px;text-transform:uppercase}
.tier .band{font-family:'Montserrat';font-weight:700;color:var(--green);font-size:1.05rem}
.tier ul{list-style:none;margin-top:16px;display:grid;gap:9px}
.tier li{font-size:.88rem;color:#52605a;padding-left:20px;position:relative}
.tier li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.split__img{border-radius:10px;min-height:420px;background-size:cover;background-position:center;box-shadow:0 20px 50px rgba(11,61,46,.18)}
.feat-list{list-style:none;margin-top:22px;display:grid;gap:14px}
.feat-list li{padding-left:30px;position:relative;color:#52605a}
.feat-list li::before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--green)}
.feat-list b{color:var(--charcoal)}

/* sponsor wall */
.sponsors{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 40px}
.sponsors img{height:46px;width:auto;filter:brightness(0) invert(1);opacity:.9}

/* footer */
.foot{background:var(--green);color:#fff;padding:64px 0 28px;border-top:1px solid rgba(255,255,255,.3)}
.foot__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.25)}
.foot img.fl{height:74px;margin-bottom:16px}
.foot h4{font-family:'Montserrat';font-weight:700;font-size:.78rem;letter-spacing:0;color:#fff;margin-bottom:16px}
.foot ul{list-style:none;display:grid;gap:9px}
.foot a{font-size:.9rem}
.foot__base{padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:#eef8f2}
.foot__base b{color:#fff}

.foot__news{display:grid;grid-template-columns:1fr 1.4fr auto;gap:28px;align-items:center;padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid rgba(255,255,255,.25)}
.foot__news h4{margin-bottom:6px}
.foot__news p{font-size:.92rem}
.foot__form{display:flex;gap:10px;flex-wrap:wrap}
.foot__form input{flex:1 1 160px;min-width:0;padding:13px 14px;border:0;border-radius:3px;font:inherit;font-size:.92rem;color:var(--charcoal);background:#fff}
.foot__form input:focus{outline:2px solid var(--gold);outline-offset:1px}
.foot .foot__social{display:flex;gap:10px}
.foot__social a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--green)}
.foot__social a:hover{background:var(--gold);color:var(--charcoal)}
.foot__social svg{width:20px;height:20px;fill:currentColor}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:900px){.foot__news{grid-template-columns:1fr}}

body.gg-the-club .honours{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
body.gg-the-club .honour{background:#fff;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:10px;padding:22px 24px}
body.gg-the-club .honour h3{font-size:1.05rem;font-weight:800;color:var(--green);margin-bottom:10px}
body.gg-the-club .honour__yrs{font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--charcoal)}
body.gg-the-club .honour ul{list-style:none;display:grid;gap:6px;font-size:.92rem;color:#52605a}
body.gg-the-club .yby{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:10px}
body.gg-the-club .yby summary{cursor:pointer;padding:18px 24px;font-family:var(--font-display);font-weight:800;color:var(--green)}
body.gg-the-club .yby__scroll{overflow-x:auto;padding:0 16px 20px}
body.gg-the-club .yby table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:620px}
body.gg-the-club .yby th{background:var(--green);color:#fff;font-family:var(--font-display);font-weight:700;text-align:left;padding:10px 12px}
body.gg-the-club .yby td{padding:8px 12px;border-bottom:1px solid var(--line);color:var(--charcoal)}
body.gg-the-club .yby tr.champ td{background:rgba(0,145,76,.1);font-weight:700}

/* concept ribbon */
.ribbon{position:fixed;top:18px;right:-46px;transform:rotate(45deg);background:var(--gold);color:var(--deep);font-family:'Montserrat';font-weight:800;font-size:.66rem;letter-spacing:.06em;padding:7px 60px;z-index:50;box-shadow:0 4px 14px rgba(0,0,0,.2)}

@media(max-width:900px){
  .wrap{padding:0 22px}
  html,body{overflow-x:hidden}

  /* --- nav becomes a solid bar + hamburger dropdown --- */
  .nav{background:var(--green)}
  .nav__bar{height:66px;justify-content:space-between}
  .nav__brand{order:0;flex-shrink:0}
  .nav__brand img{height:44px}
  .nav__burger{display:flex;order:2}
  .nav__links{position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--green);padding:6px 22px 18px;box-shadow:0 22px 44px rgba(0,0,0,.4);display:none}
  .nav__cb:checked ~ .nav__links{display:flex}
  .nav__links a:not(.btn){display:block;padding:15px 2px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.95rem}
  .nav__links .btn{margin:16px 0 4px;justify-content:center}
  /* Book Bistro stays on the bar on phones; the utility strip is desktop only */
  .nav__util{display:none}
  .nav__book{display:inline-flex;order:1;margin-left:auto;margin-right:8px;padding:9px 14px;border-radius:4px;background:var(--gold);color:var(--charcoal);font-family:'Montserrat';font-weight:700;font-size:.78rem}
  .nav__dd{display:block}
  .nav__sub{display:block;position:static;min-width:0;padding:0 0 6px 14px;background:transparent;box-shadow:none}
  .nav__sub a{color:#eaf1ec;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.85rem}
  .nav__sub a:hover{background:transparent;color:#fff}
  .nav__cb:checked ~ .nav__burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav__cb:checked ~ .nav__burger span:nth-child(2){opacity:0}
  .nav__cb:checked ~ .nav__burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  /* --- hero clears the fixed bar; content top-aligned --- */
  .hero{align-items:flex-start;min-height:0;padding:96px 0 52px}
  /* No green wash, so phones get a plain dark scrim to keep white text legible on bright photos */
  .hero__bg::after{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.55) 100%)}
  .hero h1{font-size:clamp(2.3rem,8vw,3.4rem)}
  .hero__sub{font-size:1.05rem}
  /* CTAs stack full-width so nothing runs off the edge */
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%;justify-content:center}

  /* --- every multi-column grid stacks (shared + per-page classes) --- */
  .hero__inner,.split,.story,.two-col{grid-template-columns:1fr;gap:30px}
  .pillars,.grid-3,.path,.tiers,.stats,.foot__top,.progs,.rooms,.values{grid-template-columns:1fr}
  .squad,.whatson{grid-template-columns:1fr 1fr}

  /* --- results strip: horizontal row -> stacked --- */
  .strip__row{flex-direction:column}
  .strip__item{border-right:none;border-bottom:1px solid #E5E5E5}
  .strip__item:last-child{border-bottom:none}

  /* --- signup forms never overflow the viewport --- */
  .edm input,.edm form{min-width:0;width:100%}
  .foot__base{flex-direction:column;gap:8px;text-align:center}
}

/* ---- Compliance strip (added 15 Aug 2026, Bianca's Club & Community brief) ---- */
.comply{background:var(--deep-2);padding:26px 0}
.comply__in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.comply a{color:#cfe0d6;font-size:.88rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px}
.comply a:hover{color:#fff}
.comply a.yp{color:#9fb6a8;font-size:.82rem;max-width:46ch;border-bottom-color:rgba(255,255,255,.15)}
@media(max-width:900px){.comply__in{flex-direction:column;align-items:flex-start;gap:14px}}

/* ---- Photo placeholders: shots still owed by the club ---- */
.photo-todo{position:relative;background:linear-gradient(150deg,#007A40 0%,var(--green) 60%,#4fb884 140%)}
.photo-todo::after{content:"Photo to come from the club: " attr(data-need);position:absolute;left:50%;top:50%;
transform:translate(-50%,-50%);width:min(82%,320px);text-align:center;color:#bfd6c9;font-size:.8rem;line-height:1.45;
border:1px dashed rgba(191,214,201,.45);border-radius:8px;padding:12px 14px;background:rgba(4,21,15,.35)}
/* .photo-todo must not steal positioning from an already-absolute hero layer */
.hero__bg.photo-todo{position:absolute;inset:0}
.hero__bg.photo-todo::after{top:auto;bottom:30px;left:auto;right:34px;transform:none;width:min(64%,300px);text-align:right}
@media(max-width:900px){.hero__bg.photo-todo::after{right:20px;bottom:20px;width:min(80%,260px)}}


.note{color:var(--muted);font-size:.85rem;margin-top:20px}
.note--on-dark{color:var(--muted-dark)}

/* =====================================================================
   PAGE STYLES
   Ported from the per-page <style> blocks in the approved concept HTML.
   Each block is scoped to its page's body class rather than merged, so
   pages that define the same selector differently (.phero at 560px vs
   520px, .photo-todo::after at two sizes) keep their own values instead
   of one silently winning. Body classes come from gg_body_class().
   ===================================================================== */

/* ---- index.html page styles, scoped to body.home ---- */
body.home .join{background:var(--green);color:#fff}
body.home .join__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
body.home .join h2{font-size:clamp(1.7rem,3vw,2.4rem);max-width:18ch}
body.home .two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
body.home .fx{display:grid;gap:12px}
body.home .fx__row{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px 20px}
body.home .fx__row .c{font-family:'Montserrat';font-weight:700;font-size:.78rem;color:var(--green);letter-spacing:.08em}
body.home .fx__row .t{font-weight:500}
body.home .fx__row .d{font-size:.82rem;color:#8a978d}
body.home .slogos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
body.home .slogos a, body.home .slogos span{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;padding:14px 16px;min-height:78px;transition:.18s}
body.home .slogos a:hover{transform:translateY(-2px)}
body.home .slogos img{max-width:100%;max-height:50px;width:auto;height:auto;display:block}
@media(max-width:900px){body.home .two-col{grid-template-columns:1fr;gap:28px}
body.home .join__inner{flex-direction:column;align-items:flex-start}
body.home .fx__row{flex-wrap:wrap;gap:4px}}

/* ---- football.html page styles, scoped to body.gg-football ---- */
body.gg-football .phero{min-height:560px}
body.gg-football .progs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
body.gg-football .prog{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
body.gg-football .prog__img{height:170px;background-size:cover;background-position:center}
body.gg-football .prog__b{padding:22px}
body.gg-football .prog h3{font-size:1.2rem;font-weight:800;color:var(--deep);text-transform:uppercase;margin-bottom:4px}
body.gg-football .prog .age{font-family:'Montserrat';font-weight:700;font-size:.72rem;letter-spacing:0;color:var(--gold);}
body.gg-football .prog p{font-size:.9rem;color:#52605a;margin-top:8px}
body.gg-football .squad{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px}
body.gg-football .player{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:22px;text-align:center}
body.gg-football .player .no{font-family:'Montserrat';font-weight:900;font-size:2rem;color:#fff;line-height:1}
body.gg-football .player .nm{font-family:'Montserrat';font-weight:700;color:#fff;margin-top:8px;text-transform:uppercase;font-size:.95rem}
body.gg-football .player .ps{font-size:.78rem;color:#a9c0b3;margin-top:2px}
body.gg-football .levels{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
body.gg-football .lvl{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column}
body.gg-football .lvl .ages{font-family:'Montserrat';font-weight:700;font-size:.8rem;color:var(--gold);margin-bottom:6px}
body.gg-football .lvl h3{font-size:1.08rem;font-weight:800;color:var(--deep);margin-bottom:6px}
body.gg-football .lvl p{font-size:.87rem;color:#52605a;line-height:1.55}
body.gg-football .lvl--flag{background:var(--green);border-color:var(--green)}
body.gg-football .lvl--flag h3{color:#fff}
body.gg-football .lvl--flag p{color:#c6d6cd}
body.gg-football .lvl--flag .ages{color:#fff}
body.gg-football .levels--3{grid-template-columns:repeat(3,1fr)}
body.gg-football .subhead{font-family:'Montserrat';font-weight:800;color:var(--deep);font-size:1.05rem;margin:34px 0 16px}
body.gg-football .pway{margin-top:2px}
body.gg-football .pway__in{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
body.gg-football .pway__bar{display:flex;gap:2px;border-bottom:2px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
body.gg-football .pway__bar::-webkit-scrollbar{display:none}
body.gg-football .pway__bar label{font-family:'Montserrat';font-weight:700;font-size:.94rem;color:#5d6b64;padding:14px 20px;white-space:nowrap;cursor:pointer;
border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s ease,border-color .15s ease}
body.gg-football .pway__bar label:hover{color:var(--deep)}
body.gg-football .pway__panel{display:none}
body.gg-football .pway__panel[data-p]{padding-top:32px}
body.gg-football #pw1:checked~.pway__bar label[for=pw1], body.gg-football #pw2:checked~.pway__bar label[for=pw2], body.gg-football #pw3:checked~.pway__bar label[for=pw3], body.gg-football #pw4:checked~.pway__bar label[for=pw4], body.gg-football #pw5:checked~.pway__bar label[for=pw5]{color:var(--deep);border-bottom-color:var(--green)}
body.gg-football #pw1:focus-visible~.pway__bar label[for=pw1], body.gg-football #pw2:focus-visible~.pway__bar label[for=pw2], body.gg-football #pw3:focus-visible~.pway__bar label[for=pw3], body.gg-football #pw4:focus-visible~.pway__bar label[for=pw4], body.gg-football #pw5:focus-visible~.pway__bar label[for=pw5]{outline:2px solid var(--green);outline-offset:-3px;border-radius:4px}
body.gg-football #pw1:checked~.pway__panels .pw--1, body.gg-football #pw2:checked~.pway__panels .pw--2, body.gg-football #pw3:checked~.pway__panels .pw--3, body.gg-football #pw4:checked~.pway__panels .pw--4, body.gg-football #pw5:checked~.pway__panels .pw--5{display:block}
body.gg-football .pwsplit{display:grid;grid-template-columns:1fr 1.15fr;gap:34px;align-items:center}
body.gg-football .pwsplit__img{min-height:320px;border-radius:10px;background-size:cover;background-position:center}
body.gg-football .pwsplit__b .ages{font-family:'Montserrat';font-weight:700;font-size:.82rem;color:var(--gold);margin-bottom:6px}
body.gg-football .pwsplit__b h3{font-size:1.7rem;font-weight:800;color:var(--deep);margin-bottom:12px;line-height:1.15}
body.gg-football .pwsplit__b p{font-size:.98rem;color:#52605a;line-height:1.65;margin-bottom:14px}
body.gg-football .pwlist{list-style:none;margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
body.gg-football .pwlist li{font-size:.9rem;color:#52605a;line-height:1.55;padding:7px 0 7px 20px;position:relative}
body.gg-football .pwlist li::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--green)}
body.gg-football .pwnote{font-size:.84rem;color:#7a8a83;margin-top:16px;font-style:italic}
body.gg-football .subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
body.gg-football .subtabs label{font-family:'Montserrat';font-weight:700;font-size:.86rem;color:#5d6b64;background:#fff;border:1px solid var(--line);
border-radius:999px;padding:9px 18px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
body.gg-football .subtabs label:hover{border-color:var(--green);color:var(--deep)}
body.gg-football .acad{background:var(--grey-2);border:1px solid var(--line);border-radius:10px;padding:28px 30px;margin-top:26px}
body.gg-football .acad__h{font-family:'Montserrat';font-weight:800;color:var(--deep);font-size:1.02rem;margin-bottom:14px}
body.gg-football .acad__panel{display:none}
body.gg-football .acad__panel h4{font-size:1.22rem;font-weight:800;color:var(--deep);margin-bottom:6px}
body.gg-football .acad__panel .ages{font-family:'Montserrat';font-weight:700;font-size:.8rem;color:var(--gold);margin-bottom:6px}
body.gg-football .acad__panel p{font-size:.93rem;color:#52605a;line-height:1.62;margin-bottom:10px}
body.gg-football #ac1:checked~.subtabs label[for=ac1], body.gg-football #ac2:checked~.subtabs label[for=ac2]{background:var(--green);color:#fff;border-color:var(--green)}
body.gg-football #ac1:focus-visible~.subtabs label[for=ac1], body.gg-football #ac2:focus-visible~.subtabs label[for=ac2]{outline:2px solid var(--green);outline-offset:2px}
body.gg-football #ac1:checked~.acad__panels .ac--1, body.gg-football #ac2:checked~.acad__panels .ac--2{display:block}
body.gg-football .staff{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
body.gg-football .st{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
body.gg-football .st__img{height:210px;background-size:cover;background-position:center}
body.gg-football .st__b{padding:20px 22px 24px}
body.gg-football .st h3{font-size:1.05rem;font-weight:800;color:var(--deep);margin-bottom:3px}
body.gg-football .st span{font-size:.84rem;color:var(--green);font-weight:600}
body.gg-football .hero__bg.photo-todo{position:absolute;inset:0}
body.gg-football .photo-todo{position:relative;background:linear-gradient(150deg,#007A40 0%,var(--green) 60%,#4fb884 140%)}
body.gg-football .photo-todo::after{content:"Photo to come from the club: " attr(data-need);position:absolute;left:50%;top:50%;
transform:translate(-50%,-50%);width:min(82%,300px);text-align:center;color:#bfd6c9;font-size:.78rem;line-height:1.45;
border:1px dashed rgba(191,214,201,.45);border-radius:8px;padding:12px 14px;background:rgba(4,21,15,.35)}
@media(max-width:900px){body.gg-football .pwsplit{grid-template-columns:1fr;gap:22px}
body.gg-football .pwsplit__img{min-height:220px}
body.gg-football .pwsplit__b h3{font-size:1.4rem}
body.gg-football .pway__bar label{padding:13px 15px;font-size:.87rem}
body.gg-football .acad{padding:22px 20px}
body.gg-football .progs{grid-template-columns:1fr}
body.gg-football .squad{grid-template-columns:repeat(2,1fr);gap:12px}
body.gg-football .player{padding:16px}
body.gg-football .player .no{font-size:1.6rem}
body.gg-football .levels, body.gg-football .levels--3{grid-template-columns:1fr}
body.gg-football .staff{grid-template-columns:1fr}}
@media(min-width:901px) and (max-width:1100px){body.gg-football .levels{grid-template-columns:repeat(2,1fr)}
body.gg-football .levels--3{grid-template-columns:repeat(3,1fr)}
body.gg-football .staff{grid-template-columns:repeat(2,1fr)}}

/* ---- club-venue.html page styles, scoped to body.gg-bistro-functions ---- */
body.gg-bistro-functions .phero{min-height:560px}
body.gg-bistro-functions .rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
body.gg-bistro-functions .room{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px}
body.gg-bistro-functions .room h3{font-size:1.2rem;font-weight:800;color:var(--deep);text-transform:uppercase;margin-bottom:6px}
body.gg-bistro-functions .room .cap{font-family:'Montserrat';font-weight:700;font-size:.72rem;letter-spacing:0;color:var(--gold);}
body.gg-bistro-functions .room p{font-size:.9rem;color:#52605a;margin-top:8px}
body.gg-bistro-functions .whatson{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
body.gg-bistro-functions .event{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
body.gg-bistro-functions .event__top{background:var(--green);color:#fff;padding:16px 18px}
body.gg-bistro-functions .event__top .d{font-family:'Montserrat';font-weight:800;font-size:1.3rem}
body.gg-bistro-functions .event__top .m{font-size:.72rem;letter-spacing:0;color:#fff;}
body.gg-bistro-functions .event__b{padding:18px}
body.gg-bistro-functions .event__b h3{font-size:1rem;font-weight:700;text-transform:none;margin-bottom:4px}
body.gg-bistro-functions .event__b p{font-size:.84rem;color:#52605a}
body.gg-bistro-functions .edm{background:var(--gold);color:var(--deep)}
body.gg-bistro-functions .edm__in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
body.gg-bistro-functions .edm h2{color:var(--deep)!important;font-size:2rem;max-width:20ch}
body.gg-bistro-functions .edm input{border:none;padding:15px 18px;border-radius:3px;min-width:260px;font-size:.95rem}
body.gg-bistro-functions .edm form{display:flex;gap:10px;flex-wrap:wrap}
body.gg-bistro-functions .bookwrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
body.gg-bistro-functions .bookcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
body.gg-bistro-functions .bookcard__h{font-family:'Montserrat';font-weight:800;color:var(--deep);font-size:1.05rem;margin-bottom:18px}
body.gg-bistro-functions .bookcard__row{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:6px;padding:13px 16px;margin-bottom:10px}
body.gg-bistro-functions .bookcard__k{font-size:.8rem;color:#8a978d}
body.gg-bistro-functions .bookcard__v{font-weight:600;color:var(--deep)}
body.gg-bistro-functions .bookcard .btn{width:100%;justify-content:center;margin-top:8px}
body.gg-bistro-functions .bookcard__note{font-size:.78rem;color:#8a978d;text-align:center;margin-top:12px}
body.gg-bistro-functions .hero__bg.photo-todo{position:absolute;inset:0}
body.gg-bistro-functions .hero__bg.photo-todo::after{top:auto;bottom:30px;left:auto;right:34px;transform:none;width:min(64%,300px);text-align:right}
body.gg-bistro-functions .photo-todo{position:relative;background:linear-gradient(150deg,#007A40 0%,var(--green) 60%,#4fb884 140%)}
body.gg-bistro-functions .photo-todo::after{content:"Photo to come from the club: " attr(data-need);position:absolute;left:50%;top:50%;
transform:translate(-50%,-50%);width:min(78%,460px);text-align:center;color:#bfd6c9;font-size:.86rem;line-height:1.5;
border:1px dashed rgba(191,214,201,.45);border-radius:8px;padding:16px 18px;background:rgba(4,21,15,.35)}
body.gg-bistro-functions .specials{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
body.gg-bistro-functions .spec{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px}
body.gg-bistro-functions .spec .day{font-family:'Montserrat';font-weight:800;color:var(--green);font-size:.95rem;margin-bottom:6px}
body.gg-bistro-functions .spec h3{font-size:1.15rem;font-weight:800;color:var(--deep);margin-bottom:6px}
body.gg-bistro-functions .spec p{font-size:.88rem;color:#52605a}
body.gg-bistro-functions .duo{display:grid;grid-template-columns:1fr 1fr;gap:26px}
body.gg-bistro-functions .chef{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
body.gg-bistro-functions .chef__img{border-radius:10px;min-height:380px}
body.gg-bistro-functions .revs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
body.gg-bistro-functions .rev{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;display:flex;flex-direction:column}
body.gg-bistro-functions .rev p{font-size:.95rem;color:#3d4a44;line-height:1.6;flex:1}
body.gg-bistro-functions .rev .who{margin-top:16px;font-family:'Montserrat';font-weight:700;font-size:.85rem;color:var(--green)}
body.gg-bistro-functions .award{display:flex;align-items:center;gap:22px;background:var(--green);color:#fff;border-radius:10px;padding:26px 30px;flex-wrap:wrap}
body.gg-bistro-functions .award__mk{width:70px;height:70px;border-radius:50%;border:2px solid #fff;display:flex;align-items:center;justify-content:center;
font-family:'Montserrat';font-weight:800;font-size:1.5rem;color:#fff;flex:none}
body.gg-bistro-functions .award h3{font-size:1.25rem;font-weight:800;margin-bottom:4px}
body.gg-bistro-functions .award p{font-size:.9rem;color:#c6d6cd;max-width:52ch}
@media(max-width:900px){body.gg-bistro-functions .rooms{grid-template-columns:1fr}
body.gg-bistro-functions .events{grid-template-columns:1fr}
body.gg-bistro-functions .whatson{grid-template-columns:1fr}
body.gg-bistro-functions .bookwrap{grid-template-columns:1fr;gap:28px}
body.gg-bistro-functions .edm__in{flex-direction:column;align-items:flex-start}
body.gg-bistro-functions .edm input{min-width:0;width:100%}
body.gg-bistro-functions .hero__bg.photo-todo::after{right:20px;bottom:20px;width:min(80%,260px)}
body.gg-bistro-functions .specials{grid-template-columns:1fr}
body.gg-bistro-functions .duo{grid-template-columns:1fr}
body.gg-bistro-functions .chef{grid-template-columns:1fr;gap:26px}
body.gg-bistro-functions .revs{grid-template-columns:1fr}
body.gg-bistro-functions .chef__img{min-height:260px}}

/* ---- the-club.html page styles, scoped to body.gg-the-club ---- */
body.gg-the-club .phero{min-height:520px}
body.gg-the-club .story{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
body.gg-the-club .timeline{display:grid;gap:0;margin-top:10px}
body.gg-the-club .tl{display:grid;grid-template-columns:90px 1fr;gap:22px;padding:18px 0;border-top:1px solid var(--line)}
body.gg-the-club .tl .yr{font-family:'Montserrat';font-weight:800;color:var(--green);font-size:1.05rem}
body.gg-the-club .tl p{color:#52605a;font-size:.95rem}
body.gg-the-club .values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
body.gg-the-club .value{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px}
body.gg-the-club .value h3{font-size:1.2rem;font-weight:800;color:var(--deep);text-transform:uppercase;margin-bottom:8px}
body.gg-the-club .value p{font-size:.92rem;color:#52605a}
body.gg-the-club .board{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
body.gg-the-club .bmem{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;overflow:hidden}
body.gg-the-club .bmem img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#22322b}
body.gg-the-club .bmem .bph{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff;font-family:'Montserrat';font-weight:800;font-size:2.4rem}
body.gg-the-club .bmem .bnm{padding:16px 18px 20px}
body.gg-the-club .bmem h3{font-size:1.05rem;font-weight:800;color:#fff;margin-bottom:3px}
body.gg-the-club .bmem span{font-size:.86rem;color:#eef8f2}
body.gg-the-club .cc{display:grid;grid-template-columns:1fr 1fr;gap:26px}
body.gg-the-club .ccard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px}
body.gg-the-club .ccard h3{font-size:1.25rem;font-weight:800;color:var(--deep);margin-bottom:10px}
body.gg-the-club .ccard p{font-size:.94rem;color:#52605a;margin-bottom:10px}
body.gg-the-club .mbenefits{display:grid;gap:0;margin-top:6px}
body.gg-the-club .mben{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:.93rem;color:#52605a}
body.gg-the-club .mben b{color:var(--deep)}
body.gg-the-club .mben .mk{color:var(--green);font-weight:800}
body.gg-the-club .week{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
body.gg-the-club .wk{background:var(--green);color:#fff;border-radius:10px;padding:24px}
body.gg-the-club .wk .wd{font-family:'Montserrat';font-weight:800;color:#fff;font-size:.95rem;margin-bottom:6px}
body.gg-the-club .wk h4{font-size:1.1rem;font-weight:800;margin-bottom:5px}
body.gg-the-club .wk p{font-size:.88rem;color:#eef8f2}
body.gg-the-club .comply{background:var(--deep-2);padding:26px 0}
body.gg-the-club .comply__in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
body.gg-the-club .comply a{color:#cfe0d6;font-size:.88rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px}
body.gg-the-club .comply a:hover{color:#fff}
body.gg-the-club .comply .yp{display:flex;align-items:center;gap:12px;color:#9fb6a8;font-size:.82rem;max-width:46ch}
@media(max-width:900px){body.gg-the-club .story{grid-template-columns:1fr;gap:28px}
body.gg-the-club .values{grid-template-columns:1fr}
body.gg-the-club .tl{grid-template-columns:64px 1fr;gap:14px}
body.gg-the-club .board{grid-template-columns:1fr 1fr}
body.gg-the-club .cc{grid-template-columns:1fr}
body.gg-the-club .week{grid-template-columns:1fr}
body.gg-the-club .comply__in{flex-direction:column;align-items:flex-start;gap:14px}}
@media(max-width:560px){body.gg-the-club .board{grid-template-columns:1fr}}

/* ---- partnerships.html page styles, scoped to body.gg-partnerships ---- */
body.gg-partnerships .phero{min-height:560px}
body.gg-partnerships .slogos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
body.gg-partnerships .slogos a, body.gg-partnerships .slogos span{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;padding:14px 16px;min-height:78px;transition:.18s}
body.gg-partnerships .slogos a:hover{transform:translateY(-2px)}
body.gg-partnerships .slogos img{max-width:100%;max-height:50px;width:auto;height:auto;display:block}
body.gg-partnerships .dir{background:var(--lime);color:var(--deep)}
body.gg-partnerships .dir__in{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
body.gg-partnerships .dir h2{color:var(--deep)!important;font-size:2.1rem;max-width:18ch}
body.gg-partnerships .dir .price{font-family:'Montserrat';font-weight:900;font-size:2.4rem}
@media(max-width:900px){body.gg-partnerships .dir__in{flex-direction:column;align-items:flex-start}
body.gg-partnerships .dir__in>div[style*='right']{text-align:left!important}}

/* ---- football-governance page styles, scoped to body.gg-football-governance ----
   Added 17 Sep 2026. Not from the concept: this page ports the live site's
   Football Compliance page, which was a two-column Elementor grid of heading,
   paragraph and button. Same shape, on the theme's card tokens. */
body.gg-football-governance .phero{min-height:460px}
body.gg-football-governance .docs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
body.gg-football-governance .doc{background:#fff;border:1px solid var(--line);border-radius:10px;padding:34px 32px;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(11,61,46,.06)}
body.gg-football-governance .doc h3{font-size:1.25rem;font-weight:800;color:var(--deep);line-height:1.3;margin-bottom:14px}
body.gg-football-governance .doc__b{flex:1;font-family:var(--font-body);color:#52605a;font-size:.98rem;line-height:1.65}
body.gg-football-governance .doc__b p+p{margin-top:.9em}
body.gg-football-governance .doc .btn{align-self:flex-start;margin-top:22px}
@media(max-width:900px){body.gg-football-governance .docs{grid-template-columns:1fr}body.gg-football-governance .doc{padding:26px 22px}}

/* ---- business-directory page styles, scoped to body.gg-business-directory ----
   Concept, 17 Sep 2026. Search form is a plain GET form; no JavaScript. */
body.gg-business-directory .phero{min-height:560px}
body.gg-business-directory .dsearch{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
body.gg-business-directory .dsearch__q{flex:1 1 320px}
body.gg-business-directory .dsearch__s{flex:0 1 260px}
body.gg-business-directory .dsearch input,body.gg-business-directory .dsearch select{width:100%;font-family:var(--font-body);font-size:1rem;padding:13px 16px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--charcoal)}
body.gg-business-directory .dsearch input:focus,body.gg-business-directory .dsearch select:focus{outline:2px solid var(--green);outline-offset:1px}
body.gg-business-directory .dsearch__clear{color:var(--muted);font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
body.gg-business-directory .dcount{color:var(--muted);font-size:.9rem;margin-bottom:26px}
body.gg-business-directory .dempty{color:#52605a;padding:40px 0}
body.gg-business-directory .dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
body.gg-business-directory .dcard{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(11,61,46,.06)}
body.gg-business-directory .dcard__logo{height:150px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:18px}
body.gg-business-directory .dcard__logo img{max-width:100%;max-height:100%;object-fit:contain}
body.gg-business-directory .dcard__b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
body.gg-business-directory .dcard__cat{font-family:var(--font-body);font-size:.82rem;color:var(--green);font-weight:500;margin-bottom:6px}
body.gg-business-directory .dcard h3{font-size:1.12rem;font-weight:800;color:var(--deep);line-height:1.25;margin-bottom:8px}
body.gg-business-directory .dcard p{font-family:var(--font-body);font-size:.92rem;color:#52605a;line-height:1.55}
body.gg-business-directory .dcard__offer{margin-top:10px;padding:10px 12px;background:var(--grey-2);border-left:3px solid var(--gold);border-radius:0 4px 4px 0;color:var(--deep)!important}
body.gg-business-directory .dcard__offer span{font-weight:700;color:var(--gold);margin-right:4px}
body.gg-business-directory .dcard__act{margin-top:auto;padding-top:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
body.gg-business-directory .dcard__act .btn{padding:10px 18px;font-size:.76rem}
body.gg-business-directory .dcard__tel{font-family:var(--font-body);font-size:.9rem;color:#52605a}
body.gg-business-directory .offers{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
body.gg-business-directory .offer{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 24px;border-top:4px solid var(--gold)}
body.gg-business-directory .offer__who{font-family:var(--font-display);font-weight:800;color:var(--deep);font-size:1.02rem}
body.gg-business-directory .offer__what{font-family:var(--font-body);font-size:1.05rem;color:var(--charcoal);margin:8px 0 10px;line-height:1.5}
body.gg-business-directory .offer__how{font-family:var(--font-body);font-size:.82rem;color:var(--muted)}
@media(max-width:1100px){body.gg-business-directory .dgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){body.gg-business-directory .dgrid,body.gg-business-directory .offers{grid-template-columns:1fr}body.gg-business-directory .dsearch{flex-direction:column;align-items:stretch}body.gg-business-directory .dsearch__q,body.gg-business-directory .dsearch__s{flex:1 1 auto}}

/* ---------------------------------------------------------------------------
   News, single posts and generic pages.

   Added with archive.php / single.php / page.php / 404.php. Everything outside
   the five designed pages used to render an empty document, so these are the
   styles for the long tail: the news index, the 425 posts already on the live
   site, and any page the club adds later.

   Lives here rather than in the templates because the theme has exactly one
   stylesheet, deliberately. See the note in functions.php.
--------------------------------------------------------------------------- */
.wrap--narrow{max-width:760px}

.entry{font-family:var(--font-body);font-size:1.06rem;line-height:1.75;color:var(--charcoal)}
.entry>*+*{margin-top:1.15em}
.entry h2,.entry h3,.entry h4{font-family:var(--font-display);color:var(--deep);line-height:1.25;margin-top:1.8em}
.entry h2{font-size:1.9rem}
.entry h3{font-size:1.45rem}
.entry h4{font-size:1.15rem}
.entry a{color:var(--green);text-underline-offset:3px}
.entry a:hover{color:var(--deep)}
.entry img,.entry iframe,.entry video{max-width:100%;height:auto;border-radius:10px}
.entry figure{margin:1.6em 0}
.entry figcaption{font-size:.86rem;color:var(--muted-dark);margin-top:8px}
.entry blockquote{border-left:4px solid var(--gold);padding:4px 0 4px 22px;margin:1.6em 0;font-size:1.12rem;color:var(--deep)}
.entry ul,.entry ol{padding-left:1.35em}
.entry li+li{margin-top:.45em}
.entry table{width:100%;border-collapse:collapse;font-size:.95rem}
.entry th,.entry td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.entry hr{border:0;border-top:1px solid var(--line);margin:2em 0}

/* Card titles become links on the news index; the card itself keeps its look. */
.card__body h3 a{color:inherit}
.card__body h3 a:hover{color:var(--green)}

.pager{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:44px}
.pager a,.pager .page-numbers{display:inline-block;padding:10px 16px;border:1px solid var(--line);border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--deep)}
.pager a:hover{border-color:var(--green);color:var(--green)}
.pager .current{background:var(--green);border-color:var(--green);color:#fff}

@media(max-width:700px){
  .entry{font-size:1rem}
  .entry h2{font-size:1.55rem}
  .entry h3{font-size:1.25rem}
}
