.booking-public{background:#fafbfa;color:#153844}
.booking-public .booking-shell{width:min(1200px,calc(100% - 96px));padding:28px 0 64px}
.booking-public .breadcrumbs{font-size:11px;color:#526d74;margin-bottom:28px}
.booking-public .booking-intro{margin-bottom:28px}
.booking-public .booking-intro h1{font-size:44px;margin:10px 0 14px}
.booking-public .booking-intro>div>p:last-child{font-size:14px;max-width:600px;margin-bottom:0}
.booking-public .booking-text-link{font-size:11px;margin:0}
.booking-public .booking-grid{grid-template-columns:minmax(0,1fr) 300px;gap:26px}
.booking-public .booking-workspace{box-shadow:none;border:1px solid #d8e0de;border-radius:10px}
.booking-public .booking-tabs{padding:0 32px;background:transparent;border-color:#d8e0de;gap:28px}
.booking-public .booking-tabs button{font-size:12px;padding:20px 0 17px;min-height:52px;color:#526d74}
.booking-public .booking-tabs button[aria-selected=true]{border-color:#194958;color:#194958}
.booking-public .booking-workspace [role=tabpanel]{padding:30px 32px 32px}
.booking-public .booking-steps{font-size:11px;border-bottom:1px solid #e2e8e5;padding-bottom:25px;margin-bottom:27px;gap:15px;justify-content:start}
.booking-public .booking-steps li{flex:1;gap:9px}
.booking-public .booking-steps li>span{width:25px;min-width:25px;height:25px;font-size:10px;background:#eef2f0;color:#526d74}
.booking-public .booking-steps .is-current>span{background:#194958;color:white}
.booking-public .booking-steps .is-complete>span{background:#dbe9e2;color:#38685c}
.booking-public .trip-type label{font-size:12px}
.booking-public .booking-field>label{font-size:12px;color:#294b54}
.booking-public .booking-field>label>span{font-size:11px;color:#526d74}
.booking-public .booking-field input:not([type=checkbox]):not([type=radio]),.booking-public .booking-field select,.booking-public .booking-field textarea{border:1px solid #d2ddda;border-radius:5px;font-size:15px;height:52px;color:#254752}
.booking-public .booking-field textarea{height:auto}
.booking-public .booking-field small{font-size:10px;color:#526d74}
.booking-public input[type=radio],.booking-public input[type=checkbox]{accent-color:#194958;width:17px;height:17px;flex-basis:17px}
.booking-public .booking-primary,.booking-public .booking-secondary{border-radius:6px;border-color:#194958;background:#194958;font-size:13px;min-height:52px;padding:14px 24px}
.booking-public .booking-primary:hover{background:#103746}
.booking-public .booking-secondary{background:white;color:#194958}
.booking-public .booking-help{font-size:12px;line-height:1.8}
.booking-public .booking-small{font-size:10px;line-height:1.8}
.booking-public .booking-error{font-size:12px;border-radius:4px}
.booking-public .booking-fallback{font-size:12px;line-height:1.7;background:#edf3f1;padding:15px;margin:18px 0;border-radius:5px}
.booking-fallback a{text-decoration:underline}
.booking-public .booking-aside{border-radius:10px;border:1px solid #dce5e2;background:#edf3f1}
.booking-public .booking-photo{background:#edf3f1}
.booking-public .booking-photo img{height:160px;min-height:0}
.booking-public .booking-photo figcaption{background:#194958;color:white;font-size:10px;min-height:auto;padding:12px 22px}
.booking-public .booking-aside-content{padding:25px}
.booking-public .booking-how{display:block;margin:22px 0}
.booking-public .booking-how strong{font-size:12px;color:#254752}
.booking-public .booking-how p{font-size:11px;margin:6px 0 0;line-height:1.75}
.booking-public .booking-how li{padding-left:25px;margin:0 0 22px}
.booking-public .booking-how li::before{color:#688b82;font-size:10px}
.booking-public .booking-disclosure{font-size:10px;border-color:#d2ddd7;padding-top:18px}
.booking-public .booking-disclosure>strong{font-size:11px}
.booking-public .booking-no-payment{font-size:11px;line-height:2;color:#467565;margin:20px 0}
.booking-public .booking-section-head h2{font-size:34px;line-height:1.15;margin:0}
.booking-public .booking-section-head .eyebrow{font-size:9px;color:#526d74;margin-bottom:12px}
.booking-public .booking-text-button{font-size:11px;color:#194958;min-height:36px}
.booking-public .trip-summary{border:1px solid #dce5e2;background:#f3f6f4;padding:16px 20px;font-size:13px;border-radius:6px;line-height:1.8}
.booking-public .estimate-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.booking-public .estimate-option{display:flex;position:relative;flex-direction:column;padding:0;background:#fff;border:1px solid #d2ddda;border-radius:8px;overflow:hidden;gap:0;align-items:stretch;box-shadow:none}
.booking-public .estimate-option:has(input:checked){border:2px solid #194958;background:#f5f9f6;box-shadow:0 3px 10px #173d4809}
.booking-public .estimate-option:focus-within{outline:3px solid #7aa19a;outline-offset:3px}
.cabin-photo-card{width:100%;height:165px;object-fit:cover;display:block}
.cabin-content{display:flex;flex-direction:column;padding:23px;flex:1;gap:13px}
.cabin-title{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.2}
.booking-public .estimate-option input{flex-shrink:0}
.cabin-tagline{display:block;color:#526d74;font-size:11px;line-height:1.6;min-height:35px}
.booking-public .estimate-option .estimate-price{font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.3;font-weight:400;letter-spacing:-.03em;color:#153844;margin-top:auto}
.booking-public .estimate-price span{display:block;margin:6px 0 0;font:10px Arial,Helvetica,sans-serif;letter-spacing:0;color:#667e82}
.cabin-select-label{display:block;border-top:1px solid #dbe4df;padding-top:14px;font-size:11px;font-weight:600;color:#527278}
.estimate-option:has(input:checked) .cabin-select-label{color:#194958}
.cabin-badge{position:absolute;top:12px;left:12px;padding:7px 9px;border-radius:4px;background:#fff;font-size:9px;color:#254f56;box-shadow:0 2px 10px #15384418}
.booking-public .estimate-option.recommend-option{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;padding:18px 22px;gap:15px;margin-top:0;min-height:82px}
.recommend-option>span{display:flex;flex-direction:column;gap:5px}
.recommend-option strong{font:500 13px Arial,Helvetica,sans-serif}
.recommend-option small{font-size:11px;color:#526d74;line-height:1.6}
.cabin-image-note{font-size:10px;color:#526d74;margin:14px 0 0}
.booking-public .estimate-disclaimer{font-size:11px;line-height:1.8;margin:18px 0}
.booking-public[data-step="2"] .booking-grid{grid-template-columns:minmax(0,1fr)}
.booking-public[data-step="2"] .booking-aside{display:none}
.booking-public[data-step="2"] .booking-steps{max-width:740px}
.booking-public[data-step="2"] .booking-intro,.booking-public[data-step="3"] .booking-intro,.booking-public[data-step="4"] .booking-intro{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.booking-public[data-step="3"] .booking-photo,.booking-public[data-step="4"] .booking-photo{display:none}
.booking-public .contact-intro{font-size:12px;line-height:1.8;color:#526d74;margin:18px 0 27px;max-width:490px}
.booking-public .contact-fields{gap:20px}
.contact-main-fields .email-field{grid-column:1/-1}
.booking-public .trip-extras{margin-top:26px;border-color:#d8e0de}
.booking-public .trip-extras summary{font-size:12px;padding:19px 0}
.booking-public .trip-extras summary>span{font-size:10px}
.booking-public .booking-check-grid label{font-size:11px}
.booking-public .booking-consent{font-size:11px;line-height:1.8;color:#405f68}
.booking-public .request-summary{display:none}
.booking-public #confirmation-submit{width:100%;margin-top:22px}
.booking-public .booking-faq{margin-top:60px;border-color:#d8e0de;gap:70px}
.booking-public .booking-faq h2{font-size:30px}
.booking-public .booking-faq .eyebrow{font-size:9px;color:#526d74}
.booking-public .booking-faq summary{font-size:12px;padding:20px 0;font-weight:500}
.booking-public .booking-faq details p{font-size:11px;line-height:1.9}
.booking-public .booking-success{padding:40px 18px}
.booking-public .booking-success h2{font-size:38px}
.booking-public .booking-success>p:not(.eyebrow){font-size:13px}
.booking-public .booking-success #success-reference{font-size:11px}
#sidebar-summary{border-bottom:1px solid #d2ddd7;padding-bottom:24px;margin-bottom:26px;overflow-wrap:anywhere}
#sidebar-summary h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;margin:0 0 18px;line-height:1.3;letter-spacing:-.025em}
#sidebar-summary p{font-size:11px;color:#526d74;line-height:1.8;margin:8px 0}
#sidebar-summary .sidebar-price{font:25px/1.3 Georgia,serif;color:#153844;margin:16px 0 4px;letter-spacing:-.025em}
#sidebar-summary .sidebar-currency{font-size:10px;margin:0}
@media(max-width:1100px){.booking-public .booking-shell{width:calc(100% - 56px)}.booking-public .booking-grid{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.booking-public .booking-workspace [role=tabpanel]{padding:26px}.booking-public .estimate-options{gap:14px}.cabin-content{padding:18px}.booking-public .estimate-option .estimate-price{font-size:23px}.cabin-photo-card{height:145px}.booking-public .booking-section-head h2{font-size:30px}.booking-public .booking-section-head{flex-wrap:wrap}.booking-public .booking-intro{display:block}}
@media(max-width:850px){.booking-public .booking-grid{grid-template-columns:1fr}.booking-public .booking-aside{display:block}.booking-public .booking-photo{display:none}.booking-public .booking-aside-content{padding:28px}.booking-public .booking-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.booking-public .booking-aside .booking-disclosure{max-width:620px}.booking-public .booking-intro h1{font-size:39px}.booking-public .request-summary{display:block;background:#edf3f1;border-left:2px solid #194958;font-size:11px;line-height:1.8}.booking-public #sidebar-summary{display:none!important}.booking-public .booking-steps{font-size:11px}.booking-public .booking-primary{font-size:13px}.booking-public .booking-faq{gap:35px}}
@media(max-width:680px){.booking-public .booking-shell{width:calc(100% - 32px);padding-top:20px}.booking-public .booking-workspace [role=tabpanel]{padding:23px 19px}.booking-public .booking-tabs{padding:0 19px}.booking-public .estimate-options{grid-template-columns:1fr;gap:14px}.booking-public .estimate-option{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:180px}.cabin-photo-card{width:100%;height:100%;min-height:180px;object-fit:cover}.cabin-content{padding:17px 16px;gap:10px}.cabin-title{font-size:23px}.booking-public .estimate-option .estimate-price{font-size:24px;white-space:normal;overflow-wrap:anywhere}.cabin-tagline{font-size:10px;min-height:0}.cabin-select-label{font-size:10px;padding-top:10px}.cabin-badge{top:auto;bottom:10px;left:7px;font-size:8px;padding:6px 7px;max-width:98px}.booking-public .estimate-option.recommend-option{padding:18px 16px;min-height:92px}.booking-public .booking-section-head h2{font-size:31px}.booking-public .booking-section-head .eyebrow{font-size:9px}.booking-public .booking-section-head{display:block}.booking-public .booking-section-head>.booking-text-button{margin-top:10px}.booking-public .booking-intro h1{font-size:35px}.booking-public .booking-intro>div>p:last-child{font-size:13px}.booking-public .booking-steps li{flex-direction:row;align-items:center;max-width:none;font-size:9px;gap:6px}.booking-public .booking-steps{gap:7px;padding-bottom:20px;margin-bottom:24px}.booking-public .booking-steps li>span{width:22px;min-width:22px;height:22px;font-size:9px}.booking-public .booking-field input:not([type=checkbox]):not([type=radio]),.booking-public .booking-field textarea,.booking-public .booking-field select{font-size:16px}.booking-public .contact-fields{grid-template-columns:1fr}.booking-public .booking-help{font-size:12px}.booking-public .trip-summary{font-size:11px;padding:14px}.booking-public .booking-aside-content{padding:24px}.booking-public .booking-how{display:block}.booking-public .booking-how li{margin-bottom:20px}.booking-public .booking-faq{grid-template-columns:1fr;gap:25px;margin-top:40px}.booking-public .booking-primary{width:100%}.booking-public .booking-small{font-size:10px}.booking-public .booking-consent{font-size:11px}.booking-public .booking-preview-notice{font-size:12px}.booking-public .booking-success{padding-inline:0}.booking-public .booking-success h2{font-size:31px}}
@media(max-width:370px){.booking-public .estimate-option{grid-template-columns:88px minmax(0,1fr)}.cabin-badge{left:4px;max-width:80px;font-size:7px}.cabin-content{padding:14px 12px}.booking-public .estimate-option .estimate-price{font-size:21px}.booking-public .booking-steps li{font-size:8px;gap:4px}.booking-public .booking-steps{gap:4px}}

.booking-public input::placeholder,.booking-public textarea::placeholder{color:#526d74;opacity:1}
