/*
Theme Name: High Country Reviews
Theme URI: https://highcountrycasino.com/
Author: High Country
Description: Minimalist Canadian casino-review affiliate theme. Forest-green identity with snow-mountain hero, dark comparison rows and amber maple accents. Built to pair with the HC Casino Core plugin (editable casino data, tables and affiliate redirects). Focused on bonuses, comparison tables and reviews.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: hcr
*/

/* ============================================================
   DESIGN TOKENS — forest green + maple amber + snow
   ============================================================ */
:root{
  --forest-900:#062a22;
  --forest-800:#0b3a2f;
  --forest-700:#0d4a3c;
  --forest-600:#11604d;
  --row:#1c1c1e;
  --row-2:#242427;
  --row-border:#34343a;
  --amber:#f0820e;
  --amber-bright:#ff9a2e;
  --maple:#e23b2e;
  --cream:#f4efe4;
  --snow:#ffffff;
  --text:#eef3f0;
  --text-dim:#a9c2b8;
  --text-muted:#7d978c;

  --font-display:"Fraunces","Georgia",serif;
  --font-body:"Hanken Grotesk",system-ui,-apple-system,sans-serif;

  --maxw:1180px;
  --radius:16px;
  --shadow:0 20px 50px -20px rgba(0,0,0,.6);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--forest-700);
  color:var(--text);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
a{color:var(--amber-bright);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--snow)}
h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 .5rem}
h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 .6rem}
h3{font-size:1.3rem;margin:0 0 .4rem}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;background:var(--amber);color:#000;padding:8px 14px;border-radius:8px;z-index:999}

/* ============================================================
   HEADER — snow mountain hero band
   ============================================================ */
.site-header{
  position:relative;
  background:linear-gradient(180deg,rgba(6,42,34,0) 55%,var(--forest-700) 100%),
             radial-gradient(120% 90% at 50% 0%,#cdd9e4 0%,#9fb3c4 40%,#5c7488 75%,transparent 100%);
  min-height:230px;
  display:flex;align-items:center;justify-content:center;
  border-bottom:3px solid var(--amber);
  overflow:hidden;
}
.site-header::before{
  content:"";position:absolute;inset:0;
  background-image:url('assets/hero-mountains.svg');
  background-size:cover;background-position:center bottom;
  opacity:1;
}
.site-header .brand{position:relative;z-index:2;text-align:center;padding:26px 0}
.site-header .brand-logo{max-height:120px;width:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.site-header .brand-text{
  font-family:var(--font-display);font-size:2rem;color:var(--snow);font-weight:600;
  text-shadow:0 2px 12px rgba(0,0,0,.5);letter-spacing:.5px
}
.site-header .brand-text .leaf{color:var(--maple)}

/* NAV */
.main-nav{background:var(--forest-800);border-bottom:1px solid rgba(255,255,255,.06)}
.main-nav .nav-inner{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:12px 24px;max-width:var(--maxw);margin:0 auto}
.main-nav a{color:var(--text-dim);font-weight:600;font-size:.95rem;padding:8px 16px;border-radius:9999px;text-decoration:none;transition:background .2s,color .2s}
.main-nav a:hover{background:rgba(240,130,14,.15);color:var(--snow)}
.main-nav .current-menu-item a{background:var(--amber);color:#1a1a1a}

/* ============================================================
   HERO INTRO (text under the band)
   ============================================================ */
.intro{text-align:center;padding:54px 0 10px}
.intro h1{margin-bottom:1rem}
.intro p{color:var(--text-dim);max-width:760px;margin:0 auto 1.6rem}
.trust-row{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin:26px 0 8px}
.trust-row .trust{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--cream)}
.trust-row .trust .ic{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);font-size:1.1rem}

/* ============================================================
   SECTION HEADINGS — amber underline like the reference
   ============================================================ */
.section{padding:48px 0}
.section-title{text-align:center;margin-bottom:38px}
.section-title h2{display:inline-block;position:relative;padding-bottom:14px}
.section-title h2::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:120px;height:3px;background:var(--amber);border-radius:2px}

/* ============================================================
   PROSE / content
   ============================================================ */
.entry-content{font-size:1.05rem}
.entry-content p{margin:0 0 1.2rem}
.entry-content h2{margin-top:2rem}
.entry-content h3{margin-top:1.5rem;color:var(--cream)}
.entry-content ul,.entry-content ol{padding-left:1.3rem;margin:0 0 1.2rem}
.entry-content li{margin-bottom:.5rem}
.entry-content table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.98rem}
.entry-content th,.entry-content td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--row-border)}
.entry-content th{background:var(--forest-800);color:var(--amber-bright);font-family:var(--font-display)}
.entry-content blockquote{border-left:4px solid var(--amber);margin:1.4rem 0;padding:8px 22px;color:var(--text-dim);background:rgba(255,255,255,.03)}

/* breadcrumbs */
.breadcrumbs{font-size:.85rem;color:var(--text-muted);padding:18px 0 0}
.breadcrumbs a{color:var(--text-dim)}
.breadcrumbs .sep{margin:0 8px;opacity:.5}

/* buttons */
.btn{display:inline-block;font-family:var(--font-body);font-weight:800;letter-spacing:.5px;border-radius:9999px;padding:13px 30px;text-decoration:none;cursor:pointer;border:0;transition:filter .2s,transform .15s}
.btn-amber{background:linear-gradient(180deg,var(--amber-bright),var(--amber));color:#1a1a1a;box-shadow:0 10px 26px -8px rgba(240,130,14,.5)}
.btn-amber:hover{filter:brightness(1.06);transform:translateY(-1px);text-decoration:none}
.btn-ghost{background:transparent;border:1.6px solid rgba(244,239,228,.3);color:var(--cream)}
.btn-ghost:hover{border-color:var(--amber);color:var(--snow);text-decoration:none}
.center{text-align:center}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq-item{border:1px solid var(--row-border);border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--row)}
.faq-item summary{cursor:pointer;padding:18px 22px;font-family:var(--font-display);font-size:1.1rem;color:var(--snow);list-style:none;display:flex;justify-content:space-between;gap:14px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--amber);font-size:1.5rem;line-height:1;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-body{padding:0 22px 18px;color:var(--text-dim)}

/* responsible gaming strip */
.rg-strip{background:var(--forest-900);border-top:1px solid rgba(255,255,255,.06);color:var(--text-muted);font-size:.85rem;text-align:center;padding:18px 24px}
.rg-strip strong{color:var(--cream)}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--forest-900);padding:50px 0 30px;margin-top:40px;border-top:3px solid var(--amber)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;margin-bottom:30px}
.site-footer h4{font-family:var(--font-display);color:var(--snow);margin:0 0 14px;font-size:1.05rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:8px}
.site-footer a{color:var(--text-dim);font-size:.95rem}
.site-footer .desc{color:var(--text-muted);font-size:.92rem;line-height:1.6}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;text-align:center;color:var(--text-muted);font-size:.85rem}
.footer-badges{display:flex;gap:16px;justify-content:center;margin:10px 0;font-size:.9rem;color:var(--text-dim)}

@media(max-width:760px){
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .trust-row{gap:18px}
  .intro{padding:36px 0 6px}
}
