/*
Theme Name: Global Fan Voice Portal
Theme URI: https://www.globalfanvoice.com/
Author: Global Fan Voice
Description: Light editorial football supporter portal theme for Global Fan Voice.
Version: 1.8.0
Text Domain: global-fan-voice-portal
*/

:root{
  --bg:#f5f1e8;
  --surface:#ffffff;
  --surface-2:#fbf7ef;
  --text:#171a1b;
  --muted:#686d70;
  --line:#e6dece;
  --gold:#c6952e;
  --gold-2:#e3ba58;
  --red:#9f1d1d;
  --shadow:0 14px 36px rgba(37,31,19,.08);
  --radius:20px;
  --wrap:min(1240px,92vw);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Georgia,"Times New Roman",serif;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
.wrap{width:var(--wrap);margin-inline:auto}
.kicker{display:inline-flex;align-items:center;gap:.5rem;font-family:Arial,sans-serif;font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.kicker:before{content:"";width:22px;height:2px;background:var(--gold)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.85rem 1.15rem;background:var(--gold);color:#fff;font-family:Arial,sans-serif;font-size:.82rem;font-weight:800;border:1px solid var(--gold);box-shadow:0 8px 22px rgba(198,149,46,.18)}
.button.ghost{background:#fff;color:var(--text);border-color:var(--line);box-shadow:none}
.button:hover{transform:translateY(-1px)}
.text-link{font-family:Arial,sans-serif;font-size:.78rem;font-weight:800;color:var(--gold)}
.section{padding:64px 0}
.section-alt{background:var(--surface-2);border-block:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:26px}
.section-heading h2{margin:.35rem 0 0;font-size:clamp(2rem,4vw,3.3rem);line-height:1;letter-spacing:-.035em}
.section-heading p{max-width:760px;margin:.6rem 0 0;color:var(--muted);font-family:Arial,sans-serif}

/* Header */
.gfv-topbar{background:#222629;color:#f7f3ea;font-family:Arial,sans-serif;font-size:.72rem}
.gfv-topbar .wrap{display:flex;justify-content:space-between;gap:18px;padding:8px 0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{min-height:86px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--gold);background:#fff;font-family:Arial,sans-serif;font-weight:900;color:var(--gold)}
.brand-copy strong{display:block;font-family:Arial,sans-serif;font-size:1.03rem;letter-spacing:.03em}.brand-copy strong span{color:var(--gold)}
.brand-copy small{display:block;color:var(--muted);font-family:Arial,sans-serif;font-size:.65rem;margin-top:2px}
.primary-nav ul{list-style:none;display:flex;justify-content:center;gap:22px;padding:0;margin:0;font-family:Arial,sans-serif;font-size:.78rem;font-weight:800}
.header-actions{display:flex;align-items:center;gap:10px}
.menu-toggle{display:none;background:none;border:0;padding:8px}

/* Hero */
.portal-hero{padding:28px 0 18px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.8fr);gap:18px}
.lead-card,.side-card{position:relative;overflow:hidden;border-radius:var(--radius);background:#ddd;box-shadow:var(--shadow)}
.lead-card{min-height:590px}
.side-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}
.side-card{min-height:184px}
.story-media{position:absolute;inset:0}.story-media img{width:100%;height:100%;object-fit:cover}
.story-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#d9cfbb,#f8f2e5);color:#8b7b59;font-family:Arial,sans-serif;font-weight:900;letter-spacing:.08em;text-align:center;padding:24px}
.story-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.78) 100%)}
.story-copy{position:absolute;left:0;right:0;bottom:0;padding:30px;color:white}.lead-card .story-copy{padding:38px}
.story-copy .kicker{color:#f2c55c}.story-copy h1,.story-copy h2,.story-copy h3{margin:.45rem 0 0;line-height:1.02;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.lead-card h1{font-size:clamp(2.35rem,4.7vw,4.85rem);max-width:900px;letter-spacing:-.04em}
.side-card h3{font-size:1.35rem}
.story-meta{margin-top:.85rem;display:flex;gap:14px;flex-wrap:wrap;font-family:Arial,sans-serif;font-size:.72rem;color:#e8e6df}

/* Portal strip */
.portal-strip{padding:18px 0 10px}
.portal-strip-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.portal-link{display:flex;align-items:center;gap:12px;padding:16px 17px;border:1px solid var(--line);background:#fff;border-radius:16px;font-family:Arial,sans-serif;box-shadow:0 8px 24px rgba(37,31,19,.04)}
.portal-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f4ead5;color:var(--gold);font-weight:900}.portal-link strong{display:block;font-size:.8rem}.portal-link small{display:block;color:var(--muted);font-size:.65rem;margin-top:2px}

/* Cards */
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.news-card,.group-card,.country-card,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(37,31,19,.04)}
.news-card-media{aspect-ratio:16/10;background:#eee;overflow:hidden}.news-card-media img{width:100%;height:100%;object-fit:cover;transition:.3s}.news-card:hover img{transform:scale(1.025)}
.news-card-copy{padding:18px}.news-card-copy h3{margin:.5rem 0 .6rem;font-size:1.22rem;line-height:1.2}.news-card-copy p{margin:0;color:var(--muted);font-family:Arial,sans-serif;font-size:.84rem}
.home-two-col{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:22px;align-items:start}
.rank-list{display:grid;gap:10px}.rank-row{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid var(--line);font-family:Arial,sans-serif}.rank-row:last-child{border-bottom:0}.rank-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f5ecd8;color:var(--gold);font-weight:900}.rank-row strong{font-size:.82rem}.rank-row small{color:var(--muted);font-size:.66rem}.rank-row span:last-child{font-size:.7rem;color:var(--gold);font-weight:800}
.country-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.country-card{padding:16px;text-align:center;font-family:Arial,sans-serif}.country-flag{font-size:2rem;line-height:1}.country-card strong{display:block;margin-top:8px;font-size:.75rem}.country-card small{display:block;color:var(--muted);font-size:.62rem;margin-top:3px}
.group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.group-card{padding:18px}.group-card h3{margin:.45rem 0 .3rem}.group-card p{margin:0;color:var(--muted);font-family:Arial,sans-serif;font-size:.8rem}

/* CTA */
.community-cta{padding:72px 0;background:linear-gradient(135deg,#fff,#f1e4c7);border-top:1px solid var(--line)}
.community-card{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:24px;padding:38px;border:1px solid #dfcfaa;border-radius:24px;background:rgba(255,255,255,.82);box-shadow:var(--shadow)}
.community-card h2{margin:.4rem 0 .8rem;font-size:clamp(2.2rem,4.8vw,4.3rem);line-height:.95;letter-spacing:-.04em}.community-card p{max-width:700px;color:var(--muted);font-family:Arial,sans-serif}.community-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* Generic inner pages - LIGHT ONLY */
.site-main{min-height:60vh}.page-hero,.archive-hero,.single-hero{padding:54px 0 34px;background:linear-gradient(180deg,#fff,#f7f0e1);border-bottom:1px solid var(--line)}
.page-hero h1,.archive-hero h1,.single-hero h1{margin:.4rem 0 0;font-size:clamp(2.6rem,6vw,5rem);line-height:.96;letter-spacing:-.045em}.page-hero p,.archive-hero p,.single-hero p{max-width:840px;color:var(--muted);font-family:Arial,sans-serif}
.content-shell{padding:48px 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.content-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 8px 30px rgba(37,31,19,.04)}
.entry-content{font-size:1.08rem}.entry-content h2,.entry-content h3{line-height:1.1;margin-top:1.8em}.entry-content p{margin:0 0 1.25em}.entry-content a{color:#8f6511;text-decoration:underline}.entry-content img{border-radius:16px;margin:1.4rem 0}.entry-meta{font-family:Arial,sans-serif;font-size:.72rem;color:var(--muted)}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.archive-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.archive-card-media{aspect-ratio:16/10;background:#eee;overflow:hidden}.archive-card-media img{width:100%;height:100%;object-fit:cover}.archive-card-copy{padding:18px}.archive-card h2{font-size:1.3rem;line-height:1.15;margin:.45rem 0}.archive-card p{font-family:Arial,sans-serif;font-size:.82rem;color:var(--muted)}
.profile-hero{padding:42px 0;background:#fff;border-bottom:1px solid var(--line)}.profile-grid{display:grid;grid-template-columns:160px minmax(0,1fr) 340px;gap:24px;align-items:center}.profile-logo{width:150px;height:150px;border-radius:22px;background:#fff;border:1px solid var(--line);padding:14px;display:grid;place-items:center;box-shadow:var(--shadow)}.profile-logo img{max-width:100%;max-height:100%;object-fit:contain}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-facts div{padding:12px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;font-family:Arial,sans-serif}.profile-facts span{display:block;font-size:.62rem;color:var(--muted);text-transform:uppercase}.profile-facts strong{display:block;margin-top:2px;font-size:.84rem}

/* Footer */
.site-footer{background:#fff;border-top:1px solid var(--line);padding:42px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer-grid h4{font-family:Arial,sans-serif;margin:0 0 10px}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin:7px 0;font-family:Arial,sans-serif;font-size:.78rem;color:var(--muted)}.footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);font-family:Arial,sans-serif;font-size:.7rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px}

@media(max-width:1024px){.primary-nav{display:none}.menu-toggle{display:block}.header-inner{grid-template-columns:1fr auto}.header-actions .button{display:none}.hero-grid{grid-template-columns:1fr}.lead-card{min-height:520px}.side-stack{grid-template-columns:repeat(3,1fr);grid-template-rows:auto}.side-card{min-height:220px}.portal-strip-grid{grid-template-columns:repeat(2,1fr)}.news-grid,.group-grid{grid-template-columns:repeat(2,1fr)}.country-grid{grid-template-columns:repeat(4,1fr)}.home-two-col,.content-grid,.community-card{grid-template-columns:1fr}.community-actions{justify-content:flex-start}.profile-grid{grid-template-columns:130px 1fr}.profile-facts{grid-column:1/-1}.archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.gfv-topbar{display:none}.header-inner{min-height:72px}.brand-mark{width:42px;height:42px}.brand-copy small{display:none}.portal-hero{padding-top:14px}.lead-card{min-height:500px;border-radius:16px}.lead-card .story-copy{padding:24px}.lead-card h1{font-size:2.45rem}.side-stack{grid-template-columns:1fr}.side-card{min-height:260px}.portal-strip-grid,.news-grid,.group-grid,.country-grid,.archive-grid{grid-template-columns:1fr}.portal-link{padding:14px}.section{padding:44px 0}.section-heading{align-items:flex-start;flex-direction:column}.community-card{padding:24px}.community-card h2{font-size:2.6rem}.profile-grid{grid-template-columns:88px 1fr}.profile-logo{width:88px;height:88px;border-radius:16px;padding:8px}.profile-facts{grid-template-columns:1fr 1fr}.content-card{padding:20px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}


/* === v1.1 Portal polish === */
body{font-family:Arial,Helvetica,sans-serif}
h1,h2,h3,h4,h5,h6{font-family:Georgia,"Times New Roman",serif}
.gfv-topbar{background:#1d1d1b;color:#f7f2e8;font-family:Arial,sans-serif;font-size:.7rem}
.gfv-topbar .wrap{min-height:32px;display:flex;align-items:center;justify-content:space-between}
.site-header{box-shadow:0 4px 18px rgba(37,31,19,.035)}
.portal-hero{padding:22px 0 14px}.lead-card{min-height:560px}
.lead-card h1{font-size:clamp(2.25rem,4vw,4.25rem);line-height:1.01}
.side-card h3{font-size:1.25rem;line-height:1.08}
.section{padding:62px 0}.section-alt{background:#efe9dc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
.section-heading h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1;margin:.4rem 0 .5rem;letter-spacing:-.035em}
.section-heading p{max-width:720px;margin:0;color:var(--muted);font-size:.94rem}
.text-link{font-weight:800;font-size:.8rem;color:#8f6511}
.news-card-copy h3{font-size:1.16rem}.news-card-copy p{font-size:.82rem;line-height:1.55}
.community-card h2{font-size:clamp(2.1rem,4vw,3.7rem)}

/* News pages: smaller, calmer typography */
.single-hero{padding:38px 0 28px}.single-hero .wrap{max-width:1040px}
.single-hero h1{font-size:clamp(2.25rem,4.4vw,3.85rem);line-height:1.02;max-width:980px;letter-spacing:-.035em}
.content-shell{padding:36px 0 58px}
.content-grid{grid-template-columns:minmax(0,820px) 300px;justify-content:center}
.content-card{padding:26px}
.entry-content{font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.75;color:#242628}
.entry-content p,.entry-content li{font-size:18px;line-height:1.75}
.entry-content h2{font-size:30px;line-height:1.15;margin:1.7em 0 .65em}
.entry-content h3{font-size:24px;line-height:1.2;margin:1.5em 0 .6em}
.entry-content h4{font-size:20px}
.entry-content blockquote{margin:1.5rem 0;padding:1rem 1.2rem;border-left:4px solid var(--gold);background:#faf6ed}
.entry-meta{font-size:.76rem}.content-card>div:first-child img{max-height:620px;object-fit:cover}
.lead-card,.side-card,.news-card{background:#e8e0d1}
.story-media img,.news-card-media img{filter:saturate(1.03) contrast(1.02)}
.portal-link:hover,.news-card:hover,.group-card:hover,.country-card:hover{transform:translateY(-2px);transition:.2s;box-shadow:0 14px 32px rgba(37,31,19,.08)}

@media(max-width:640px){
 .lead-card{min-height:455px}.lead-card h1{font-size:2.15rem;line-height:1.02}.side-card{min-height:235px}
 .single-hero{padding:30px 0 22px}.single-hero h1{font-size:32px;line-height:1.08;letter-spacing:-.025em}
 .content-shell{padding:22px 0 42px}.content-card{padding:18px}.content-card>div:first-child{margin:-18px -18px 20px!important}
 .entry-content,.entry-content p,.entry-content li{font-size:17px;line-height:1.7}
 .entry-content h2{font-size:26px}.entry-content h3{font-size:22px}.section-heading h2{font-size:2rem}
}


/* === v1.2 MOBILE ARTICLE LAYOUT FIX === */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,table{max-width:100%;height:auto}
.content-shell,.content-shell .wrap,.content-grid,.content-card,.entry-content,.sidebar-card{
  min-width:0;max-width:100%;box-sizing:border-box;
}
.entry-content{
  overflow-wrap:anywhere;
  word-break:normal;
}
.entry-content pre,.entry-content code{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  .content-grid{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }
  .content-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
  .sidebar-card{
    width:100% !important;
    max-width:100% !important;
    margin:20px 0 0 !important;
  }
}
@media(max-width:640px){
  .single-hero .wrap,.content-shell .wrap{
    width:auto !important;
    max-width:none !important;
    margin-left:16px !important;
    margin-right:16px !important;
  }
  .single-hero h1{
    font-size:30px !important;
    line-height:1.08 !important;
    overflow-wrap:break-word;
  }
  .content-card{
    padding:18px !important;
    border-radius:18px !important;
  }
  .entry-content,.entry-content p,.entry-content li{
    font-size:17px !important;
    line-height:1.68 !important;
  }
}


/* v1.3: photo-first portal */
.gfv-no-photo{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eee6d8,#f8f4ec);color:#8b7a5a;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lead-card .gfv-no-photo,.side-card .gfv-no-photo{position:absolute;inset:0}

/* v1.8 Clubs directory */
.clubs-hero{padding:58px 0 36px;background:linear-gradient(180deg,#fff,#f7f0e1);border-bottom:1px solid var(--line)}
.clubs-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end}
.clubs-hero h1{margin:.35rem 0 .65rem;font-size:clamp(2.7rem,6vw,5.2rem);line-height:.94;letter-spacing:-.05em}
.clubs-hero p{max-width:780px;margin:0;color:var(--muted);font-family:Arial,sans-serif;font-size:1rem;line-height:1.65}
.clubs-count{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 22px;min-width:160px;text-align:center;box-shadow:0 8px 28px rgba(37,31,19,.05)}
.clubs-count strong{display:block;font-size:2rem;line-height:1;color:var(--gold)}.clubs-count span{display:block;margin-top:6px;font:700 .7rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.clubs-tools{display:flex;gap:12px;align-items:center;margin-bottom:24px}.clubs-search{position:relative;flex:1}
.clubs-search input{width:100%;height:52px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 18px;font:600 .92rem Arial,sans-serif;color:var(--ink);outline:none}
.clubs-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.club-directory-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(37,31,19,.04);transition:.2s}
.club-directory-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(37,31,19,.09)}
.club-directory-media{aspect-ratio:16/10;background:linear-gradient(135deg,#eee6d8,#f8f4ec);display:flex;align-items:center;justify-content:center;overflow:hidden}
.club-directory-media img{width:100%;height:100%;object-fit:contain;padding:22px}
.club-monogram{width:82px;height:82px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dfcfaa;color:var(--gold);font-size:2rem;font-weight:900}
.club-directory-copy{padding:18px;display:flex;flex-direction:column;flex:1}.club-directory-copy h2{font-size:1.25rem;line-height:1.15;margin:.4rem 0 .65rem}
.club-directory-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:12px}
.club-pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font:700 .67rem Arial,sans-serif;color:var(--muted);background:#fbf8f2}
@media(max-width:1024px){.clubs-directory-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.clubs-hero-grid{grid-template-columns:1fr}.clubs-count{justify-self:start}.clubs-directory-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.clubs-directory-grid{grid-template-columns:1fr}.club-directory-media{aspect-ratio:16/9}}
