/* public-dialogs-20261009.css */
/* Shared public dialogs: remain above the fixed header and within the viewport. */
#services-modal,#about-modal,#contact-modal,#blog-modal{z-index:2200}
.services-panel,.about-panel,.contact-panel{border-radius:28px;box-sizing:border-box}
.services-panel{overscroll-behavior:contain;scroll-padding-top:70px}
.services-grid{gap:12px;border:0}
.services-grid .service-card{border:1px solid var(--line);border-radius:18px}
.services-footer{border-radius:18px;margin-top:16px}
.contact-panel .service-picker span{border-radius:14px}
#contact-modal .contact-intro .eyebrow{color:#d4b676!important}
.contact-intro{background:#211e17;color:#faf7f0}
.services-close,.contact-close,.about-close{width:46px;height:46px;min-width:46px;padding:0;border-radius:50%!important;background:var(--cream);color:var(--ink);border:1px solid var(--line);z-index:8}
.services-close:focus-visible,.contact-close:focus-visible,.about-close:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:800px){
 #services-modal,#about-modal,#contact-modal{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .services-panel,.about-panel,.contact-panel-modern{max-height:100%;height:100%;border-radius:24px}
 .services-panel{padding:72px 22px 22px}
 .services-heading{margin:0 0 24px;display:block}
 .services-heading>p:not(.eyebrow){margin-top:18px}
 .services-footer{margin:16px 0 0;padding:22px}
 .contact-panel-modern{display:block;overflow:auto;overscroll-behavior:contain;scroll-padding-top:72px}
 .contact-intro{padding:72px 24px 24px}
 .contact-form-shell{padding:28px 24px 32px}
 .contact-intro h2{font-size:42px}
 .services-close,.contact-close{position:fixed;right:24px;top:max(22px,calc(env(safe-area-inset-top) + 12px));box-shadow:0 4px 18px #0002}
 .about-opening-copy{padding:76px 24px 48px}
}

/* mlv-rounded-surfaces-20261007.css */
/* Shared surfaces: public catalogue, booking, client, agent and administration. */
:root {--mlv-surface-radius:20px;--mlv-control-radius:12px;}
.card,.category-card,.package-card,.tour-card,.experience-card,.panel,.modal,.dialog,.booking-panel,.summary-card,.stat-card,.metric-card,.account-card,.login-card,.auth-card,.admin-card,.dashboard-card,.settings-card,.table-wrap,.table-wrapper,.notice,.alert,.accordion-item,fieldset,dialog,[class$="-card"],[class$="-panel"] {border-radius:var(--mlv-surface-radius)!important;}
.category-card,.package-card,.tour-card,.experience-card {overflow:hidden;}
button,.btn,.button,.primary,.secondary,.ghost,.choice,.destination-pill,a[class*="btn"] {border-radius:var(--mlv-control-radius)!important;}
input:not([type="radio"]):not([type="checkbox"]):not([type="range"]):not([type="hidden"]),select,textarea {border-radius:var(--mlv-control-radius)!important;}
input[type="checkbox"] {border-radius:5px!important;}
input[type="radio"],.avatar {border-radius:50%!important;}
.card-image,.category-image,.package-image,.tour-image,.experience-image {border-radius:20px!important;}
#booking-dialog,.booking-modal,.modal-content,.dialog-content {border-radius:20px!important;}
@media(max-width:640px){#booking-dialog,.booking-modal,.modal-content,.dialog-content{border-radius:16px!important;}}

/* Includes bordered blocks without card classes. No clipping of menus or tables. */
div,article,section,details,dl,.review-enhancements p {border-radius:20px!important;}

/* payment-ui-20261008.css */

/* Payment overlay and shared financial/detail row spacing. */
html.payment-dialog-locked,html.payment-dialog-locked body{overflow:hidden!important;}
#payment-overlay{z-index:10000;box-sizing:border-box;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden;align-items:center;}
#payment-overlay .payment-panel{box-sizing:border-box;width:min(600px,100%);max-height:calc(100vh - 24px);max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));border-radius:24px;padding:0!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;background:var(--ui-panel,#fff);color:var(--ui-text,#241e15);border:1px solid var(--ui-line,#d5cbbb);}
#payment-overlay .payment-panel-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--ui-panel,#fff);border-bottom:1px solid var(--ui-line,#d5cbbb);}
#payment-overlay [data-payment-back]{padding:10px 12px;min-height:44px;border:1px solid var(--ui-line,#d5cbbb);background:transparent;color:inherit;font:600 14px var(--sans,system-ui);text-align:left;}
#payment-overlay .payment-close{width:44px;height:44px;flex-shrink:0;padding:0;border:1px solid var(--ui-line,#d5cbbb);background:transparent;color:inherit;font-size:26px;}
#payment-overlay .payment-panel-content{padding:24px;}
#payment-overlay h2{font-size:clamp(26px,4vw,34px);line-height:1.2;color:inherit;}
#payment-overlay .payment-panel-content>p:not(.eyebrow),#payment-overlay .payment-panel-content>small{color:var(--ui-muted,#5f584d);line-height:1.6;}
#payment-overlay .payment-panel-content>small{display:block;margin-top:16px;}
#payment-overlay #stripe-element{padding:16px;margin-top:20px;border:1px solid var(--ui-line,#d5cbbb);}
#payment-overlay #stripe-pay{margin-top:20px;min-height:48px;}
#payment-overlay :is(button,a):focus-visible{outline:2px solid var(--ui-text,#241e15);outline-offset:3px;}
html[data-theme="dark"] #payment-overlay .payment-panel,html[data-theme="dark"] #payment-overlay .payment-panel-toolbar{background:#1d1b17;color:#fff8ed;border-color:#807565;color-scheme:dark;}
html[data-theme="dark"] #payment-overlay .payment-panel-content>p:not(.eyebrow),html[data-theme="dark"] #payment-overlay .payment-panel-content>small{color:#dbd3c5;}
html[data-theme="dark"] #payment-overlay #stripe-element{border-color:#807565;}
.bank-box{padding:clamp(20px,3vw,30px)!important;box-sizing:border-box;}
.bank-box dl{display:grid;gap:12px;margin:20px 0;}
.bank-box dl>div{grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);gap:8px 18px;border:1px solid var(--ui-line,#d5cbbb);background:var(--ui-panel,#fff);align-items:start;}
:is(.bank-box dl,.confirmation-grid,.offer-summary,.hotel-facts,.review-pay-grid,.invoice-bank-grid,.invoice-facts,.booking-facts)>div{box-sizing:border-box;min-width:0;padding:18px 20px!important;}
:is(.bank-box dl,.confirmation-grid,.offer-summary,.hotel-facts,.invoice-bank-grid,.invoice-facts,.booking-facts) dd{min-width:0;overflow-wrap:anywhere;line-height:1.5;}
.bank-box dt{color:var(--ui-muted,#5f584d);line-height:1.45;}
.bank-box dd{color:var(--ui-text,#241e15);}
@media(max-width:640px){#payment-overlay .payment-panel-content{padding:20px 16px;}#payment-overlay .payment-panel-toolbar{padding:10px 14px;}#payment-overlay #stripe-element{padding:12px;}.bank-box dl>div{grid-template-columns:minmax(0,1fr);gap:6px;}:is(.bank-box dl,.confirmation-grid,.offer-summary,.hotel-facts,.review-pay-grid,.invoice-bank-grid,.invoice-facts,.booking-facts)>div{padding:18px!important;}.offer-summary,.confirmation-grid{gap:12px;}}

#payment-overlay :is([data-payment-back],.payment-close,#stripe-element){border-radius:12px;}

