/* Expedition booking form: desktop sidebar and mobile accessible dialog. */
.oc-expedition-booking-panel{scroll-margin-top:110px}
.oc-booking-package-title{font-size:13px;line-height:1.55;font-weight:700;color:#513326;margin:6px 0 13px}
.oc-booking-form{display:grid;gap:13px;margin:16px 0 0;min-width:0}
.oc-booking-fields{display:grid;gap:12px}
.oc-booking-fields>label,.oc-booking-people>label{display:grid;gap:5px;min-width:0;color:#4e281b;font-size:12px;font-weight:700;line-height:1.4}
.oc-booking-fields label span{color:#bd482a}
.oc-booking-fields input,.oc-booking-fields textarea{width:100%;min-width:0;border:1px solid #ddcfc6;background:#fff;border-radius:9px;padding:10px 11px;color:#38281f;font:400 14px/1.5 var(--mc-body-font,'Kumbh Sans',Arial,sans-serif);transition:border-color .15s,box-shadow .15s}
.oc-booking-fields textarea{resize:vertical;min-height:88px}
.oc-booking-fields input:focus,.oc-booking-fields textarea:focus{outline:none;border-color:#ee6a29;box-shadow:0 0 0 3px rgba(238,106,41,.13)}
.oc-booking-fields small,.oc-booking-disclaimer{font-size:11px;color:#77655c;line-height:1.6}
.oc-booking-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.oc-booking-policy{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;color:#5e4d43;cursor:pointer}
.oc-booking-policy input{flex:none;width:16px;height:16px;accent-color:#ee6a29;margin-top:2px}
.oc-booking-policy a{color:#ba4f22;text-decoration:underline;font-weight:700}
.oc-booking-submit,.oc-booking-launch{border:0;background:#ee6a29;color:#fff;border-radius:9px;cursor:pointer;padding:13px 14px;display:flex;justify-content:center;align-items:center;gap:10px;font:700 13px var(--mc-body-font,'Kumbh Sans',Arial,sans-serif);transition:background .2s,transform .2s}
.oc-booking-submit:hover,.oc-booking-launch:hover{background:#c45120;transform:translateY(-1px)}
.oc-booking-disclaimer{margin:0!important}
.oc-booking-alert{font-size:12px;line-height:1.65;border-radius:9px;padding:11px;margin:12px 0;background:#fff4ee;color:#943e25;border:1px solid #f3cfbf}
.oc-booking-alert.is-success{color:#2d6738;background:#edf7ee;border-color:#baddbe}
.oc-booking-honey{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.oc-booking-mobile-trigger{display:none!important}
.oc-booking-dialog{border:0;border-radius:18px;padding:0;background:#fff;width:min(580px,calc(100vw - 22px));max-height:min(92dvh,900px);overscroll-behavior:contain;overflow-y:auto;box-shadow:0 25px 80px rgba(36,21,15,.3);position:fixed;inset:0;margin:auto;z-index:700}
.oc-booking-dialog:not([open]){display:none!important}
.oc-booking-dialog::backdrop{background:rgba(25,16,11,.65);backdrop-filter:blur(2px)}
.oc-booking-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:22px 22px 17px;border-bottom:1px solid #e9ded5}
.oc-booking-dialog-head h2{font-size:25px;line-height:1.2;color:#4e281b;margin:6px 0}
.oc-booking-dialog-head p{color:#79655a;font-size:13px;margin:0;line-height:1.5}
.oc-booking-dialog-close{display:grid;place-items:center;flex:none;border:1px solid #e4d8d0;width:36px;height:36px;border-radius:50%;background:white;color:#4e281b;font-size:25px;cursor:pointer}
.oc-booking-dialog>.oc-booking-form{padding:4px 22px 24px;margin-top:12px}
.oc-booking-dialog>.oc-booking-alert{margin:12px 22px 0}
body.oc-booking-dialog-open{overflow:hidden}
.oc-booking-dialog:focus{outline:none}
@media(max-width:1100px){
 .oc-booking-inline{display:none}
 .oc-booking-mobile-trigger{display:flex!important;align-items:center;justify-content:center;width:100%;margin-top:15px;min-height:45px}
 .oc-booking-desktop-anchor{display:none!important}
 .oc-expedition-booking-panel{padding:20px}
 .oc-booking-dialog{max-height:calc(100dvh - 25px)}
}
@media(min-width:1101px){.oc-booking-dialog,.oc-booking-mobile-trigger{display:none!important}}
@media(max-width:480px){
 .oc-booking-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0;inset:0;overscroll-behavior:contain}
 .oc-booking-dialog-head{padding:18px 18px 14px}
 .oc-booking-dialog>.oc-booking-form{padding:4px 18px calc(30px + env(safe-area-inset-bottom,0px))}
 .oc-booking-dialog>.oc-booking-alert{margin:12px 18px 0}
}
@media(prefers-reduced-motion:reduce){.oc-booking-submit,.oc-booking-launch{transition:none;transform:none!important}}
