/* One-step plan flow: every field on one screen, pop-up pickers for the choice fields. /plan only. */
.escape-planner form.os .form-stage,.escape-planner form.os .form-stage[hidden]{display:block!important}
.escape-planner form.os .wizard-progress,.escape-planner form.os .wiz-side,.escape-planner form.os .ce-step-of,.escape-planner form.os .stage-photo,.escape-planner form.os .wizard-next,.escape-planner form.os .wizard-back,.escape-planner form.os .form-stage[data-stage="0"]>h3,.escape-planner form.os .form-stage[data-stage="1"]>h3,.escape-planner form.os .os-hide{display:none!important}
.escape-planner form.os .form-stage{margin:0 0 6px}
.escape-planner form.os .form-stage[data-stage="2"]>h3{font-size:15px;margin:14px 0 8px;color:#0B4F5C}
.escape-planner form.os .form-heading p{margin:4px 0 0}
.os-pops{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}
.os-pop{appearance:none;font:inherit;text-align:left;display:flex;flex-direction:column;gap:2px;padding:11px 36px 11px 14px;position:relative;min-height:62px;background:#fff;border:2px solid #dcebe7;border-radius:18px;color:#0B4F5C;cursor:pointer;box-shadow:0 4px 0 #cfe3de;transition:transform .12s ease,box-shadow .12s ease,border-color .15s,background .15s}
.os-pop:hover{border-color:#1f7f78}
.os-pop:active{transform:translateY(3px);box-shadow:0 1px 0 #cfe3de}
.os-pop .os-k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6b8a88;font-weight:600}
.os-pop .os-v{font-size:15px;font-weight:600;color:#9aa9a8;line-height:1.25}
.os-pop.set{background:#eaf6f3;border-color:#1f7f78;box-shadow:0 4px 0 #9fd0c8}
.os-pop.set .os-v{color:#0B4F5C}
.os-pop i{position:absolute;right:14px;top:50%;margin-top:-10px;font-style:normal;font-size:22px;line-height:20px;color:#BC3E34;font-weight:600}
.os-pop.bad{border-color:#BC3E34;box-shadow:0 4px 0 #f0c4bf}
.os-pop.pop{animation:ospop .38s cubic-bezier(.34,1.56,.64,1)}
@keyframes ospop{0%{transform:scale(.94)}60%{transform:scale(1.04)}100%{transform:scale(1)}}
.os-pop.wide{grid-column:1/-1}
.escape-planner form.os .field-error{margin:-6px 0 10px}
.escape-planner form.os .form-field{margin-bottom:10px}
.escape-planner form.os .wizard-actions{display:block;margin-top:6px}
.escape-planner form.os .wizard-actions .btn{width:100%;min-height:52px;font-size:16px;border-radius:16px;box-shadow:0 4px 0 #8f2c25;transition:transform .12s,box-shadow .12s}
.escape-planner form.os .wizard-actions .btn:active{transform:translateY(3px);box-shadow:0 1px 0 #8f2c25}
.escape-planner form.os{max-width:640px;margin-left:auto;margin-right:auto}
.os-ov{position:fixed;inset:0;z-index:100000;background:rgba(11,45,52,.5);display:flex;align-items:flex-end;justify-content:center;animation:osfade .18s ease}
.os-ov[hidden]{display:none}
@keyframes osfade{from{opacity:0}to{opacity:1}}
.os-sheet{background:#fff;width:100%;max-width:560px;max-height:86vh;overflow:auto;border-radius:26px 26px 0 0;padding:16px 16px 22px;box-shadow:0 -10px 40px rgba(0,0,0,.2);animation:osup .34s cubic-bezier(.34,1.3,.64,1)}
@keyframes osup{from{transform:translateY(60%)}to{transform:none}}
.os-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.os-hd b{font-size:18px;color:#0B4F5C}
.os-x{appearance:none;border:0;background:#eef5f3;color:#0B4F5C;width:34px;height:34px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer}
.os-opts{display:flex;flex-wrap:wrap;gap:9px}
.os-opt{appearance:none;font:inherit;font-weight:600;font-size:14px;padding:11px 16px;border-radius:999px;background:#fff;border:2px solid #dcebe7;color:#0B4F5C;cursor:pointer;box-shadow:0 3px 0 #cfe3de;transition:transform .12s,box-shadow .12s}
.os-opt:active{transform:translateY(2px);box-shadow:0 1px 0 #cfe3de}
.os-opt.on{background:#1f7f78;border-color:#1f7f78;color:#fff;box-shadow:0 3px 0 #145a55}
.os-opts.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.os-tile{appearance:none;font:inherit;border:0;padding:0;cursor:pointer;position:relative;min-height:92px;border-radius:16px;overflow:hidden;background:#cfe3de var(--choice-img) center/cover no-repeat;box-shadow:0 3px 0 #b9d4ce;transition:transform .12s}
.os-tile:active{transform:scale(.96)}
.os-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(8,40,46,.72))}
.os-tile b{position:absolute;left:8px;right:8px;bottom:7px;z-index:1;color:#fff;font-size:13px;font-weight:600;text-align:left}
.os-tile.on{outline:3px solid #1f7f78;outline-offset:2px}
.os-tile.on:before{content:"\2713";position:absolute;right:7px;top:7px;z-index:2;width:22px;height:22px;border-radius:50%;background:#1f7f78;color:#fff;font-size:13px;line-height:22px;text-align:center}
body.os-lock{overflow:hidden}
@media(min-width:700px){.os-ov{align-items:center}.os-sheet{border-radius:26px;animation:ospopin .3s cubic-bezier(.34,1.56,.64,1)}.os-opts.tiles{grid-template-columns:repeat(4,1fr)}}
@keyframes ospopin{from{transform:scale(.88);opacity:0}to{transform:none;opacity:1}}
@media(max-width:600px){
.escape-planner .escape-form.os[data-current-stage],.escape-planner .escape-form.os[data-current-stage="1"],.escape-planner .escape-form.os[data-current-stage="2"]{background-image:linear-gradient(180deg,rgba(251,248,243,0) 0,rgba(251,248,243,0) 76px,#FBF8F3 106px,#FBF8F3 100%),url(img/vietnam.webp)!important}
.os-pop{min-height:58px;padding:9px 30px 9px 12px}
.os-pop .os-v{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.os-pop.pop,.os-sheet,.os-ov{animation:none}}
.escape-planner .planner-layout{display:block!important}
.escape-planner form.os{width:100%;box-sizing:border-box}
.escape-planner form.os .r2{display:block!important}
.escape-planner form.os .r2>.form-field{width:100%}
.os-pop .os-v{overflow-wrap:anywhere}
.escape-planner form.os{display:block!important;padding:30px 28px 34px!important}
.escape-planner form.os .form-heading{margin-bottom:14px}
@media(max-width:600px){.escape-planner form.os{padding-left:16px!important;padding-right:16px!important}.escape-planner form.os.escape-form{padding-top:120px!important}}
.escape-planner form.os .ce-occx{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;margin:0 0 10px}
.escape-planner form.os .ce-occx .form-field{margin:0 0 10px}
.escape-planner form.os .form-stage>.form-field,.escape-planner form.os .form-stage .r2{background:none}
.escape-planner form.os .os-pop.wide{width:100%;box-sizing:border-box}

/* The source month control is replaced by the When picker in the one-step plan. */
.escape-planner form.os .form-stage[data-stage="1"] .r2,.escape-planner form.os input[data-field-label="Travel month"]{display:none!important}

.escape-planner form.os .form-stage[data-stage="1"]{display:none!important}

/* 20261021 v10g: desktop two-column - Sujata-picked couple illustration panel left (white card, dark-teal text), form right (mobile unchanged).
   Also fixes validation errors overlapping input borders (was margin-top:-6px). */
.escape-planner form.os .field-error{margin:6px 0 10px}
.escape-planner form.os .form-field{margin-bottom:14px}
@media(min-width:1000px){
 .escape-planner{padding:56px 0 84px}
 .escape-planner .planner-layout{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:30px;align-items:stretch;max-width:1180px;margin:0 auto;padding:0 28px;box-sizing:border-box}
 .escape-planner .planner-story{display:flex!important;flex-direction:column;position:relative;border-radius:26px;overflow:hidden;background:#fff;border:1px solid #E4ECE7;box-shadow:0 18px 44px rgba(9,61,71,.08);min-height:0}
 .escape-planner .planner-story>img{position:static;width:100%;flex:1 1 0;min-height:0;object-fit:contain;object-position:center top;padding:30px 30px 0;box-sizing:border-box}
 .escape-planner .planner-story:after{content:none}
 .escape-planner .planner-story>div{position:static;padding:22px 40px 42px;color:#12303A;border-top:1px solid #F0EAE2;background:#fff}
 .escape-planner .planner-story .eyebrow{display:block;color:#E2543E!important;font:600 11px/1 Poppins,Arial,sans-serif;letter-spacing:.14em!important;text-transform:uppercase!important;margin-bottom:12px}
 .escape-planner .planner-story h1{font:600 42px/1.1 Poppins,Arial,sans-serif;letter-spacing:-.01em;color:#12303A;margin:0 0 12px}
 .escape-planner .planner-story p{font-size:15px;line-height:1.6;color:#5C7C82;margin:0 0 18px}
 .escape-planner .planner-story .story-note{display:block;border-top:1px solid rgba(18,48,58,.14);padding-top:16px;font-size:12px;letter-spacing:.03em;color:#5C7C82}
 .escape-planner form.os{max-width:none;width:100%;margin:0;background:#fff;border:1px solid #E4ECE7;border-radius:26px;box-shadow:0 18px 44px rgba(9,61,71,.08);min-height:0}
}

/* v10d: the destination error has an ID rule in ce-p0.css (margin-top:-6px); keep it clear of the When button. */
.escape-planner form.os #ce-p0-destination-error{margin:6px 0 14px}
