/* RV Camping Canada: campground redesign (v2). Loaded after style.css and campgrounds.css. */
/* Hero: photo at /images/heroes/<province>.jpg when it exists; gradient shows until then. */
.a-hero.cg-hero{position:relative;color:#fff;padding:0;background:
  linear-gradient(90deg,rgba(8,34,44,.84) 0%,rgba(8,34,44,.58) 48%,rgba(8,34,44,.18) 100%),
  var(--hero,none) center var(--pos,50%)/cover no-repeat,
  linear-gradient(135deg,#0e4a5c 0%,#0a3644 60%,#12222b 100%)}
.a-hero.cg-hero::before{display:none}
.a-hero.cg-hero h1,.a-hero.cg-hero .deck,.a-hero.cg-hero .crumbs{text-shadow:0 1px 10px rgba(0,0,0,.55)}
@media (max-width:760px){.a-hero.cg-hero{background:
  linear-gradient(180deg,rgba(8,34,44,.62) 0%,rgba(8,34,44,.72) 100%),
  var(--hero,none) center var(--pos,50%)/cover no-repeat,
  linear-gradient(135deg,#0e4a5c 0%,#0a3644 60%,#12222b 100%)}}
/* vertical focal point of each province photo (the header only shows a wide strip) */
.a-hero.cg-hero[style*="/alberta.jpg"]{--pos:47%}
.a-hero.cg-hero[style*="/british-columbia.jpg"]{--pos:35%}
.a-hero.cg-hero[style*="/manitoba.jpg"]{--pos:56%}
.a-hero.cg-hero[style*="/new-brunswick.jpg"]{--pos:52%}
.a-hero.cg-hero[style*="/newfoundland-and-labrador.jpg"]{--pos:55%}
.a-hero.cg-hero[style*="/northwest-territories.jpg"]{--pos:32%}
.a-hero.cg-hero[style*="/nova-scotia.jpg"]{--pos:30%}
.a-hero.cg-hero[style*="/ontario.jpg"]{--pos:78%}
.a-hero.cg-hero[style*="/prince-edward-island.jpg"]{--pos:68%}
.a-hero.cg-hero[style*="/quebec.jpg"]{--pos:50%}
.a-hero.cg-hero[style*="/saskatchewan.jpg"]{--pos:28%}
.a-hero.cg-hero[style*="/yukon.jpg"]{--pos:35%}
.a-hero.cg-hero h1,.a-hero.cg-hero .deck,.a-hero.cg-hero .a-meta,.a-hero.cg-hero .crumbs,.a-hero.cg-hero .crumbs a{color:#fff}
.a-hero.cg-hero .crumbs a{text-decoration:underline;text-underline-offset:2px}
.a-hero.cg-hero .crumbs span{opacity:.7;margin:0 8px}
.a-hero.cg-hero .deck{font-size:1.2rem;max-width:60ch;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.a-hero.cg-hero .a-meta{opacity:.85}
/* Tight vertical rhythm: the base .a-hero .wrap already supplies padding */
.a-hero.cg-hero .wrap{padding:26px 0 24px}
.a-hero.cg-hero .crumbs{margin-bottom:12px}
.a-hero.cg-hero h1{max-width:30ch;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.12}
.a-hero.cg-hero .deck{margin-top:10px}
.a-hero.cg-hero .a-meta{margin-top:12px;font-size:.88rem}
@media (max-width:640px){.a-hero.cg-hero .wrap{padding:20px 0 18px}}
/* Park cards: facts only */
.cg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;margin:16px 0 28px}
.cg-card2{border:1px solid var(--line);border-top:4px solid var(--lake);border-radius:var(--radius);padding:16px 18px 14px;background:var(--white);scroll-margin-top:84px}
.cg-card2:target{box-shadow:0 0 0 3px rgba(200,53,43,.35)}
.cg-card2 h3{margin:0 0 10px;font-size:1.15rem;line-height:1.25}
.cg-facts{margin:0 0 12px;display:grid;gap:4px}
.cg-facts div{display:grid;grid-template-columns:78px 1fr;gap:8px;font-size:.96rem}
.cg-facts dt{color:var(--ink-soft);font-weight:600}
.cg-facts dd{margin:0}
.cg-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.cg-act{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--lake);border-radius:var(--radius);font-weight:600;font-size:.95rem;text-decoration:none;color:var(--lake)}
.cg-act:hover{background:var(--lake);color:#fff}
.cg-desc{margin:0 0 12px;color:var(--ink-soft);font-size:.97rem}
.cg-card2 .muted-line{margin:0 0 8px}
.cg-card2 p{margin:0 0 10px}
.cg-card2 .warn{margin:0 0 10px;padding:10px 14px}
.cg-card2 .cg-actions{margin-top:12px}
.cg-notice{padding:10px 16px;margin:14px 0}
.prose .cg-card2 .cg-badges{padding:0;margin:0 0 10px}
.prose .cg-card2 .cg-badges li{margin:0;padding:2px 10px}
.prose .cg-card2 .cg-badges li::before{display:none}
.cg-card2>p{font-size:.97rem}
