/* Shared public catalogue, planning, contact and vessels: the ocean identity. */
.nwdc-page .nwdc-activities { margin:0 0 clamp(40px,6vw,80px); }
.nwdc-catalog-heading { margin-bottom:40px; }
.nwdc-catalog-heading .nwdc-page__intro { max-width:390px; }
.nwdc-catalog-next { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:28px 0; border-top:1px solid var(--nwdc-line); }
.nwdc-catalog-next p { max-width:630px; margin:0; color:var(--nwdc-muted); }
.nwdc-catalog-next .nwdc-button { flex-shrink:0; }
.nwdc-catalog-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,72px); align-items:center; margin:8px 0 clamp(48px,7vw,96px); }
.nwdc-catalog-hero__copy { padding:24px 0; }
.nwdc-catalog-hero h1 { font-size:clamp(28px,3.25vw,48px); margin-bottom:24px; line-height:1.2; }
.nwdc-catalog-hero .nwdc-page__intro { max-width:480px; margin-bottom:0; }
.nwdc-catalog-hero .nwdc-form-actions { margin-top:32px; }
.nwdc-catalog-hero__media { position:relative; margin:0; overflow:hidden; border:1px solid var(--nwdc-line); border-radius:var(--nwdc-radius); background:var(--nwdc-surface); }
.nwdc-catalog-hero__media img { display:block; width:100%; height:auto; aspect-ratio:6/5; object-fit:cover; }
.nwdc-catalog-hero--daily .nwdc-catalog-hero__media img { object-position:60% 50%; }
.nwdc-catalog-hero--courses .nwdc-catalog-hero__media img { object-position:55% 50%; }
.nwdc-catalog-hero--thistlegorm .nwdc-catalog-hero__media img { object-position:50% 56%; }
.nwdc-catalog-hero__media figcaption { position:absolute; inset:auto 0 0; padding:36px 24px 20px; color:var(--nwdc-white); background:linear-gradient(transparent,rgba(6,21,29,.94)); font-size:13px; font-weight:500; letter-spacing:.025em; }
.nwdc-catalog-hero__media figcaption span { display:inline-block; margin:0 8px; color:var(--nwdc-yellow); }
.nwdc-price { font-size:clamp(48px,5.3vw,72px); line-height:1.05; letter-spacing:-.045em; margin:24px 0; font-weight:900; }
.nwdc-price small { font-size:16px; line-height:1.5; display:block; font-weight:400; letter-spacing:0; margin-top:12px; color:var(--nwdc-muted); }
.nwdc-daily-summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0; border:1px solid var(--nwdc-line); border-radius:var(--nwdc-radius); background:var(--nwdc-surface); overflow:hidden; }
.nwdc-daily-summary__price, .nwdc-daily-summary__included { padding:clamp(28px,4vw,52px); }
.nwdc-daily-summary__included { border-left:1px solid var(--nwdc-line); background:var(--nwdc-surface-deep,#08232E); }
.nwdc-daily-summary h2 { font-size:24px; }
.nwdc-daily-summary h3 { font-size:20px; margin-bottom:24px; }
.nwdc-daily-summary .nwdc-note { margin-bottom:28px; }
.nwdc-inclusions { list-style:none; padding:0; margin:0; font-size:16px; color:var(--nwdc-text); }
.nwdc-inclusions li { position:relative; padding:12px 0 12px 26px; border-top:1px solid var(--nwdc-line); }
.nwdc-inclusions li:first-child { padding-top:0; border:0; }
.nwdc-inclusions li::before { content:'+'; position:absolute; left:0; color:var(--nwdc-yellow); }
.nwdc-price-group { display:grid; grid-template-columns:minmax(180px,.6fr) minmax(0,1.8fr); column-gap:clamp(32px,5vw,72px); margin-top:clamp(48px,6vw,80px); }
.nwdc-price-group>h2 { font-size:clamp(24px,2.6vw,32px); margin:0 0 24px; max-width:270px; }
.nwdc-price-group__items { border-bottom:1px solid var(--nwdc-line); }
.nwdc-price-row { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(96px,auto); gap:24px; align-items:center; padding:24px 0; border-top:1px solid var(--nwdc-line); font-size:16px; }
.nwdc-price-row h3 { font-size:18px; margin:0; line-height:1.4; }
.nwdc-price-row p { margin:8px 0 0; color:var(--nwdc-muted); }
.nwdc-price-row__amount { font-size:20px; font-weight:900; white-space:nowrap; font-variant-numeric:tabular-nums; }
.nwdc-price-group__note { grid-column:2; margin:16px 0 0; }
.nwdc-add { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:1px solid var(--nwdc-control-line,#678D9A); border-radius:var(--nwdc-radius); background:var(--nwdc-surface); min-height:48px; padding:10px 16px; font-size:16px; font-weight:500; color:var(--nwdc-text); }
.nwdc-add:hover { background:var(--nwdc-yellow); border-color:var(--nwdc-yellow); color:var(--nwdc-bg); }
.nwdc-add:disabled { cursor:wait; opacity:.65; }
.nwdc-plan-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid var(--nwdc-line); margin-top:48px; padding:28px 0; }
.nwdc-plan-bar .nwdc-status { margin:0; }
.nwdc-plan-bar [data-plan-count] { display:inline-flex; min-width:28px; min-height:28px; justify-content:center; align-items:center; border-radius:50%; background:var(--nwdc-surface); }
.nwdc-plan-heading { margin-bottom:40px; }
.nwdc-plan-heading .nwdc-page__intro { margin-bottom:0; max-width:720px; }
.nwdc-plan-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(32px,4vw,56px); align-items:start; }
.nwdc-plan-layout:has(.nwdc-plan-enquiry[hidden]) { grid-template-columns:minmax(0,1fr); max-width:850px; }
.nwdc-plan-selection>h2, .nwdc-plan-enquiry>h2 { font-size:22px; }
.nwdc-plan-login { display:inline-flex; align-items:center; min-height:44px; font-weight:500; }
.nwdc-plan-items { margin:24px 0; }
.nwdc-plan-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:start; border-top:1px solid var(--nwdc-line); padding:24px 0; }
.nwdc-plan-item:last-child { border-bottom:1px solid var(--nwdc-line); }
.nwdc-plan-item h2 { font-size:20px; margin:0; }
.nwdc-plan-item p { font-size:16px; margin:8px 0 0; color:var(--nwdc-muted); }
.nwdc-plan-item>span { font-size:18px; font-weight:900; white-space:nowrap; font-variant-numeric:tabular-nums; }
.nwdc-quantity { grid-column:1/-1; display:flex; gap:16px; align-items:center; }
.nwdc-quantity button { width:44px; height:44px; background:var(--nwdc-surface); color:var(--nwdc-text); border:1px solid var(--nwdc-control-line,#678D9A); border-radius:var(--nwdc-radius); font:inherit; }
.nwdc-quantity button:hover { border-color:var(--nwdc-yellow); background:var(--nwdc-surface-deep,#08232E); }
.nwdc-plan-total { font-size:24px; font-weight:900; margin:24px 0; padding-bottom:24px; border-bottom:1px solid var(--nwdc-line); }
.nwdc-plan-empty { padding:32px; border:1px solid var(--nwdc-line); background:var(--nwdc-surface); border-radius:var(--nwdc-radius); }
.nwdc-plan-empty p { font-size:20px; font-weight:900; margin-bottom:16px; }
.nwdc-plan-empty a { display:inline-flex; align-items:center; min-height:44px; font-weight:500; }
.nwdc-plan-enquiry { padding:clamp(24px,3vw,36px); background:var(--nwdc-surface-deep,#08232E); border:1px solid var(--nwdc-line); border-radius:var(--nwdc-radius); }
.nwdc-plan-actions { display:flex; flex-direction:column; gap:16px; align-items:stretch; margin-top:28px; }
.nwdc-plan-actions>a:not(.nwdc-button) { display:flex; align-items:center; justify-content:center; min-height:44px; }
.nwdc-enquiry-fields { display:grid; grid-template-columns:1fr; gap:0; }
.nwdc-enquiry-fields .nwdc-field { margin:0 0 24px; }
.nwdc-enquiry-fields .nwdc-field input { max-width:none; width:100%; min-width:0; border-color:var(--nwdc-control-line,#678D9A); }
.nwdc-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(32px,6vw,80px); margin:8px 0 24px; }
.nwdc-contact-copy { padding:32px 0; }
.nwdc-contact-copy h1 { margin-bottom:24px; }
.nwdc-contact-copy .nwdc-page__intro { max-width:440px; }
.nwdc-contact-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.nwdc-contact-photo { margin:0; border:1px solid var(--nwdc-line); border-radius:var(--nwdc-radius); overflow:hidden; }
.nwdc-contact-photo img { display:block; width:100%; height:auto; aspect-ratio:1/1.05; object-fit:cover; object-position:62% 50%; }
.nwdc-vessels-heading { margin-bottom:48px; }
.nwdc-vessels-heading .nwdc-page__intro { max-width:400px; }
.nwdc-vessel-feature { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); border:1px solid var(--nwdc-line); border-radius:var(--nwdc-radius); background:var(--nwdc-surface-deep,#08232E); overflow:hidden; margin-bottom:32px; }
.nwdc-vessel-feature__photo { margin:0; }
.nwdc-vessel-feature__photo img { width:100%; height:100%; aspect-ratio:1.25/1; object-fit:cover; object-position:50% 55%; display:block; }
.nwdc-vessel-feature__copy { align-self:center; padding:clamp(28px,4vw,56px); }
.nwdc-vessel-feature__number { display:block; margin-bottom:40px; color:var(--nwdc-muted); font-size:13px; letter-spacing:.16em; }
.nwdc-vessel-feature__copy h2 { font:400 clamp(24px,2.8vw,38px)/1.25 var(--nwdc-display); margin:0 0 16px; }
.nwdc-vessel-feature__copy p { color:var(--nwdc-muted); font-size:18px; margin-bottom:32px; }
.nwdc-vessel-feature--text { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-right:clamp(28px,4vw,56px); background:var(--nwdc-surface); }
.nwdc-vessel-feature--text .nwdc-vessel-feature__copy p { margin-bottom:0; }
.nwdc-vessel-feature--text .nwdc-button { flex-shrink:0; }
@media(max-width:1000px) {
    .nwdc-price-group { grid-template-columns:minmax(150px,.5fr) minmax(0,1.8fr); gap:24px; }
    .nwdc-price-row { gap:16px; }
    .nwdc-plan-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
    .nwdc-plan-enquiry { padding:24px; }
}
@media(max-width:760px) {
    .nwdc-catalog-hero, .nwdc-contact-layout { grid-template-columns:1fr; gap:28px; margin-top:0; }
    .nwdc-catalog-hero__copy, .nwdc-contact-copy { padding:0; }
    .nwdc-catalog-hero h1 { font-size:clamp(26px,7vw,42px); }
    .nwdc-catalog-hero .nwdc-page__intro { max-width:none; }
    .nwdc-catalog-hero__media img { aspect-ratio:5/3; }
    .nwdc-catalog-hero--thistlegorm .nwdc-catalog-hero__media img { aspect-ratio:5/4; }
    .nwdc-catalog-hero__media figcaption { padding:32px 16px 16px; }
    .nwdc-catalog-hero .nwdc-form-actions .nwdc-button { width:100%; }
    .nwdc-catalog-next { flex-direction:column; align-items:flex-start; gap:24px; }
    .nwdc-daily-summary { grid-template-columns:1fr; }
    .nwdc-daily-summary__price, .nwdc-daily-summary__included { padding:28px 24px; }
    .nwdc-daily-summary__included { border-left:0; border-top:1px solid var(--nwdc-line); }
    .nwdc-daily-summary h2 { font-size:22px; }
    .nwdc-price-group { grid-template-columns:1fr; gap:0; }
    .nwdc-price-group>h2 { max-width:none; }
    .nwdc-price-group__note { grid-column:auto; }
    .nwdc-price-row { grid-template-columns:minmax(0,1fr) auto; gap:16px; }
    .nwdc-price-row>.nwdc-add { grid-column:1/-1; justify-self:start; min-width:104px; }
    .nwdc-plan-layout { grid-template-columns:1fr; gap:24px; }
    .nwdc-plan-heading { margin-bottom:32px; }
    .nwdc-plan-bar { align-items:stretch; margin-top:32px; }
    .nwdc-plan-bar>a { width:100%; }
    .nwdc-plan-empty { padding:24px; }
    .nwdc-contact-photo img { aspect-ratio:5/4; object-position:65% 50%; }
    .nwdc-contact-actions { margin-top:24px; }
    .nwdc-contact-actions .nwdc-button { width:100%; }
    .nwdc-vessel-feature { grid-template-columns:1fr; margin-bottom:24px; }
    .nwdc-vessel-feature__photo img { aspect-ratio:5/4; }
    .nwdc-vessel-feature__copy { padding:28px 24px; }
    .nwdc-vessel-feature__number { margin-bottom:24px; }
    .nwdc-vessel-feature--text { flex-direction:column; align-items:flex-start; padding:0 24px 28px; gap:0; }
    .nwdc-vessel-feature--text .nwdc-vessel-feature__copy { padding-left:0; padding-right:0; }
    .nwdc-vessel-feature--text .nwdc-button { width:100%; }
}
