/* Camp Spotter listing details: keep all original data, with the new editorial hierarchy. */
body.camp-template.page-camp-detail{background:#faf8f5;color:#1e1b18}
body.camp-template.page-camp-detail .camp-detail-hero{padding:0 0 46px!important;background:#203128!important;color:#fff!important}
body.camp-template.page-camp-detail .wash-header .wash-nav>a.wash-nav__cta,body.camp-template.page-camp-detail .wash-header .wash-nav>a.wash-nav__cta:visited{background:#3d6b4f!important;color:#fff!important;opacity:1!important;text-shadow:none!important}
body.camp-template.page-camp-detail .detail-breadcrumb{width:min(1180px,calc(100% - 40px));margin:0 auto!important;padding:22px 0!important;color:rgba(255,255,255,.82)!important}
body.camp-template.page-camp-detail .detail-breadcrumb,.detail-breadcrumb *{text-shadow:none!important}.detail-breadcrumb a{color:#fff!important;opacity:.9!important}
body.camp-template.page-camp-detail .detail-summary{display:grid!important;grid-template-columns:156px minmax(0,1fr);column-gap:30px;width:min(1180px,calc(100% - 40px));margin:0 auto!important;padding:0!important;background:transparent!important;color:#fff!important}
body.camp-template.page-camp-detail .detail-summary>a:first-child{grid-row:1 / span 7;display:block;width:156px;height:156px;overflow:hidden;border-radius:4px;background:#385148}
body.camp-template.page-camp-detail .detail-summary>a:first-child img{width:100%;height:100%;object-fit:cover}
body.camp-template.page-camp-detail .detail-summary h1{margin:0!important;color:#fff!important;font:700 clamp(38px,5vw,62px)/1.06 "Playfair Display",Georgia,serif!important}
body.camp-template.page-camp-detail .detail-summary .type,body.camp-template.page-camp-detail .detail-summary .keys{margin-top:10px;color:#f5d2a7!important}.detail-summary .keys a{color:#f5d2a7!important;text-decoration:underline!important;text-underline-offset:3px}
body.camp-template.page-camp-detail .detail-summary>p{margin:10px 0!important;color:#fff!important;opacity:.9!important}
body.camp-template.page-camp-detail .detail-summary #pin{display:flex;align-items:center;gap:16px;margin:14px 0 0!important;padding:0!important;border:0!important}.detail-summary #pin dt{color:#ffc36c!important;font-size:17px!important}.detail-summary #pin dd{margin:0;color:#fff!important;opacity:.9!important;font-size:13px!important}
body.camp-template.page-camp-detail .detail-summary #tag{display:none!important}body.camp-template.page-camp-detail .detail-summary #ov{display:flex!important;flex-wrap:wrap;gap:8px;margin:14px 0 0!important;padding:0!important;background:transparent!important}.detail-summary #ov li{display:block!important;width:auto!important;margin:0!important;padding:7px 11px!important;border:1px solid rgba(255,255,255,.48)!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;opacity:1!important;font-size:12px!important;line-height:1.3!important}.detail-summary #ov li::before{filter:brightness(0) invert(1)!important;opacity:.86!important}
body.camp-template.page-camp-detail .detail-actions{display:flex!important;flex-wrap:wrap;gap:10px;margin-top:20px}.detail-actions a,.detail-actions a:visited{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:90px!important;padding:10px 15px!important;border:1px solid #fff!important;border-radius:3px!important;background:#fff!important;color:#203128!important;opacity:1!important;text-decoration:none!important;font-size:13px!important;font-weight:700!important;text-shadow:none!important}.detail-actions .detail-action-primary,.detail-actions .detail-action-primary:visited{border-color:#c4733e!important;background:#c4733e!important;color:#fff!important}
body.camp-template.page-camp-detail .detail-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 280px;gap:34px;width:min(1180px,calc(100% - 40px));margin:42px auto 74px!important;padding:0!important;background:transparent!important}
body.camp-template.page-camp-detail .detail-content{min-width:0}.detail-content>h2{margin:42px 0 16px!important;color:#1e1b18!important;font:700 clamp(28px,3.5vw,38px)/1.15 "Playfair Display",Georgia,serif!important}.detail-content>h2:first-child{margin-top:0!important}.detail-content>h2 strong{font:inherit!important}
body.camp-template.page-camp-detail #one,body.camp-template.page-camp-detail .detail-data-note,body.camp-template.page-camp-detail .det,body.camp-template.page-camp-detail #loc,body.camp-template.page-camp-detail #rev{padding:26px!important;border:1px solid #e5dfd6!important;border-radius:4px!important;background:#fff!important;color:#4f4942!important;box-shadow:none!important}
body.camp-template.page-camp-detail #one p,body.camp-template.page-camp-detail .detail-data-note p{line-height:1.72}.detail-data-note{background:#f3eee6!important}.detail-data-note h2{margin:0 0 9px!important;color:#1e1b18;font:700 22px "Playfair Display",Georgia,serif!important}.detail-data-note a{color:#3d6b4f;font-weight:700}
body.camp-template.page-camp-detail #pics{border-radius:4px;overflow:hidden}.detail-content #loc{min-height:240px}.detail-content #loc h3{font:700 22px "Playfair Display",Georgia,serif!important;color:#1e1b18}.detail-content #rev li{padding:18px 0;border-bottom:1px solid #e5dfd6}.detail-content #rev li:last-child{border:0}.detail-content #rev p{line-height:1.62}
body.camp-template.page-camp-detail .detail-layout #side{margin:0!important;padding:22px!important;border:1px solid #e5dfd6;border-radius:4px;background:#f4f0ea!important}.detail-layout #side h2{margin:0 0 14px;color:#1e1b18;font:700 24px "Playfair Display",Georgia,serif!important}.detail-layout #side .clas{display:flex;flex-wrap:wrap;gap:8px}.detail-layout #side .clas a{padding:7px 10px;border:1px solid #d9d0c4;border-radius:999px;color:#4c453e!important;font-size:12px;text-decoration:none}
body.camp-template.page-camp-detail .detail-nearby-listings{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* The legacy detail stylesheet uses ID selectors on the thumbnail and hours.
   Keep those two blocks explicitly owned by the new detail layout. */
body.camp-template.page-camp-detail #pos.detail-summary>a:first-child{width:176px!important;height:176px!important}
body.camp-template.page-camp-detail #pos.detail-summary>a:first-child img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important}
body.camp-template.page-camp-detail #pos.detail-summary #hour{grid-column:1 / -1!important;display:grid!important;grid-template-columns:minmax(150px,.9fr) minmax(0,2fr)!important;gap:0!important;width:100%!important;min-width:0!important;margin:22px 0 0!important;padding:16px 18px!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:4px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;list-style:none!important}
body.camp-template.page-camp-detail #pos.detail-summary #hour li{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:14px!important;width:auto!important;min-width:0!important;margin:0!important;padding:8px 0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;background:transparent!important;color:#fff!important;font-size:13px!important;line-height:1.45!important;text-align:left!important}
body.camp-template.page-camp-detail #pos.detail-summary #hour li:first-child{grid-column:1 / -1!important;display:block!important;padding-top:0!important;color:#fff!important;font-weight:700!important;font-size:15px!important}
body.camp-template.page-camp-detail #pos.detail-summary #hour li:last-child{border-bottom:0!important;padding-bottom:0!important}
body.camp-template.page-camp-detail #pos.detail-summary #hour li i{display:block!important;width:auto!important;margin:0!important;color:#f5d2a7!important;font-style:normal!important;font-weight:700!important}

@media(max-width:900px){body.camp-template.page-camp-detail .detail-layout{grid-template-columns:1fr}.detail-layout>#side{display:none}}
@media(max-width:620px){body.camp-template.page-camp-detail .detail-breadcrumb,body.camp-template.page-camp-detail .detail-summary,body.camp-template.page-camp-detail .detail-layout{width:calc(100% - 28px)}body.camp-template.page-camp-detail .detail-summary{grid-template-columns:94px minmax(0,1fr);column-gap:17px}.detail-summary>a:first-child{width:94px!important;height:94px!important;grid-row:1 / span 3!important}.detail-summary h1{font-size:34px!important}.detail-summary #pin,.detail-summary #ov{grid-column:1 / -1}.detail-summary .detail-actions{grid-column:1 / -1}.detail-content>h2{font-size:29px!important}.detail-nearby-listings{grid-template-columns:1fr!important}body.camp-template.page-camp-detail #pos.detail-summary #hour{grid-template-columns:1fr!important;margin-top:18px!important;padding:15px!important}body.camp-template.page-camp-detail #pos.detail-summary #hour li{grid-template-columns:98px minmax(0,1fr)!important;gap:10px!important;padding:9px 0!important}body.camp-template.page-camp-detail #pos.detail-summary #hour li:first-child{display:block!important;grid-column:auto!important}}

/* Detail hero layout contract: legacy CSS must never place actions or hours on
   top of the summary, and the mobile layout is deliberately a single column. */
body.camp-template.page-camp-detail #pos.detail-summary>h1,
body.camp-template.page-camp-detail #pos.detail-summary>.type,
body.camp-template.page-camp-detail #pos.detail-summary>.keys,
body.camp-template.page-camp-detail #pos.detail-summary>p,
body.camp-template.page-camp-detail #pos.detail-summary>#pin,
body.camp-template.page-camp-detail #pos.detail-summary>#ov,
body.camp-template.page-camp-detail #pos.detail-summary>.detail-actions{grid-column:2!important;min-width:0!important}
body.camp-template.page-camp-detail #pos.detail-summary>.detail-actions{position:static!important;float:none!important;clear:none!important;align-self:start!important;z-index:1!important}
body.camp-template.page-camp-detail #pos.detail-summary>#hour{position:static!important;float:none!important;clear:both!important;transform:none!important;grid-column:1 / -1!important;grid-row:auto!important;z-index:0!important}

@media(max-width:620px){
  body.camp-template.page-camp-detail #pos.detail-summary{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
  body.camp-template.page-camp-detail #pos.detail-summary>a:first-child{grid-column:1!important;grid-row:auto!important;width:100%!important;height:210px!important;margin:0 0 18px!important;border-radius:4px!important}
  body.camp-template.page-camp-detail #pos.detail-summary>h1,
  body.camp-template.page-camp-detail #pos.detail-summary>.type,
  body.camp-template.page-camp-detail #pos.detail-summary>.keys,
  body.camp-template.page-camp-detail #pos.detail-summary>p,
  body.camp-template.page-camp-detail #pos.detail-summary>#pin,
  body.camp-template.page-camp-detail #pos.detail-summary>#ov,
  body.camp-template.page-camp-detail #pos.detail-summary>.detail-actions,
  body.camp-template.page-camp-detail #pos.detail-summary>#hour{grid-column:1!important}
  body.camp-template.page-camp-detail #pos.detail-summary h1{font-size:clamp(34px,10vw,46px)!important;line-height:1.04!important;overflow-wrap:anywhere!important}
  body.camp-template.page-camp-detail #pos.detail-summary>.keys{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:14px!important}
  body.camp-template.page-camp-detail #pos.detail-summary>p{margin:15px 0!important;overflow-wrap:anywhere!important}
  body.camp-template.page-camp-detail #pos.detail-summary #pin{display:grid!important;grid-template-columns:76px minmax(0,1fr)!important;gap:14px!important;align-items:start!important}
  body.camp-template.page-camp-detail #pos.detail-summary #pin dt{padding-top:4px!important}
  body.camp-template.page-camp-detail #pos.detail-summary #pin dd{display:-webkit-box!important;-webkit-line-clamp:4!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  body.camp-template.page-camp-detail #pos.detail-summary .detail-actions{display:flex!important;gap:9px!important;margin-top:18px!important}
  body.camp-template.page-camp-detail #pos.detail-summary .detail-actions a{min-width:0!important;flex:1 1 calc(50% - 9px)!important;padding:11px 10px!important}
  body.camp-template.page-camp-detail #pos.detail-summary #hour{margin-top:26px!important}
}
