/* Scoped presentation: existing site, prices and booking rules are preserved. */
.tt-catalog-filter,.tt-booking-help{font-family:Arial,Helvetica,sans-serif;color:#263647;box-sizing:border-box;background:#fff;border:1px solid #e1e7ed;box-shadow:0 8px 28px rgba(24,52,78,.045);border-radius:18px}
.tt-catalog-filter{padding:22px 24px;margin:0 0 26px}.tt-catalog-filter-fields{display:grid;grid-template-columns:minmax(180px,1.35fr) repeat(3,minmax(130px,1fr)) auto;gap:16px;align-items:end}.tt-catalog-filter-fields label{min-width:0;gap:8px;font-size:13px;line-height:1.4;font-weight:500;color:#526273}.tt-catalog-filter-fields input,.tt-catalog-filter-fields select{height:48px;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #dce3ea;border-radius:10px;color:#263647;background:#fafbfd;font:400 16px/1.4 Arial,Helvetica,sans-serif;box-shadow:none}.tt-catalog-filter-fields input::placeholder{color:#778493;opacity:1}.tt-catalog-filter-fields button{height:48px;min-height:48px;width:auto;padding:0 8px;background:transparent;color:#526273;border:0;border-radius:8px;font-size:14px;box-shadow:none}.tt-catalog-filter-fields button:hover{color:#1267a6;background:#f1f6fa}.tt-catalog-filter [data-tt-count]{font-size:15px;font-weight:700;margin:18px 0 3px}.tt-catalog-filter .tt-catalog-filter-note{font-size:13px;color:#647282;line-height:1.5;margin:0}.tt-catalog-filter [data-tt-empty]{font-size:14px;margin:12px 0 0}
.tt-booking-help{padding:28px;margin:24px 0;clear:both}.tt-booking-help h2,.tt-booking-help h3,.tt-booking-help h4{font-family:Arial,Helvetica,sans-serif;color:#233c54;font-weight:700;letter-spacing:0}.tt-booking-help h2{font-size:26px;line-height:1.25;margin:0 0 24px}.tt-booking-help h3{font-size:19px;line-height:1.4;margin:26px 0 14px}.tt-booking-help p{font-size:15px;line-height:1.65;margin:0 0 12px}.tt-booking-help a:not(.button){color:#17699e;text-decoration:none}.tt-booking-help a:not(.button):hover{text-decoration:underline}.tt-booking-help .tt-selected-date{display:block;width:fit-content;max-width:100%;padding:10px 14px;background:#edf5fc;border-radius:9px;font-size:14px;margin-bottom:18px}.tt-program-facts{grid-template-columns:minmax(130px,.7fr) minmax(0,1.5fr) minmax(0,1fr);gap:16px;border:0;padding:0;margin:0 0 26px}.tt-program-facts>div{padding:18px;background:#f6f8fa;border:1px solid #e9eef2;border-radius:12px;min-width:0}.tt-program-facts dt{font-size:13px;line-height:1.5;color:#647282;font-weight:500}.tt-program-facts dd{font-size:15px;line-height:1.65;margin:8px 0 0}.tt-rate-table-wrap{margin:0;border:1px solid #e1e7ed;border-radius:12px;overflow:auto}.tt-rate-table{margin:0;border:0;table-layout:fixed}.tt-rate-table th,.tt-rate-table td{border:0;border-bottom:1px solid #e8edf1;vertical-align:middle;padding:16px 18px;font-size:15px;line-height:1.5}.tt-rate-table tr:last-child th,.tt-rate-table tr:last-child td{border-bottom:0}.tt-rate-table thead th{background:#f6f8fa;color:#647282;font-size:13px;font-weight:500}.tt-rate-table th:first-child{width:56%}.tt-rate-table tbody th{font-weight:500}.tt-rate-table td{font-variant-numeric:tabular-nums}.tt-rate-table input{width:88px;max-width:100%;height:44px;min-height:44px;border:1px solid #cbd7e2;border-radius:8px;padding:8px 10px;background:#fff;color:#263647;font:400 16px Arial}.tt-booking-help .tt-price-summary{background:#f1f7fc;border-radius:12px;padding:18px;margin:14px 0 26px}.tt-booking-help .tt-price-summary p{font-size:13px;color:#526273}.tt-booking-help .tt-price-summary [data-tt-total]{font-size:19px;line-height:1.5;color:#233c54;margin:12px 0;font-weight:700}.tt-price-summary p:last-child{margin-bottom:0}.tt-program-answers{display:block;border-top:1px solid #e1e7ed}.tt-program-answers details{border-bottom:1px solid #e1e7ed;padding:16px 0}.tt-program-answers summary{cursor:pointer;list-style:none;padding-right:30px;position:relative;font-size:16px;font-weight:600;line-height:1.5}.tt-program-answers summary::-webkit-details-marker{display:none}.tt-program-answers summary:after{content:'+';position:absolute;right:3px;color:#17699e;font-size:21px;top:-3px}.tt-program-answers details[open] summary:after{content:'−'}.tt-program-answers details p{max-width:850px;color:#526273;margin:12px 0 0}.tt-meeting{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:28px;align-items:center;background:#f6f8fa;border-radius:14px;padding:22px;margin:28px 0}.tt-meeting h3{margin-top:0}.tt-meeting picture{margin:0;display:block;min-width:0}.tt-meeting img{width:100%;max-width:480px;height:auto;border-radius:10px;margin:0 auto}.tt-booking-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tt-booking-help-grid>div{padding:18px;border:1px solid #e4eaf0;border-radius:12px;min-width:0}.tt-booking-help-grid h3{font-size:16px;margin:0 0 10px}.tt-booking-help-grid p{font-size:14px;margin:0;color:#526273}.tt-booking-actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;border-top:1px solid #e4eaf0;margin-top:24px;padding-top:22px}.tt-booking-help .tt-booking-actions .button{margin:0;background:#176fa9;border:0;border-radius:10px;box-shadow:none;text-shadow:none;padding:13px 22px;font:600 16px/1.4 Arial;color:#fff}.tt-booking-actions>a{font-size:14px}.tt-compare-link{clear:both;margin:18px 0}.tt-compare-link a{display:inline-block;padding:10px 14px;border-radius:9px;background:#f1f6fb;color:#17699e!important;text-decoration:none!important;font:400 14px/1.5 Arial}.tt-booking-help .tt-boat-note{padding:12px 16px;background:#fff8e9;border-radius:10px;color:#67532e;font-size:14px}
.tt-booking-help :focus-visible,.tt-catalog-filter :focus-visible{outline:3px solid #237fba;outline-offset:3px}.tt-booking-help [hidden],.tt-catalog-filter [hidden]{display:none!important}
@media(max-width:1000px){.tt-catalog-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-catalog-filter-fields button{justify-self:start;height:36px;min-height:36px}.tt-program-facts{grid-template-columns:1fr 1fr}.tt-program-facts>div:last-child{grid-column:1/-1}.tt-booking-help-grid{grid-template-columns:1fr}}
@media(max-width:650px){.tt-catalog-filter{padding:18px}.tt-catalog-filter-fields{gap:14px 12px}.tt-catalog-filter-fields label:first-child{grid-column:1/-1}.tt-catalog-filter-fields input,.tt-catalog-filter-fields select{padding:10px;font-size:16px}.tt-booking-help{padding:18px}.tt-booking-help h2{font-size:23px}.tt-program-facts{grid-template-columns:1fr}.tt-program-facts>div:last-child{grid-column:auto}.tt-meeting{grid-template-columns:1fr;gap:18px;padding:16px}.tt-rate-table th:first-child{width:48%}.tt-rate-table th,.tt-rate-table td{padding:12px 8px;font-size:13px;overflow-wrap:anywhere}.tt-rate-table input{width:66px;padding:8px 4px}.tt-booking-actions .button{width:100%;text-align:center}.tt-booking-actions{gap:14px}.tt-program-answers summary{font-size:15px}}

.tt-departure{margin:24px 0;padding:20px 24px;border:1px solid #dfe6ec;border-radius:14px;background:#f6f8fa}.tt-departure p{margin:10px 0;max-width:900px}.tt-departure p:last-child{margin-bottom:0}#tt-rates,#tt-departure{scroll-margin-top:180px}@media(max-width:650px){.tt-departure{padding:16px}}

/* Mobile filter: one aligned column, including Safari's native date control. */
@media(max-width:650px){
 .tt-catalog-filter{padding:18px 16px;border-radius:16px}
 .tt-catalog-filter-fields{grid-template-columns:minmax(0,1fr);gap:14px;align-items:stretch}
 .tt-catalog-filter-fields label{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0;margin:0;font-size:13px;line-height:1.4}
 .tt-catalog-filter-fields label:first-child{grid-column:auto}
 .tt-catalog-filter-fields input,.tt-catalog-filter-fields select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;height:48px;min-height:48px;margin:0;padding:11px 12px;font:400 16px/24px Arial,Helvetica,sans-serif}
 .tt-catalog-filter-fields input[type=date]{appearance:none;-webkit-appearance:none;min-inline-size:0;text-align:left}
 .tt-catalog-filter-fields input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left;line-height:24px;margin:0}
 .tt-catalog-filter-fields input[type=date]::-webkit-datetime-edit{padding:0}
 .tt-catalog-filter-fields button{justify-self:stretch;width:100%;height:44px;min-height:44px;margin:0;padding:0 12px;border:1px solid #e1e7ed;background:#f6f8fa;font-size:14px}
 .tt-catalog-filter [data-tt-count]{margin-top:16px;font-size:15px;line-height:1.4}
}

/* Rates become stacked rows on phones: full-width tariff, then price and quantity. */
@media(max-width:650px){
 .tt-rate-table-wrap{overflow:visible}
 .tt-rate-table{display:block;width:100%;table-layout:auto}
 .tt-rate-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
 .tt-rate-table tbody{display:block;width:100%}
 .tt-rate-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,1fr);gap:12px 16px;padding:16px;border-bottom:1px solid #e8edf1;align-items:center}
 .tt-rate-table tbody tr:last-child{border-bottom:0}
 .tt-rate-table tbody th,.tt-rate-table tbody td{display:block;width:auto;padding:0;border:0;overflow-wrap:normal;word-break:normal;font-size:15px;line-height:1.5}
 .tt-rate-table tbody th:first-child{grid-column:1/-1;width:auto;font-weight:600}
 .tt-rate-table tbody td:nth-child(2){white-space:nowrap}
 .tt-rate-table tbody td[data-label]{justify-self:end;text-align:left}
 .tt-rate-table tbody td[data-label]::before{content:attr(data-label);display:block;margin-bottom:6px;font-size:13px;color:#647282;white-space:nowrap}
 .tt-rate-table tbody input{box-sizing:border-box;display:block;width:88px;max-width:100%;height:44px;margin:0;padding:8px 10px;font-size:16px}
}

.tt-booking-help .tt-payment-terms a{font-style:italic;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
