/*
Theme Name: AT Trail
Template: kadence
Author: AT Studio
Version: 4.2
Description: Adventure Travel child theme — pairs, trails, gear
*/

/* ── Tokens ── */
:root {
    --at-bg:       #0D1117;
    --at-surface:  #161B22;
    --at-border:   #21262D;
    --at-text:     #E6EDF3;
    --at-muted:    #8B949E;
    --at-accent:   #2EA043;   /* trail green */
    --at-gold:     #D29922;   /* gear/premium */
    --at-heading:  'Montserrat', system-ui, sans-serif;
    --at-body:     'Inter', system-ui, sans-serif;
}

body { background: var(--at-bg) !important; color: var(--at-text) !important; font-family: var(--at-body) !important; }
h1,h2,h3,h4,h5,h6 { font-family: var(--at-heading) !important; color: var(--at-text) !important; }
a { color: var(--at-accent); }
a:hover { color: var(--at-text); }

/* ── Hero ── */
.at-hero {
    position: relative; height: 100vh;
    display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden;
}
.at-hero::before { content:''; position:absolute; inset:0; background:rgba(13,17,23,.6); }
.at-hero__inner { position:relative; z-index:1; padding: 0 1.5rem; }
.at-hero__title { font-family:var(--at-heading)!important; font-size:clamp(36px,5vw,68px); font-weight:800; margin:0 0 1.5rem; line-height:1.1; }
.at-hero__sub { color:var(--at-muted); font-size:1.1rem; margin:0 0 2rem; }

/* ── Buttons ── */
.at-btn { display:inline-block; padding:.85rem 2rem; text-decoration:none; font-weight:600; letter-spacing:.04em; transition:all .2s; }
.at-btn--green { background:var(--at-accent); color:#fff !important; }
.at-btn--green:hover { background:#3FB950; color:#fff !important; }
.at-btn--outline { border:1px solid var(--at-accent); color:var(--at-accent) !important; }
.at-btn--outline:hover { background:var(--at-accent); color:#fff !important; }
.at-btn--gold { border:1px solid var(--at-gold); color:var(--at-gold) !important; }
.at-btn--gold:hover { background:var(--at-gold); color:var(--at-bg) !important; }

/* ── Cards ── */
.at-card { background:var(--at-surface); border:1px solid var(--at-border); overflow:hidden; }
.at-card img { width:100%; height:220px; object-fit:cover; }
.at-card__body { padding:1.25rem; }
.at-card__title { font-family:var(--at-heading); font-size:1.05rem; font-weight:700; margin:0 0 .5rem; }
.at-card__title a { color:var(--at-text); text-decoration:none; }
.at-card__title a:hover { color:var(--at-accent); }
.at-card__meta { color:var(--at-muted); font-size:.82rem; margin:0 0 .75rem; }

/* ── Grid ── */
.at-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.at-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
@media(max-width:900px){ .at-grid-3{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .at-grid-3,.at-grid-2{ grid-template-columns:1fr; } }

/* ── Pillar components ── */
.at-difficulty { display:inline-block; padding:.25rem .75rem; font-size:.75rem; font-weight:700; border-radius:2px; text-transform:uppercase; letter-spacing:.08em; }
.at-difficulty--easy   { background:#1A3C1A; color:#3FB950; }
.at-difficulty--medium { background:#3D2B00; color:#D29922; }
.at-difficulty--hard   { background:#3C1010; color:#F85149; }

.at-comparison-table { width:100%; border-collapse:collapse; margin:2rem 0; }
.at-comparison-table th { background:var(--at-surface); padding:.75rem 1rem; text-align:left; font-family:var(--at-heading); font-size:.85rem; color:var(--at-muted); border-bottom:1px solid var(--at-border); }
.at-comparison-table td { padding:.75rem 1rem; border-bottom:1px solid var(--at-border); font-size:.9rem; }
.at-comparison-table tr:hover td { background:var(--at-surface); }

/* ── Bundle block ── */
.at-bundle-block { background:var(--at-surface); border:1px solid var(--at-gold); padding:2rem; margin:2.5rem 0; }
.at-bundle-block__label { color:var(--at-gold); font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; margin:0 0 .5rem; }
.at-bundle-block__title { font-family:var(--at-heading); font-size:1.5rem; margin:0 0 .75rem; }
.at-bundle-block__items { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.25rem; }
.at-bundle-block__item { background:var(--at-bg); border:1px solid var(--at-border); padding:.3rem .75rem; font-size:.82rem; }

/* ── FAQ ── */
.at-faq { margin:2.5rem 0; }
.at-faq__item { border-bottom:1px solid var(--at-border); }
.at-faq__q { padding:1rem 0; font-weight:600; cursor:pointer; display:flex; justify-content:space-between; }
.at-faq__q::after { content:'＋'; color:var(--at-muted); }
.at-faq__item.open .at-faq__q::after { content:'－'; }
.at-faq__a { display:none; padding:0 0 1rem; color:var(--at-muted); line-height:1.7; }
.at-faq__item.open .at-faq__a { display:block; }

/* ── Pro badge ── */
.at-pro-badge { background:var(--at-gold); color:var(--at-bg); font-size:.7rem; font-weight:800; padding:.15rem .5rem; letter-spacing:.08em; text-transform:uppercase; vertical-align:middle; margin-left:.4rem; }

/* ── Sticky CTA ── */
.at-sticky-cta { position:fixed; bottom:1.5rem; right:1.5rem; z-index:9998; display:flex; flex-direction:column; gap:.5rem; align-items:flex-end; }

/* ── Lead magnet ── */
.at-lead-magnet { background:var(--at-surface); border-left:3px solid var(--at-accent); padding:1.5rem 2rem; margin:2.5rem 0; }

/* ── Footer ── */
.site-footer, .kadence-footer { background:var(--at-bg) !important; border-top:1px solid var(--at-border) !important; color:var(--at-muted) !important; text-align:center !important; padding:1.5rem !important; }
