/* Dedicated camp decision guides. All rules are scoped to these four pages. */
.camp-guide-page .camp-guide-hero { min-height: 690px; }
.camp-guide-page .camp-guide-hero .detail-hero__inner { min-height: calc(690px - var(--header-height)); }
.camp-guide-page .camp-guide-hero .eyebrow { color: var(--saffron); }
.camp-guide-page .camp-guide-lead { max-width: 720px; margin-top: 25px; color: rgba(255,250,240,.84); font-size: clamp(16px,2vw,20px); line-height: 1.7; }
.camp-guide-page .camp-guide-byline { display:flex; gap: 10px 22px; flex-wrap:wrap; margin-top:21px; color:rgba(255,250,240,.72); font-size:12px; }
.camp-guide-page .camp-guide-byline a { color:var(--paper); text-decoration:underline; text-underline-offset:4px; }
.camp-guide-page .camp-guide-layout { grid-template-columns:minmax(0,1fr) 335px; }
.camp-guide-page .camp-guide-copy { padding:clamp(26px,4vw,50px); border:1px solid var(--line); border-radius:var(--radius-md); background:var(--paper); }
.camp-guide-page .camp-guide-copy h2 { font-size:clamp(36px,4vw,50px); margin-top:52px; }
.camp-guide-page .camp-guide-copy h3 { font-size:clamp(27px,3vw,34px); }
.camp-guide-page .camp-guide-copy section:first-child h2 { margin-top:0; }
.camp-guide-page .camp-guide-copy p { font-size:16px; line-height:1.85; }
.camp-guide-page .camp-guide-copy .article-deck { font-size:clamp(26px,3vw,34px); line-height:1.3; }
.camp-guide-page .camp-guide-copy .eyebrow { display:flex; margin-bottom:14px; font-size:10px; }
.camp-guide-page .camp-guide-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:32px; }
.camp-guide-page .camp-guide-facts > div { padding:23px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); }
.camp-guide-page .camp-guide-facts dt { margin-bottom:8px; color:var(--clay-dark); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.camp-guide-page .camp-guide-facts dd { margin:0; color:var(--ink-deep); font-size:15px; font-weight:700; }
.camp-guide-page .camp-guide-panel .booking-price strong { font-size:42px; }
.camp-guide-page .camp-guide-panel .booking-body { display:grid; gap:20px; }
.camp-guide-page .camp-guide-panel .booking-body p { font-size:13px; line-height:1.8; }
.camp-guide-page .camp-guide-panel .booking-body h2 { font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.camp-guide-page .camp-guide-panel .booking-body nav { display:grid; gap:10px; }
.camp-guide-page .camp-guide-panel .booking-body nav a { color:var(--sea-dark); font-size:13px; font-weight:700; }
.camp-guide-page .camp-guide-photo { margin:34px 0; }
.camp-guide-page .camp-guide-photo img { width:100%; border-radius:var(--radius-sm); object-fit:cover; }
.camp-guide-page .camp-guide-photo figcaption { margin-top:10px; color:var(--text-muted); font-size:11px; line-height:1.7; }
.camp-guide-page .camp-guide-notice { margin:28px 0; padding:23px; border-left:3px solid var(--saffron); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--bone); }
.camp-guide-page .camp-guide-faq details { padding:18px 0; border-top:1px solid var(--line); }
.camp-guide-page .camp-guide-faq details:last-child { border-bottom:1px solid var(--line); }
.camp-guide-page .camp-guide-faq summary { cursor:pointer; font-size:16px; font-weight:800; line-height:1.6; }
.camp-guide-page .camp-guide-faq details p { margin-top:15px; }
.camp-guide-page .camp-guide-sources { padding-top:22px; margin-top:40px; border-top:1px solid var(--line); }
.camp-guide-page .camp-guide-sources p, .camp-guide-page .camp-guide-sources li { font-size:13px; line-height:1.85; }
.camp-guide-page .camp-guide-related { margin-top:30px; display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width: 1020px) {
  .camp-guide-page .camp-guide-layout { grid-template-columns:minmax(0,1fr); }
  .camp-guide-page .camp-guide-panel { position:static; }
  .camp-guide-page .camp-guide-panel .booking-body { grid-template-columns:1fr 1fr; }
  .camp-guide-page .camp-guide-panel .booking-body > p { grid-column:1/-1; }
}
@media (max-width: 620px) {
  .camp-guide-page .camp-guide-hero { min-height:650px; }
  .camp-guide-page .camp-guide-hero .detail-hero__inner { min-height:calc(650px - var(--header-height)); padding-bottom:36px; }
  .camp-guide-page .detail-hero__title { font-size:clamp(50px,13vw,76px); line-height:.95; }
  .camp-guide-page .breadcrumbs { flex-wrap:wrap; font-size:10px; }
  .camp-guide-page .camp-guide-facts { grid-template-columns:1fr; gap:9px; }
  .camp-guide-page .camp-guide-facts > div { display:flex; justify-content:space-between; gap:20px; padding:17px 20px; }
  .camp-guide-page .camp-guide-facts dt { margin:0; align-self:center; }
  .camp-guide-page .camp-guide-facts dd { text-align:right; }
  .camp-guide-page .camp-guide-panel .booking-body { grid-template-columns:1fr; }
  .camp-guide-page .camp-guide-copy { padding:25px 21px; }
  .camp-guide-page .camp-guide-lead { font-size:16px; }
}
