/*
 Theme Name:   Elite Companion Guide
 Description:  Kadence Child Theme — Elite Companion Guide
 Template:     kadence
 Version:      2.0.0
 Text Domain:  elite-companion-guide
*/

@import url("../kadence/style.css");
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=DM+Sans:wght@300;400;500&display=swap');

:root {
  --bg:           #0f0d0c;
  --bg-soft:      #161311;
  --bg-card:      #1a1614;
  --border:       #2a2420;
  --border-warm:  #3a2e28;
  --text:         #f0ebe4;
  --muted:        #9a8f86;
  --light:        #6b5f58;
  --accent:       #c8602a;
  --accent-soft:  rgba(200,96,42,0.12);
  --gold:         #c49a4a;
  --gold-soft:    rgba(196,154,74,0.12);
  --green:        #4a9e6a;
  --green-soft:   rgba(74,158,106,0.12);
  --blue:         #4a7fc1;
  --blue-soft:    rgba(74,127,193,0.10);
  --font-serif:   'Libre Baskerville', Georgia, serif;
  --font-sans:    'DM Sans', system-ui, sans-serif;
  --max-width:    1140px;
  --content-width:720px;
  --radius:       3px;
  --radius-lg:    6px;
  --transition:   0.15s ease;
}

*,*::before,*::after{box-sizing:border-box;}
body{font-family:var(--font-sans);font-size:16px;line-height:1.75;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;line-height:1.25;color:var(--text);margin:0 0 0.75em;}
h1{font-size:clamp(1.6rem,4vw,2.3rem);}h2{font-size:clamp(1.25rem,3vw,1.7rem);}h3{font-size:clamp(1rem,2vw,1.25rem);}
p{margin:0 0 1.25em;}a{color:var(--accent);text-decoration:none;transition:color var(--transition);}a:hover{color:#e07040;}
img{max-width:100%;height:auto;display:block;}ul,ol{padding-left:1.5em;margin:0 0 1.25em;}li{margin-bottom:0.4em;}

.site-header{background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;}
.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:52px;}
.site-logo{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--text)!important;text-decoration:none!important;}
.site-logo span{color:var(--accent);}.site-logo em{font-style:italic;color:var(--gold);font-size:0.68rem;margin-left:0.35rem;font-weight:400;letter-spacing:0.08em;}
.primary-nav{display:flex;gap:0;list-style:none;margin:0;padding:0;}
.primary-nav li a{display:block;padding:0 0.85rem;height:52px;line-height:52px;font-size:0.72rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;transition:all var(--transition);}
.primary-nav li a:hover,.primary-nav li.current-menu-item a{color:var(--accent);border-bottom-color:var(--accent);}
.header-cta{font-size:0.7rem;padding:5px 14px;border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius);font-family:var(--font-sans);letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;transition:all var(--transition);}
.header-cta:hover{background:var(--accent);color:#fff;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--text);}
.trust-strip{background:var(--bg-soft);border-bottom:1px solid var(--border);padding:0.4rem 1.5rem;display:flex;gap:1.5rem;flex-wrap:wrap;}
.trust-strip-item{font-size:0.65rem;color:var(--muted);font-family:var(--font-sans);display:flex;align-items:center;gap:0.3rem;}
.trust-strip-item .ck{color:var(--green);}
.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;}
.content-sidebar-wrap{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem;display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start;}
.home-hero{padding:3rem 1.5rem 2.5rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.home-hero::before{content:'';position:absolute;top:-80px;left:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(200,96,42,0.07) 0%,transparent 70%);pointer-events:none;}
.hero-inner{max-width:580px;position:relative;}
.hero-eyebrow{font-size:0.65rem;font-family:var(--font-sans);color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem;display:block;}
.home-hero h1{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:0.85rem;}
.home-hero h1 em{font-style:italic;color:var(--accent);}
.home-hero h1 strong{color:var(--gold);}
.home-hero .hero-desc{font-size:0.92rem;color:var(--muted);max-width:460px;line-height:1.7;margin-bottom:1.4rem;}
.hero-trust{display:flex;gap:1.25rem;margin-bottom:1.4rem;flex-wrap:wrap;}
.hero-trust-item{font-size:0.7rem;color:var(--muted);font-family:var(--font-sans);display:flex;align-items:center;gap:0.3rem;}
.hero-trust-item .ck{color:var(--green);}
.btn{display:inline-block;padding:0.6rem 1.35rem;font-size:0.82rem;font-weight:500;font-family:var(--font-sans);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);text-decoration:none!important;}
.btn-primary{background:var(--accent);color:#fff!important;border:1px solid var(--accent);}
.btn-primary:hover{background:#b05020;border-color:#b05020;}
.btn-ghost{background:transparent;color:var(--muted)!important;border:1px solid var(--border-warm);}
.btn-ghost:hover{border-color:var(--muted);color:var(--text)!important;}
.btn-row{display:flex;gap:0.75rem;flex-wrap:wrap;}
.section-label{font-size:0.62rem;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--light);display:flex;align-items:center;gap:0.6rem;margin-bottom:1.25rem;font-family:var(--font-sans);}
.section-label::after{content:'';flex:1;height:1px;background:var(--border);}
.posts-section{padding:1.75rem 1.5rem;max-width:var(--max-width);margin:0 auto;}
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--border);}
.post-card{background:var(--bg-card);overflow:hidden;transition:background var(--transition);display:flex;flex-direction:column;}
.post-card:hover{background:var(--bg-soft);}
.post-card-thumb{aspect-ratio:16/9;background:#1e1916;overflow:hidden;}
.post-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;}
.post-card:hover .post-card-thumb img{transform:scale(1.03);}
.post-card-body{padding:1.1rem;flex:1;display:flex;flex-direction:column;}
.post-card-tag{font-size:0.6rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);margin-bottom:0.45rem;display:block;}
.post-card h2,.post-card h3{font-size:0.9rem;font-family:var(--font-serif);line-height:1.4;margin-bottom:0.5rem;}
.post-card h2 a,.post-card h3 a{color:var(--text)!important;text-decoration:none!important;}
.post-card h2 a:hover,.post-card h3 a:hover{color:var(--accent)!important;}
.post-card-excerpt{font-size:0.78rem;color:var(--muted);line-height:1.6;flex:1;margin-bottom:0.75rem;}
.post-card-meta{font-size:0.65rem;color:var(--light);display:flex;gap:0.6rem;border-top:1px solid var(--border);padding-top:0.6rem;margin-top:auto;align-items:center;flex-wrap:wrap;}
.fc-tag{font-size:0.6rem;color:var(--green);background:var(--green-soft);padding:1px 6px;border-radius:2px;}
.post-card-featured{grid-column:1/-1;display:grid;grid-template-columns:5fr 4fr;}
.post-card-featured .post-card-thumb{aspect-ratio:unset;min-height:220px;}
.post-card-featured .post-card-body{padding:1.75rem;}
.post-card-featured h2{font-size:1.2rem;}
.single-article{max-width:var(--content-width);}
.article-header{margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border);}
.article-kicker{font-size:0.62rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:0.5rem;display:block;}
.article-meta{font-size:0.72rem;color:var(--light);display:flex;flex-wrap:wrap;gap:0.5rem 1rem;align-items:center;}
.fc-pill{font-size:0.64rem;background:var(--green-soft);color:var(--green);padding:2px 7px;border-radius:2px;}
.author-box{display:flex;gap:0.75rem;padding:0.9rem 1rem;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.25rem;}
.author-avatar{width:38px;height:38px;border-radius:50%;background:var(--border-warm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:0.82rem;font-weight:700;color:var(--muted);}
.author-name{font-size:0.85rem;font-weight:500;color:var(--text);}
.author-bio{font-size:0.73rem;color:var(--muted);line-height:1.5;margin-top:2px;font-style:italic;}
.article-body{font-size:1rem;line-height:1.8;color:var(--muted);}
.article-body h2{font-size:1.3rem;margin-top:2.5em;padding-top:1.5em;border-top:1px solid var(--border);color:var(--text);}
.article-body h3{font-size:1.1rem;margin-top:1.75em;color:var(--text);}
.article-body p{margin-bottom:1.35em;}
.article-body a{color:var(--accent);}
.toc-box{background:var(--bg-soft);border-left:2px solid var(--accent);padding:1rem 1.25rem;margin-bottom:1.75rem;}
.toc-box h4{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--light);margin-bottom:0.6rem;font-family:var(--font-sans);}
.toc-box ol{padding-left:1.25rem;margin:0;}
.toc-box li{font-size:0.82rem;color:var(--muted);margin-bottom:0.3rem;}
.checklist{list-style:none;padding:0;margin-bottom:1.25em;}
.checklist li{display:flex;gap:0.6rem;font-size:0.9rem;margin-bottom:0.55rem;line-height:1.55;color:var(--text);}
.checklist li .ck{color:var(--green);flex-shrink:0;margin-top:2px;}
.tip-box{background:var(--green-soft);border-left:2px solid var(--green);padding:1rem 1.25rem;margin:1.5rem 0;font-size:0.88rem;}
.tip-box strong{display:block;color:var(--green);margin-bottom:0.25rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;}
.warn-box{background:rgba(232,160,32,0.07);border-left:2px solid #c8820a;padding:1rem 1.25rem;margin:1.5rem 0;font-size:0.88rem;color:var(--muted);}
.warn-box strong{display:block;color:#c8820a;margin-bottom:0.25rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;}
.faq-section{margin:3em 0 2em;}
.faq-item{border-top:1px solid var(--border);}
.faq-item:last-child{border-bottom:1px solid var(--border);}
.faq-question{width:100%;text-align:left;background:none;border:none;padding:0.9rem 0;font-family:var(--font-sans);font-size:0.92rem;font-weight:500;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-question:hover{color:var(--accent);}
.faq-icon{flex-shrink:0;color:var(--light);transition:transform var(--transition);}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-answer{display:none;padding:0 0 1rem;font-size:0.88rem;color:var(--muted);line-height:1.75;}
.faq-item.open .faq-answer{display:block;}
.creators-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;background:var(--border);}
.creator-card{background:var(--bg-card);padding:1.25rem;cursor:pointer;transition:background var(--transition);}
.creator-card:hover{background:var(--bg-soft);}
.creator-top{display:flex;align-items:flex-start;gap:0.85rem;margin-bottom:0.9rem;}
.creator-avatar{width:52px;height:52px;border-radius:50%;background:var(--border-warm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:var(--muted);position:relative;border:2px solid var(--border-warm);}
.creator-avatar.gold-ring{border-color:var(--gold);}.creator-avatar.blue-ring{border-color:var(--blue);}.creator-avatar.green-ring{border-color:var(--green);}
.avatar-badge{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.55rem;border:1.5px solid var(--bg-card);}
.av-gold{background:var(--gold);color:#3a2800;}.av-blue{background:var(--blue);color:#fff;}.av-green{background:var(--green);color:#fff;}
.creator-name{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:0.2rem;}
.creator-handle{font-size:0.7rem;color:var(--muted);}
.tier-badge{font-size:0.58rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;padding:2px 7px;border-radius:2px;font-family:var(--font-sans);display:inline-block;margin-top:4px;}
.tier-gold{background:var(--gold-soft);color:var(--gold);border:1px solid rgba(196,154,74,0.25);}
.tier-verified{background:var(--blue-soft);color:var(--blue);border:1px solid rgba(74,127,193,0.25);}
.tier-new{background:var(--green-soft);color:var(--green);border:1px solid rgba(74,158,106,0.25);}
.creator-trust{display:flex;flex-direction:column;gap:0.3rem;margin-bottom:0.9rem;}
.ct-row{display:flex;align-items:flex-start;gap:0.4rem;font-size:0.72rem;color:var(--muted);}
.ct-row .ck{color:var(--green);flex-shrink:0;}.ct-row .gck{color:var(--gold);flex-shrink:0;}
.creator-stats{display:flex;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:0.9rem;}
.c-stat{flex:1;padding:0.5rem 0;text-align:center;border-right:1px solid var(--border);}
.c-stat:last-child{border-right:none;}
.c-stat-val{font-size:0.9rem;font-weight:700;color:var(--text);display:block;}
.c-stat-label{font-size:0.58rem;color:var(--light);display:block;text-transform:uppercase;letter-spacing:0.06em;margin-top:1px;}
.platform-tags{display:flex;gap:0.35rem;flex-wrap:wrap;margin-bottom:0.85rem;}
.ptag{font-size:0.62rem;padding:2px 8px;border:1px solid var(--border-warm);border-radius:2px;color:var(--light);}
.ptag.active-p{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.creator-cta{display:flex;gap:0.5rem;}
.cta-p{flex:1;padding:0.5rem;font-size:0.75rem;font-family:var(--font-sans);background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;text-align:center;font-weight:500;}
.cta-s{padding:0.5rem 0.75rem;font-size:0.75rem;font-family:var(--font-sans);background:transparent;color:var(--muted);border:1px solid var(--border-warm);border-radius:var(--radius);cursor:pointer;}
.rating-box{border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.25rem;background:var(--bg-soft);}
.rating-head{font-size:0.65rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--light);margin-bottom:0.85rem;font-family:var(--font-sans);}
.r-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.5rem;}
.r-label{font-size:0.75rem;color:var(--muted);width:100px;flex-shrink:0;}
.r-bg{flex:1;height:4px;background:var(--border);border-radius:2px;}
.r-fill{height:4px;border-radius:2px;background:var(--accent);}
.r-score{font-size:0.75rem;font-weight:500;width:24px;color:var(--text);}
.verdict{background:var(--accent-soft);border:1px solid var(--border-warm);border-radius:var(--radius-lg);padding:1.1rem;margin:1.25rem 0;}
.verdict-label{font-size:0.62rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:0.35rem;font-family:var(--font-sans);}
.verdict-score{font-size:1.75rem;font-weight:700;color:var(--accent);font-family:var(--font-serif);line-height:1;}
.verdict-stars{color:var(--gold);font-size:0.9rem;margin-top:3px;}
.verdict-text{font-size:0.8rem;color:var(--muted);margin-top:0.4rem;line-height:1.5;}
.sidebar{position:sticky;top:72px;}
.sidebar-widget{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem;margin-bottom:1.25rem;}
.widget-title{font-size:0.62rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--light);margin-bottom:0.85rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border);font-family:var(--font-sans);}
.sidebar-links{list-style:none;padding:0;margin:0;}
.sidebar-links li{border-bottom:1px solid var(--border);margin:0;}
.sidebar-links li:last-child{border-bottom:none;}
.sidebar-links li a{display:block;padding:0.5rem 0;font-size:0.82rem;color:var(--muted)!important;text-decoration:none!important;}
.sidebar-links li a:hover{color:var(--accent)!important;}
.breadcrumbs{font-size:0.7rem;color:var(--light);padding:0.75rem 0;margin-bottom:1.25rem;font-family:var(--font-sans);}
.breadcrumbs a{color:var(--muted)!important;text-decoration:none!important;}
.breadcrumbs a:hover{color:var(--accent)!important;}
.breadcrumbs .sep{margin:0 0.4rem;}
.city-hero{background:var(--bg-soft);border-bottom:1px solid var(--border);padding:2rem 1.5rem;}
.city-hero-inner{max-width:var(--max-width);margin:0 auto;}
.city-hero h1{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:0.6rem;}
.city-desc{font-size:0.9rem;color:var(--muted);max-width:580px;line-height:1.7;}
.city-stats{display:flex;gap:2rem;margin-top:1.25rem;flex-wrap:wrap;}
.city-stat strong{display:block;font-size:1.1rem;font-weight:500;color:var(--text);}
.city-stat span{font-size:0.7rem;color:var(--light);}
.age-gate-overlay{position:fixed;inset:0;background:rgba(10,8,7,0.97);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.age-gate-box{max-width:420px;width:100%;text-align:center;}
.age-gate-box h2{font-size:1.4rem;margin-bottom:0.65rem;}
.age-gate-box p{font-size:0.88rem;color:var(--muted);margin-bottom:1.75rem;line-height:1.65;}
.age-gate-buttons{display:flex;gap:1rem;justify-content:center;}
.age-gate-disclaimer{font-size:0.68rem;color:var(--light);margin-top:1.5rem;line-height:1.65;}
.pagination{display:flex;gap:0.5rem;justify-content:center;padding:2rem 0 3rem;flex-wrap:wrap;}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 0.65rem;border:1px solid var(--border);border-radius:var(--radius);font-size:0.82rem;color:var(--muted)!important;text-decoration:none!important;transition:all var(--transition);}
.pagination a:hover{border-color:var(--accent);color:var(--accent)!important;}
.pagination .current{background:var(--accent);border-color:var(--accent);color:#fff!important;}
.site-footer{background:var(--bg-soft);border-top:1px solid var(--border);padding:2.5rem 1.5rem 1.25rem;margin-top:4rem;}
.footer-inner{max-width:var(--max-width);margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem;}
.footer-brand-name{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:0.5rem;font-family:var(--font-serif);}
.footer-brand-desc{font-size:0.75rem;color:var(--muted);line-height:1.65;}
.footer-trust-mini{margin-top:0.75rem;}
.footer-trust-mini span{font-size:0.68rem;color:var(--green);display:flex;align-items:center;gap:0.3rem;margin-bottom:0.2rem;}
.footer-col h4{font-size:0.6rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--light);margin-bottom:0.65rem;font-family:var(--font-sans);}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col li{font-size:0.78rem;color:var(--muted);margin-bottom:0.35rem;}
.footer-col li a{color:var(--muted)!important;text-decoration:none!important;}
.footer-col li a:hover{color:var(--text)!important;}
.footer-bottom{border-top:1px solid var(--border);padding-top:1.1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.75rem;font-size:0.68rem;color:var(--light);font-family:var(--font-sans);}
.footer-bottom a{color:var(--light)!important;}.footer-bottom a:hover{color:var(--text)!important;}
@media(max-width:900px){.content-sidebar-wrap{grid-template-columns:1fr;}.sidebar{position:static;}.footer-grid{grid-template-columns:1fr 1fr;}.post-card-featured{grid-template-columns:1fr;}}
@media(max-width:640px){.primary-nav{display:none;}.nav-toggle{display:block;}.primary-nav.open{display:flex;flex-direction:column;position:absolute;top:52px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);padding:0.5rem 0;z-index:99;}.primary-nav.open li a{height:auto;line-height:1;padding:0.75rem 1.5rem;border-bottom:none;}.footer-grid{grid-template-columns:1fr;gap:1.5rem;}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
