.cc-funnel-why{padding:clamp(40px,6vw,88px) 20px;background:#f4f8fa;color:#092137}
.cc-funnel-why .cc-home-offers__inner{max-width:1200px;margin:auto}
.cc-funnel-why h2{font-size:clamp(2rem,4vw,3.5rem);margin:.5em 0}
.cc-funnel-why__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.cc-funnel-why__grid p{margin:0;background:#fff;border:1px solid #d6e2e9;border-radius:18px;padding:24px;line-height:1.55}
.cc-funnel-why__grid strong{display:block;margin-bottom:8px}
.cc-funnel-offer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px;padding:22px;border:1px solid #c9dae3;border-radius:18px;background:#e9f2f6}
.cc-funnel-offer strong{font-size:1.2rem}
.cc-funnel-offer p{margin:6px 0 0;line-height:1.5}
.cc-funnel-offer .cc-home-btn{flex:none;text-align:center}
.cc-offer-check .ccrf-body{display:grid;gap:22px}
.cc-offer-mode .cc-inquiry-page-v1 .cc-offer-check .ccrf-hero{display:block}
.cc-offer-mode .cc-inquiry-intro,.cc-offer-mode .cc-inquiry-form-stage__intro{display:none!important}
.cc-offer-check .ccrf-field{min-width:0}
.cc-offer-check .ccrf-input,.cc-offer-check .ccrf-select,.cc-offer-check .ccrf-textarea{max-width:100%;width:100%;box-sizing:border-box}
.cc-offer-check .ccrf-btn{justify-self:start}
.cc-booking-path{margin:20px 0;padding:clamp(18px,3vw,30px);border:1px solid #c8d9e2;border-radius:20px;background:#f5f9fb;color:#092137}
.cc-booking-path h3{margin:0 0 8px;font-size:clamp(1.2rem,2vw,1.6rem)}
.cc-booking-path p{margin:0 0 14px;line-height:1.55}
.cc-booking-path__choices,.cc-booking-path__actions{display:flex;flex-wrap:wrap;gap:10px}
.cc-booking-path__choices button,.cc-booking-path__actions a,.cc-booking-path__actions button{font:inherit;line-height:1.35;padding:12px 18px;border:1px solid #abc4d1;border-radius:12px;background:#fff;color:#092137;text-decoration:none;cursor:pointer}
.cc-booking-path__choices button[aria-pressed="true"],.cc-booking-path__actions .cc-booking-path__primary{background:#d7b445;border-color:#d7b445;font-weight:700}
.cc-booking-path__choices button:focus-visible,.cc-booking-path__actions a:focus-visible,.cc-booking-path__actions button:focus-visible{outline:3px solid #087e92;outline-offset:3px}
.cc-booking-path__followup{margin-top:18px}
.cc-booking-path__followup[hidden],.cc-cabin-next-step[hidden],.cc-cabin-conversion-intro[hidden],.cc-aida-quick-check[hidden],[data-aida-trip-search][hidden],[data-cc-trip-search][hidden]{display:none!important}
.cc-booking-path__detail{margin-top:18px}
.cc-booking-path__detail[hidden]{display:none}
.cc-booking-path__note{font-size:.9em;color:#526c7d;margin-top:12px!important}
@media(max-width:700px){.cc-funnel-why__grid{grid-template-columns:1fr}.cc-funnel-offer{display:block}.cc-funnel-offer .cc-home-btn{display:block;margin-top:16px}.cc-booking-path__choices,.cc-booking-path__actions{display:grid;grid-template-columns:1fr}.cc-booking-path__choices button,.cc-booking-path__actions a,.cc-booking-path__actions button{width:100%;box-sizing:border-box;text-align:center}.cc-offer-check .ccrf-btn{width:100%}}
/* The profile stays in the DOM; only the interactive detail view waits for a choice. */
html.cc-booking-js:not([data-cc-gate-active]) .cc-profile-page > .cc-cabin-section ~ .cc-cabin-section,
html.cc-booking-js:not([data-cc-gate-active]) .cc-profile-page > .cc-cabin-conversion-intro,
html.cc-booking-js:not([data-cc-gate-active]) .cc-profile-page > .cc-aida-quick-check,
html.cc-booking-js:not([data-cc-gate-active]) .cc-profile-page > .cc-aida-trip-search,
html.cc-booking-js:not([data-cc-gate-active]) .cc-profile-page > .cc-cabin-next-links{display:none!important}
html[data-cc-gate-active="yes"][data-cc-booking-mode="unknown"] [data-cc-booking-gated-detail],
html[data-cc-gate-active="yes"][data-cc-booking-mode="unknown"] #deckplans,
html[data-cc-gate-active="yes"][data-cc-booking-mode="unknown"] .wa-answer-copy,
html[data-cc-gate-active="yes"]:not([data-cc-booking-mode="not_booked"]) [data-aida-trip-search],
html[data-cc-gate-active="yes"]:not([data-cc-booking-mode="not_booked"]) [data-cc-trip-search],
html[data-cc-gate-active="yes"]:not([data-cc-booking-mode="not_booked"]) [data-aida-quick-check],
html[data-cc-gate-active="yes"]:not([data-cc-booking-mode="not_booked"]) .cc-cabin-decision,
html[data-cc-gate-active="yes"] .cc-cabin-next-step,
html[data-cc-gate-active="yes"] .cc-cabin-conversion-intro{display:none!important}
.cc-booking-path{max-width:100%;box-sizing:border-box}
.cc-booking-path__choices{display:block}
.cc-booking-path__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cc-booking-path__option{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;min-height:72px;text-align:left!important;white-space:normal}
.cc-booking-path__option span{font-size:.88em;font-weight:400;line-height:1.4}
.cc-booking-path__option--primary{background:#d7b445!important;border-color:#d7b445!important}
.cc-booking-path__option--primary strong{color:#092137}
.cc-booking-path__current{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.cc-booking-path__current[hidden],.cc-booking-path__choices[hidden]{display:none!important}
.cc-booking-path__current p{margin:0}
.cc-booking-path__current button{border:0;background:none;color:#075675;font:inherit;text-decoration:underline;cursor:pointer;padding:8px}
.cc-booking-path__current button:focus-visible,.cc-booking-path__option:focus-visible{outline:3px solid #087e92;outline-offset:3px}
.cc-booking-path__preview{margin-bottom:10px!important}
.cc-booking-path__preview-note{font-size:.84em;font-weight:700;color:#526c7d;margin:0 0 6px!important}
.cc-booking-path__locked{margin-top:14px;padding-top:11px;border-top:1px solid #d8e5ea;color:#526c7d}
.cc-booking-path__locked p{margin:0 0 7px;font-size:.78em;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cc-booking-path__locked ul{display:flex;flex-wrap:wrap;gap:5px 16px;list-style:none;margin:0;padding:0;font-size:.82em;line-height:1.35}
.cc-booking-path__locked li::before{content:'· ';font-weight:700}
/* Before the choice, the hero and one occupancy fact are enough. Keep all detail in the DOM. */
html[data-cc-gate-active="yes"][data-cc-booking-mode="unknown"] .cc-profile-page > .cc-cabin-section[aria-labelledby="overview-title"],
html[data-cc-gate-active="yes"][data-cc-booking-mode="unknown"] #profile .profile-glance,
html[data-cc-gate-active="yes"][data-cc-booking-mode="unknown"] #profile .ms-overview{display:none!important}
html[data-cc-gate-active="yes"]:not([data-cc-booking-mode="unknown"]) .cc-booking-path__preview--compact{display:none!important}
.cc-booking-path__next{box-sizing:border-box;margin:18px 0 24px;padding:clamp(18px,3vw,28px);border:1px solid #d8e5ea;border-left:4px solid #d6af3e;border-radius:16px;background:#f5f9fa;color:#092135}
.cc-booking-path__next h3{margin:0 0 8px;font-size:clamp(1.2rem,2vw,1.55rem)}
.cc-booking-path__next p{line-height:1.5}
.cc-booking-path__next .cc-booking-path__actions{margin-top:16px}
.cc-booking-path__next .cc-booking-path__actions a,.cc-booking-path__next .cc-booking-path__actions button{box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;min-height:48px;max-width:100%;overflow-wrap:anywhere}
@media(max-width:700px){.cc-booking-path__options{grid-template-columns:minmax(0,1fr)}.cc-booking-path__option{width:100%!important}.cc-booking-path__next .cc-booking-path__actions{display:grid;grid-template-columns:minmax(0,1fr)}}
