/* Long content remains available on demand; pricing and actions stay visible. */
.journey-disclosure { margin:12px 0; border:1px solid #d7ddd5; border-radius:8px; background:rgba(255,255,255,.45); }
.journey-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding:16px 18px; color:#173c3a; font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; list-style:none; }
.journey-disclosure > summary::-webkit-details-marker { display:none; }
.journey-disclosure > summary::after { content:'+'; flex:none; color:#927341; font-size:24px; font-weight:400; }
.journey-disclosure[open] > summary::after { content:'−'; }
.journey-disclosure summary small { display:block; margin-top:4px; color:#667872; font-size:12px; font-weight:400; }
.journey-disclosure-body { padding:0 18px 18px; color:#536965; font-size:13px; line-height:1.7; }
.journey-disclosure-body .wizard-facts { margin-top:0; }
.journey-boarding .wizard-facts { display:block; margin:0; font-size:13px; }
.journey-boarding-row { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px; padding:12px 0; border-bottom:1px solid rgba(83,105,101,.16); }
.journey-boarding-row:last-child { border-bottom:0; }
.journey-boarding-row > dt { color:#405d58; font-weight:500; }
.journey-boarding-row > dt,.journey-boarding-row > dd { min-width:0; margin:0; overflow-wrap:anywhere; }
@media(max-width:700px){.journey-boarding-row{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px 0}.journey-boarding-row > dt{font-size:12px;font-weight:600}.journey-boarding-row > dd{font-size:13px;line-height:1.65}}
.journey-disclosure-body .journey-checklist li { --journey-checklist-font-size:13px; font-size:var(--journey-checklist-font-size); }
.journey-disclosure-body .journey-checklist li::before { top:calc((var(--journey-checklist-font-size) * 1.6 - 15px) / 2); }
.journey-event-title { margin:0 0 5px; color:#173c3a; font-size:14px; line-height:1.5; }
.journey-disclosure > summary:focus-visible,.compact-copy-toggle:focus-visible { outline:2px solid #a88a5a; outline-offset:3px; }
.journey-disclosure .journey-detail-timeline > li { grid-template-columns:105px minmax(0,1fr); }
.journey-disclosure .journey-detail-timeline .cruise-rich-copy { font-size:13px; }
.journey-programme-details { margin:20px 0; }
.journey-detail-actions { margin-top:24px; }
.cabin-modal-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; margin-top:24px; }
.cabin-modal-actions [hidden] { display:none; }
.journey-detail-copy { overflow-wrap:anywhere; }
.journey-modal .journey-gallery { height:clamp(240px,34vh,360px); }
.journey-cabin-shortcut { display:inline-flex; min-height:42px; align-items:center; margin:0 0 14px; gap:8px; color:#173c3a; font-size:13px; font-weight:600; text-underline-offset:5px; }
.compact-copy { margin-bottom:16px; min-width:0; }
.compact-copy.is-collapsed > [data-compact-body] { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.compact-copy [data-compact-body] { margin-bottom:0; }
.card-body .compact-copy { width:100%; font-size:14px; }
.card-body .compact-copy p { margin:0; }
.section-heading .compact-copy { max-width:680px; }
.editorial-copy .compact-copy-toggle { color:#ddc38d; }
.compact-copy-toggle { display:inline-flex; min-height:36px; padding:4px 0; margin-top:4px; border:0; background:none; color:#85662f; font:600 12px/1.5 var(--pearl-sans, sans-serif); cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.compact-copy-toggle[hidden] { display:none; }
.cabin-modal .cabin-program-prices { border-color:#d7ddd5; }
.cabin-modal .cabin-program-prices li { color:#53665c; font-size:12px; flex-wrap:wrap; }
.cabin-modal .cabin-program-prices li strong { color:#173c3a; text-align:left; }
.cabin-modal .stay-faq { color:#173c3a; border-color:#d7ddd5; }
.cabin-modal .stay-faq > summary,
.cabin-modal .stay-faq .faq-list details > summary { color:#173c3a; }
.cabin-modal .stay-faq .faq-list details { border-color:#d7ddd5; }
.cabin-modal .stay-faq .faq-list details p { color:#53665c; }
.cabin-modal .stay-faq .faq-list details > summary { position:relative; padding-right:28px; }
.cabin-modal .stay-faq .faq-list details > summary::after { content:"+"; position:absolute; top:50%; right:2px; width:18px; height:18px; display:grid; place-items:center; border:1px solid rgba(23,60,58,.28); border-radius:50%; color:#173c3a; font:400 13px/1 var(--pearl-sans,sans-serif); transform:translateY(-50%); transition:background .2s ease,color .2s ease,border-color .2s ease; }
.cabin-modal .stay-faq .faq-list details[open] > summary::after { content:"−"; border-color:#173c3a; background:#173c3a; color:#fffefa; }
.cabin-modal .stay-faq .faq-list details > summary:hover::after { border-color:#b5965e; }
@media(min-width:901px) {
    .cabin-modal-panel { height:min(820px,calc(100svh - 40px)); overflow:hidden; }
    .cabin-modal-gallery { position:sticky; top:0; min-height:0; height:100%; align-self:stretch; box-sizing:border-box; overflow:hidden; }
    .cabin-modal-copy { min-height:0; height:100%; box-sizing:border-box; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
}
.cabin-lightbox { box-sizing:border-box; overflow:hidden; }
.cabin-lightbox figure { min-width:0; min-height:0; max-width:100%; max-height:100%; }
.cabin-lightbox figure img { min-width:0; min-height:0; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.stay-card .stay-detail { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.stay-card .cabin-starting-price { display:flex; margin:0 0 18px; flex-wrap:wrap; align-items:baseline; gap:4px 8px; font-size:13px; line-height:1.6; text-transform:none; letter-spacing:0; }
.cabin-starting-price > span { color:rgba(255,255,255,.8); }
.cabin-starting-price > strong { color:#e7d3a0; font-size:15px; font-weight:600; }
@media(max-width:700px) {
    .journey-disclosure > summary { padding:14px; font-size:14px; }
    .journey-disclosure-body { padding:0 14px 14px; }
    .journey-disclosure .journey-detail-timeline > li { grid-template-columns:1fr; gap:5px; }
}
@media(prefers-reduced-motion:no-preference) { .journey-disclosure[open] > .journey-disclosure-body { animation:cruise-details-in .18s ease-out; } @keyframes cruise-details-in { from { opacity:.4; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } } }
