
/* Shared boat-page.css and Elephant Beach setup.css supply the established UI. */
.jr-booking #trip-form{display:grid;grid-template-columns:1.05fr 1fr 1fr 1.15fr;align-items:end;gap:16px;margin-top:18px}
.jr-booking .jr-preview-note{margin-top:14px;font-size:12px}
.jr-booking #jr-search-status:empty{display:none}.jr-booking #jr-search-status{margin-top:14px}
.jr-booking .jr-offer{display:grid;grid-template-columns:1.25fr 1fr auto;gap:18px;align-items:center;border:1px solid var(--border);border-radius:10px;background:#fff;padding:18px;margin:12px 0}
.jr-booking .jr-offer h3{margin:0 0 6px}.jr-booking .jr-offer dl{display:flex;gap:20px;margin:0}.jr-booking .jr-offer dt{font-size:12px;color:var(--muted)}.jr-booking .jr-offer dd{margin:4px 0;font-weight:650}.jr-booking .jr-offer p{font-size:12px;color:var(--muted)}
.jr-booking .jr-offer .primary{min-height:44px}.jr-booking .jr-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.jr-booking .jr-boats-list{display:flex;gap:10px;font-size:13px}.jr-booking .jr-muted{color:var(--muted);font-size:12px;margin-top:10px}
.jr-booking #jr-people fieldset{margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:10px;min-width:0}.jr-booking #jr-people legend{font-weight:650}.jr-booking .jr-person-scroll{overflow-x:auto}.jr-booking .jr-person-row{display:grid;grid-template-columns:80px minmax(150px,2fr) 140px 110px 140px;gap:10px;min-width:660px}.jr-booking .jr-person-row .field{margin:0}.jr-booking .jr-person-row input,.jr-booking .jr-person-row select{width:100%;min-width:0}
.jr-booking .jr-review-row{overflow-x:auto;white-space:nowrap;padding:12px 0;border-bottom:1px solid var(--border)}.jr-booking .summary h3{margin-top:0}.jr-booking .summary p{margin:8px 0}.jr-booking .summary .primary{margin-top:18px}.jr-booking .jr-total{display:block;font-size:28px;margin:16px 0}.jr-booking .questions>p{margin-top:14px}.jr-booking .questions details p{padding:0 16px 16px}.jr-booking .questions>h2{margin-bottom:16px}
.jr-settings .jr-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.jr-settings .jr-heading p{display:none}.jr-settings .jr-heading>a{font-size:12px}.jr-settings .jr-save{display:flex;gap:12px;align-items:center;margin:10px 0 14px}.jr-settings .jr-save p{margin:0}.jr-settings button:disabled{background:#dce5ea;color:#607381;cursor:default}.jr-settings .jr-panel>h2:not(:first-child){margin-top:24px}.jr-settings .jr-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:12px 0}.jr-settings .jr-field{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;min-width:0}.jr-settings .jr-field textarea{min-height:52px;resize:vertical}.jr-settings .jr-editor{border-top:1px solid #d9e2ec;padding:14px 0;margin:12px 0}.jr-settings .jr-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.jr-settings .jr-editor-head h3{margin:0;font-size:14px}.jr-settings .jr-class{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;max-width:640px;margin:12px 0}.jr-settings .jr-check{display:flex;align-items:center;gap:8px;min-height:34px}.jr-settings .jr-table-wrap{overflow-x:auto}.jr-settings .jr-table{margin-top:12px}.jr-settings .jr-table th{background:#edf4fa}.jr-settings .jr-remove{background:#b52b32;color:white}.jr-settings .jr-secondary{background:#e8f2fc;color:#075dab;border:1px solid #bad1e6}.jr-settings .jr-error{background:#fff1f0;border:1px solid #cc7777;padding:12px;border-radius:8px;color:#8b2424}.jr-settings #jr-cutoff{max-width:240px}.jr-settings details.jr-boat-editor{border:1px solid #d9e2ec;border-radius:8px;padding:12px;margin:12px 0;background:#f7fafc}.jr-settings details.jr-boat-editor>summary{cursor:pointer;font-size:13px;font-weight:650;color:#17324c}.jr-settings details.jr-boat-editor>summary small{font-weight:400;margin-left:12px;color:#536a7a}
@media(max-width:900px){.jr-booking #trip-form{grid-template-columns:1fr 1fr}.jr-booking .jr-offer{grid-template-columns:1fr 1fr}.jr-booking .jr-offer>button{grid-column:1/-1}.jr-settings .jr-row{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.jr-booking #trip-form>.field,.jr-booking #trip-form>.primary{grid-column:1/-1}.jr-booking #trip-form{gap:14px 10px}.jr-booking .jr-columns,.jr-booking .jr-offer{grid-template-columns:1fr}.jr-booking .jr-offer{padding:14px}.jr-booking .jr-offer dl{flex-wrap:wrap}.jr-settings .jr-row{grid-template-columns:1fr}.jr-settings .jr-class{grid-template-columns:1fr 85px}.jr-settings .jr-class>button{grid-column:1/-1;justify-self:start}.jr-settings .jr-save{flex-wrap:wrap}.jr-settings .jr-heading{align-items:flex-start;flex-direction:column}.jr-settings details.jr-boat-editor>summary small{display:block;margin:5px 0 0}}

.boat-page.jr-booking #trip-form>.field,.boat-page.jr-booking #trip-form>.count-row,.boat-page.jr-booking #trip-form>.primary{grid-column:auto;grid-row:auto;width:100%}.boat-page.jr-booking #trip-form{grid-template-columns:1.05fr 1fr 1fr 1.15fr}@media(max-width:900px){.boat-page.jr-booking #trip-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.boat-page.jr-booking #trip-form>.field,.boat-page.jr-booking #trip-form>.primary{grid-column:1/-1}}

@media(max-width:600px){.boat-page.jr-booking #trip-form .count-row strong{display:block;line-height:20px}.boat-page.jr-booking #trip-form .count-row strong small{display:block;margin:2px 0 0}}
/* Keep every lower section aligned with the booking card, as on the other boat pages. */
.boat-page.jr-booking #jr-guide-content{width:100%;min-width:0}
.boat-page.jr-booking #jr-guide-content>.questions{width:100%;max-width:none;margin:28px 0}
.jr-vessels{display:grid;gap:24px;margin-top:28px}
.boat-page.jr-booking .jr-vessel{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:30px;align-items:center;padding:24px;overflow:hidden}
.jr-vessel figure{margin:0;min-width:0}.jr-vessel figure img{display:block;width:100%;height:auto;aspect-ratio:960/718;object-fit:cover;border-radius:12px}
.boat-page.jr-booking .jr-vessel-copy h2{margin:0 0 12px}.boat-page.jr-booking .jr-vessel-copy>p{line-height:1.65}.jr-vessel-copy{min-width:0}.jr-vessel-copy .eyebrow{color:var(--teal)}
.jr-vessel-features{display:grid;gap:12px;list-style:none;margin:18px 0;padding:0}.jr-vessel-features li{border-left:3px solid #b8d9df;padding-left:12px}.jr-vessel-features strong,.jr-vessel-features span{display:block}.jr-vessel-features strong{font-size:14px}.jr-vessel-features span{font-size:13px;color:var(--muted);margin-top:2px;line-height:1.55}
.boat-page.jr-booking .jr-operator-link{color:#075dab;font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:3px}.boat-page.jr-booking .jr-vessel-note{font-size:12px;color:var(--muted);margin-top:14px}
.boat-page.jr-booking #jr-guide-content .questions summary{display:flex;justify-content:space-between;gap:15px}.boat-page.jr-booking #jr-guide-content .questions summary::after{content:'+';font-size:21px;color:var(--teal);flex-shrink:0}.boat-page.jr-booking #jr-guide-content .questions details[open]>summary::after{content:'−'}
@media(max-width:700px){.boat-page.jr-booking .jr-vessel{grid-template-columns:1fr;gap:20px;padding:18px}.jr-vessels{gap:20px}.boat-page.jr-booking #jr-guide-content>.questions{margin:20px 0}}
/* Labelled, touch-friendly boat gallery; no autoplay. */
.jr-gallery{min-width:0;align-self:start}.jr-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px;background:#edf5f8;position:relative}.jr-gallery-track::-webkit-scrollbar{display:none}.jr-gallery .jr-gallery-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;margin:0}.jr-vessel .jr-gallery-slide img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0}.jr-gallery-slide figcaption{padding:8px 10px;font-size:13px;font-weight:650;background:#123f52;color:white}.jr-gallery-controls{display:flex;align-items:center;justify-content:space-between;margin:6px 0;gap:8px}.jr-gallery-controls button{width:44px;height:44px;border:1px solid #bdd5df;background:#f0f7fb;color:#075dab;border-radius:50%;cursor:pointer;font-size:20px}.jr-gallery-controls button:disabled{opacity:.35;cursor:default}.jr-gallery-controls span{font-size:12px;color:#536a7a}.jr-gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.jr-gallery-thumbs button{padding:3px;background:white;border:2px solid #dae6ec;border-radius:8px;min-width:0;cursor:pointer;color:#17324c}.jr-gallery-thumbs button[aria-pressed=true]{border-color:#008491;background:#e9f6f5}.jr-gallery-thumbs img{display:block;width:100%;height:54px;aspect-ratio:auto;object-fit:cover;border-radius:4px}.jr-gallery-thumbs span{display:block;font-size:11px;padding:4px 0;white-space:nowrap}.jr-gallery button:focus-visible,.jr-gallery-track:focus-visible{outline:3px solid #087cbd;outline-offset:3px}.jr-gallery [hidden]{display:none}


.boat-page .jr-planning h3:not(:first-child){margin-top:18px}.boat-page .jr-planning p{margin:8px 0 0}.boat-page .jr-planning h3{margin-bottom:6px}
/* Compact full-width planning notes, overriding inherited details paragraph limits. */
.boat-page .jr-planning{width:100%;max-width:none;box-sizing:border-box}
.boat-page .jr-planning section{margin:0;padding:12px 0;max-width:none;width:100%;border:0;background:none;box-shadow:none;border-radius:0}
.boat-page .jr-planning section:first-child{padding-top:0}
.boat-page .jr-planning section:last-child{padding-bottom:0}
.boat-page .jr-planning section+section{border-top:1px solid #eadcbe}
.boat-page .jr-planning h3,.boat-page .jr-planning h3:not(:first-child){margin:0 0 6px;font-size:16px;line-height:1.4}
.boat-page .jr-planning ul{display:block;list-style:disc;margin:0;padding:0 0 0 20px;max-width:none;width:auto}
.boat-page .jr-planning li{display:list-item;margin:4px 0;padding:0;max-width:none;line-height:1.55;font-size:14px}
.boat-page .jr-planning p{padding:0;margin:4px 0;max-width:none;line-height:1.55}
.jr-annual-date{display:grid;grid-template-columns: minmax(80px,1fr) minmax(120px,2fr);gap:10px;min-width:0}
@media(max-width:600px){.boat-page .jr-planning h3{font-size:15px}.boat-page .jr-planning li{font-size:13px}.boat-page .jr-planning section{padding:10px 0}}

.boat-page .jr-planning .jr-season{margin:8px 0}.jr-season>strong,.jr-season>span{display:block}.jr-season .jr-season-dates{font-weight:700;color:#123f52;margin:2px 0;font-size:15px}

/* Compact Team opening-date editor and contextual save control. */
.jr-settings .jr-save[hidden]{display:none!important}
.jr-settings .jr-save{position:fixed;right:24px;bottom:20px;z-index:100;max-width:calc(100vw - 32px);margin:0;padding:10px 14px;border:1px solid #b9d0df;border-radius:10px;background:white;box-shadow:0 4px 20px #16394d26}
.jr-settings .jr-save p{font-size:13px}.jr-settings .jr-save button{min-height:42px}
.jr-settings #jr-panel-seasons{padding:18px}.jr-settings #jr-panel-seasons>p{margin:6px 0 10px;font-size:13px}
.jr-settings #jr-seasons .jr-season-editor{margin:0;padding:12px 0}
.jr-settings #jr-seasons .jr-row{margin:0;grid-template-columns:minmax(170px,1.2fr) repeat(2,minmax(180px,1fr));gap:14px;align-items:end}
.jr-settings .jr-annual-date{border:0;padding:0;margin:0;min-width:0;grid-template-columns:72px minmax(100px,1fr);gap:8px}
.jr-settings .jr-annual-date legend{font-size:12px;font-weight:600;margin:0 0 5px;padding:0;float:none;width:auto}
.jr-settings .jr-annual-date .jr-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.jr-settings #jr-panel-seasons input,.jr-settings #jr-panel-seasons select{min-height:40px;padding:8px 10px}
.jr-settings #jr-panel-seasons .jr-check input{min-height:0;padding:0}
.jr-settings #jr-panel-seasons>h2:not(:first-child){margin-top:18px}
@media(max-width:1100px){.jr-settings #jr-seasons .jr-row{grid-template-columns:1fr 1fr}.jr-settings #jr-seasons .jr-row>.jr-field{grid-column:1/-1}}
@media(max-width:600px){.jr-settings #jr-seasons .jr-row{grid-template-columns:1fr;gap:10px}.jr-settings .jr-save{right:16px;bottom:12px;gap:8px;padding:8px 10px}.jr-settings .jr-save p{font-size:12px}.jr-settings #jr-panel-seasons{padding:14px}}

.jr-settings .jr-compact-boat{display:grid;grid-template-columns:minmax(180px,1fr) minmax(250px,2fr);gap:16px;padding:12px 0;border-top:1px solid #d9e2ec}.jr-settings .jr-boat-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.jr-settings .jr-compact-class{display:grid;grid-template-columns:minmax(90px,1fr) 75px;gap:8px}.jr-settings .jr-boat-identity{min-width:0}.jr-settings .jr-boat-identity .jr-check{margin:6px 0 0;font-size:12px}@media(max-width:1100px){.jr-settings .jr-boat-classes{grid-template-columns:1fr}}@media(max-width:600px){.jr-settings .jr-compact-boat{grid-template-columns:1fr;gap:8px}}

.jr-settings .jr-closure-editor{padding:10px 0;border-top:1px solid #d9e2ec}.jr-settings .jr-closure-editor .jr-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin:0}.jr-settings .jr-closure-editor .jr-remove{min-height:40px;margin:0}.jr-settings .jr-closure-editor .jr-field{min-width:0;margin:0}@media(max-width:600px){.jr-settings .jr-closure-editor .jr-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.jr-settings .jr-closure-editor .jr-remove{grid-column:1/-1;justify-self:end}}

.jr-settings .jr-permit-fees{display:flex;flex-wrap:wrap;gap:10px 24px;padding:12px 0;border-bottom:1px solid #d9e2ec}.jr-settings .jr-boat-rate-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid #d9e2ec}.jr-settings .jr-rate-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.jr-settings .jr-rate-classes .jr-field{margin:0;min-width:0}@media(max-width:600px){.jr-settings .jr-boat-rate-row{grid-template-columns:1fr;gap:8px}.jr-settings .jr-rate-classes{gap:10px}.jr-settings .jr-permit-fees{gap:8px 16px}.jr-settings .jr-permit-fees strong{width:100%}}

.jr-settings #jr-panel-rates{padding:16px}.jr-settings #jr-panel-rates>p{margin:6px 0 10px;font-size:13px}.jr-settings .jr-rate-period{margin:8px 0;padding:10px 0}.jr-settings .jr-rate-dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;margin:0;gap:12px}.jr-settings .jr-rate-dates .jr-field{margin:0}.jr-settings .jr-rate-dates button{min-height:40px;margin:0}.jr-settings #jr-panel-rates input{min-height:40px;padding:8px 10px}.jr-settings #jr-panel-rates .jr-permit-fees{padding:9px 0}.jr-settings #jr-panel-rates .jr-boat-rate-row{padding:10px 0;gap:12px}.jr-settings .jr-rate-period>.jr-secondary{margin-top:10px}@media(max-width:600px){.jr-settings .jr-rate-dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.jr-settings .jr-rate-dates button{grid-column:1/-1;justify-self:end}}

.jr-settings #jr-availability-date{max-width:240px}.jr-settings #jr-availability .jr-boat-rate-row{grid-template-columns:minmax(150px,1fr) minmax(0,3fr) auto}.jr-settings #jr-availability .hint{font-size:12px;margin:5px 0}.jr-settings #jr-panel-availability{padding:16px}@media(max-width:600px){.jr-settings #jr-availability .jr-boat-rate-row{grid-template-columns:1fr}.jr-settings #jr-availability .jr-boat-rate-row>button{justify-self:end}}
.jr-view-switch{display:flex;gap:6px;margin:12px 0}.jr-view-switch button{padding:8px 18px;border:1px solid #bfd2e3;border-radius:6px;background:#fff;color:#19415c;cursor:pointer}.jr-view-switch button[aria-pressed=true]{background:#086078;color:#fff;border-color:#086078}.jr-availability-toolbar{display:flex;gap:12px;align-items:end;margin-bottom:12px}.jr-availability-toolbar [hidden],.jr-settings #jr-bulk[hidden]{display:none!important}.jr-availability-toolbar input{max-width:240px}.jr-month-scroll{max-width:100%;overflow:auto;max-height:65vh;border:1px solid #d6e3ec;border-radius:8px}.jr-month-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.jr-month-table th,.jr-month-table td{padding:7px 9px;text-align:left;border-bottom:1px solid #e0e8ef;vertical-align:middle}.jr-month-table thead th{background:#eaf3f8;white-space:nowrap}.jr-month-table thead{position:sticky;top:0;z-index:1}.jr-month-table tbody th{white-space:nowrap}.jr-settings .jr-month-table input{width:90px;min-width:70px;padding:6px 8px;height:34px}.jr-month-table .jr-secondary{font-size:12px;padding:6px 9px;white-space:nowrap}.jr-seat-status{display:block;font-size:11px;color:#5a6b78;margin-top:3px}.jr-settings #jr-bulk{padding:12px;background:#f1f7fb;border:1px solid #d6e3ec;border-radius:8px;margin-bottom:12px}.jr-bulk-fields{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}.jr-bulk-fields .jr-field{flex:1;min-width:160px}.jr-month-table tbody tr:nth-child(even){background:#f8fbfd}@media(max-width:600px){.jr-availability-toolbar{display:block}.jr-settings #jr-range-controls{display:flex;flex-wrap:wrap}.jr-month-table{min-width:760px}.jr-view-switch button{flex:1;padding:8px}.jr-settings #jr-panel-availability{padding:12px}}
.jr-month-table tbody th{position:sticky;left:0;background:#f1f6f9;z-index:1}.jr-month-table thead{z-index:2}.jr-month-scroll:focus-visible{outline:2px solid #0b63b7;outline-offset:2px}
/* Boat groups stay distinct across class labels, seats and actions. */
.jr-month-table .jr-boat-tone-0{background:#f1f7ff}.jr-month-table .jr-boat-tone-1{background:#f0faf7}.jr-month-table thead .jr-boat-tone-0{background:#dceafa}.jr-month-table thead .jr-boat-tone-1{background:#dcefe8}.jr-month-table .jr-boat-start{border-left:2px solid #b5cbd8}.jr-month-table .jr-boat-heading,.jr-month-table .jr-boat-cell{text-align:center}.jr-settings #jr-availability input[type=number],.jr-settings #jr-bulk input[type=number]{text-align:center;font-variant-numeric:tabular-nums}.jr-month-table .jr-seat-status{text-align:center}.jr-month-table .jr-boat-cell button{margin-inline:auto}

.jr-addon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jr-addon-grid input{text-align:center;width:100%}#jr-addons{margin:16px 0}#jr-addons p{margin:8px 0}@media(max-width:600px){.jr-addon-grid{grid-template-columns:1fr}}

.jr-boat-photo{align-self:start;overflow:hidden;border-radius:12px}.jr-vessel .jr-boat-photo img{border-radius:0}.jr-boat-photo figcaption{padding:8px 10px;font-size:13px;font-weight:650;background:#123f52;color:white}

.boat-page.jr-booking .jr-prebook{border-left:3px solid #b8d9df;padding-left:12px;margin:16px 0}.boat-page.jr-booking .jr-prebook h3{font-size:14px;margin:0 0 6px}.boat-page.jr-booking .jr-prebook p{font-size:13px;line-height:1.55;margin:6px 0;color:var(--muted)}.boat-page.jr-booking .jr-prebook .jr-meal-menu{font-size:12px;margin:4px 0 10px}



.jr-vessel figcaption .jr-caption-name{font-size:13px;font-weight:700}.jr-vessel figcaption .jr-caption-detail{display:inline-block;margin-left:10px;padding-left:10px;border-left:1px solid #789ba9;font-size:11px;font-weight:400;color:#d4e5eb;vertical-align:baseline}

/* Cancellation bands and an independent, full-width rescheduling section. */
.boat-page.jr-booking .jr-cancellation p{max-width:none}
.boat-page.jr-booking .jr-cancellation .jr-cancellation-bands{grid-template-columns:repeat(3,minmax(0,1fr))}
.boat-page.jr-booking .jr-cancellation>p.jr-cancellation-deadline{margin:10px 0 0;padding:0;line-height:1.5}
.boat-page.jr-booking .jr-cancellation .jr-rescheduling-section{display:block;width:100%;max-width:none;box-sizing:border-box;border-top:1px solid #baded5;margin-top:8px;padding-top:10px}
.boat-page.jr-booking .jr-cancellation .boat-rescheduling{display:block;width:100%;min-width:0;max-width:none;margin:0;padding:0;border:0}
.boat-page.jr-booking .jr-cancellation .boat-rescheduling>b{display:block;font-size:14px;line-height:1.5;margin:0 0 4px;color:#17324c}
.boat-page.jr-booking .jr-cancellation .boat-rescheduling>p{width:auto;max-width:none;margin:4px 0 6px;padding:0;font-size:13px;line-height:1.5}
.boat-page.jr-booking .jr-cancellation .jr-reschedule-rules{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;width:100%;max-width:none;box-sizing:border-box;list-style:disc;margin:0;padding:0 0 0 18px}
.boat-page.jr-booking .jr-cancellation .jr-reschedule-rules>li{display:list-item;width:auto;max-width:none;margin:0;padding:0;font-size:13px;line-height:1.5}
@media(max-width:800px){.boat-page.jr-booking .jr-cancellation .jr-cancellation-bands{grid-template-columns:minmax(0,1fr)}}


/* Compact comparison: one photo and timetable per boat. */
#boat-journey[hidden]{display:none!important}
.boat-page.jr-booking #jr-results{scroll-margin-top:110px;padding:18px 20px}
.jr-results-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.boat-page.jr-booking .jr-results-heading h2{font-size:18px;line-height:1.4;margin:0}
.jr-results-date{font-size:13px;color:#536a7a;border-left:1px solid #b6ccd9;padding-left:10px;white-space:nowrap}
.boat-page.jr-booking .jr-boat-result{display:grid;grid-template-columns:170px minmax(190px,.8fr) minmax(350px,1.4fr);align-items:stretch;background:#fff;border:1px solid #c9dbe8;border-radius:10px;overflow:hidden;margin:10px 0 0;box-shadow:0 2px 7px #16394d06}
.jr-result-photo{width:100%;height:100%;min-height:142px;object-fit:cover}
.boat-page.jr-booking .jr-result-header{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:16px;min-width:0}
.boat-page.jr-booking .jr-result-identity h3{font-size:18px;line-height:1.3;margin:0;color:#173c59}
.jr-result-times{display:flex;gap:22px;margin:0}.jr-result-times dt{font-size:11px;color:#536a7a}.jr-result-times dd{font-size:14px;font-weight:650;color:#173c59;margin:3px 0 0;white-space:nowrap}
.jr-result-classes{display:flex;flex-direction:column;justify-content:center;padding:6px 14px;border-left:1px solid #e0e9ef;background:#fbfdff;min-width:0}
.boat-page.jr-booking .jr-result-class{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;min-width:0}.jr-result-class+.jr-result-class{border-top:1px solid #dce7ef}
.boat-page.jr-booking .jr-result-class h4{font-size:14px;line-height:1.4;margin:0;color:#173c59}.boat-page.jr-booking .jr-seat-count{font-size:11px;color:#087568;margin:3px 0 0;line-height:1.5}.boat-page.jr-booking .jr-seat-count.is-sold-out{color:#a62e39}
.jr-class-fare{text-align:right}.jr-class-fare strong{display:block;font-size:19px;line-height:1.25;color:#153c59;font-variant-numeric:tabular-nums}.jr-class-fare span{display:block;font-size:10px;color:#536a7a;margin-top:2px}
.boat-page.jr-booking .jr-result-class>.primary{min-height:44px;padding:8px 14px;font-size:12px;width:auto;white-space:nowrap;border-radius:7px}.boat-page.jr-booking .jr-class-inclusions{grid-column:1/-1;font-size:12px;line-height:1.5;margin:0;color:#536a7a}
@media(max-width:1000px){.boat-page.jr-booking .jr-boat-result{grid-template-columns:150px minmax(0,1fr)}.jr-result-photo{grid-row:1/3}.boat-page.jr-booking .jr-result-header{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px}.jr-result-times{gap:16px}.jr-result-classes{grid-column:2;border-left:0;border-top:1px solid #e0e9ef}.jr-result-photo{min-height:160px}}
@media(max-width:600px){.boat-page.jr-booking #jr-results{padding:14px 12px}.jr-results-heading{gap:8px}.boat-page.jr-booking .jr-results-heading h2{font-size:15px}.jr-results-date{font-size:11px;padding-left:8px}.boat-page.jr-booking .jr-boat-result{grid-template-columns:110px minmax(0,1fr)}.jr-result-photo{grid-row:1;min-height:110px}.boat-page.jr-booking .jr-result-header{flex-direction:column;align-items:start;justify-content:center;padding:12px;gap:10px}.boat-page.jr-booking .jr-result-identity h3{font-size:16px}.jr-result-times{gap:18px}.jr-result-times dd{font-size:13px}.jr-result-times dt{font-size:10px}.jr-result-classes{grid-column:1/-1;padding:0 12px}.boat-page.jr-booking .jr-result-class{gap:9px;padding:11px 0}.boat-page.jr-booking .jr-result-class h4{font-size:13px}.jr-class-fare strong{font-size:18px}.boat-page.jr-booking .jr-result-class>.primary{padding:8px 11px;font-size:11px}}

/* A useful next step when no online sailing matches the chosen date. */
.jr-empty-sailing{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #c9dfe7;border-left:3px solid #16838e;border-radius:9px;background:#fff;padding:18px}
.boat-page.jr-booking .jr-empty-copy h2{font-size:18px;line-height:1.4;margin:0 0 6px}.boat-page.jr-booking .jr-empty-copy p{font-size:13px;line-height:1.55;margin:4px 0}.boat-page.jr-booking .jr-empty-copy .jr-empty-help{color:#536a7a;max-width:570px}
.jr-empty-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.boat-page.jr-booking .jr-empty-actions>*{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;font-size:12px;line-height:1.4;border-radius:7px;text-decoration:none;cursor:pointer}.jr-empty-date{background:#fff;border:1px solid #b4cddd;color:#0b5d93}.jr-empty-date:hover{background:#eef6fb}.jr-empty-date:focus-visible{outline:2px solid #0864ad;outline-offset:3px}
@media(max-width:700px){.jr-empty-sailing{display:block;padding:14px}.jr-empty-actions{flex-direction:row;flex-wrap:wrap;margin-top:12px}.jr-empty-actions>*{flex:1}.boat-page.jr-booking .jr-empty-copy h2{font-size:17px}}

@media(max-width:440px){.jr-empty-actions{flex-direction:column}.jr-empty-actions>*{width:100%}}

.boat-page.jr-booking .jr-empty-actions>.jr-empty-contact{display:flex;gap:6px;padding:0;border:0;min-height:0;width:100%}.boat-page.jr-booking .jr-empty-contact>a{display:flex;align-items:center;justify-content:center;flex:1;min-height:44px;padding:8px 12px;border-radius:7px;font-size:12px;line-height:1.4;text-decoration:none;white-space:nowrap}.jr-empty-whatsapp{background:#e7f5ec;color:#14663d;border:1px solid #aad5b9}.jr-empty-whatsapp:hover{background:#d6eddf}.jr-empty-whatsapp:focus-visible{outline:2px solid #14663d;outline-offset:2px}

.boat-page.jr-booking .jr-empty-contact>a{gap:6px}.jr-contact-number{display:none}
@media(min-width:601px){.boat-page.jr-booking .jr-empty-actions>.jr-empty-contact{align-items:center;gap:4px}.boat-page.jr-booking .jr-empty-contact>a{flex:0 0 40px;width:40px;padding:8px;background:#fff;border:1px solid #d4e2eb}.jr-empty-contact .jr-contact-label{display:none}.jr-contact-number{display:block;font-size:14px;font-weight:650;color:#173c59;white-space:nowrap;margin-left:5px}}

@media(max-width:600px){.jr-empty-contact>.primary img{filter:brightness(0) invert(1)}}
/* Keep passenger entry first on small screens and extras compact inside the summary. */
.boat-page.jr-booking #jr-addons{padding:0 0 16px;margin:0 0 16px;border:0;border-bottom:1px solid #d5e3e9;border-radius:0;box-shadow:none;background:transparent}
.boat-page.jr-booking #jr-addons h3{font-size:17px;font-weight:700;line-height:1.35}
.boat-page.jr-booking #jr-addons .field{margin:10px 0}
.boat-page.jr-booking .jr-extra-choice{display:flex;align-items:flex-start;gap:9px;margin-top:14px;font-size:13px;line-height:1.5;cursor:pointer}
.boat-page.jr-booking .jr-extra-choice input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;padding:0;accent-color:#087e86}
@media(max-width:900px){.boat-page.jr-booking [data-jr-panel=passengers] .summary,.boat-page.jr-booking [data-jr-panel=review] .summary{order:2}.boat-page.jr-booking .checkout-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:900px){.boat-page.jr-booking [data-jr-panel=passengers] .summary,.boat-page.jr-booking [data-jr-panel=review] .summary{grid-area:auto}}
/* Match the shared boat checkout cards and controls. */
.boat-page.jr-booking #jr-passenger-form .contact-block{padding:12px;margin:0;background:#fff;border:1px solid #c4dce5;border-top:3px solid #f4510b;border-radius:11px;box-shadow:0 6px 18px #062d450d}
.boat-page.jr-booking #jr-people fieldset{padding:10px;margin:0 0 10px;background:linear-gradient(180deg,#fbfdfe,#f5fafb);border:1px solid #cbdfe6;border-radius:10px;min-width:0}
.boat-page.jr-booking #jr-people fieldset:last-child{margin-bottom:0}
.boat-page.jr-booking #jr-people legend{font-size:14px;font-weight:750;padding:0 6px}
.boat-page.jr-booking .jr-person-row{grid-template-columns:110px minmax(180px,1.8fr) minmax(145px,.9fr) minmax(110px,.8fr) minmax(170px,1.1fr);min-width:755px;gap:10px;align-items:start}
.boat-page.jr-booking #jr-passenger-form .field{display:grid;gap:6px;align-content:start;font-size:12px;line-height:18px;font-weight:650;color:#234d61}
.boat-page.jr-booking #jr-passenger-form .contact-grid{display:grid;align-items:start;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.boat-page.jr-booking .contact-grid .field{min-width:0;grid-column:auto}
.boat-page.jr-booking #jr-passenger-form .boat-contact-phone>label{margin:0;font-size:12px;line-height:18px;font-weight:650}
.boat-page.jr-booking #jr-passenger-form input,.boat-page.jr-booking #jr-passenger-form select,.boat-page.jr-booking #jr-passenger-form .phone-country__trigger{height:42px;min-height:42px;margin:0;font-size:14px;font-weight:500;line-height:20px;padding:10px 12px;border-color:#b9d1dc;border-radius:8px}
.boat-page.jr-booking #jr-passenger-form select{padding-right:28px}
.boat-page.jr-booking #jr-passenger-form .phone-country{grid-template-columns:82px minmax(0,1fr);gap:0;align-items:stretch;min-width:0}
.boat-page.jr-booking #jr-passenger-form .phone-country__trigger{padding:0 7px;border-radius:8px 0 0 8px;grid-template-columns:19px auto 10px;gap:4px}
.boat-page.jr-booking #jr-passenger-form .phone-country>input[data-phone-number]{border-radius:0 8px 8px 0;min-width:0;width:100%}
.boat-page.jr-booking #jr-passenger-form input::placeholder{font-weight:400;font-size:13px}
.boat-page.jr-booking #jr-addons{border:0;border-top:1px solid #d5e3e9;margin:16px 0 0;padding:16px 0 0}
.boat-page.jr-booking #jr-review-contact strong{overflow-wrap:anywhere}
@media(max-width:1050px){.boat-page.jr-booking #jr-passenger-form .contact-grid{grid-template-columns:1fr}.boat-page.jr-booking .contact-grid>label:last-child{grid-column:auto}}

/* Shared checkout responsive rhythm and review presentation. */
@media(max-width:1000px){.boat-page.jr-booking #jr-passenger-form .contact-grid{grid-template-columns:1fr 1fr}.boat-page.jr-booking #jr-passenger-form .contact-grid>label:last-child{grid-column:1/-1}}
@media(max-width:600px){.boat-page.jr-booking #jr-passenger-form .contact-grid{grid-template-columns:1fr}.boat-page.jr-booking #jr-passenger-form .field,.boat-page.jr-booking #jr-passenger-form .boat-contact-phone>label{font-size:14px}.boat-page.jr-booking #jr-passenger-form input,.boat-page.jr-booking #jr-passenger-form select,.boat-page.jr-booking #jr-passenger-form .phone-country__trigger{height:44px;min-height:44px;font-size:16px}}
.boat-page.jr-booking #jr-passenger-form .awt-date-picker__display{padding-right:38px}
.boat-page.jr-booking #jr-passenger-form .awt-date-picker__heading select{padding:4px;min-height:32px;height:32px}

.boat-page.jr-booking .jr-person-scroll{padding-bottom:2px}


/* Compact trip identity, followed by itemised unit prices, as in Ferry checkout. */
.boat-page.jr-booking .jr-summary-trip{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;padding:12px;border:1px solid #c4dce5;border-radius:9px;background:linear-gradient(180deg,#fbfdfe,#f5fafb)}
.boat-page.jr-booking .jr-summary-trip>div{min-width:0}
.boat-page.jr-booking .jr-summary-trip strong{display:block;font-size:14px;line-height:1.35;color:#062d45}
.boat-page.jr-booking .jr-summary-trip small{display:block;margin-top:3px;font-size:12px;color:#536d77}
.boat-page.jr-booking .summary .jr-summary-date{display:grid;grid-template-columns:1.1fr 1fr;grid-column:1/-1;gap:12px;margin:0}
.boat-page.jr-booking .summary .jr-summary-date>div{padding:0}
.boat-page.jr-booking .summary .jr-summary-date dd{font-weight:600}
.boat-page.jr-booking .summary .jr-fare-breakdown{display:block;margin:12px 0 0}
.boat-page.jr-booking .summary .jr-fare-breakdown>div{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:8px 0;border-bottom:1px solid #e5edef}
.boat-page.jr-booking .summary .jr-fare-breakdown dt{margin:0;font-size:13px;color:#234d61;font-weight:600}
.boat-page.jr-booking .jr-fare-breakdown dt small{display:block;margin-top:3px;color:#536d77;font-size:12px;font-weight:400}
.boat-page.jr-booking .summary .jr-fare-breakdown dd{white-space:nowrap;font-weight:600}
.boat-page.jr-booking .summary .jr-fare-breakdown .jr-free-fare{border:0;padding-bottom:0}

/* Marine park guide: shared boat journey layout, with a larger geographic diagram. */
#jr-seo-guide[hidden]{display:none!important}
.boat-page.jr-booking .jr-park-journey .journey-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px}
.boat-page.jr-booking .jr-park-journey .journey-map{max-width:620px;width:100%;margin:0 auto}
.boat-page.jr-booking .jr-park-copy p{font-size:14px;line-height:1.6;color:#526979}
.boat-page.jr-booking .jr-park-overview{margin:0 0 20px}
.boat-page.jr-booking .jr-island-choice{border-top:1px solid #dce7e8;padding-top:14px;margin:18px 0 0}
.boat-page.jr-booking .journey-stops .jr-jolly-key{background:#e8f0fb;color:#2465ad}
@media(max-width:850px){.boat-page.jr-booking .jr-park-journey .journey-layout{grid-template-columns:1fr;gap:18px}}

.boat-page.jr-booking .jr-park-journey .jr-road-key{color:#a87338;font-size:20px}.boat-page.jr-booking .jr-park-journey .jr-sea-key{color:#2465ad;font-size:22px;margin-left:8px}

/* Related journeys: crawlable, compact booking links. */
.boat-page.jr-booking .jr-plan-more{margin:28px 0;padding:24px;background:linear-gradient(120deg,#e2f3f3,#f0f6fc);border:1px solid #b9d5dd;border-radius:14px}
.boat-page.jr-booking .jr-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.boat-page.jr-booking .jr-plan-heading .eyebrow{color:#087a83;font-size:11px;margin:0 0 5px}
.boat-page.jr-booking .jr-plan-heading h2{font-size:23px;margin:0 0 6px}
.boat-page.jr-booking .jr-plan-heading p:not(.eyebrow){font-size:14px;line-height:1.5;color:#536979;margin:0}
.boat-page.jr-booking .jr-plan-call{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:10px 14px;border:1px solid #bed2de;border-radius:10px;background:#fff;color:#123f64;text-decoration:none}
.boat-page.jr-booking .jr-plan-call svg{width:23px;height:23px;color:#087e86}
.boat-page.jr-booking .jr-plan-call small{display:block;font-size:12px;color:#536979;margin-bottom:3px}
.boat-page.jr-booking .jr-plan-call strong{font-size:15px;white-space:nowrap}
.boat-page.jr-booking .jr-trip-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.boat-page.jr-booking .jr-trip-link{display:flex;align-items:flex-start;gap:12px;padding:18px 15px;border:1px solid #cadde5;border-radius:11px;background:#fff;color:#123f64;text-decoration:none;box-shadow:0 3px 10px #123f6405;transition:border-color .15s,box-shadow .15s}
.boat-page.jr-booking .jr-trip-link:hover{border-color:#087e86;box-shadow:0 4px 14px #123f6412}
.boat-page.jr-booking .jr-trip-link:focus-visible,.boat-page.jr-booking .jr-plan-call:focus-visible{outline:3px solid #0768b2;outline-offset:3px}
.boat-page.jr-booking .jr-trip-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;background:#eaf5f5;color:#087e86;border-radius:10px}
.boat-page.jr-booking .jr-trip-icon svg{width:28px;height:28px}
.boat-page.jr-booking .jr-trip-copy{min-width:0;flex:1}
.boat-page.jr-booking .jr-trip-copy small{font-size:11px;color:#627685}
.boat-page.jr-booking .jr-trip-copy h3{font-size:16px;line-height:1.4;margin:4px 0 6px}
.boat-page.jr-booking .jr-trip-copy p{font-size:12px;line-height:1.5;color:#536979;margin:0 0 12px}
.boat-page.jr-booking .jr-trip-action{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#0066a8;font-weight:600}
@media(max-width:1000px){.boat-page.jr-booking .jr-trip-link{display:block}.boat-page.jr-booking .jr-trip-icon{width:34px;height:34px;margin-bottom:9px}}
@media(max-width:600px){.boat-page.jr-booking .jr-plan-more{padding:16px}.boat-page.jr-booking .jr-plan-heading{display:block}.boat-page.jr-booking .jr-plan-heading h2{font-size:21px}.boat-page.jr-booking .jr-plan-call{display:inline-flex;margin-top:14px}.boat-page.jr-booking .jr-trip-links{grid-template-columns:1fr;gap:10px}.boat-page.jr-booking .jr-trip-link{display:flex;padding:14px;gap:12px}.boat-page.jr-booking .jr-trip-icon{margin:0}.boat-page.jr-booking .jr-trip-copy h3{margin-top:2px}.boat-page.jr-booking .jr-trip-copy p{margin-bottom:9px}}

.boat-page.jr-booking .jr-plan-more{scroll-margin-top:140px}

/* Infant fare belongs alongside the per-person price for each class. */
.boat-page.jr-booking .jr-class-fare .jr-result-infants{display:block;margin-top:4px;color:#18705d;font-size:11px;font-weight:600;line-height:1.35;white-space:nowrap}

.boat-page.jr-booking .jr-person-row .field{min-width:0}
.boat-page.jr-booking .jr-person-row .jr-field-label{display:block;padding-inline:12px;overflow-wrap:anywhere}
.boat-page.jr-booking .jr-person-row [aria-invalid="true"]{border-color:#b42318;background:#fff8f7}

.boat-page.jr-booking #jr-passenger-form #jr-addons{margin:12px 0 0;padding:12px;border:1px solid #c4dce5;border-top:3px solid #08958f;border-radius:12px;background:#fff}
.boat-page.jr-booking #jr-addons .boat-detail-heading p{margin:3px 0 0;font-size:12px}
.jr-meal-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;max-width:100%}
.boat-page.jr-booking #jr-addons .jr-meal-choices .field{margin:0;min-width:0}
.boat-page.jr-booking #jr-addons .jr-extra-choice{padding:12px;border:1px solid #d4e4eb;border-radius:8px;background:#f7fbfc;margin:12px 0 0}
.boat-page.jr-booking #jr-addons .jr-extra-choice input{width:18px;height:18px;min-height:18px;padding:0}
.jr-extra-choice small{display:block;margin-top:3px;color:#536a7a;font-size:12px}



.boat-page.jr-booking .jr-result-class .jr-class-meal{margin:5px 0 0;font-size:11px;line-height:1.45;color:#536a7a;overflow-wrap:normal}

.boat-page .boat-selection-notice{display:flex;align-items:center;gap:14px;padding:12px 16px;margin:0 0 16px;border:1px solid #83cfca;border-radius:10px;background:#effbf9;font-size:13px}
.boat-page .boat-selection-notice>div{flex:1}.boat-page .boat-selection-notice p{font-size:12px;margin-top:3px}
.boat-page #boat-selection-time{padding:8px 12px;background:#087e86;color:white;border-radius:7px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.boat-page .boat-selection-notice.is-expired{background:#fff4f3;border-color:#efa5a0}.boat-page .is-expired #boat-selection-time{background:#ac322b}
.boat-page #boat-selection-reselect{border:0;border-radius:7px;padding:9px 12px;background:#ac322b;color:white;font:inherit;font-weight:600}
@media(max-width:650px){.boat-page .boat-selection-notice{flex-wrap:wrap;gap:9px;padding:12px}.boat-page .boat-selection-notice>div{flex-basis:100%}}

.boat-page.jr-booking #jr-addons .jr-meal-choices select{font-size:13px;padding-left:10px;padding-right:28px}
