/* AddisLink cosmetic-only layer; intentionally scoped to existing booking shortcode */
.tabbed-booking-wrapper{--al-blue:#087fba;--al-dark:#123e5b;--al-line:#d7e7f0;--al-pale:#f3f9fd;gap:24px!important;align-items:flex-start;max-width:1200px;margin:12px auto 30px;font-family:inherit;color:var(--al-dark)}
.tabbed-booking-wrapper *, .tabbed-booking-wrapper *::before,.tabbed-booking-wrapper *::after{box-sizing:border-box}
.tabbed-booking-wrapper .booking-tabs{flex:1.35 1 520px;min-width:0;background:#fff;border:1px solid var(--al-line);border-radius:20px;box-shadow:0 12px 32px rgba(19,71,103,.09);overflow:hidden}
.tabbed-booking-wrapper .booking-banner{flex:1 1 300px;min-width:0;position:relative}
.tabbed-booking-wrapper .tab-header{display:grid!important;grid-template-columns:1fr 1fr;margin:0!important;background:#edf6fb;padding:8px;gap:8px}
.tabbed-booking-wrapper .tab-header>div{border:0!important;border-radius:12px;padding:16px 10px!important;background:transparent!important;color:#24516c!important;font-weight:750;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.tabbed-booking-wrapper .tab-header>div.active{background:#087fba!important;color:#fff!important;box-shadow:0 5px 14px rgba(8,127,186,.22)}
.tabbed-booking-wrapper .tab-header>div:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
.tabbed-booking-wrapper .tab-content{border:0!important;padding:clamp(16px,3vw,28px)!important;background:#fff}
.tabbed-booking-wrapper .tab-content form{max-width:100%;line-height:1.5}
.tabbed-booking-wrapper .tab-content label{display:block;margin:13px 0 5px;font-weight:650;color:#234d68;font-size:14px}
.tabbed-booking-wrapper .tab-content input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=submit]),
.tabbed-booking-wrapper .tab-content select,
.tabbed-booking-wrapper .tab-content textarea{max-width:100%;width:100%;min-height:44px;padding:10px 12px;border:1px solid #c8dce9;border-radius:10px;background:#fff;color:#163f59;font:inherit;box-shadow:none}
.tabbed-booking-wrapper .tab-content textarea{min-height:90px;resize:vertical}
.tabbed-booking-wrapper .tab-content input[type=file]{padding:9px!important}
.tabbed-booking-wrapper .tab-content input:focus-visible,.tabbed-booking-wrapper .tab-content select:focus-visible,.tabbed-booking-wrapper .tab-content textarea:focus-visible{outline:2px solid #087fba;outline-offset:1px;border-color:#087fba}
.tabbed-booking-wrapper .tab-content input[type=submit],.tabbed-booking-wrapper .tab-content button[type=submit]{background:#087fba;color:#fff;border:0;border-radius:11px;padding:13px 24px;font:inherit;font-weight:750;min-height:46px;cursor:pointer;margin-top:15px;max-width:100%;box-shadow:0 5px 14px rgba(8,127,186,.18)}
.tabbed-booking-wrapper .tab-content input[type=submit]:hover,.tabbed-booking-wrapper .tab-content button[type=submit]:hover{background:#056796}
.tabbed-booking-wrapper .tab-content .select2-container{max-width:100%!important;width:100%!important}
.tabbed-booking-wrapper .tab-content .select2-container .select2-selection{min-height:44px;border:1px solid #c8dce9;border-radius:10px;display:flex;align-items:center}
.tabbed-booking-wrapper .booking-banner .swiper{border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(19,71,103,.10)}
.tabbed-booking-wrapper .booking-banner .swiper img{display:block;width:100%;height:auto;border-radius:0}
.tabbed-booking-wrapper .tab-content .g-recaptcha,.tabbed-booking-wrapper .tab-content .recaptcha-placeholder{max-width:100%;overflow-x:auto}
@media(max-width:900px){.tabbed-booking-wrapper{display:block!important}.tabbed-booking-wrapper .booking-tabs{margin-bottom:20px}.tabbed-booking-wrapper .booking-banner{max-width:650px;margin:auto}}
@media(max-width:480px){.tabbed-booking-wrapper .tab-header>div{font-size:14px;padding:13px 6px!important}.tabbed-booking-wrapper .tab-content{padding:15px!important}.tabbed-booking-wrapper .tab-content input[type=submit]{width:100%}}

/* v1.0.1 mobile refinements: leave form controls and Select2 initialization intact. */
.tabbed-booking-wrapper .tab-content form > label,
.tabbed-booking-wrapper .tab-content form label:not(.trip-tabs label){text-align:left!important;line-height:1.35;margin:12px 0 5px!important;letter-spacing:normal!important}
.tabbed-booking-wrapper .tab-content form input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=submit]),
.tabbed-booking-wrapper .tab-content form select:not(.select2-hidden-accessible),
.tabbed-booking-wrapper .tab-content form textarea{height:auto;min-height:42px!important;padding:9px 11px!important;margin-bottom:4px!important;line-height:1.4!important}
/* Select2 hides its native select for accessibility; broad theme/plugin CSS must not expose it. */
.tabbed-booking-wrapper .tab-content select.select2-hidden-accessible{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.tabbed-booking-wrapper .tab-content .select2-container--default .select2-selection--single{height:43px!important;min-height:43px!important;padding:0 8px!important;display:flex!important;align-items:center!important}
.tabbed-booking-wrapper .tab-content .select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:5px!important;padding-right:22px!important;line-height:40px!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tabbed-booking-wrapper .tab-content .select2-container--default .select2-selection--single .select2-selection__arrow{height:41px!important;top:0!important;right:5px!important}
.tabbed-booking-wrapper .tab-content .trip-tabs{display:flex!important;flex-wrap:wrap;gap:6px!important;margin:12px 0 14px!important}
.tabbed-booking-wrapper .tab-content .trip-tabs label{font-size:13px!important;padding:9px 12px!important;margin:0!important;line-height:1.25!important;text-align:center!important;flex:1 1 auto}
.tabbed-booking-wrapper .tab-content .trip-tabs input[type=radio]:checked+label{background:#087fba!important;color:#fff!important}
@media(max-width:600px){
.tabbed-booking-wrapper .tab-content{padding:14px!important}
.tabbed-booking-wrapper .tab-content form>label{font-size:13px!important}
.tabbed-booking-wrapper .tab-header>div{padding:12px 6px!important;font-size:15px!important}
.tabbed-booking-wrapper .tab-content .trip-tabs label{font-size:12px!important;padding:9px 6px!important}
}
