.camp-hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.camp-hero-actions > a { background:var(--blue); }
.camp-popup [hidden] { display:none!important; }
.camp-popup:not(.is-enquiry) { width:min(1040px,calc(100% - 24px)); max-height:calc(100dvh - 24px); }
.camp-popup:not(.is-enquiry) .activity-intro { padding:20px 64px 16px 24px; }
.camp-popup:not(.is-enquiry) .activity-intro .eyebrow { margin-bottom:8px; font-size:.65rem; }
.camp-popup:not(.is-enquiry) .activity-intro h2 { font-size:clamp(1.5rem,2.8vw,2.1rem)!important; }
.camp-popup:not(.is-enquiry) .activity-intro p:last-child { margin-top:8px; font-size:.9rem; max-width:850px; }
.camp-popup:not(.is-enquiry) .activity-footer { padding:0 24px 16px; font-size:.78rem; }
.camp-showcase { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; padding:22px 24px 18px; align-items:center; }
.camp-feature-photo { position:relative; margin:0; min-width:0; width:min(100%,50dvh,430px); aspect-ratio:1; justify-self:center; border:1px solid #e0e2ed; border-radius:16px; background:#f4f3f8; overflow:hidden; }
.camp-feature-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:var(--camp-photo-position,50% 50%); }
.camp-feature-content { min-width:0; }
.camp-step { font-size:.73rem; font-weight:900; color:#253785; margin:0 0 12px; text-transform:uppercase; letter-spacing:.06em; }
.camp-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:22px; }
.camp-options button { min-height:44px; border:1px solid #c9ccdf; border-radius:10px; padding:8px; background:white; color:#253785; font:inherit; font-size:.85rem; cursor:pointer; }
.camp-options button:hover { background:#eef0ff; }
.camp-options button[aria-pressed="true"] { color:white; background:#253785; border-color:#253785; box-shadow:inset 0 -3px 0 #4ad508; }
.camp-options button:focus-visible { outline:3px solid #d81ac1; outline-offset:2px; }
.camp-feature-copy h3 { margin:12px 0; font-size:clamp(1.65rem,3vw,2.25rem); }
.camp-feature-copy .pill { display:inline-block; padding:5px 10px; border-radius:30px; background:#eef0ff; color:#253785; font-size:.75rem; font-weight:900; }
.camp-feature-description { font-size:1rem; line-height:1.5; margin:0 0 22px; }
.camp-feature-enrol { width:100%; border:0; min-height:48px; cursor:pointer; font:inherit; }
.camp-feature-help { margin:12px 0 0; font-size:.8rem; line-height:1.45; color:#555966; }
@media(min-width:761px) and (max-height:700px) {
  .camp-feature-photo { width:min(100%,44dvh,320px); }
  .camp-showcase { padding-top:16px; padding-bottom:14px; }
  .camp-options { margin-bottom:14px; }
  .camp-feature-description { margin-bottom:16px; }
}
@media(max-width:760px) {
  .camp-showcase { grid-template-columns:1fr; padding:16px 18px; gap:20px; }
  .camp-feature-photo { width:min(100%,36dvh,310px); }
  .camp-options { margin-bottom:18px; }
  .camp-options button { font-size:.8rem; padding:6px; }
}
.camp-enquiry { padding:24px 32px; }
.camp-enquiry h3 { margin:18px 0; font-size:1.6rem; }
.camp-back { background:none; border:0; color:#253785; padding:0; font:inherit; text-decoration:underline; cursor:pointer; min-height:44px; }
.camp-enquiry label { display:block; font-size:.95rem; margin-bottom:18px; }
.camp-enquiry input,.camp-enquiry select { display:block; width:100%; min-height:48px; margin-top:7px; padding:10px 12px; border:1px solid #a8abb4; border-radius:8px; background:#fff; color:#1e2022; font:inherit; }
.camp-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.camp-note { font-size:.85rem; line-height:1.5; color:#4a4d55; }
.camp-enquiry .button { border:0; cursor:pointer; font:inherit; min-height:48px; }
.camp-enquiry input:focus-visible,.camp-enquiry select:focus-visible { outline:3px solid #253785; outline-offset:2px; }
.camp-popup.is-enquiry { width:min(740px,calc(100% - 24px)); max-height:calc(100dvh - 24px); }
.camp-popup.is-enquiry .activity-intro { padding:20px 64px 18px 24px; }
.camp-popup.is-enquiry .activity-intro .eyebrow { font-size:.65rem; margin-bottom:8px; }
.camp-popup.is-enquiry .activity-intro h2 { font-size:clamp(1.4rem,3vw,1.85rem)!important; }
.camp-popup.is-enquiry .activity-intro > p:last-child { display:none; }
.camp-popup.is-enquiry .camp-enquiry { padding:12px 24px 18px; }
.camp-popup.is-enquiry .camp-back { font-size:.85rem; }
.camp-popup.is-enquiry .camp-enquiry h3 { margin:6px 0 14px; font-size:1.35rem; }
.camp-popup.is-enquiry label { margin-bottom:12px; font-size:.9rem; }
.camp-popup.is-enquiry input,.camp-popup.is-enquiry select { margin-top:5px; min-height:44px; padding:8px 10px; font-size:1rem; }
.camp-popup.is-enquiry .camp-note { margin:8px 0; font-size:.78rem; line-height:1.4; }
.camp-popup.is-enquiry .camp-enquiry > .button { width:100%; margin-top:4px; min-height:46px; }
@media(max-width:760px) {

  .camp-enquiry { padding:20px; }
  .camp-form-grid { grid-template-columns:1fr; gap:0; }
}

