.ub{--ub-pink:#ba0068;--ub-pink-dark:#8f145d;--ub-ink:#241b2a;--ub-muted:#71708c;--ub-line:#ebe3ed;--ub-soft:#fcf5fa;--ub-blue:#6d76a3;max-width:1440px;margin:0 auto;padding:20px 30px 64px;color:var(--ub-ink);font-family:inherit;font-size:15px;line-height:1.7}.ub *{box-sizing:border-box}.ub button,.ub input,.ub select{font:inherit}.ub button{cursor:pointer}.ub button:disabled{cursor:not-allowed;opacity:.48}.ub-hero{min-height:230px;border-radius:20px;padding:38px clamp(24px,5vw,76px);background:linear-gradient(90deg,#210b2500 13%,#17071ce8 81%),url('../alsakkaf-booking/assets/hero-1.webp') center/cover;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden}.ub-hero-copy{max-width:680px}.ub-eyebrow{font-size:13px;color:#f1b2d5;font-weight:700}.ub-hero h1{font-size:clamp(27px,3.1vw,42px);line-height:1.35;margin:8px 0 6px;color:#fff}.ub-hero p{margin:0;font-size:16px;color:#f5edf3}.ub-route-line{display:flex;align-items:center;gap:8px;flex:none;color:#f7e4ef;font-size:12px}.ub-route-line i{height:1px;width:38px;background:#e4a2c5}.ub-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;align-items:start;gap:22px;margin-top:20px}.ub-main{min-width:0}.ub-panel{border:1px solid var(--ub-line);border-radius:15px;background:#fff;padding:clamp(18px,2.4vw,30px);box-shadow:0 9px 26px #2f15330b}.ub-progress{display:flex;justify-content:space-between;position:relative;margin:0 8px 18px}.ub-progress:before{position:absolute;content:"";height:2px;background:#ece4ed;right:5%;left:5%;top:19px}.ub-progress>div{display:flex;align-items:center;gap:8px;position:relative;color:var(--ub-muted);background:white;padding-left:7px;font-size:12px}.ub-progress i,.ub-step-number{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f4eef4;color:var(--ub-muted);font-size:16px;font-weight:800;font-style:normal}.ub-progress .is-current{color:var(--ub-pink);font-weight:700}.ub-progress .is-current i,.ub-progress .is-complete i,.ub-step-number{background:var(--ub-pink);color:#fff}.ub-section-head{display:flex;align-items:center;gap:13px;margin:0 0 19px}.ub-section-head h2{font-size:23px;line-height:1.4;color:var(--ub-pink);margin:0}.ub-section-head p{font-size:13px;color:var(--ub-muted);margin:3px 0 0}.ub-step-number{flex:none}.ub-country-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ub-country-card{position:relative;text-align:right;padding:7px;border:1px solid var(--ub-line);border-radius:11px;background:white;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}.ub-country-card img{display:block;width:100%;height:105px;object-fit:cover;border-radius:7px}.ub-country-card strong{position:absolute;bottom:14px;right:16px;background:white;padding:2px 13px;color:var(--ub-pink);border-radius:20px;font-size:15px}.ub-country-card:hover,.ub-country-card.is-selected{border-color:var(--ub-pink);box-shadow:0 7px 20px #ad00531a;transform:translateY(-2px)}.ub-country-card.is-locked{opacity:.66;filter:saturate(.65)}.ub-types-heading{margin-top:29px}.ub-types-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ub-type-card{display:flex;align-items:center;gap:13px;width:100%;min-height:91px;text-align:right;padding:15px 17px;border:1px solid var(--ub-line);border-radius:12px;background:var(--ub-soft);transition:transform .18s,border-color .18s,background .18s}.ub-type-card:hover{border-color:#d6a1bd;transform:translateY(-2px);background:#fff}.ub-type-card>span:nth-child(2){display:grid;gap:2px;flex:1}.ub-type-card strong{font-size:16px;color:var(--ub-pink)}.ub-type-card small{font-size:12px;color:var(--ub-muted)}.ub-type-icon,.ub-arrow{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#fff;border-radius:50%;color:var(--ub-pink);font-size:23px}.ub-arrow{width:30px;height:30px;background:transparent;font-size:17px}.ub-transport-types[hidden],.ub-panel[hidden]{display:none}.ub-inline-back{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 17px;color:var(--ub-muted);font-size:13px}.ub-link{padding:5px 0;background:transparent;border:0;color:var(--ub-pink);font-weight:700}.ub-transport-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;animation:ub-enter .24s ease-out}.ub-transport-type{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--ub-line);border-radius:10px;background:#fff;text-align:right}.ub-transport-type:hover{border-color:var(--ub-pink);background:var(--ub-soft)}.ub-transport-type b{color:var(--ub-pink)}.ub-transport-type small{display:block;color:var(--ub-muted)}@keyframes ub-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ub-customer-fields label,.ub-detail-form>label{display:grid;gap:4px;font-size:12px;font-weight:700;color:var(--ub-muted);white-space:nowrap}.ub-detail-form input,.ub-detail-form select,.ub-detail-form textarea,.ub-customer-fields input{height:42px;padding:0 12px;min-width:140px;border:1px solid var(--ub-line);border-radius:7px;background:#fff;color:var(--ub-ink);outline:none}.ub-city-filters{display:flex;gap:8px;overflow:auto;padding:1px 1px 13px;margin-bottom:8px;scrollbar-width:thin}.ub-city-filters button{flex:none;padding:6px 15px;border:1px solid var(--ub-line);border-radius:22px;background:#fff;color:var(--ub-muted);white-space:nowrap}.ub-city-filters button.is-active{border-color:var(--ub-pink);background:var(--ub-pink);color:#fff}.ub-results-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ub-muted);margin-bottom:9px}.ub-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.ub-product-card{overflow:hidden;border:1px solid var(--ub-line);border-radius:12px;background:#fff;transition:transform .18s,box-shadow .18s,border-color .18s}.ub-product-card:hover{transform:translateY(-3px);border-color:#d4aec4;box-shadow:0 10px 23px #27132810}.ub-product-card img{display:block;width:100%;height:150px;object-fit:cover;background:#faf5f8}.ub-product-copy{padding:12px;display:flex;flex-direction:column;min-height:126px}.ub-product-copy h3{font-size:15px;line-height:1.5;margin:0;color:var(--ub-ink)}.ub-product-copy p{font-size:12px;color:var(--ub-muted);margin:4px 0 8px;min-height:25px}.ub-product-meta{display:flex;justify-content:space-between;gap:5px;color:var(--ub-muted);font-size:11px;margin-top:auto}.ub-card-select{width:100%;min-height:39px;margin-top:10px;border:0;border-radius:7px;background:var(--ub-pink);color:#fff;font-size:13px;font-weight:700}.ub-empty{text-align:center;padding:35px;color:var(--ub-muted)}.ub-inline-actions{display:flex;justify-content:space-between;gap:11px;margin-top:21px}.ub-button{min-height:47px;padding:10px 19px;border:1px solid transparent;border-radius:8px;font-weight:700;transition:filter .15s}.ub-button-primary{background:var(--ub-pink);color:#fff}.ub-button-outline{background:#fff;border-color:var(--ub-line);color:var(--ub-ink)}.ub-button:hover:not(:disabled){filter:brightness(.96)}.ub-selected-product{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:10px;border:1px solid var(--ub-line);border-radius:10px;background:var(--ub-soft)}.ub-selected-product img{width:100px;height:72px;object-fit:cover;border-radius:7px}.ub-selected-product strong{display:block;font-size:15px;color:var(--ub-pink)}.ub-selected-product small{color:var(--ub-muted)}.ub-detail-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ub-detail-form>label{white-space:normal}.ub-detail-form input,.ub-detail-form select,.ub-detail-form textarea{width:100%;min-width:0}.ub-detail-form textarea{height:82px;padding:9px 12px;resize:vertical}.ub-detail-form .ub-field-full{grid-column:1/-1}.ub-detail-form .ub-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ub-cart-list{display:grid;gap:9px}.ub-cart-item{display:grid;grid-template-columns:82px 1fr auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--ub-line);border-radius:10px}.ub-cart-item img{width:82px;height:67px;object-fit:cover;border-radius:7px}.ub-cart-item h3{font-size:14px;margin:0}.ub-cart-item p{font-size:12px;color:var(--ub-muted);margin:3px 0}.ub-remove-item{padding:7px 10px;border:1px solid #eddbe7;border-radius:6px;background:#fff;color:#a32168;font-size:12px}.ub-customer-card{margin-top:17px;padding:17px;border:1px solid var(--ub-line);border-radius:11px;background:#fff}.ub-customer-card h3{margin:0 0 12px;color:var(--ub-pink)}.ub-customer-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ub-customer-fields input{min-width:0;width:100%}.ub-sidebar{position:sticky;top:18px}.ub-summary-panel{padding:19px}.ub-summary-panel .ub-section-head h2{font-size:20px}.ub-summary-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ub-pink);background:var(--ub-soft);font-size:25px}.ub-summary-country{padding:9px 11px;border-radius:7px;background:var(--ub-soft);color:var(--ub-pink);font-weight:700}.ub-summary-items{display:grid;gap:9px;max-height:44vh;overflow:auto;padding:12px 0}.ub-summary-item{font-size:12px;color:var(--ub-ink);border-bottom:1px solid #f1ebf1;padding-bottom:7px}.ub-summary-item span{display:block;color:var(--ub-muted);font-size:11px}.ub-summary-total{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--ub-line);font-weight:700}.ub-summary-total strong{color:var(--ub-pink);font-size:14px}.ub-full{width:100%}.ub-assurance{margin-top:13px;padding:11px 12px;border-radius:8px;background:var(--ub-soft);display:grid}.ub-assurance b{font-size:12px;color:var(--ub-pink)}.ub-assurance small{font-size:11px;color:var(--ub-muted)}.ub-confirmation{text-align:center;padding:45px 25px}.ub-success-icon{display:grid;place-items:center;margin:0 auto 12px;width:64px;height:64px;border-radius:50%;background:var(--ub-soft);color:var(--ub-pink);font-size:36px;font-weight:800}.ub-confirmation h2{color:var(--ub-pink);font-size:24px}.ub-confirmation>p{color:var(--ub-muted)}.ub-reference{display:grid;justify-items:center;gap:4px;margin:18px 0;padding:16px;border:1px solid var(--ub-line);border-radius:10px;background:#fdfafd}.ub-reference>span{font-size:12px;color:var(--ub-muted)}.ub-reference strong{color:var(--ub-pink);font-size:20px;direction:ltr}.ub-reference .ub-status{padding:3px 11px;margin-top:4px;border-radius:20px;background:#fcf0f7;color:var(--ub-pink);font-weight:700}.ub-quote-lines{display:grid;gap:8px}.ub-quote-line{display:flex;justify-content:space-between;gap:15px;padding:11px;border:1px solid var(--ub-line);border-radius:8px;font-size:13px}.ub-quote-line span{color:var(--ub-muted)}.ub-quote-total{display:flex;justify-content:space-between;gap:12px;padding:15px;margin-top:13px;border-radius:9px;background:var(--ub-soft);color:var(--ub-pink);font-weight:700}.ub-quote-total strong{font-size:20px;direction:ltr}.ub-payment-message{text-align:center;color:var(--ub-muted)}.ub-mobile-summary{display:none}.ub-toast{position:fixed;z-index:9999;inset:auto auto 28px 50%;transform:translateX(-50%);padding:11px 20px;border-radius:8px;background:#20202b;color:white;box-shadow:0 8px 25px #0003;font-size:14px;max-width:min(92vw,600px);text-align:center}.ub :focus-visible{outline:3px solid #c4689a;outline-offset:2px}
@media(max-width:1040px){.ub-layout{grid-template-columns:minmax(0,1fr) 305px;gap:14px}.ub{padding-inline:20px}.ub-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ub-hero{min-height:195px}.ub-country-card img{height:88px}}
@media(max-width:700px){.ub{padding:8px 13px 98px}.ub-hero{min-height:180px;padding:24px 20px;border-radius:15px;background-position:60% center}.ub-hero h1{font-size:27px}.ub-hero p{font-size:13px;max-width:360px}.ub-route-line{display:none}.ub-layout{display:block;margin-top:12px}.ub-sidebar{display:none}.ub-panel{padding:17px 14px;border-radius:12px}.ub-progress{margin:0 0 13px}.ub-progress>div{display:grid;justify-items:center;gap:2px;padding:0 2px;background:#fff}.ub-progress>div span{font-size:10px;text-align:center}.ub-progress i,.ub-step-number{width:34px;height:34px;font-size:14px}.ub-progress:before{top:16px}.ub-section-head{gap:10px;margin-bottom:14px}.ub-section-head h2{font-size:19px}.ub-section-head p{font-size:12px}.ub-country-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ub-country-card img{height:79px}.ub-country-card strong{bottom:11px;right:11px;font-size:13px}.ub-types-heading{margin-top:21px}.ub-types-grid,.ub-transport-type-grid{grid-template-columns:1fr;gap:8px}.ub-type-card{min-height:74px;padding:11px}.ub-type-icon{width:38px;height:38px;font-size:19px}.ub-type-card strong{font-size:14px}.ub-type-card small{font-size:11px}.ub-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ub-product-card img{height:112px}.ub-product-copy{min-height:126px;padding:9px}.ub-product-copy h3{font-size:13px}.ub-product-copy p{font-size:11px}.ub-product-meta{font-size:10px}.ub-card-select{min-height:36px;font-size:12px}.ub-detail-form,.ub-customer-fields{grid-template-columns:1fr;gap:10px}.ub-detail-form .ub-field-full{grid-column:auto}.ub-detail-form input,.ub-detail-form select{height:42px}.ub-selected-product img{width:77px;height:61px}.ub-inline-actions{gap:8px;margin-top:15px}.ub-inline-actions>.ub-button{flex:1;padding:9px 10px;font-size:13px;min-height:44px}.ub-cart-item{grid-template-columns:58px 1fr auto;gap:8px;padding:8px}.ub-cart-item img{width:58px;height:54px}.ub-cart-item h3{font-size:12px}.ub-cart-item p{font-size:10px}.ub-remove-item{font-size:10px;padding:5px}.ub-customer-card{padding:13px}.ub-customer-fields{gap:8px}.ub-mobile-summary{position:fixed;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;inset:auto 0 0;padding:11px 14px max(11px,env(safe-area-inset-bottom));border:1px solid var(--ub-line);border-bottom:0;border-radius:13px 13px 0 0;background:#fffffffa;box-shadow:0 -7px 22px #25142c13}.ub-mobile-summary>span{display:grid}.ub-mobile-summary b{font-size:13px;color:var(--ub-pink)}.ub-mobile-summary small{font-size:11px;color:var(--ub-muted)}.ub-mobile-summary button{min-height:41px;padding:7px 13px;border:0;border-radius:7px;background:var(--ub-pink);color:white;font-weight:700;font-size:12px}.ub-quote-total{font-size:12px;padding:12px}.ub-quote-total strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ub *, .ub *::before,.ub *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.ub-custom-options{display:flex;flex-wrap:wrap;gap:9px 15px;margin:0;padding:12px;border:1px solid var(--ub-line);border-radius:9px}.ub-custom-options legend{padding:0 5px;color:var(--ub-pink);font-weight:700}.ub-custom-options label{display:flex;align-items:center;gap:6px;color:var(--ub-ink);font-weight:400}.ub-custom-options input{accent-color:var(--ub-pink)}.ub-cart-actions{display:grid;align-content:start;gap:6px}.ub-summary-item small{display:block;margin-top:3px;color:var(--ub-muted);font-size:11px}.ub-quote-line{flex-wrap:wrap}.ub-quote-line small{flex:0 0 100%;color:var(--ub-muted);line-height:1.6}
.ub .ub-hero{background-image:linear-gradient(90deg,#210b2500 16%,#17071cd6 86%),url('../alsakkaf-booking/assets/unified-booking-hero.webp')}
.ub .ub-country-card{display:block;width:100%;height:auto!important;min-height:0;aspect-ratio:3 / 2;align-self:start}
.ub .ub-country-card img{position:absolute;inset:7px;width:calc(100% - 14px);height:calc(100% - 14px);max-width:none;max-height:none;object-fit:cover}
.ub .ub-country-card strong{z-index:1;bottom:16px;right:16px;max-width:calc(100% - 32px);white-space:nowrap}
.ub .ub-country-card,.ub .ub-country-card:hover,.ub .ub-country-card.is-selected,.ub .ub-country-card:focus,.ub .ub-country-card:focus-visible{background:#fff!important}
.ub .ub-country-card.is-selected{border-color:var(--ub-pink)!important;box-shadow:0 7px 20px #ad00531a}
.ub .ub-summary-add-program{display:grid;place-content:center;justify-items:center;gap:5px;width:100%;min-height:74px;padding:8px;border:1px dashed #d7b5cc;border-radius:11px;background:linear-gradient(135deg,#fff9fc99,#fcf5fa55);color:var(--ub-pink-dark);text-align:center;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}
.ub .ub-summary-add-program:hover{border-color:var(--ub-pink);background:linear-gradient(135deg,#fff7fb,#f9eaf3);box-shadow:0 7px 18px #ad005315;transform:translateY(-1px)}
.ub .ub-summary-add-program-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #e8cede;border-radius:50%;background:#ffffff9c;color:var(--ub-pink);font-size:27px;font-weight:400;line-height:1}
.ub .ub-summary-add-program strong{font-size:12px;font-weight:700}
.ub .ub-summary-add-program small{color:var(--ub-muted);font-size:11px;line-height:1.5}
.ub .ub-summary-add-program:focus-visible{outline:3px solid #c4689a;outline-offset:2px}
body:has(#unified-booking) .sakkaf-global-header .wa-icon{background:#35c86f!important;box-shadow:0 5px 12px rgba(53,200,111,.25)!important}
body:has(#unified-booking) #mobile-menu-01 .sakkaf-mobile-menu-wa,body:has(#unified-booking) #mobile-menu-01 .sakkaf-mobile-menu-wa:hover{background:#fcf5fa!important;border-color:#ead8e5!important;box-shadow:none!important}
body:has(#unified-booking) #mobile-menu-01 .sakkaf-menu-wa-icon{background:#35c86f!important;color:#fff!important}
body:has(#unified-booking) #mobile-menu-01 .sakkaf-mobile-menu-wa:hover .sakkaf-menu-wa-icon{background:#fff!important;color:#35c86f!important}
.ub .ub-country-card::before,.ub .ub-country-card::after{position:absolute;top:14px;left:14px;z-index:2;width:34px;height:34px;opacity:0;pointer-events:none;transform:scale(.2);transition:opacity .14s ease,transform .42s cubic-bezier(.2,1.65,.4,1),box-shadow .42s ease}
.ub .ub-country-card::before{content:"";border-radius:50%;background:#ba0068;box-shadow:0 0 0 0 rgba(186,0,104,.24)}
.ub .ub-country-card::after{content:"✓";display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;line-height:1;transform:scale(.2) rotate(-35deg);transition-delay:.04s}
.ub .ub-country-card.is-selected::before{opacity:1;transform:scale(1);box-shadow:0 0 0 8px rgba(186,0,104,0)}
.ub .ub-country-card.is-selected::after{opacity:1;transform:scale(1) rotate(0)}
.ub .ub-types-heading{scroll-margin-top:120px}
.ub .ub-types-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ub .ub-type-card{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-height:145px;padding:17px 12px;text-align:center}
.ub .ub-type-card>span:nth-child(2){flex:0 0 auto;justify-items:center;gap:2px}
.ub .ub-type-icon{width:50px;height:50px;background:var(--ub-soft);color:var(--ub-pink)}
.ub .ub-type-icon svg{display:block;width:26px;height:26px}
.ub .ub-type-card strong{font-size:15px;line-height:1.5}
.ub .ub-type-card small{font-size:12px;line-height:1.5}
@media(max-width:1040px){.ub .ub-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ub .ub-types-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ub .ub-type-card{min-height:128px;padding:13px 8px;gap:7px}.ub .ub-type-icon{width:44px;height:44px}.ub .ub-type-icon svg{width:23px;height:23px}.ub .ub-type-card strong{font-size:13px}.ub .ub-type-card small{font-size:10px}}
.ub .ub-transport-types:not([hidden]){animation:ub-section-arrive .34s cubic-bezier(.2,.75,.25,1) both;transform-origin:top center}
.ub .ub-transport-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;animation:none}
.ub .ub-transport-type{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;min-width:0;min-height:145px;padding:17px 12px;border-radius:12px;background:var(--ub-soft);text-align:center;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}
.ub .ub-transport-type:hover{transform:translateY(-2px);border-color:#d6a1bd;background:#fff;box-shadow:0 7px 18px #ad005312}
.ub .ub-transport-type>span:nth-child(2){display:grid;justify-items:center;gap:3px;min-width:0}
.ub .ub-transport-type .ub-type-icon{width:50px;height:50px;background:#fff}
.ub .ub-transport-type .ub-type-icon svg{display:block;width:26px;height:26px}
.ub .ub-transport-type b{font-size:15px;line-height:1.5}
.ub .ub-transport-type small{font-size:12px;line-height:1.5}
@keyframes ub-section-arrive{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1040px){.ub .ub-transport-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ub .ub-transport-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ub .ub-transport-type{min-height:128px;padding:13px 8px;gap:7px}.ub .ub-transport-type .ub-type-icon{width:44px;height:44px}.ub .ub-transport-type .ub-type-icon svg{width:23px;height:23px}.ub .ub-transport-type b{font-size:13px}.ub .ub-transport-type small{font-size:10px}}
.ub .ub-types-heading[hidden],.ub .ub-types-grid[hidden],.ub .ub-transport-types[hidden]{display:none}
.ub .ub-progress{align-items:flex-start;min-height:69px}
.ub .ub-progress:before{top:22px;z-index:0}
.ub .ub-progress>button{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:center;gap:7px;min-width:0;min-height:69px;padding:0 4px;border:0;background:transparent;color:var(--ub-muted);font-size:13px;font-weight:700;line-height:1.4;text-align:center}
.ub .ub-progress>button:hover:not(:disabled) span,.ub .ub-progress>button:focus-visible span{color:var(--ub-pink)}
.ub .ub-progress>button>i{display:grid;flex:0 0 44px;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;aspect-ratio:1;border-radius:50%;font-size:16px;line-height:1}
.ub .ub-progress>button>span{font-weight:700}
@media(max-width:700px){.ub .ub-progress{min-height:52px;margin:0 0 13px}.ub .ub-progress:before{top:16px}.ub .ub-progress>button{display:grid;justify-items:center;gap:2px;min-height:52px;padding:0 2px;font-size:10px}.ub .ub-progress>button>i{flex-basis:34px;width:34px;min-width:34px;height:34px;min-height:34px;font-size:14px}}
.ub .ub-sidebar{position:sticky;top:136px;align-self:start;z-index:4}
.ub .ub-summary-panel{max-height:calc(100vh - 152px);overflow-y:auto}
.ub .ub-summary-icon svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ub .ub-summary-total.is-empty{justify-content:center;text-align:center}
@media(max-width:700px){.ub .ub-sidebar{display:none}}
.ub .ub-city-filters{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;max-width:100%;min-height:54px;overflow-x:auto;overflow-y:hidden;padding:7px;margin:0 0 16px;border:1px solid var(--ub-line);border-radius:12px;background:#fcf5fa;scrollbar-width:thin;scrollbar-color:#d8b6ca transparent;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.ub .ub-city-filters button{flex:0 0 auto;scroll-snap-align:start}
.ub .ub-city-filters::-webkit-scrollbar{height:6px}
.ub .ub-city-filters::-webkit-scrollbar-thumb{border-radius:6px;background:#d8b6ca}
@media(max-width:700px){.ub .ub-city-filters{min-height:50px;margin-bottom:14px;padding:6px}.ub .ub-city-filters button{padding:6px 13px;font-size:12px}}
.ub button:hover{background-color:var(--ub-soft);border-color:#d6a1bd;color:var(--ub-pink-dark)}
.ub .ub-country-card:hover{background:#fff}
.ub .ub-progress>button:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--ub-pink);box-shadow:none;transform:none}
.ub .ub-city-filters button:hover:not(.is-active){background:#fff;border-color:var(--ub-pink);color:var(--ub-pink)}
.ub .ub-city-filters button.is-active:hover{background:var(--ub-pink);border-color:var(--ub-pink);color:#fff}
.ub .ub-button{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease,filter .2s ease}
.ub .ub-button-primary:hover:not(:disabled),.ub .ub-card-select:hover:not(:disabled),.ub .ub-mobile-summary button:hover:not(:disabled){background:#351846;border-color:#351846;color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(53,24,70,.18);filter:none}
.ub .ub-button-primary:disabled:hover{background:var(--ub-pink);border-color:transparent;color:#fff}
.ub .ub-button-outline:hover:not(:disabled){background:#f4eff8;border-color:#d6a1bd;color:var(--ub-pink-dark)}
.ub .ub-link:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--ub-pink-dark);text-decoration:underline}
.ub .ub-remove-item:hover:not(:disabled){background:var(--ub-soft);border-color:#d6a1bd;color:var(--ub-pink-dark)}
.ub .ub-city-filter-shell{position:relative}
.ub .ub-city-filter-shell[hidden],.ub .ub-city-filters[hidden],.ub .ub-city-filter-guide[hidden]{display:none!important}
.ub [data-vehicle-results][hidden]{display:none!important}
.ub .ub-city-filter-shell.is-guide-active .ub-city-filters{filter:blur(5px);opacity:.48;user-select:none}
.ub .ub-city-filter-guide{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:12px;background:rgba(252,245,250,.48);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);pointer-events:none}
.ub .ub-city-guide-card{display:flex;align-items:center;gap:11px;max-width:100%;padding:8px 12px;border:1px solid #e8c9da;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(88,23,64,.14);pointer-events:auto}
.ub .ub-city-guide-icon{display:grid;flex:0 0 42px;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--ub-soft);color:var(--ub-pink)}
.ub .ub-city-guide-icon svg{display:block;width:25px;height:25px;animation:ub-city-guide-slide 1.25s ease-in-out infinite}
.ub .ub-city-guide-copy{display:grid;gap:1px;min-width:0}
.ub .ub-city-guide-copy strong{color:var(--ub-pink);font-size:13px;line-height:1.5}
.ub .ub-city-guide-copy small{color:var(--ub-muted);font-size:11px;line-height:1.5}
.ub .ub-city-guide-copy b{color:var(--ub-pink-dark)}
.ub .ub-city-guide-dismiss{flex:none;min-height:35px;padding:6px 11px;font-size:12px;white-space:nowrap}
@keyframes ub-city-guide-slide{0%,100%{transform:translateX(5px)}50%{transform:translateX(-5px)}}
@media(max-width:700px){.ub .ub-city-guide-card{gap:7px;padding:6px 8px}.ub .ub-city-guide-icon{flex-basis:36px;width:36px;height:36px}.ub .ub-city-guide-icon svg{width:22px;height:22px}.ub .ub-city-guide-copy strong{font-size:11px}.ub .ub-city-guide-copy small{font-size:10px}.ub .ub-city-guide-dismiss{min-height:32px;padding:5px 8px;font-size:11px}}
.ub .ub-city-filter-shell{opacity:0;transform:translateY(9px);transition:opacity .28s ease,transform .28s ease}
.ub .ub-city-filter-shell.is-visible{opacity:1;transform:translateY(0)}
.ub .ub-city-filter-shell.is-leaving{opacity:0;transform:translateY(-6px);pointer-events:none}
.ub .ub-city-filters{transition:filter .28s ease,opacity .28s ease}
.ub .ub-city-filter-guide{opacity:0;transform:translateY(8px) scale(.98);visibility:hidden;transition:opacity .24s ease,transform .24s ease,visibility 0s linear .24s}
.ub .ub-city-filter-guide.is-visible{opacity:1;transform:none;visibility:visible;transition-delay:0s}
.ub .ub-city-filter-guide.is-leaving{opacity:0;transform:translateY(-5px) scale(.98);visibility:hidden;pointer-events:none}

.ub .ub-summary-panel {
  display:flex;
  flex-direction:column;
  min-height:0;
  height:min(820px,calc(100dvh - 168px));
  max-height:calc(100dvh - 152px);
  overflow:hidden;
}
.ub .ub-summary-panel>.ub-section-head,
.ub .ub-summary-country,
.ub .ub-summary-total,
.ub .ub-summary-panel>[data-open-checkout],
.ub .ub-summary-panel>.ub-assurance {
  flex:0 0 auto;
}
.ub .ub-summary-items {
  display:grid;
  grid-auto-rows:max-content;
  align-content:start;
  gap:9px;
  flex:1 1 auto;
  min-height:0;
  width:100%;
  max-height:none;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#a982a4 #f0e8f2;
  padding:12px 3px 14px 6px;
}
.ub .ub-summary-items::-webkit-scrollbar { width:9px; }
.ub .ub-summary-items::-webkit-scrollbar-track {
  margin:7px 1px;
  border-radius:9px;
  background:#f0e8f2;
}
.ub .ub-summary-items::-webkit-scrollbar-thumb {
  border:2px solid #f0e8f2;
  border-radius:9px;
  background:#a982a4;
}
.ub .ub-summary-items::-webkit-scrollbar-thumb:hover { background:#780b5d; }
.ub .ub-summary-item {
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 28px;
  align-items:center;
  gap:9px;
  min-width:0;
  margin:0;
  padding:9px;
  border:1px solid var(--ub-line);
  border-radius:11px;
  background:linear-gradient(135deg,#fff,#fdfafd);
  box-shadow:0 3px 10px #35113b08;
}
.ub .ub-summary-remove {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  padding:0;
  border:1px solid #f0d9e7;
  border-radius:50%;
  background:#fff;
  color:var(--ub-pink-dark);
  font-size:18px;
  font-weight:700;
  line-height:1;
}
.ub .ub-summary-remove:hover { border-color:var(--ub-pink); background:#fff2f8; color:var(--ub-pink); }
.ub .ub-summary-remove:focus-visible { outline:3px solid #c4689a; outline-offset:2px; }
.ub .ub-summary-item>img,
.ub .ub-summary-image-fallback {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:8px;
  background:var(--ub-soft);
  color:var(--ub-pink);
  font-size:20px;
  object-fit:cover;
}
.ub .ub-summary-copy {
  display:grid;
  gap:3px;
  min-width:0;
}
.ub .ub-summary-copy>strong {
  color:var(--ub-ink);
  font-size:12px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.ub .ub-summary-copy>small {
  display:block;
  margin:0;
  color:var(--ub-muted);
  font-size:10px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.ub .ub-summary-copy>.ub-summary-status {
  width:fit-content;
  padding:3px 7px;
  border:1px solid #eddbe7;
  border-radius:6px;
  background:#fcf5fa;
  color:var(--ub-pink-dark);
}
.ub .ub-summary-empty {
  align-self:center;
  margin:0;
  padding:16px 12px;
  border:1px dashed var(--ub-line);
  border-radius:9px;
  color:var(--ub-muted);
  font-size:12px;
  text-align:center;
}
.ub .ub-summary-total {
  gap:8px;
  margin:0;
  padding:12px 0;
  border-top:1px solid var(--ub-line);
}
.ub .ub-summary-panel>[data-open-checkout] { min-height:46px; }
.ub .ub-summary-panel>.ub-assurance {
  margin-top:10px;
  padding:9px 10px;
}

@media(max-width:1040px) and (min-width:701px) {
  .ub .ub-summary-panel { padding:15px; }
  .ub .ub-summary-item {
    grid-template-columns:40px minmax(0,1fr) 26px;
    gap:7px;
    padding:8px;
  }
  .ub .ub-summary-item>img,
  .ub .ub-summary-image-fallback {
    width:40px;
    height:40px;
  }
}

.ub .ub-country-confirm {
  width:min(480px,calc(100vw - 28px));
  max-width:480px;
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:28px;
  border:1px solid #ead9e7;
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#fff 62%,#fcf5fa 100%);
  color:var(--ub-ink);
  box-shadow:0 26px 85px rgba(36,12,34,.28);
  text-align:center;
}
.ub .ub-country-confirm[open] { display:grid; justify-items:center; gap:13px; animation:ub-confirm-enter .24s cubic-bezier(.2,.8,.25,1) both; }
.ub .ub-country-confirm::backdrop { background:rgba(34,17,35,.52); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); animation:ub-backdrop-enter .2s ease both; }
.ub .ub-country-confirm-icon { display:grid; place-items:center; width:62px; height:62px; border:1px solid #f0d8e7; border-radius:50%; background:#fff4fa; color:var(--ub-pink); box-shadow:0 7px 20px rgba(186,0,104,.1); }
.ub .ub-country-confirm-icon svg { width:30px; height:30px; }
.ub .ub-country-confirm-copy { display:grid; justify-items:center; gap:4px; }
.ub .ub-country-confirm-eyebrow { color:var(--ub-pink-dark); font-size:12px; font-weight:800; }
.ub .ub-country-confirm h2 { margin:0; color:var(--ub-ink); font-size:22px; line-height:1.45; }
.ub .ub-country-confirm-copy p { max-width:370px; margin:0; color:var(--ub-muted); font-size:14px; line-height:1.8; }
.ub .ub-country-confirm-route { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:8px; width:100%; padding:12px 14px; border:1px solid var(--ub-line); border-radius:13px; background:#fff; }
.ub .ub-country-confirm-route span,.ub .ub-country-confirm-route strong { overflow:hidden; color:var(--ub-ink); font-size:13px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.ub .ub-country-confirm-route i { color:var(--ub-pink); font-size:18px; font-style:normal; }
.ub .ub-country-confirm-route small { grid-column:1/-1; padding-top:7px; border-top:1px solid #f2eaf1; color:var(--ub-muted); font-size:11px; }
.ub .ub-country-confirm-route small b { color:var(--ub-pink-dark); }
.ub .ub-country-confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; width:100%; margin-top:2px; }
.ub .ub-country-confirm-actions .ub-button { min-height:46px; padding:9px 11px; font-size:13px; }
.ub .ub-country-confirm-actions .ub-button-outline { background:#fff; }
.ub .ub-country-confirm-danger { border:1px solid #e5a2bb; border-radius:8px; background:#fff4f7; color:#a52e58; font-weight:800; transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s; }
.ub .ub-country-confirm-danger:hover { transform:translateY(-1px); border-color:#b2345f; background:#a52e58; color:#fff; box-shadow:0 7px 18px rgba(165,46,88,.18); }
.ub .ub-country-confirm :focus-visible { outline-color:#bc4382; }
@keyframes ub-confirm-enter { from { opacity:0; transform:translateY(9px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes ub-backdrop-enter { from { opacity:0; } to { opacity:1; } }
@media(max-width:520px) {
  .ub .ub-country-confirm { width:calc(100vw - 24px); padding:23px 18px 18px; border-radius:18px; }
  .ub .ub-country-confirm-icon { width:54px; height:54px; }
  .ub .ub-country-confirm h2 { font-size:19px; }
  .ub .ub-country-confirm-copy p { font-size:12px; }
  .ub .ub-country-confirm-actions { grid-template-columns:1fr; }
  .ub .ub-country-confirm-actions .ub-button { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .ub .ub-country-confirm[open],.ub .ub-country-confirm::backdrop { animation:none; }
}

.ub .ub-count-icon {
  display:grid;
  flex:none;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--ub-soft);
  color:var(--ub-pink);
  font-size:19px;
}
.ub .ub-count-row {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:60px;
  padding:9px 11px;
  border:1px solid var(--ub-line);
  border-radius:12px;
  background:linear-gradient(135deg,#fff 0%,#fdf8fc 100%);
}
.ub .ub-count-row>strong { flex:1; color:var(--ub-ink); font-size:13px; }
.ub .ub-count-row>strong small { color:var(--ub-muted); font-size:11px; font-weight:400; }
.ub .ub-count-control { display:flex; flex:none; align-items:center; gap:8px; }
.ub .ub-count-control button {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--ub-pink);
  color:#fff;
  font-size:0;
  font-weight:700;
  line-height:0;
  transition:transform .16s,background .16s,box-shadow .16s;
}
.ub .ub-count-control button svg { display:block; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.ub .ub-count-control button:first-child { background:#f3eef4; color:var(--ub-ink); }
.ub .ub-count-control button:hover { transform:scale(1.07); box-shadow:0 4px 12px #6c0d6022; }
.ub .ub-count-control output { min-width:16px; color:var(--ub-ink); font-size:15px; font-weight:800; text-align:center; }
.ub .ub-detail-count { grid-column:1/-1; min-height:58px; padding:8px 12px; border-radius:13px; background:#fff; }
.ub .ub-detail-count .ub-count-icon { width:29px; height:29px; border-radius:50%; }
.ub .ub-detail-count .ub-count-icon svg { display:block; width:16px; height:16px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.ub .ub-detail-count .ub-count-control { direction:ltr; gap:9px; }
.ub .ub-detail-count .ub-count-control input[type=number] { width:22px; min-width:22px; height:32px; padding:0; border:0; border-radius:0; background:transparent; color:var(--ub-ink); font-size:15px; font-weight:800; text-align:center; direction:ltr; appearance:textfield; }
.ub .ub-detail-count .ub-count-control input[type=number]::-webkit-inner-spin-button,.ub .ub-detail-count .ub-count-control input[type=number]::-webkit-outer-spin-button { margin:0; appearance:none; }
.ub .ub-detail-count .ub-count-control input[type=number]:focus-visible { outline:2px solid var(--ub-pink); outline-offset:2px; border-radius:4px; }
.ub .ub-vehicle-list-title { margin:0 0 10px; color:var(--ub-ink); font-size:15px; }
.ub .ub-vehicle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.ub .ub-vehicle-card {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  align-items:stretch;
  gap:8px;
  height:auto;
  min-height:0;
  min-width:0;
  padding:10px;
  border:1px solid var(--ub-line);
  border-radius:12px;
  background:#fff;
  color:var(--ub-ink);
  text-align:right;
  white-space:normal;
  transition:transform .17s,border-color .17s,box-shadow .17s,background .17s;
}
.ub .ub-vehicle-card:hover { transform:translateY(-2px); border-color:#dba6c6; box-shadow:0 8px 20px #4b174012; }
.ub .ub-vehicle-card.is-selected { border-color:var(--ub-pink); background:#fffafd; box-shadow:0 0 0 2px #bd00621a; }
.ub .ub-vehicle-card>img,.ub .ub-vehicle-image-fallback { display:grid; place-items:center; width:100%; height:104px; border-radius:8px; background:#f7f1f6; color:var(--ub-pink); object-fit:cover; }
.ub .ub-vehicle-image-fallback { font-size:30px; }
.ub .ub-vehicle-card-copy { display:grid; align-content:start; justify-items:center; gap:3px; width:100%; min-width:0; text-align:center; }
.ub .ub-vehicle-card-copy>* { min-width:0; max-width:100%; }
.ub .ub-vehicle-card-copy strong { display:-webkit-box; overflow:hidden; max-width:100%; color:var(--ub-ink); font-size:13px; line-height:1.4; text-align:center; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ub .ub-vehicle-card-copy small { display:-webkit-box; overflow:hidden; max-width:100%; color:var(--ub-muted); font-size:10px; line-height:1.5; text-align:center; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.ub .ub-vehicle-card-copy .ub-vehicle-price-label { margin-top:3px; }
#unified-booking .ub-vehicle-card-copy>b { color:var(--ub-pink); font-size:16px; font-weight:800 !important; line-height:1.3; text-align:center; direction:ltr; unicode-bidi:isolate; }
.ub .ub-vehicle-radio { position:absolute; top:15px; right:15px; width:18px; height:18px; border:2px solid #c9bac8; border-radius:50%; background:#fff; }
.ub .ub-vehicle-card.is-selected .ub-vehicle-radio { border:5px solid var(--ub-pink); }
.ub .ub-summary-complete { margin-top:5px; padding:4px 8px; border:1px solid #e9d5e5; border-radius:7px; background:#fff; color:var(--ub-pink); font-size:10px; font-weight:700; }
.ub .ub-summary-complete:hover { background:var(--ub-soft); }
.ub .ub-tour-added-dialog {
  position:fixed;
  inset:0;
  width:min(480px,calc(100vw - 28px));
  max-width:480px;
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:30px;
  border:1px solid #ead9e7;
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#fff 62%,#fcf5fa 100%);
  color:var(--ub-ink);
  box-shadow:0 26px 85px rgba(36,12,34,.28);
  text-align:center;
}
.ub .ub-tour-added-dialog[open] { display:grid; justify-items:center; gap:12px; animation:ub-confirm-enter .24s cubic-bezier(.2,.8,.25,1) both; }
.ub .ub-tour-added-dialog::backdrop { background:rgba(34,17,35,.52); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); animation:ub-backdrop-enter .2s ease both; }
.ub .ub-tour-added-close { position:absolute; top:12px; left:12px; display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--ub-line); border-radius:50%; background:#fff; color:var(--ub-pink); font-size:22px; line-height:1; }
.ub .ub-tour-added-icon { display:grid; place-items:center; width:58px; height:58px; border:1px solid #efd5e5; border-radius:50%; background:#fff4fa; color:var(--ub-pink); font-size:30px; font-weight:800; box-shadow:0 7px 20px #ba00681a; }
.ub .ub-tour-added-dialog h2 { margin:0; color:var(--ub-ink); font-size:22px; }
.ub .ub-tour-added-dialog p { max-width:390px; margin:0; color:var(--ub-muted); font-size:13px; line-height:1.8; }
.ub .ub-tour-added-dialog p strong { color:var(--ub-pink); }
.ub .ub-tour-added-price { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; padding:12px 14px; border:1px solid var(--ub-line); border-radius:11px; background:#fff; }
.ub .ub-tour-added-price span { color:var(--ub-muted); font-size:12px; }
.ub .ub-tour-added-price strong { color:var(--ub-pink); font-size:15px; direction:ltr; }
.ub .ub-tour-added-actions { display:grid; grid-template-columns:1fr 1.3fr; gap:9px; width:100%; margin-top:2px; }
.ub .ub-tour-added-actions .ub-button { min-height:47px; padding:9px 12px; font-size:13px; }
@media(max-width:1000px) {
  .ub .ub-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .ub .ub-count-row { min-height:54px; padding:7px 9px; }
  .ub .ub-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .ub .ub-vehicle-card { gap:7px; padding:8px; }
  .ub .ub-vehicle-card>img,.ub .ub-vehicle-image-fallback { height:86px; }
  .ub .ub-vehicle-card-copy { gap:2px; }
  .ub .ub-vehicle-card-copy strong { font-size:12px; }
  .ub .ub-vehicle-card-copy>b { font-size:14px; }
  .ub .ub-tour-added-dialog { width:calc(100vw - 24px); padding:24px 18px 18px; border-radius:18px; }
  .ub .ub-tour-added-dialog h2 { font-size:19px; }
  .ub .ub-tour-added-dialog p { font-size:12px; }
  .ub .ub-tour-added-actions { grid-template-columns:1fr; }
  .ub .ub-tour-added-actions .ub-button { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .ub .ub-tour-added-dialog[open],.ub .ub-tour-added-dialog::backdrop { animation:none; }
  .ub .ub-count-control button,.ub .ub-vehicle-card { transition:none; }
}

.ub .ub-card-grid { grid-auto-rows:1fr; align-items:stretch; }
.ub .ub-product-card { display:flex; flex-direction:column; height:100%; min-width:0; border-radius:14px; box-shadow:0 3px 12px #27132808; }
.ub .ub-product-card > img { flex:0 0 160px; height:160px; }
.ub .ub-product-copy { flex:1 1 auto; min-height:0; }
.ub .ub-product-copy h3 {
  display:-webkit-box;
  min-height:3em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-height:1.5;
  font-size:16px;
  font-weight:700;
}
.ub .ub-product-copy p {
  display:-webkit-box;
  min-height:0;
  max-height:3.2em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-height:1.6;
  margin:4px 0 8px;
}
.ub .ub-product-meta {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:0;
  gap:8px;
  margin-top:auto;
}
.ub .ub-product-location { min-width:0; overflow:hidden; padding:6px 9px; border:1px solid var(--ub-line); border-radius:8px; background:#fff; text-overflow:ellipsis; white-space:nowrap; }
.ub .ub-product-price { display:grid; justify-items:center; gap:0; padding:8px 10px; border-radius:9px; background:var(--ub-soft); white-space:normal; }
.ub .ub-product-price small { color:var(--ub-muted); font-size:11px; line-height:1.4; }
.ub .ub-product-price strong { color:var(--ub-pink-dark); direction:ltr; unicode-bidi:isolate; font-size:26px; font-weight:800; line-height:1.25; text-align:center; }
.ub .ub-product-price.is-unavailable strong { font-size:14px; }
.ub .ub-card-select { min-height:44px; margin-top:10px; flex:0 0 auto; border-radius:9px; font-size:14px; }
@media(max-width:700px) {
  .ub .ub-product-card > img { flex-basis:124px; height:124px; }
  .ub .ub-product-copy h3 { min-height:3em; font-size:14px; }
  .ub .ub-product-copy p { min-height:0; max-height:3.2em; }
  .ub .ub-product-meta { gap:6px; }
  .ub .ub-product-price { justify-content:initial; }
  .ub .ub-product-price small { font-size:10px; }
  .ub .ub-product-price strong { font-size:21px; }
  .ub .ub-product-price.is-unavailable strong { font-size:12px; }
  .ub .ub-card-select { min-height:39px; font-size:12px; }
}
.ub .ub-detail-count .ub-count-control button { display:grid; flex:0 0 34px; place-items:center; width:34px; height:34px; padding:0; font-size:0; line-height:0; }
.ub .ub-detail-count .ub-count-control button svg { display:block; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.ub .ub-detail-form .ub-field-row>label { display:grid; min-width:0; gap:4px; color:var(--ub-muted); font-size:12px; font-weight:700; }
.ub .ub-request-type { min-width:0; margin:0; padding:0; border:0; }
.ub .ub-request-type legend { margin:0 0 6px; padding:0; color:var(--ub-muted); font-size:12px; font-weight:700; }
.ub .ub-request-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ub .ub-request-choice { position:relative; display:block; min-width:0; margin:0; cursor:pointer; }
.ub .ub-request-choice input { position:absolute; width:1px; min-width:1px; height:1px; margin:0; padding:0; opacity:0; overflow:hidden; }
.ub .ub-request-choice span { display:grid; min-height:48px; place-items:center; padding:8px 11px; border:1px solid var(--ub-line); border-radius:10px; background:#fff; color:var(--ub-ink); font-size:13px; font-weight:700; line-height:1.5; text-align:center; transition:border-color .16s,background .16s,color .16s,box-shadow .16s; }
.ub .ub-request-choice:hover span { border-color:#d6a1bd; background:var(--ub-soft); }
.ub .ub-request-choice input:checked+span { border-color:var(--ub-pink); background:#fcf1f8; color:var(--ub-pink-dark); box-shadow:inset 0 0 0 1px var(--ub-pink); }
.ub .ub-request-choice input:focus-visible+span { outline:3px solid #c4689a; outline-offset:2px; }
#unified-booking.ub-post-payment-mode .ub-sidebar,#unified-booking.ub-post-payment-mode .ub-mobile-summary { display:none !important; }
#unified-booking.ub-post-payment-mode .ub-layout { grid-template-columns:minmax(0,1fr); max-width:900px; margin-inline:auto; }
.ub-price-review { display:grid; grid-template-columns:1fr auto; align-items:center; gap:14px; margin-top:16px; padding:15px 18px; border:1px solid var(--ub-line); border-radius:12px; background:var(--ub-soft); }
.ub-price-review p { margin:0; color:var(--ub-muted); font-size:13px; }
.ub-price-review>div { display:grid; gap:1px; color:var(--ub-ink); }
.ub-price-review>div b { color:var(--ub-pink); font-size:22px; direction:ltr; }
.ub-cart-line-price { display:inline-block; margin-top:5px; color:var(--ub-pink); font-size:14px; direction:ltr; }
.ub [hidden] { display:none!important; }
.ub .ub-payment-gateways[hidden],.ub .ub-payment-gateways.is-hidden { display:none!important; }
.ub-payment-gateways { display:grid; gap:15px; margin-top:14px; }
.ub-payment-summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-radius:12px; background:var(--ub-soft); }
.ub-payment-summary span { display:grid; gap:2px; color:var(--ub-muted); font-size:12px; }
.ub-payment-summary strong { color:var(--ub-ink); font-size:16px; }
.ub-payment-summary span:nth-child(2) strong { color:var(--ub-pink); direction:ltr; }
.ub-payment-summary>b { width:100%; color:var(--ub-pink-dark); font-size:13px; }
.ub-payment-feedback { margin:0; color:var(--ub-muted); font-size:13px; }
.ub-payment-contact-total { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; padding:13px 15px; border:1px solid var(--ub-line); border-radius:10px; background:var(--ub-soft); color:var(--ub-ink); font-size:13px; font-weight:700; }
.ub-payment-contact-total strong { color:var(--ub-pink); font-size:20px; direction:ltr; }
.ub-gateway-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.ub .ub-gateway-card { position:relative; display:grid; grid-template-columns:100px minmax(0,1fr) auto; align-items:center; gap:13px; width:100%; height:auto; min-height:112px; padding:16px; border:1px solid var(--ub-line); border-radius:14px; background:#fff; color:var(--ub-ink); font-size:15px; line-height:1.45; letter-spacing:normal; text-align:right; text-indent:0; white-space:normal; appearance:none; -webkit-appearance:none; }
.ub .ub-gateway-brand { display:flex; align-items:center; justify-content:center; gap:7px; min-width:0; }
.ub .ub-gateway-brand img { display:block; width:74px; max-height:45px; object-fit:contain; }
.ub .ub-gateway-copy { display:grid; gap:4px; min-width:0; }
.ub .ub-gateway-copy strong { display:block; color:var(--ub-ink); font-size:16px; font-weight:800; }
.ub .ub-gateway-copy small { display:block; color:var(--ub-muted); font-size:11px; line-height:1.6; }
.ub .ub-gateway-copy .ub-gateway-action { color:var(--ub-pink); font-size:12px; font-weight:700; }
.ub .ub-gateway-card>b { display:inline-block; padding:5px 9px; border-radius:20px; background:#eefaf2; color:#168247; font-size:11px; line-height:1.4; white-space:nowrap; }
.ub-gateway-mobi { cursor:pointer; transition:border-color .18s,box-shadow .18s,transform .18s; }
.ub .ub-gateway-mobi:disabled { color:var(--ub-ink); }
.ub-gateway-mobi:hover:not(:disabled) { border-color:var(--ub-pink); box-shadow:0 7px 20px #ba00681a; transform:translateY(-1px); }
.ub .ub-gateway-mobi>b { background:#eefaf2; color:#168247; }
.ub-gateway-stripe { cursor:not-allowed; background:#f8f7fc; }
.ub .ub-gateway-stripe .ub-gateway-brand img { width:82px; }
.ub .ub-gateway-stripe .ub-gateway-copy strong { color:#635bff; }
.ub .ub-gateway-stripe>b { background:#eee; color:#777; }
.ub-package-customize { display:block; padding:11px 14px; border:1px solid #d3eddd; border-radius:10px; background:#f5fbf7; color:#168247; font-size:13px; font-weight:700; text-decoration:none; }
.ub-package-customize:hover { color:#116b3b; background:#edf8f1; }
.ub-post-payment-choice { min-width:0; margin:0; padding:10px; border:1px solid var(--ub-line); border-radius:9px; }
.ub-post-payment-choice legend { width:auto; margin:0; padding:0 4px; color:var(--ub-muted); font-size:12px; font-weight:700; }
.ub-post-payment-choice label { display:inline-flex; align-items:center; gap:6px; margin:4px 10px 4px 0; font-size:12px; }
.ub .ub-progress>button:disabled { cursor:not-allowed; opacity:.42; }
@media(max-width:700px) {
	.ub .ub-progress { display:flex; gap:0; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scrollbar-width:none; }
	.ub .ub-progress::-webkit-scrollbar { display:none; }
	.ub .ub-progress>button { flex:0 0 16.666%; scroll-snap-align:center; }
	.ub .ub-progress>button>span { max-width:66px; min-height:27px; font-size:9px; line-height:1.3; overflow-wrap:anywhere; }
	.ub-price-review { grid-template-columns:1fr; gap:6px; padding:12px; }
	.ub-price-review>div { display:flex; justify-content:space-between; align-items:center; gap:12px; }
	.ub-price-review>div b { font-size:19px; }
	.ub-gateway-grid { grid-template-columns:1fr; gap:9px; }
	.ub .ub-gateway-card { grid-template-columns:66px minmax(0,1fr); min-height:86px; gap:8px; padding:11px; }
	.ub .ub-gateway-brand img { width:60px; max-height:38px; }
	.ub .ub-gateway-card>b { grid-column:2; justify-self:start; }
	.ub .ub-gateway-stripe .ub-gateway-brand img { width:68px; }
	.ub-payment-summary { align-items:flex-start; }
	.ub-payment-summary span { flex:1 1 40%; }
}
.ub-post-payment-items { display:grid; gap:14px; }
.ub-post-payment-form { display:grid; gap:14px; }
.ub-post-payment-loading { color:var(--ub-muted); text-align:center; }
.ub-post-payment-item { padding:15px; border:1px solid var(--ub-line); border-radius:12px; background:#fff; }
.ub-post-payment-item h3 { margin:0; color:var(--ub-pink); font-size:16px; }
.ub-post-payment-item p { margin:3px 0 12px; color:var(--ub-muted); font-size:12px; }
.ub-post-payment-item .ub-detail-form { margin-top:10px; }
.ub-post-payment-item textarea { width:100%; min-height:82px; padding:9px 12px; border:1px solid var(--ub-line); border-radius:7px; color:var(--ub-ink); font:inherit; resize:vertical; }
.ub-post-payment-form-actions { display:flex; justify-content:flex-start; }
.ub-post-payment-panel>a.ub-button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
@media(max-width:700px) { #unified-booking.ub-post-payment-mode .ub-layout { margin-top:12px; } .ub-post-payment-item { padding:12px; } }
.ub .ub-detail-form>.ub-passenger-counts { display:grid; grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; min-width:0; }
.ub .ub-passenger-counts>.ub-detail-count { grid-column:auto; gap:6px; min-width:0; padding:8px; }
.ub .ub-passenger-counts .ub-count-icon { width:25px; height:25px; }
.ub .ub-passenger-counts .ub-count-control { gap:4px; }
.ub .ub-passenger-counts .ub-count-control button { flex-basis:29px; width:29px; height:29px; }
.ub .ub-passenger-counts .ub-count-control input[type=number] { width:18px; min-width:18px; }
@media(max-width:420px) {
  .ub .ub-detail-form>.ub-passenger-counts { gap:6px; }
  .ub .ub-passenger-counts>.ub-detail-count { gap:4px; padding:7px 5px; }
  .ub .ub-passenger-counts .ub-count-icon { width:22px; height:22px; }
  .ub .ub-passenger-counts .ub-count-control button { flex-basis:26px; width:26px; height:26px; }
  .ub .ub-passenger-counts .ub-count-control button svg { width:12px; height:12px; }
}

/* Booking typography tokens stay within the booking flow and its dynamic cards. */
html body #page-wrapper #unified-booking {
  --ub-font-family: "IBM Plex Sans Arabic", Tahoma, Arial, sans-serif;
  --ub-body-size: 15px;
  --ub-body-line: 1.8;
  --ub-supporting-size: 13.5px;
  --ub-supporting-line: 1.6;
  --ub-heading-1-size: clamp(28px, 5.2vw, 48px);
  --ub-heading-2-size: clamp(22px, 2.4vw, 30px);
  --ub-heading-3-size: clamp(17px, 1.7vw, 21px);
  --ub-button-size: 15px;
  --ub-price-size: 22px;
  font-family: var(--ub-font-family);
  font-size: var(--ub-body-size);
  line-height: var(--ub-body-line);
  letter-spacing: normal;
}

html body #page-wrapper #unified-booking :where(*) {
  font-family: var(--ub-font-family);
  letter-spacing: normal;
}

/* Preserve legacy markup while letting the booking page control its typography. */
html body #page-wrapper #unified-booking :where(
  [style*="font-family"],
  [style*="font-size"],
  [style*="font-weight"],
  [style*="line-height"],
  [style*="letter-spacing"]
) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking :where(p, li) {
  font-size: var(--ub-body-size) !important;
  font-weight: 400 !important;
  line-height: var(--ub-body-line) !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking h1 {
  font-size: var(--ub-heading-1-size) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking h2 {
  font-size: var(--ub-heading-2-size) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking h3 {
  font-size: var(--ub-heading-3-size) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking :where(
  .ub-type-card strong,
  .ub-country-card strong,
  .ub-transport-type b,
  .ub-summary-copy > strong,
  .ub-gateway-copy > strong,
  .ub-vehicle-card-copy > strong
) {
  font-size: var(--ub-heading-3-size) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking :where(
  .ub-eyebrow,
  .ub-route-line,
  .ub-section-head p,
  .ub-inline-back,
  .ub-results-meta,
  .ub-product-copy p,
  .ub-product-meta,
  .ub-product-location,
  .ub-cart-item p,
  .ub-summary-country,
  .ub-summary-item,
  .ub-summary-detail,
  .ub-summary-status,
  .ub-summary-total,
  .ub-assurance,
  .ub-assurance > b,
  .ub-reference > span,
  .ub-reference .ub-status,
  .ub-country-confirm-eyebrow,
  .ub-tour-added-price > span,
  .ub-product-price > span,
  .ub-customer-fields label,
  .ub-detail-form > label,
  .ub-detail-form .ub-field-row > label,
  .ub-request-type legend,
  .ub-payment-summary span,
  .ub-payment-summary > b,
  .ub-payment-feedback,
  .ub-payment-contact-total > span,
  .ub-price-review > div > strong,
  .ub-count-row > strong,
  .ub-city-guide-copy > strong,
  .ub-gateway-card > b,
  .ub-post-payment-item p,
  .ub-post-payment-choice legend,
  .ub-post-payment-choice label,
  .ub-post-payment-loading,
  .ub-empty
) {
  font-size: var(--ub-supporting-size) !important;
  font-weight: 400 !important;
  line-height: var(--ub-supporting-line) !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking :where(small) {
  font-size: var(--ub-supporting-size) !important;
  font-weight: 400 !important;
  line-height: var(--ub-supporting-line) !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking :where(strong, b) {
  font-weight: 700 !important;
}

html body #page-wrapper #unified-booking :where(
  .ub-customer-fields label,
  .ub-detail-form > label,
  .ub-detail-form .ub-field-row > label,
  .ub-request-type legend,
  .ub-post-payment-choice legend
) {
  font-weight: 700 !important;
}

html body #page-wrapper #unified-booking :where(
  .ub-progress > button,
  .ub-button,
  .ub-link,
  .ub-country-card,
  .ub-type-card,
  .ub-transport-type,
  .ub-city-filters button,
  .ub-card-select,
  .ub-remove-item,
  .ub-summary-complete,
  .ub-request-choice,
  .ub-package-customize,
  .ub-mobile-summary button,
  .ub-gateway-card
) {
  font-family: var(--ub-font-family) !important;
  font-size: var(--ub-button-size) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking :where(.ub-progress > button) {
  font-size: var(--ub-supporting-size) !important;
  line-height: 1.4 !important;
}

html body #page-wrapper #unified-booking :where(
  .ub-field-row input,
  .ub-field-row select,
  .ub-detail-form input,
  .ub-detail-form select,
  .ub-detail-form textarea,
  .ub-customer-fields input,
  .ub-post-payment-item textarea
) {
  font-family: var(--ub-font-family) !important;
  font-size: var(--ub-body-size) !important;
  font-weight: 400 !important;
  line-height: var(--ub-body-line) !important;
  letter-spacing: normal !important;
}

html body #page-wrapper #unified-booking :where(
  .ub-product-price strong,
  .ub-vehicle-card-copy > b,
  .ub-cart-line-price,
  .ub-price-review > div b,
  .ub-payment-contact-total strong,
  .ub-payment-summary span:nth-child(2) strong,
  .ub-reference strong,
  .ub-quote-total strong,
  .ub-summary-total:not(.is-empty) strong
) {
  font-family: var(--ub-font-family) !important;
  font-size: var(--ub-price-size) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
}

@media (max-width: 700px) {
  html body #page-wrapper #unified-booking .ub-progress > button > span {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    font-size: var(--ub-supporting-size) !important;
    line-height: 1.4 !important;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  html body #page-wrapper #unified-booking .ub-type-card {
    white-space: normal !important;
  }

  html body #page-wrapper #unified-booking .ub-type-card > span:nth-child(2) {
    width: 100%;
    min-width: 0;
    flex: 0 1 auto;
    white-space: normal;
  }

  html body #page-wrapper #unified-booking .ub-type-card > span:nth-child(2) :where(strong, small) {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: center;
  }
}

/* Keep the desktop order summary compact even when global booking typography is enlarged. */
html body #page-wrapper #unified-booking .ub-summary-panel .ub-section-head h2 {
  font-size: 20px !important;
  line-height: 1.4 !important;
}

html body #page-wrapper #unified-booking .ub-summary-panel .ub-summary-country,
html body #page-wrapper #unified-booking .ub-summary-panel .ub-summary-item,
html body #page-wrapper #unified-booking .ub-summary-panel .ub-summary-total {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

html body #page-wrapper #unified-booking .ub-summary-panel .ub-summary-copy > strong {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

html body #page-wrapper #unified-booking .ub-summary-panel .ub-summary-copy > small,
html body #page-wrapper #unified-booking .ub-summary-panel .ub-summary-item small,
html body #page-wrapper #unified-booking .ub-summary-panel .ub-assurance > small {
  font-size: 10.5px !important;
  line-height: 1.45 !important;
}

html body #page-wrapper #unified-booking .ub-summary-panel .ub-summary-total strong {
  font-size: 18px !important;
  line-height: 1.3 !important;
}

html body #page-wrapper #unified-booking .ub-summary-panel .ub-assurance > b {
  font-size: 11px !important;
  line-height: 1.45 !important;
}

#unified-booking.ub-review-mode .ub-review-panel { padding:clamp(18px,2.4vw,30px); }
#unified-booking.ub-review-mode .ub-cart-list { display:grid; gap:9px; }
#unified-booking.ub-review-mode .ub-cart-item.ub-review-item {
  position:relative;
  grid-template-columns:82px minmax(0,1fr) auto;
  gap:12px;
  padding:10px;
  border-color:var(--ub-line);
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
#unified-booking.ub-review-mode .ub-review-item>img {
  display:block;
  width:82px;
  height:67px;
  border-radius:7px;
  object-fit:cover;
}
#unified-booking.ub-review-mode .ub-review-index {
  display:none;
}
#unified-booking.ub-review-mode .ub-cart-copy { min-width:0; }
#unified-booking.ub-review-mode .ub-cart-copy h3 {
  margin:0;
  color:var(--ub-ink);
  font-size:14px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
#unified-booking.ub-review-mode .ub-cart-copy p {
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin:3px 0;
  color:var(--ub-muted);
  font-size:12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
#unified-booking.ub-review-mode .ub-cart-location,
#unified-booking.ub-review-mode .ub-cart-vehicle { align-items:center; }
#unified-booking.ub-review-mode .ub-cart-location svg,
#unified-booking.ub-review-mode .ub-cart-vehicle svg {
  display:block;
  flex:none;
  width:14px;
  height:14px;
  fill:none;
  stroke:var(--ub-muted);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#unified-booking.ub-review-mode .ub-cart-details { color:#8a8493; }
#unified-booking.ub-review-mode .ub-cart-copy .ub-cart-status { color:#a53b4d; font-weight:700; }
#unified-booking.ub-review-mode .ub-cart-line-price {
  display:inline-block;
  margin-top:5px;
  color:var(--ub-pink);
  font-size:14px;
  font-weight:800;
  line-height:1.5;
  direction:ltr;
  text-align:right;
}
#unified-booking.ub-review-mode .ub-cart-actions {
  display:grid;
  align-content:center;
  justify-items:start;
  gap:6px;
  padding:0;
  border-top:0;
}
#unified-booking.ub-review-mode .ub-cart-actions button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  padding:7px 10px;
  border:1px solid #eddbe7;
  border-radius:6px;
  background:#fff;
  color:#a32168;
  font-size:12px;
  font-weight:700;
}
#unified-booking.ub-review-mode .ub-cart-actions button:hover { background:var(--ub-soft); }
#unified-booking.ub-review-mode .ub-cart-actions svg {
  display:none;
}
#unified-booking.ub-review-mode .ub-price-review {
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:15px 18px;
  border:1px solid var(--ub-line);
  border-radius:12px;
  background:var(--ub-soft);
}
#unified-booking.ub-review-mode .ub-price-review>.ub-review-total {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0;
  background:transparent;
  color:var(--ub-ink);
}
#unified-booking.ub-review-mode .ub-review-total>strong { font-size:15px; }
#unified-booking.ub-review-mode .ub-review-total>strong span { color:var(--ub-muted); font-size:12px; font-weight:500; }
#unified-booking.ub-review-mode .ub-review-total>strong span span { color:var(--ub-pink-dark); font-weight:700; }
#unified-booking.ub-review-mode .ub-review-total>b { color:var(--ub-pink); font-size:23px; font-weight:800; direction:ltr; }
#unified-booking.ub-review-mode .ub-price-review>.ub-review-notes { display:grid; gap:4px; padding:0; }
#unified-booking.ub-review-mode .ub-review-status { color:var(--ub-muted); font-size:11px; }
#unified-booking.ub-review-mode .ub-review-note { display:flex; align-items:flex-start; gap:7px; color:#81788a; font-size:11px; line-height:1.65; }
#unified-booking.ub-review-mode .ub-review-note>span { flex:none; color:var(--ub-muted); font-size:14px; }
#unified-booking.ub-review-mode .ub-mobile-summary {
  display:none!important;
}
#unified-booking.ub-review-mode .ub-mobile-summary>span { display:grid; gap:1px; }
#unified-booking.ub-review-mode .ub-mobile-summary b { color:var(--ub-ink); font-size:13px; }
#unified-booking.ub-review-mode .ub-mobile-summary small { color:var(--ub-pink); font-size:14px; font-weight:800; direction:ltr; text-align:right; }
#unified-booking.ub-review-mode .ub-mobile-summary button { min-height:46px; padding:8px 20px; font-size:14px; }

@media(max-width:700px) {
  #unified-booking.ub-review-mode { padding:8px 13px calc(120px + env(safe-area-inset-bottom)); }
  #unified-booking.ub-review-mode .ub-layout { margin-top:12px; }
  #unified-booking.ub-review-mode .ub-review-panel { padding:16px 13px; }
  #unified-booking.ub-review-mode .ub-review-panel>.ub-inline-back { margin-bottom:14px; }
  #unified-booking.ub-review-mode .ub-review-panel>.ub-section-head { margin-bottom:15px; }
  #unified-booking.ub-review-mode .ub-review-panel>.ub-section-head h2 { font-size:20px; }
  #unified-booking.ub-review-mode .ub-review-panel>.ub-section-head p { font-size:11px; }
  #unified-booking.ub-review-mode .ub-cart-list { gap:9px; }
  #unified-booking.ub-review-mode .ub-cart-item.ub-review-item {
    grid-template-columns:76px minmax(0,1fr) 26px;
    grid-template-areas:"image copy badge" "actions actions actions";
    gap:8px;
    padding:9px;
    border-radius:12px;
  }
  #unified-booking.ub-review-mode .ub-review-item>img { grid-area:image; width:76px; height:68px; border-radius:8px; }
  #unified-booking.ub-review-mode .ub-review-index { grid-area:badge; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:#f4d994; color:#583b15; font-size:11px; font-weight:800; }
  #unified-booking.ub-review-mode .ub-cart-copy { grid-area:copy; }
  #unified-booking.ub-review-mode .ub-cart-copy h3 { margin-bottom:4px; font-size:12px; line-height:1.5; }
  #unified-booking.ub-review-mode .ub-cart-copy p { gap:4px; margin:2px 0; font-size:9px; line-height:1.5; }
  #unified-booking.ub-review-mode .ub-cart-location svg,
  #unified-booking.ub-review-mode .ub-cart-vehicle svg { width:13px; height:13px; }
  #unified-booking.ub-review-mode .ub-cart-line-price { display:block; margin-top:5px; font-size:16px; text-align:left; }
  #unified-booking.ub-review-mode .ub-cart-actions { grid-area:actions; display:flex; align-items:center; justify-content:flex-start; gap:13px; padding-top:6px; border-top:1px solid #f0eaf1; }
  #unified-booking.ub-review-mode .ub-cart-actions button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:30px; padding:5px 7px; border:0; border-radius:7px; background:transparent; color:var(--ub-pink); font-size:11px; }
  #unified-booking.ub-review-mode .ub-cart-actions svg { display:block; width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  #unified-booking.ub-review-mode .ub-price-review { grid-template-columns:minmax(0,1fr); gap:8px; margin-top:11px; padding:0; overflow:hidden; border:1px solid #f0e4ef; border-radius:13px; background:#fff; }
  #unified-booking.ub-review-mode .ub-price-review>.ub-review-total { padding:10px 12px; background:#fcf2f8; }
  #unified-booking.ub-review-mode .ub-review-total>strong { font-size:12px; }
  #unified-booking.ub-review-mode .ub-review-total>strong span { font-size:10px; }
  #unified-booking.ub-review-mode .ub-review-total>b { font-size:19px; }
  #unified-booking.ub-review-mode .ub-price-review>.ub-review-notes { padding:0 12px 10px; }
  #unified-booking.ub-review-mode .ub-review-status,
  #unified-booking.ub-review-mode .ub-review-note { font-size:9px; }
  #unified-booking.ub-review-mode .ub-mobile-summary {
    position:fixed;
    z-index:100;
    left:0;
    right:0;
    bottom:0;
    display:flex!important;
    width:auto;
    transform:none;
    gap:9px;
    padding:9px 12px max(9px,env(safe-area-inset-bottom));
    border:1px solid var(--ub-line);
    border-bottom:0;
    border-radius:14px 14px 0 0;
    background:#fff;
    box-shadow:0 -8px 26px rgba(37,20,44,.12);
  }
  #unified-booking.ub-review-mode .ub-mobile-summary b { font-size:11px; }
  #unified-booking.ub-review-mode .ub-mobile-summary small { font-size:12px; }
  #unified-booking.ub-review-mode .ub-mobile-summary button { min-height:40px; padding:7px 11px; font-size:11px; white-space:nowrap; }
}

@media (max-width: 700px) {
  html body #page-wrapper #unified-booking .ub-step-number {
    direction: ltr;
    font-variant-numeric: lining-nums;
  }

  html body #page-wrapper #unified-booking .ub-progress {
    align-items: flex-start;
    min-height: 62px;
    margin-block-end: 16px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  html body #page-wrapper #unified-booking .ub-progress > button {
    display: grid;
    flex: 0 0 max(16.666%, 42px);
    align-content: start;
    justify-items: center;
    gap: 4px;
    min-width: 42px;
    min-height: 58px;
    padding-inline: 1px;
  }

  html body #page-wrapper #unified-booking .ub-progress > button > i {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
    flex: 0 0 34px;
    font-family: Arial, sans-serif;
    font-size: 14px !important;
    font-variant-numeric: lining-nums;
    line-height: 1;
  }

  html body #page-wrapper #unified-booking .ub-progress > button > span {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 15px;
    margin: 0;
    font-size: clamp(10px, 2.8vw, 11px) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: center;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  html body #page-wrapper #unified-booking .ub-progress > button:disabled {
    opacity: 1;
  }

  html body #page-wrapper #unified-booking .ub-progress > button:disabled > i {
    opacity: .48;
  }

  html body #page-wrapper #unified-booking .ub-progress > button:disabled > span {
    color: var(--ub-muted) !important;
    opacity: 1;
  }
}

@media (max-width: 700px) {
  #unified-booking.ub-review-mode .ub-review-panel > .ub-inline-back [data-back-selection] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid var(--ub-pink);
    border-radius: 9px;
    background: var(--ub-pink);
    box-shadow: 0 3px 10px rgba(186, 0, 104, .18);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
  }

  #unified-booking.ub-review-mode .ub-review-panel > .ub-inline-back [data-back-selection]:focus-visible {
    outline: 3px solid rgba(186, 0, 104, .28);
    outline-offset: 2px;
  }

  #unified-booking.ub-review-mode .ub-review-panel > .ub-inline-back [data-back-selection]:active {
    background: var(--ub-pink-dark);
    border-color: var(--ub-pink-dark);
  }
}

.ub .ub-country-grid[hidden],
.ub [data-country-heading][hidden],
.ub .ub-add-service-destination[hidden] { display:none!important; }
.ub .ub-add-service-destination {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:10px 12px;
  border:1px solid var(--ub-line);
  border-radius:10px;
  background:var(--ub-soft);
}
.ub .ub-add-service-destination-icon {
  display:grid;
  flex:0 0 34px;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#f4d994;
  color:#583b15;
  font-weight:800;
}
.ub .ub-add-service-destination>span:nth-child(2) { display:grid; flex:1; gap:1px; }
.ub .ub-add-service-destination small { color:var(--ub-muted); font-size:11px; line-height:1.4; }
.ub .ub-add-service-destination strong { color:var(--ub-pink-dark); font-size:14px; line-height:1.4; }
.ub .ub-add-service-destination-lock {
  padding:3px 9px;
  border:1px solid #e9d4e2;
  border-radius:20px;
  background:#fff;
  color:var(--ub-pink-dark);
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
#unified-booking.ub-add-service-mode .ub-types-heading { margin-top:16px; }
@keyframes ub-add-service-enter {
  from { opacity:0; transform:translateY(13px); }
  to { opacity:1; transform:translateY(0); }
}
#unified-booking.ub-add-service-arriving .ub-add-service-destination,
#unified-booking.ub-add-service-arriving .ub-types-heading {
  animation:ub-add-service-enter .34s cubic-bezier(.2,.75,.25,1) both;
}
#unified-booking.ub-add-service-arriving .ub-types-grid {
  animation:ub-add-service-enter .4s cubic-bezier(.2,.75,.25,1) .06s both;
}

.ub .ub-add-service-prompt {
  width:min(480px,calc(100vw - 28px));
  max-width:480px;
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:28px;
  border:1px solid #ead9e7;
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#fff 62%,var(--ub-soft) 100%);
  color:var(--ub-ink);
  box-shadow:0 26px 85px rgba(36,12,34,.28);
  text-align:center;
}
.ub .ub-add-service-prompt[open] { display:grid; justify-items:center; gap:12px; animation:ub-confirm-enter .24s cubic-bezier(.2,.8,.25,1) both; }
.ub .ub-add-service-prompt.is-closing { animation:ub-prompt-exit .18s ease-in both; pointer-events:none; }
.ub .ub-add-service-prompt.is-closing::backdrop { animation:ub-backdrop-exit .18s ease-in both; }
.ub .ub-add-service-prompt::backdrop { background:rgba(34,17,35,.52); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); animation:ub-backdrop-enter .2s ease both; }
.ub .ub-add-service-prompt-icon { display:grid; place-items:center; width:58px; height:58px; border:1px solid #f0d8e7; border-radius:50%; background:#fff4fa; color:var(--ub-pink); font-size:32px; font-weight:500; line-height:1; box-shadow:0 7px 20px rgba(186,0,104,.1); }
.ub .ub-add-service-prompt h2 { margin:0; color:var(--ub-ink); font-size:22px; line-height:1.45; }
.ub .ub-add-service-prompt p { max-width:390px; margin:0; color:var(--ub-muted); font-size:14px; line-height:1.8; }
.ub .ub-add-service-prompt-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; width:100%; margin-top:5px; }
.ub .ub-add-service-prompt-actions .ub-button { min-height:46px; padding:9px 11px; font-size:13px; }
.ub .ub-add-service-prompt :focus-visible { outline:3px solid rgba(186,0,104,.3); outline-offset:2px; }
@keyframes ub-prompt-exit { to { opacity:0; transform:translateY(8px) scale(.97); } }
@keyframes ub-backdrop-exit { to { opacity:0; } }

@media(max-width:520px) {
  .ub .ub-add-service-prompt { width:calc(100vw - 24px); padding:23px 18px 18px; border-radius:18px; }
  .ub .ub-add-service-prompt h2 { font-size:19px; }
  .ub .ub-add-service-prompt p { font-size:12px; }
  .ub .ub-add-service-prompt-actions { grid-template-columns:1fr; }
  .ub .ub-add-service-prompt-actions .ub-button { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .ub .ub-add-service-prompt[open],.ub .ub-add-service-prompt::backdrop { animation:none; }
}

@media (max-width: 700px) {
  html body #page-wrapper #unified-booking .ub-types-grid {
    grid-auto-rows:minmax(168px,auto);
  }

  html body #page-wrapper #unified-booking .ub-type-card {
    height:auto!important;
    min-height:168px!important;
  }

  html body #page-wrapper #unified-booking .ub-type-card > span:nth-child(2) {
    width:100%;
    min-width:0;
    max-width:100%;
  }

  html body #page-wrapper #unified-booking .ub-type-card > span:nth-child(2) :where(strong,small) {
    display:block;
    width:100%;
    max-width:100%;
    overflow-wrap:anywhere;
    white-space:normal!important;
    text-align:center;
    line-height:1.35!important;
  }
}
