/* Compact, readable booking area, independent of the tour's original theme. */
.sb-upper-booking{clear:both;flex:0 0 100%;width:100%;max-width:none;margin:36px 0 48px;padding:34px 0;background:#f0f3ed;border-block:1px solid #d6dfd7;box-sizing:border-box;color:#214e4b;font-family:Meiryo,"Noto Sans JP","Yu Gothic",sans-serif;font-size:calc(16px - 2pt);line-height:1.8;scroll-margin-top:100px}
.sb-upper-booking *{box-sizing:border-box}
.sb-upper-inner{width:calc(100% - 48px);max-width:1200px;margin:auto}
.sb-upper-heading{margin-bottom:24px}.sb-upper-heading .sb-upper-eyebrow{font-size:11px;letter-spacing:.14em;color:#8b6a3f;margin:0 0 6px}.sb-upper-heading h2{font:500 25px/1.5 Meiryo,sans-serif;color:#214e4b;margin:0 0 10px}.sb-upper-heading>p:last-child{font-size:calc(16px - 2pt);margin:0}
.sb-upper-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.sb-upper-calendar,.sb-upper-form{min-width:0;max-width:100%}
.sb-upper-calendar #sb-departure-calendar{width:100%;margin:0;scroll-margin-top:110px}
.sb-upper-calendar .sb-departure-calendar{width:100%;max-width:none;margin:0;padding:22px 16px;background:white;font-family:Meiryo,"Noto Sans JP","Yu Gothic",sans-serif}
.sb-upper-calendar .sb-departure-calendar h2{font:500 calc(26px - 2pt)/1.5 Meiryo,sans-serif;margin:0 0 12px}
.sb-upper-calendar .sb-calendar-description,.sb-upper-calendar .sb-calendar-selection,.sb-upper-calendar .sb-departure-current{font-size:calc(16px - 2pt);line-height:1.8;margin-bottom:18px}
.sb-upper-calendar .sb-calendar-note{font-size:12px;line-height:1.8;color:#52655d}
.sb-upper-calendar .sb-calendar-periods{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.sb-upper-calendar .sb-calendar-periods button,.sb-upper-calendar .sb-calendar-months button{font-size:12px;min-height:42px;padding:8px 4px}
.sb-upper-calendar .sb-calendar-months{margin:10px 0 16px;gap:5px}
.sb-upper-calendar .sb-calendar-controls h3{font:500 18px/1.5 Meiryo,sans-serif}.sb-upper-calendar .sb-calendar-controls button{font-size:12px;min-height:40px}
.sb-upper-calendar .sb-calendar-table{width:100%!important;min-width:0!important;table-layout:fixed!important;overflow:visible}
.sb-upper-calendar .sb-calendar-table th{font-size:12px;background:#f1f4ef!important;color:#3b5850;text-align:center;padding:8px 0}
.sb-upper-calendar .sb-calendar-table td{padding:0!important;white-space:normal!important}
.sb-upper-calendar .sb-calendar-day{min-height:96px;padding:7px 4px;gap:3px;overflow:hidden}
.sb-upper-calendar .sb-calendar-number{font-size:14px;font-weight:500;line-height:1.4;margin:0 0 3px}
.sb-upper-calendar .sb-calendar-fare,.sb-upper-calendar .sb-calendar-child{font-size:12px!important;line-height:1.5;white-space:normal;color:#d63f20;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sb-upper-calendar .sb-calendar-fare>span,.sb-upper-calendar .sb-calendar-child>span{font-size:12px!important;white-space:nowrap}
.sb-upper-calendar .sb-calendar-fare small,.sb-upper-calendar .sb-calendar-child small{font-size:10px}.sb-upper-calendar .sb-calendar-fare>.sb-calendar-long-price,.sb-upper-calendar .sb-calendar-child>.sb-calendar-long-price{font-size:10px!important}
.sb-upper-calendar .sb-calendar-peak{font-size:9px;padding:1px 3px}.sb-upper-calendar .sb-calendar-day:disabled .sb-calendar-fare{font-size:10px!important}
.sb-upper-form{background:white;border:1px solid #d6dfd7;padding:22px;color:#214e4b}
.sb-upper-form .sb-upper-booking-unit{display:block!important;max-width:none!important;width:100%!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important}
.sb-upper-form .sb-upper-booking-unit>.wrap,.sb-upper-form .sb-upper-booking-unit>.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.sb-upper-form .booking-grid,.sb-upper-form .booking-layout,.sb-upper-form .form-layout,.sb-upper-form .estimate-layout,.sb-upper-form .booking-form-layout,.sb-upper-form .contact-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
.sb-upper-form .quote-panel{grid-row:auto!important;height:auto}.sb-upper-form .quote-sticky{position:static!important}.sb-upper-form form{max-width:100%;margin-inline:0}
.sb-upper-form p,.sb-upper-form label,.sb-upper-form li,.sb-upper-form dt,.sb-upper-form dd{font-family:Meiryo,"Noto Sans JP","Yu Gothic",sans-serif;font-size:calc(16px - 2pt);line-height:1.8}
.sb-upper-form h2{font-family:Meiryo,sans-serif;font-size:calc(26px - 2pt);line-height:1.6;margin-top:0}.sb-upper-form h3,.sb-upper-form legend{font-family:Meiryo,sans-serif;font-size:17px;line-height:1.6}
.sb-upper-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.sb-upper-form select,.sb-upper-form textarea{font-family:Meiryo,sans-serif;font-size:14px!important;line-height:1.6;min-height:44px;max-width:100%}
.sb-upper-form .sb-form-assist{padding:12px;margin-bottom:20px}.sb-upper-form .sb-form-assist p{margin-top:0}.sb-upper-form .sb-flow-step{margin:0 0 16px;font-size:13px}
.sb-upper-form form button[type=submit],.sb-upper-form #btn-booking,.sb-upper-form #sb-go-cart{width:100%!important;min-height:54px;font-size:15px!important;line-height:1.6;white-space:normal}
.sb-upper-form .sb-hotel-chooser{margin-bottom:24px}.sb-upper-form .sb-hotel-chooser-grid{grid-template-columns:minmax(0,1fr)}
.sb-upper-reserve-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:14px 18px;margin-top:24px;border:1px solid #214e4b;background:#214e4b;color:#fff!important;font:500 15px/1.7 Meiryo,sans-serif;text-decoration:none!important}
.sb-upper-calendar .sb-upper-legacy{display:block!important;opacity:1!important;padding:20px 16px;background:#fff;border:1px solid #d6dfd7;font:400 calc(16px - 2pt)/1.8 Meiryo,sans-serif;max-width:100%;overflow-x:auto}
.sb-upper-calendar .sb-upper-legacy table{width:100%;table-layout:fixed;font-size:13px}.sb-upper-calendar .sb-upper-legacy td{padding:10px 6px;white-space:normal;overflow-wrap:anywhere}.sb-upper-calendar .sb-upper-legacy .btn{font-size:12px;white-space:normal}.sb-upper-calendar .sb-upper-legacy .calendar-day-head{background:#eef2e9;font-weight:500}
@media(max-width:600px){.sb-upper-calendar .sb-upper-legacy table{min-width:640px}.sb-upper-calendar .sb-upper-legacy{padding:14px 8px}}
@media(max-width:1100px){.sb-upper-columns{grid-template-columns:minmax(0,1fr)}.sb-upper-inner{max-width:880px}.sb-upper-calendar .sb-calendar-day{padding:9px 7px}.sb-upper-calendar .sb-calendar-fare,.sb-upper-calendar .sb-calendar-child,.sb-upper-calendar .sb-calendar-fare>span,.sb-upper-calendar .sb-calendar-child>span{font-size:13px!important}}
@media(max-width:600px){.sb-upper-booking{padding:24px 0;margin:24px 0 32px}.sb-upper-inner{width:calc(100% - 20px)}.sb-upper-form{padding:16px 12px}.sb-upper-calendar .sb-departure-calendar{padding:18px 8px}.sb-upper-calendar .sb-calendar-periods{grid-template-columns:1fr}.sb-upper-calendar .sb-calendar-periods button{min-height:38px;padding:5px}.sb-upper-calendar .sb-calendar-day{padding:7px 2px;min-height:94px}.sb-upper-calendar .sb-calendar-fare,.sb-upper-calendar .sb-calendar-child,.sb-upper-calendar .sb-calendar-fare>span,.sb-upper-calendar .sb-calendar-child>span{font-size:10px!important}.sb-upper-calendar .sb-calendar-fare>.sb-calendar-long-price,.sb-upper-calendar .sb-calendar-child>.sb-calendar-long-price{font-size:8px!important}.sb-upper-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.sb-upper-form select,.sb-upper-form textarea{font-size:16px!important}.sb-upper-form .fields.two,.sb-upper-form .form-grid{grid-template-columns:minmax(0,1fr)!important}}
@media print{.sb-upper-booking{break-inside:auto;background:white}.sb-upper-columns{display:block}.sb-upper-form{display:none}}

/* A continuous, calm input surface followed by separate supporting information. */
.sb-simple-shell,.sb-simple-form-path,.sb-simple-form{width:100%!important;max-width:none!important;min-width:0;grid-column:1/-1!important}
.sb-simple-form-path{display:block!important;padding:0!important;margin:0!important}
.sb-simple-form{display:block!important;padding:0!important;background:#fff;color:#214e4b;counter-reset:booking-step}
.sb-simple-form fieldset{min-width:0;max-width:100%;margin:0 0 24px!important;padding:18px 18px 22px!important;border:1px solid #d9e2da!important;border-radius:4px;background:#fff}
.sb-simple-form fieldset>legend{float:none;width:auto;padding:0 8px;font:500 16px/1.6 Meiryo,sans-serif;color:#214e4b}
.sb-simple-form .form-grid,.sb-simple-form .fields,.sb-simple-form .two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px 22px!important;align-items:start}
.sb-simple-form .form-grid>fieldset,.sb-simple-form .form-grid>.full,.sb-simple-form .form-grid>.wide,.sb-simple-form .form-grid>.field.full{grid-column:1/-1!important}
.sb-simple-form label{min-width:0;max-width:100%;line-height:1.8!important}
.sb-simple-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.sb-simple-form select,.sb-simple-form textarea{width:100%;max-width:100%;margin-top:5px;border:1px solid #bdccc5;border-radius:3px;background:#fff;color:#203f3b;padding:10px 12px;font:400 14px/1.6 Meiryo,sans-serif}
.sb-simple-form textarea{min-height:94px}.sb-simple-form input[type=checkbox],.sb-simple-form input[type=radio]{width:auto!important;min-height:0!important}
.sb-simple-form .sb-simple-flat-layout{display:block!important}.sb-simple-form .sb-simple-flat-layout>div{width:100%;max-width:none}
.sb-simple-payment{display:grid;grid-template-columns:1fr;gap:16px;margin:18px 0}.sb-simple-payment:empty{display:none}
.sb-simple-payment>.sb-autopay-info{padding:18px!important;margin:0!important;border:1px solid #d9e2da!important;background:#f7f8f3!important}
.sb-simple-payment>.sb-autopay-info h3{font-size:16px!important;margin:0 0 8px!important}
.sb-simple-payment fieldset{margin:0!important}
.sb-simple-optional{border:1px solid #d9e2da;padding:0;margin:18px 0 24px;background:#fafbf8}
.sb-simple-optional>summary{cursor:pointer;padding:15px 18px;color:#214e4b;font-size:14px;list-style-position:inside}
.sb-simple-optional-body{padding:0 18px 18px}.sb-simple-optional-body>label{display:block}
.sb-simple-final{clear:both;display:flex!important;flex-direction:column!important;gap:14px;width:100%!important;margin-top:24px}
.sb-simple-totals{padding:20px 22px;background:#f2f5ef;border:1px solid #c9d8ce;border-radius:4px}
.sb-simple-total-heading{font:500 18px/1.5 Meiryo,sans-serif!important;color:#214e4b!important;margin:0 0 14px!important}
.sb-simple-form .sb-simple-summary{position:static!important;width:100%!important;max-width:none!important;height:auto!important;margin:0 0 16px!important;padding:0!important;box-shadow:none!important;border:0!important;background:transparent!important;color:#214e4b!important}
.sb-simple-form .sb-simple-summary h3,.sb-simple-form .sb-simple-summary h2{color:#214e4b!important;font:500 16px/1.6 Meiryo,sans-serif!important}
.sb-simple-summary dl>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid #dae2db}.sb-simple-summary dd{margin:0;text-align:right;white-space:normal}
.sb-simple-summary output,.sb-simple-summary #quote-total,.sb-simple-summary #q-total,.sb-simple-summary #total,.sb-simple-summary #estimate-total{font-size:24px!important;line-height:1.5;color:#d94824!important}
.sb-simple-form .sb-simple-summary p,.sb-simple-form .sb-simple-summary small,.sb-simple-form .sb-simple-summary dt,.sb-simple-form .sb-simple-summary dd{color:#33554c!important;opacity:1!important}
.sb-simple-form .sb-simple-summary .sb-money-value,.sb-simple-form .sb-simple-summary .sb-money{color:#d94824!important}
.sb-simple-actions{display:block!important;clear:both;width:100%!important;max-width:none!important;margin:4px 0 0!important;grid-column:1/-1!important}
.sb-simple-actions>.sb-simple-submit{display:flex!important;align-items:center;justify-content:center;gap:12px;float:none!important;width:100%!important;max-width:none!important;min-height:58px!important;margin:0!important;padding:16px 20px!important;border:1px solid #20584d!important;border-radius:4px!important;background:#20584d!important;color:white!important;box-shadow:none!important;font:500 17px/1.5 Meiryo,sans-serif!important;white-space:normal!important;text-align:center!important;animation:none!important}
.sb-simple-actions>.sb-simple-submit:disabled{opacity:.55;cursor:not-allowed}
.sb-simple-actions>.sb-simple-submit:hover:not(:disabled){background:#153f37!important}
.sb-simple-details-link{font-size:12px!important;color:#42675d!important;text-underline-offset:3px}
.sb-simple-form .sb-simple-native-grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
.sb-simple-native-grid>[class*=col-]{width:100%!important;max-width:none!important;flex-basis:100%!important}
.sb-simple-form .card{border:0!important;background:transparent!important;box-shadow:none!important}.sb-simple-form .card-body{padding:0!important}
.sb-simple-form .sb-form-assist{padding:12px 14px!important;background:#f5f7f1!important;border:1px solid #dae3d8!important;margin:0 0 24px!important}
.sb-simple-form .sb-form-assist-row{align-items:center}.sb-simple-form .sb-form-assist-message{margin:0!important;font-size:12px!important}
.sb-simple-form .sb-form-draft{padding-top:8px!important;margin-top:8px!important}
.sb-simple-input-help{border:0;padding:0;margin:8px 0 0!important;background:transparent}.sb-simple-input-help>summary{font-size:11px;cursor:pointer;color:#66776d}.sb-simple-input-help p{font-size:11px!important;margin:6px 0!important}
.sb-after-booking{clear:both;width:100%;max-width:1200px;padding:28px 0 0!important;margin:30px auto 0!important;border-top:1px solid #d4ded5;background:transparent!important;scroll-margin-top:110px}
.sb-after-booking-title{font:500 19px/1.6 Meiryo,sans-serif!important;color:#214e4b;margin:0 0 18px!important}
.sb-after-booking-content{display:block!important;max-width:none!important;width:100%!important;color:#52675e;font:400 13px/1.9 Meiryo,sans-serif}
.sb-after-booking-content>section,.sb-after-booking-content>aside,.sb-after-booking-content>div{width:100%!important;max-width:none!important;margin:0 0 18px!important;float:none!important;position:static!important}
.sb-after-booking-content h2,.sb-after-booking-content h3{font-size:16px!important;line-height:1.7!important}.sb-after-booking-content p{font-size:13px!important;line-height:1.9!important}
.sb-after-booking-content .section-heading,.sb-after-booking-content .form-intro{display:block!important}
.sb-simple-confirmation:empty{display:none}.sb-simple-confirmation{width:100%;clear:both}.sb-simple-confirmation section{max-width:100%;margin-top:20px}
.sb-simple-form .sb-two-digit-source{display:none!important}
.sb-simple-form .sb-two-digit-date{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin-top:5px}
.sb-simple-form .sb-two-digit-date select{width:100%!important;margin:0!important;padding-inline:10px!important;min-width:0!important}
.sb-simple-form [hidden],.sb-after-booking [hidden]{display:none!important}
@media(max-width:650px){.sb-simple-form .form-grid,.sb-simple-form .fields,.sb-simple-form .two{grid-template-columns:1fr!important;gap:14px!important}.sb-simple-form fieldset{padding:14px 10px!important}.sb-simple-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.sb-simple-form select,.sb-simple-form textarea{font-size:16px!important}.sb-simple-totals{padding:16px 12px}.sb-simple-summary dl>div{gap:10px}.sb-simple-summary dt{max-width:65%}.sb-simple-actions>.sb-simple-submit{font-size:16px!important}.sb-after-booking{padding-top:22px!important}}
/* Reservation first: compact inputs, 90%-width action, all descriptive content below. */
.sb-simple-form .sb-simple-fields,.sb-simple-form .sb-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 20px!important;align-items:start}
.sb-simple-form .sb-simple-wide{grid-column:1/-1!important}
.sb-simple-form .form-grid,.sb-simple-form .fields,.sb-simple-form .two{gap:12px 20px!important}
#sb-upper-booking .sb-simple-form .form-grid>label:not(:has(textarea)),#sb-upper-booking .sb-simple-form .form-grid>.field:not(:has(textarea)){grid-column:auto!important}
.sb-simple-form fieldset{margin-bottom:16px!important;padding:12px 16px 16px!important}
.sb-simple-form .sb-form-assist{margin-bottom:16px!important;padding:9px 12px!important}
.sb-simple-form .sb-form-assist{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 14px}
.sb-simple-form .sb-form-assist-row,.sb-simple-form .sb-form-draft{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px!important;width:auto!important;margin:0!important;padding:0!important;border:0!important}
.sb-simple-form .sb-form-assist button{min-height:34px!important;padding:6px 10px!important;font-size:12px!important;line-height:1.5!important}
.sb-simple-form .sb-form-assist label{font-size:12px!important;margin:0!important}
.sb-simple-form .sb-simple-input-help,.sb-simple-form .sb-form-assist-message,.sb-upper-heading>p,.sb-after-booking-content>.section-heading,.sb-after-booking-content>.form-intro{display:none!important}
.sb-simple-form .sb-simple-payment{margin:14px 0;gap:10px}.sb-simple-payment>.sb-autopay-info{padding:12px 16px!important}
.sb-simple-final{margin-top:16px;gap:10px}.sb-simple-totals{padding:16px 20px}
.sb-simple-form .sb-simple-summary{margin-bottom:0!important}.sb-simple-form .sb-simple-summary p{margin-top:4px!important;margin-bottom:4px!important}
.sb-simple-form .sb-simple-actions>.sb-simple-submit,#sb-upper-booking .sb-simple-form .sb-simple-actions>.sb-simple-submit{width:90%!important;margin:0 auto!important}
.sb-simple-actions>.sb-simple-submit[hidden],#sb-upper-booking .sb-simple-form .sb-simple-actions>.sb-simple-submit[hidden]{display:none!important}
.sb-after-booking{margin-top:22px!important;padding-top:20px!important}
.sb-booking-in-view .follow-box{display:none!important}
.sb-simple-form .sb-date-range{display:block;font:400 12px/1.6 Meiryo,sans-serif;color:#52675e;margin-top:4px}
@media(max-width:650px){.sb-simple-form .sb-simple-fields,.sb-simple-form .sb-form-grid{grid-template-columns:1fr!important;gap:12px!important}.sb-simple-actions>.sb-simple-submit{width:90%!important}.sb-simple-form fieldset{padding:10px 12px 14px!important}}


/* Small screens: exact compact calendar fares and a single, bounded input column. */
.sb-calendar-mobile-fare,.sb-calendar-mobile-note{display:none}
.sb-booking-in-view .mobile-cta,.sb-booking-in-view .follow-box{display:none!important}
@media(max-width:650px){
 #sb-upper-booking,#sb-upper-booking *{box-sizing:border-box}
 #sb-upper-booking .sb-upper-form,#sb-upper-booking form,#sb-upper-booking fieldset,#sb-upper-booking label,#sb-upper-booking .field,#sb-upper-booking .form-group,#sb-upper-booking .sb-simple-final{min-width:0!important;max-width:100%!important}
 #sb-upper-booking form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),#sb-upper-booking form select,#sb-upper-booking form textarea{min-width:0!important;width:100%!important;max-width:100%!important;font-size:16px!important}
 #sb-upper-booking .sb-simple-fields,#sb-upper-booking .fields,#sb-upper-booking .two,#sb-upper-booking .form-grid,#sb-upper-booking .sb-form-grid{grid-template-columns:minmax(0,1fr)!important}
 #sb-upper-booking .sb-two-digit-date{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
 #sb-upper-booking .sb-two-digit-date select{padding-inline:5px!important}
 #sb-upper-booking .sb-traveller-memory,#sb-upper-booking .sb-memory-row,#sb-upper-booking .sb-form-assist-row,#sb-upper-booking .sb-form-draft-actions{min-width:0;max-width:100%;flex-wrap:wrap}
 #sb-upper-booking .sb-traveller-memory p,#sb-upper-booking .sb-form-draft-note{font-size:11px!important;line-height:1.6!important;margin:5px 0!important}
 #sb-upper-booking p,#sb-upper-booking legend,#sb-upper-booking label,#sb-upper-booking dt,#sb-upper-booking dd,#sb-upper-booking a{overflow-wrap:anywhere}
 #sb-upper-booking .sb-simple-totals{padding:12px!important}
 #sb-upper-booking .sb-simple-summary dl>div{display:block}
 #sb-upper-booking .sb-simple-summary dt{max-width:100%}
 #sb-upper-booking .sb-simple-form .sb-simple-actions>.sb-simple-submit{width:100%!important;margin-inline:0!important;min-height:52px!important;padding:12px!important}
 #sb-upper-booking .sb-calendar-table{width:100%;min-width:0!important;table-layout:fixed}
 #sb-upper-booking .sb-calendar-table td{padding:1px!important;min-width:0}
 #sb-upper-booking .sb-calendar-day{min-width:0;width:100%;padding:5px 0!important;min-height:78px!important;line-height:1.3!important}
 #sb-upper-booking .sb-calendar-day>.sb-calendar-fare,#sb-upper-booking .sb-calendar-day>.sb-calendar-child{display:none!important}
 #sb-upper-booking .sb-calendar-mobile-fare{display:block!important;font:400 clamp(9px,3.2vw,12px)/1.5 Arial,sans-serif!important;letter-spacing:-.3px;color:#d63f20;white-space:nowrap}
 #sb-upper-booking .sb-calendar-mobile-fare>span{display:block!important;white-space:nowrap;font:inherit!important;color:inherit}
 #sb-upper-booking .sb-calendar-mobile-note{display:block!important;margin:7px 0!important;font:400 12px/1.5 Meiryo,sans-serif;color:#52675e}
 #sb-upper-booking .sb-calendar-day:disabled{opacity:.65}
 #sb-upper-booking .sb-calendar-peak{font-size:8px!important;line-height:1.2!important;padding:1px!important;letter-spacing:0}
 #sb-upper-booking .sb-calendar-periods button,#sb-upper-booking .sb-calendar-months button{min-width:0;white-space:normal}
 #sb-upper-booking .sb-calendar-selection,#sb-upper-booking .sb-calendar-note,#sb-upper-booking .sb-calendar-description,#sb-upper-booking .sb-calendar-plan,#sb-upper-booking .sb-departure-current{font-size:12px!important;line-height:1.7!important;margin:8px 0!important;padding:0!important}
 #sb-upper-booking .sb-after-booking-content{overflow-wrap:anywhere}
 body:has(#sb-upper-booking form:focus-within) .mobile-cta{display:none!important}
}

/* Contact details begin the input flow; keep original tour fields in their existing order. */
.sb-simple-form .sb-contact-first{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 20px!important;grid-column:1/-1!important;min-width:0;width:100%;margin:0 0 20px!important;box-sizing:border-box}
.sb-simple-form .sb-contact-first>label,.sb-simple-form .sb-contact-first>.field,.sb-simple-form .sb-contact-first>.form-group,.sb-simple-form .sb-contact-first>.sb-contact-field{grid-column:auto!important;width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box}
.sb-simple-form .sb-contact-empty[hidden]{display:none!important}
@media(max-width:650px){.sb-simple-form .sb-contact-first{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.sb-simple-form .sb-contact-first input{min-width:0!important;max-width:100%!important;width:100%!important;font-size:16px!important}}
