:root{--navy:#0b2a5b;--ink:#1c2b45;--muted:#62708a;--teal:#0aa3c2;--teal-d:#0b7fa3;--coral:#ff6258;--coral-d:#e8493f;--bg:#eaf6fb;--card:#fff;--line:#e3edf3;--ok:#14a06a;--warn:#f59e0b;--r:18px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0}
body{font-family:"Poppins","SF Pro Rounded",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f3fbff,#e2f3fa 60%,#d9eef7);min-height:100vh}
.app{max-width:480px;margin:0 auto;min-height:100vh;position:relative;padding:0 16px 150px;overflow-x:hidden}
.app:before{content:"";position:absolute;right:-30px;top:60px;width:120px;height:200px;background:radial-gradient(circle at 70% 30%,#4ccf92 0,#2fa66d 35%,transparent 36%);opacity:.0;pointer-events:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1{font-size:30px;line-height:1.1;margin:10px 0 4px;color:var(--navy);font-weight:800;letter-spacing:-.5px}
.sub{color:var(--muted);margin:0 0 14px;font-size:14px}
/* header */
.top{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) 0 6px}
.back{width:36px;height:36px;font-size:24px;color:var(--navy);display:grid;place-items:center}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);line-height:1}
.logo small{display:block;color:var(--teal);font-size:15px;font-weight:700}
.logo b{font-size:17px}
.stepno{text-align:right;font-size:12px;color:var(--muted)}
.dots{display:flex;gap:5px;justify-content:flex-end;margin-top:4px}.dots i{width:8px;height:8px;border-radius:50%;background:#cfe6ef}.dots i.on{background:var(--teal)}
.stepper{display:flex;justify-content:space-between;align-items:flex-start;margin:8px 0 6px;position:relative}
.stepper:before{content:"";position:absolute;left:30px;right:30px;top:21px;height:2px;background:#d6e6ee}
.stp{width:20%;text-align:center;font-size:12px;color:var(--muted);position:relative}
.stp .c{width:42px;height:42px;border-radius:50%;margin:0 auto 3px;display:grid;place-items:center;background:#e9f1f5;font-size:18px;position:relative;box-shadow:0 0 0 3px #f1f9fd}
.stp.on .c,.stp.done .c{background:var(--teal);color:#fff}.stp.on{color:var(--teal-d);font-weight:700}.stp.done{color:var(--teal-d)}
.stp.done .c:after{content:"✓";position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;border-radius:50%;background:#0a7fa6;color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid #fff}
.stp.clickable{cursor:pointer}
/* chips, banners */
.chips{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 12px;padding:2px 16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:flex;align-items:center;gap:8px;padding:9px 14px;background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:16px;font-size:13px;font-weight:600;color:var(--navy)}
.banner{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r);background:linear-gradient(90deg,#d8f0f8,#e8f7fb);margin-bottom:14px}
.banner .ic{width:54px;height:54px;border-radius:14px;background:#fff;display:grid;place-items:center;font-size:28px;flex:none}
.banner b{display:block;color:var(--navy)}.banner span{font-size:13px;color:var(--muted)}
/* cards */
.card{background:var(--card);border-radius:var(--r);box-shadow:0 6px 20px rgba(11,60,100,.07);margin-bottom:14px;overflow:hidden;border:2px solid transparent}
.card.sel{border-color:var(--coral)}
.img{position:relative;background:#cde;overflow:hidden}.img img{width:100%;height:100%;object-fit:cover;display:block}
.badge{position:absolute;left:10px;top:10px;background:var(--coral);color:#fff;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.badge.teal{background:var(--teal)}.badge.gold{background:#ffe6a8;color:#7a4b00}
.pk-hero .img{height:170px}.pk-body{padding:12px 14px 14px}
.pk-body h3{margin:0 0 6px;font-size:19px;color:var(--navy)}
.meta{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin:3px 0}
.row{display:flex;gap:12px;justify-content:space-between;align-items:flex-end}
.price{text-align:right}.price small{display:block;font-size:12px;color:var(--muted)}.price b{font-size:24px;color:var(--coral);font-weight:800;line-height:1.1;display:block}
.pk-row{display:flex;gap:12px;padding:8px}
.pk-row .img{width:116px;min-height:128px;border-radius:14px;flex:none}
.pk-row .info{flex:1;min-width:0;display:flex;flex-direction:column}
.pk-row h3{font-size:16px;margin:2px 0 4px;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border-radius:999px;font-weight:700;font-size:14px;background:var(--coral);color:#fff;border:2px solid var(--coral)}
.btn.ghost{background:#fff;color:var(--coral)}.btn.sm{padding:8px 14px;font-size:13px}.btn.blue{background:#e5f1ff;color:#1d63d8;border-color:#e5f1ff}.btn.teal{background:#fff;color:var(--teal-d);border-color:var(--teal)}
.btn:disabled{opacity:.5}
.btn.big{width:100%;padding:16px;font-size:18px}
.star{color:#f5a623}
/* bottom bar */
.bar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);background:linear-gradient(180deg,rgba(234,246,251,0),#e6f4fa 28%);z-index:10}
.bar .sum{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:16px;padding:10px 14px;margin-bottom:8px;box-shadow:0 4px 18px rgba(11,60,100,.12)}
.bar .sum small{color:var(--muted);font-size:12px;display:block}.bar .sum b.p{color:var(--coral);font-size:22px}
.bar .sum.inline{margin:0}
.bar.split{display:flex;gap:10px;align-items:center}.bar.split .sum{flex:1;margin:0}.bar.split .btn{flex:1.2;padding:15px 10px}
/* hotel */
.hotel{display:flex;gap:10px;padding:8px}.hotel .img{width:112px;min-height:150px;border-radius:14px;flex:none}
.hotel .info{flex:1;min-width:0}.hotel h3{margin:2px 0 2px;font-size:16px;color:var(--navy)}
.amen{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--muted);margin:6px 0}
.pill{display:inline-block;background:#e0f7ec;color:var(--ok);font-weight:700;font-size:13px;padding:5px 12px;border-radius:12px}
.sumcard{display:flex;gap:12px;align-items:center;padding:10px;background:#fff;border-radius:var(--r);margin-bottom:12px;box-shadow:0 6px 20px rgba(11,60,100,.07)}
.sumcard .img{width:78px;height:66px;border-radius:12px;flex:none}.sumcard h4{margin:0;color:var(--navy);font-size:15px}.sumcard .grow{flex:1;min-width:0}
/* flights */
.seg{display:flex;background:#e2edf2;border-radius:16px;padding:4px;margin-bottom:12px}
.seg button{flex:1;padding:10px;border-radius:13px;font-weight:700;color:var(--muted);font-size:14px;text-align:left}.seg button small{display:block;font-weight:400;font-size:11px}
.seg button.on{background:var(--teal-d);color:#fff}
h2.sec{font-size:19px;margin:16px 0 2px;color:var(--navy)}
.fl{padding:12px 12px 10px;position:relative}.fl .tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:10px;margin-bottom:6px;background:#d9f2ee;color:#0b7f77}.fl .tag.f{background:#ffe9a8;color:#7a4b00}
.fl .main{display:grid;grid-template-columns:90px 1fr 70px;gap:6px;align-items:center}
.fl .t{font-size:20px;font-weight:800;color:var(--navy);text-align:center}.fl .t small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.fl .mid{text-align:center;font-size:11px;color:var(--muted)}.fl .mid i{display:block;border-top:2px dashed #b9d6e0;margin:4px 0}
.fl .perks{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:8px;flex-wrap:wrap}
.fl .side{position:absolute;right:12px;top:30px;text-align:right}
.fl .al{font-weight:700;font-size:13px;color:var(--navy);line-height:1.15}
.fl .rowline{display:flex;justify-content:space-between;align-items:center}
/* toggle */
.tog{width:52px;height:30px;border-radius:999px;background:#d7dde5;position:relative;flex:none;transition:.2s}.tog:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}
.tog.on{background:#1c8cf0}.tog.on:after{left:25px}
.act{display:flex;gap:10px;padding:0;align-items:stretch}.act .img{width:110px;flex:none}.act .info{flex:1;padding:12px 12px 12px 0;min-width:0}
.act h3{margin:0 0 2px;font-size:17px;color:var(--navy)}.act .pr{text-align:right}.act .pr b{color:var(--coral);font-size:18px;display:block}.act .pr small{font-size:11px;color:var(--muted)}
.note{display:flex;gap:10px;background:#e1f1f9;border-radius:14px;padding:12px;font-size:13px;color:var(--muted);margin:6px 0 14px}.note b{color:var(--navy);display:block}
.warn{background:#fff6e0;color:#7a5200;border-radius:12px;padding:10px 12px;font-size:13px;margin:8px 0}
.err{background:#ffe9e7;color:#9d241b;border-radius:12px;padding:10px 12px;font-size:13px;margin:8px 0}
/* review */
.acc{background:#fff;border-radius:16px;margin-bottom:10px;box-shadow:0 4px 14px rgba(11,60,100,.06);overflow:hidden}
.acc .h{display:flex;gap:10px;align-items:center;padding:8px}.acc .h .img{width:66px;height:62px;border-radius:12px;flex:none}
.acc .ic{width:38px;height:38px;border-radius:50%;background:#dff1f8;display:grid;place-items:center;flex:none}
.acc .t{flex:1;min-width:0;font-size:13px;color:var(--muted)}.acc .t b{display:block;color:var(--navy);font-size:15px}
.acc .ed{color:#1d63d8;font-size:13px;font-weight:600;padding:6px}
.acc .x{padding:4px 14px 12px;font-size:13px;color:var(--muted)}
label.f{display:block;font-size:12px;color:var(--muted);margin:8px 0 3px}
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=number],select,textarea,input:not([type]){width:100%;padding:11px 12px;border:1px solid #d7e4ec;border-radius:12px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}
textarea{min-height:76px;resize:vertical}
.qs{background:#fff;border-radius:16px;overflow:hidden;margin:14px 0;box-shadow:0 4px 14px rgba(11,60,100,.06)}
.qs h4{margin:0;padding:12px 14px;background:#dff1f9;color:var(--navy)}
.qs .l{display:flex;justify-content:space-between;padding:7px 14px;font-size:14px;gap:10px}.qs .l span:first-child small{color:var(--muted)}.qs .l.inc span:last-child{color:var(--ok);font-weight:700}
.qs .tot{display:flex;justify-content:space-between;padding:13px 14px;background:#ffe9e6;font-weight:800;color:var(--navy);font-size:17px;margin-top:6px}.qs .tot b{color:var(--coral);font-size:24px}
.chk{display:flex;gap:10px;align-items:center;font-size:13px;margin:10px 2px}.chk input{width:20px;height:20px;accent-color:var(--teal)}
/* done */
.hero{height:210px;margin:0 -16px;position:relative;background:linear-gradient(#bfe6f6,#e3f5fb);display:grid;place-items:center;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}.hero .doc{position:relative;font-size:84px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.2))}
.center{text-align:center}.center h1{font-size:34px;margin-top:14px}
.tl{display:flex;margin-top:12px}.tl>div{flex:1;text-align:center;font-size:12px;color:var(--muted);position:relative;padding:0 4px}
.tl .d{width:44px;height:44px;border-radius:50%;margin:0 auto 6px;display:grid;place-items:center;background:#dff1f8;font-size:19px;position:relative;z-index:1}.tl .on .d{background:var(--teal);color:#fff}.tl b{display:block;color:var(--navy);font-size:13px}
.tl>div:not(:last-child):after{content:"";position:absolute;top:22px;left:calc(50% + 28px);right:calc(-50% + 28px);height:2px;background:#cfe3ec}
.tl .on:not(:last-child):after{background:var(--teal)}
.status{display:inline-block;padding:4px 12px;border-radius:999px;font-weight:700;font-size:12px;background:#e1f1f9;color:var(--teal-d)}
.status.good{background:#dff6ea;color:var(--ok)}.status.bad{background:#ffe5e2;color:#c03226}
.ghosts{display:flex;gap:10px;margin-top:10px}.ghosts .btn{flex:1;font-size:13px;padding:12px 8px}
/* sheet / toast */
.sheet{position:fixed;inset:0;background:rgba(10,30,60,.45);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet[hidden]{display:none}
.sheet .in{background:#fff;width:100%;max-width:480px;border-radius:24px 24px 0 0;max-height:88vh;overflow:auto;padding:18px 18px calc(env(safe-area-inset-bottom) + 18px);animation:up .22s ease-out}
@keyframes up{from{transform:translateY(40px);opacity:.4}}
.sheet h3{margin:0 0 6px;color:var(--navy);font-size:21px}.sheet ul{padding-left:18px;margin:6px 0;font-size:14px}.sheet h5{margin:14px 0 2px;color:var(--navy)}
.toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);background:#14233d;color:#fff;padding:10px 16px;border-radius:12px;z-index:99;font-size:14px;max-width:90vw}.toast[hidden]{display:none}
.skel{height:130px;border-radius:18px;background:linear-gradient(90deg,#e6f1f6,#f4fafc,#e6f1f6);background-size:200% 100%;animation:sk 1.2s infinite;margin-bottom:14px}@keyframes sk{to{background-position:-200% 0}}
.landing .card{padding:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fine{font-size:12px;color:var(--muted)}
@media(min-width:520px){.app{box-shadow:0 0 60px rgba(11,60,100,.12);background:rgba(255,255,255,.35)}}
/* package flow additions */
.stepper.s4 .stp{width:25%}.stepper.s4:before{left:12%;right:12%}
.flags{display:flex;gap:6px;margin:6px 0}.flags span{font-size:15px;opacity:.28;filter:grayscale(1)}.flags span.on{opacity:1;filter:none}
.seg button{font-size:13px;padding:9px 6px}
.cal{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:8px}
.calh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--navy)}.calh button{font-size:22px;width:36px;height:32px;color:var(--navy)}.calh button:disabled{opacity:.25}
.dow,.grid7{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.dow span{font-size:12px;color:var(--muted);padding:4px 0}
.grid7 .d{height:38px;font-size:14px;border-radius:0;color:var(--ink);font-weight:600}.grid7 .d.off{color:#b8c4cf;font-weight:400}
.grid7 .d.in{background:#bfdcf7}.grid7 .d.st,.grid7 .d.en{background:#2563eb;color:#fff;border-radius:50%}
.tile{display:block;width:100%;text-align:left;background:#fff;border:2px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:8px;position:relative}
.tile b{display:block;color:var(--navy);text-transform:uppercase;font-size:14px}.tile span{font-size:12px;color:var(--muted);text-transform:uppercase}
.tile.sel{background:#1e8a4c;border-color:var(--navy)}.tile.sel b,.tile.sel span{color:#fff}.tile i{position:absolute;right:14px;top:16px;color:#fff;font-style:normal;font-size:12px;font-weight:700}
.paxbox{background:#e5ebf0;border-radius:16px;padding:10px}
.pax{background:#fff;border-radius:12px;padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;gap:10px;align-items:center}.pax:last-child{margin-bottom:0}.pax b{color:var(--navy)}
.gd{display:inline-block;background:#2dd4a7;color:#064e3b;font-size:11px;padding:1px 8px;border-radius:99px;margin-top:3px}
.cnt{text-align:right}.cnt button{width:30px;height:30px;border-radius:8px;background:#eef2f6;font-size:18px;font-weight:700}.cnt button:disabled{opacity:.35}.cnt b{display:inline-block;min-width:28px;text-align:center}.cnt .fine{margin-top:2px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.lh{margin:0 0 6px;color:var(--navy);font-size:15px}.li{font-size:13px;margin:3px 0}.li.ok{color:#14653f}.li.no{color:#9d4a43}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-top:6px}.tabs button{padding:10px 14px;border-radius:10px 10px 0 0;font-weight:600;color:var(--muted)}.tabs button.on{background:var(--navy);color:#fff}
.tabbody{background:#fff;border-radius:0 0 14px 14px;padding:14px;margin-bottom:14px;font-size:14px;color:#44546a}
.day{display:flex;gap:10px;margin-bottom:12px}.dn{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:12px;flex:none;margin-top:2px}.dt{white-space:pre-line;font-size:13px;color:#55657c;margin-top:4px}.terms{max-height:340px;overflow:auto}
.termsbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;max-height:200px;overflow:auto;white-space:pre-line;font-size:12px;color:#55657c;margin-bottom:12px}
button.btn[disabled]{opacity:.45}
.kv2{display:grid;grid-template-columns:110px 1fr;gap:6px 10px;margin:8px 0}.kv2 span{color:var(--muted)}
input[type=file]{padding:9px;background:#fff}
.stepper.s5 .stp{width:20%;font-size:11px}.stepper.s5:before{left:10%;right:10%}.stepper.s5 .c{width:38px;height:38px}
.filt{padding:14px;overflow:visible}.filt .grid2{gap:8px 12px}.filt label.f{margin-top:0}
.cnt2{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #d7e4ec;border-radius:12px;padding:3px 6px}.cnt2 button{width:34px;height:34px;border-radius:9px;background:#eef2f6;font-size:20px;font-weight:700}.cnt2 button:disabled{opacity:.35}.cnt2 b{font-size:16px}
.ages{display:flex;gap:6px;flex-wrap:wrap}.ages input{width:56px;padding:9px 6px;text-align:center}
.lnote{background:#fff6e0;color:#7a5200;border-radius:10px;padding:7px 10px;font-size:12px;margin-top:8px}.lnote.good{background:#e3f6ea;color:#14653f;font-weight:700}
.est{text-align:right;font-size:13px;color:var(--muted)}.est b{color:var(--navy);font-size:15px}
.btn.ghost{background:#fff;color:var(--coral)}
.filt .grid2>div{min-width:0}.filt input[type=date],.filt select{min-width:0;max-width:100%;padding:10px 8px;font-size:14px}
.fl{padding:12px;margin-bottom:10px}.fl .tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:10px;margin-bottom:6px;background:#d9f2ee;color:#0b7f77}.fl .tag.f{background:#ffe9a8;color:#7a4b00}
.fl.sel{border-color:var(--coral)}.fl .al{font-weight:700;color:var(--navy);font-size:14px}
.frow{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0}.fl .t{font-size:22px;font-weight:800;color:var(--navy);text-align:center}.fl .t small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.fl .mid{text-align:center;font-size:11px;color:var(--muted);min-width:110px}.fl .mid i{display:block;border-top:2px dashed #b9d6e0;margin:4px 0}
.fl .perks{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.fl .rowline{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-top:6px}
.split2{display:flex;gap:10px}.split2 .btn{flex:1;padding:14px 10px}
.legs{display:flex;gap:8px;margin:0 0 12px}.legs b,.legs span{flex:1;text-align:center;padding:8px;border-radius:12px;font-size:13px;background:#e2edf2;color:var(--muted);font-weight:600}.legs b.on{background:var(--teal-d);color:#fff}
.split2 .btn.iconbtn{flex:0 0 54px;padding:14px 0;font-size:22px;line-height:1}
/* quote / proposal page */
.stamp{display:inline-block;letter-spacing:3px;font-size:12px;font-weight:800;padding:4px 14px;border-radius:99px;background:#e1f1f9;color:var(--teal-d);margin-top:10px}.stamp.prop{background:#dff6ea;color:var(--ok)}
.qid{padding:14px;text-align:center}.qidv{display:block;font-size:22px;color:var(--navy);letter-spacing:.5px;margin:2px 0}
.tl.steps4>div{padding:0 2px}
.chgbox{background:#fff6e0;border:1px solid #f3d99a;border-radius:16px;padding:14px;margin:12px 0;color:#6b4a00}.chgbox ul{margin:8px 0 0;padding-left:18px}.chgbox li{margin:4px 0;font-size:14px}
.nochg{background:#e6f8ef;border:1px solid #b9e8d0;border-radius:16px;padding:14px;margin:12px 0;color:#0b6c47}
.notebox{background:#e8f3fb;border-radius:16px;padding:14px;margin:12px 0;color:#2c4a63}.notebox p{margin:6px 0 0;font-size:14px;white-space:pre-line}
.bar.big{padding:12px 14px calc(env(safe-area-inset-bottom) + 14px)}
.bigcta{display:block;width:100%;padding:24px 16px;font-size:22px;font-weight:800;color:#fff;background:linear-gradient(180deg,#ff7a6e,#ff5448);border-radius:20px;box-shadow:0 8px 24px rgba(255,84,72,.45);letter-spacing:.2px}.bigcta:disabled{opacity:.6}
.linkbtn{background:none;color:#b3392f;text-decoration:underline;font-size:14px;padding:8px}
.trip{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}.trip b{color:var(--navy);font-size:14px}.trip .status{font-size:11px;text-align:right}

.rmh{display:flex;justify-content:space-between;align-items:center;margin:0 2px 8px}.rmh b{color:var(--navy)}.rmx{width:28px;height:28px;border-radius:8px;background:#fff;color:#c0392b;font-weight:700}
.l.rmt{font-weight:700;color:var(--navy);padding-top:8px}
.gdt{background:#e5ebf0;border-radius:12px;padding:10px 12px;margin:4px 0 12px;font-size:14px}.gdt .l{padding:3px 0}
.paxbox{margin-bottom:10px}.gdt .l{display:flex;justify-content:space-between}

/* My Bookings: the first thing a returning guest sees */
.mybk{background:linear-gradient(135deg,var(--navy),var(--teal-d));color:#fff;border-radius:var(--r);padding:16px 14px 12px;margin-bottom:14px;box-shadow:0 10px 24px rgba(11,42,91,.28)}
.mybk h2{margin:0;font-size:21px;font-weight:800;display:flex;align-items:center;gap:8px;letter-spacing:-.2px}
.mybk .cnt{background:var(--coral);color:#fff;font-size:13px;font-weight:800;min-width:24px;height:24px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center}
.mybk .sub2{font-size:13px;opacity:.85;margin:2px 0 6px}
.mybk .trip{background:#fff;color:var(--ink);border:0;border-radius:14px;padding:12px;margin-top:10px;display:flex;align-items:center;gap:10px;text-decoration:none}
.mybk .trip .tt{flex:1;min-width:0}.mybk .trip b{font-size:15px;color:var(--navy);display:block;overflow:hidden;text-overflow:ellipsis}
.mybk .chev{font-style:normal;font-size:22px;color:var(--teal-d);line-height:1}
.pill{font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px;text-align:center;line-height:1.2;max-width:46%}
.pill.good{background:var(--ok);color:#fff}.pill.act{background:var(--coral);color:#fff}.pill.wait{background:#fff3d6;color:#7a5200}.pill.off{background:#e8eef3;color:#52627a}
.mybk .linkbtn{color:#fff;text-decoration:underline;margin-top:10px;display:block;width:100%;text-align:center}
.plancta{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:2px dashed var(--teal);border-radius:var(--r);padding:14px;margin-bottom:14px;color:var(--ink)}
.plancta .pi{font-size:24px}.plancta div{flex:1}.plancta b{display:block;color:var(--navy);font-size:16px}.plancta small{color:var(--muted);font-size:12.5px}.plancta i{font-style:normal;font-size:24px;color:var(--teal-d)}

.msgr{display:flex;align-items:center;gap:12px;text-decoration:none;background:linear-gradient(135deg,#0a84ff,#a334fa);color:#fff;border-radius:var(--r);padding:14px;margin-bottom:12px;box-shadow:0 8px 20px rgba(10,132,255,.28)}
.msgr .mi{font-size:26px}.msgr div{flex:1}.msgr b{display:block;font-size:16px}.msgr small{display:block;font-size:12.5px;opacity:.92;margin-top:2px;line-height:1.35}.msgr i{font-style:normal;font-size:24px}

/* ---- bolder look (navy + orange), inspired by travel marketplaces ---- */
:root{--navy:#0c1f56;--ink:#17233f;--muted:#5d6a85;--teal:#2350d8;--teal-d:#0c1f56;--coral:#ff7a1a;--coral-d:#e8650a;--bg:#eef2fa;--line:#dde4f0;--r:16px}
body{background:linear-gradient(180deg,#f6f8fd,#e9eef8 70%,#e2e9f6)}
h1{font-size:28px;font-weight:800;letter-spacing:-.4px}
h2.sec{color:var(--navy);font-weight:800}
.card{box-shadow:0 8px 24px rgba(12,31,86,.10)}
.dots i.on{background:var(--navy)}
.stp.on .c,.stp.done .c{background:var(--navy)}.stp.on,.stp.done{color:var(--navy)}
.banner{background:linear-gradient(90deg,#dfe7fa,#eef2fc)}
.seg{background:#dfe6f4}.seg button.on{background:var(--navy);color:#fff}
.tabs{border-bottom:0;gap:8px;margin:10px 0}.tabs button{border-radius:999px;background:#fff;border:1px solid var(--line);padding:9px 16px;color:var(--navy)}.tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.btn{box-shadow:0 4px 12px rgba(255,122,26,.28)}.btn.ghost,.btn.teal,.btn.blue{box-shadow:none}
.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:none}
.pk-hero .img{height:200px}
.pk-hero .img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,rgba(8,16,46,.55))}
.durchip{position:absolute;left:10px;bottom:10px;z-index:1;background:rgba(255,255,255,.95);color:var(--navy);font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px}
.pk-body{padding:14px 16px 16px}
.pk-body h3{font-size:18px;line-height:1.25;font-weight:800;letter-spacing:.1px;color:var(--navy);margin:0 0 4px}
.pk-body .sub2,.pk-sub{font-size:13px;color:var(--muted);margin:0 0 6px}
.pk-loc{font-size:13px;color:var(--muted);font-weight:600;margin:2px 0 10px}
.incl{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:10px 0;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.incl span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:700;color:#b3bbcf}
.incl span i{font-style:normal;font-size:18px;filter:grayscale(1);opacity:.35}
.incl span.on{color:var(--navy)}.incl span.on i{filter:none;opacity:1}
.pk-price{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:6px}
.pk-price .big{color:var(--coral);font-size:30px;font-weight:800;line-height:1}.pk-price .big small{font-size:13px;font-weight:600;color:var(--muted)}
.pk-price .from{font-size:12px;color:var(--muted);font-weight:600;display:block;margin-bottom:2px}
.pk-price .grp{text-align:right;font-size:12px;color:var(--muted)}.pk-price .grp b{display:block;font-size:15px;color:var(--navy)}
.pk-row h3{font-size:15px;line-height:1.25;font-weight:800}
.price b{color:var(--coral)}
.pk-row .incl{grid-template-columns:repeat(6,auto);justify-content:start;gap:10px;margin:6px 0;padding:6px 0;border-bottom:0}
.pk-row .incl span{font-size:0;gap:0}.pk-row .incl span i{font-size:17px}
.fgrp{margin:14px 0 8px}.fgrp b{display:block;color:var(--navy);font-size:15px}.fgrp .fine{margin-top:3px}
.fgrp .rec{display:inline-block;margin:4px 0 2px;background:#e3f6ea;color:#14653f;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px}

/* ---- summary + status pages, same navy/orange look ---- */
.top{background:var(--navy);margin:0 -16px;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;border-radius:0 0 18px 18px}
.top .back,.top .logo,.top .logo b{color:#fff}.top .logo small{color:#ffb27a}.top .stepno{color:#cfd8f5}
.dots i{background:rgba(255,255,255,.3)}.dots i.on{background:#ff7a1a}
.stepper{margin-top:14px}
.hero{height:230px}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,rgba(238,242,250,.95))}
.stamp{background:var(--navy);color:#fff;letter-spacing:2.5px}.stamp.prop{background:#14804f;color:#fff}
.center h1{font-size:28px}
.qid{border:2px dashed #c4cfe8;box-shadow:none}.qidv{font-size:23px;color:var(--navy)}
.tl .d{background:#e1e7f6}.tl .on .d{background:var(--navy);color:#fff}.tl>div:not(:last-child):after{background:#cdd6ec}.tl .on:not(:last-child):after{background:var(--navy)}
.status{background:#e1e7f6;color:var(--navy);font-weight:800}.status.good{background:#dff6ea;color:#0f6e45}.status.bad{background:#ffe5e2;color:#b02d22}
.note{background:#e4eaf8;color:#44506b}.note b{color:var(--navy)}
.notebox{background:#e4eaf8;color:#2c3a5e}
.qs .tot{background:#fff1e4}.qs .tot b{color:var(--coral)}
.bar{background:linear-gradient(180deg,rgba(238,242,250,0),#e9eef8 28%)}
.bar .sum{box-shadow:0 6px 20px rgba(12,31,86,.16)}
.sumcard{box-shadow:0 8px 22px rgba(12,31,86,.10)}
.chip{border-radius:14px}

input.bad,textarea.bad,select.bad{border-color:#d93025!important;background:#fff5f4;box-shadow:0 0 0 3px rgba(217,48,37,.15)}
label.chk.bad{color:#b02d22;background:#fff5f4;border-radius:12px;box-shadow:0 0 0 2px #d93025;padding:8px}
.ferr{color:#c62d20;font-size:12.5px;font-weight:700;margin:4px 0 6px}

/* popup dialog */
.mdl{position:fixed;inset:0;z-index:80;background:rgba(8,16,46,.55);display:grid;place-items:center;padding:16px;animation:min .15s ease-out}
.mbox{background:#fff;border-radius:20px;padding:22px;width:min(400px,100%);box-shadow:0 20px 60px rgba(8,16,46,.4);animation:mup .18s ease-out}
.mbox h3{margin:0 0 8px;font-size:19px;color:var(--navy)}.mbox p{margin:0 0 18px;color:var(--muted);font-size:14.5px;line-height:1.5}
.mbtn{display:flex;gap:10px}.mbtn .btn{flex:1;padding:13px 10px}
.btn.danger{background:#d93025;border-color:#d93025;box-shadow:none}
@keyframes min{from{opacity:0}to{opacity:1}}@keyframes mup{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mdl,.mbox{animation:none}}

.sum.pricing b.p,.qs.pricing .l,.qs.pricing .tot{opacity:.45;transition:opacity .15s}
.sum.pricing small{color:var(--coral);font-weight:700}
.btn[data-act]:active{transform:scale(.97)}

.tinfo{background:#e4eaf8;border-radius:14px;padding:12px 14px;margin:10px 0 4px;color:var(--navy);font-size:14px}.tinfo span{display:block;margin-top:3px;font-size:12.5px;color:#44506b;font-weight:400}

/* my bookings */
.mbrow{display:flex;gap:12px;align-items:center;padding:10px;background:#fff;border-radius:var(--r);margin-bottom:10px;box-shadow:0 8px 22px rgba(12,31,86,.10);text-decoration:none;color:inherit}
.mbrow .img{width:78px;height:78px;border-radius:12px;flex:none}.mbrow h4{margin:0 0 2px;color:var(--navy);font-size:15px}.mbrow .grow{flex:1;min-width:0}.mbrow i{font-style:normal;font-size:24px;color:#9aa6c4}
.mbrow .meta{font-size:13px;color:#52608a}.mbrow .status{margin-top:6px}
.mysec{margin:18px 2px 10px;color:var(--navy)}.mycount{display:inline-block;min-width:22px;padding:1px 7px;border-radius:999px;background:#e1e7f6;color:var(--navy);font-size:12px;text-align:center;vertical-align:middle}
.mypast{margin-top:14px}.mypast summary{cursor:pointer;font-weight:800;color:var(--navy);padding:10px 2px;list-style:none}.mypast summary::-webkit-details-marker{display:none}.mypast summary::before{content:'▸ ';}.mypast[open] summary::before{content:'▾ ';}

.mytabs{display:flex;gap:6px;background:#e1e7f6;border-radius:999px;padding:4px;margin:6px 0 14px}.mytabs button{flex:1;border:0;background:transparent;border-radius:999px;padding:10px 6px;font-weight:800;font-size:14px;color:var(--navy);cursor:pointer}.mytabs button.on{background:#fff;box-shadow:0 2px 8px rgba(12,31,86,.15)}
/* My Bookings card on phones: the title gets the full width, the status sits under it */
.mybk .trip{display:grid;grid-template-columns:1fr auto;grid-template-areas:"tt chev" "pill chev";gap:8px 10px;align-items:center}
.mybk .trip .tt{grid-area:tt}.mybk .trip .pill{grid-area:pill;justify-self:start;max-width:none;text-align:left;font-size:12px}.mybk .trip .chev{grid-area:chev}
.mybk .trip b{font-size:15px;line-height:1.25;overflow:visible;text-overflow:clip}

/* My Bookings folds into one line while searching */
.mybk .mybk-head{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;cursor:pointer;font-size:19px;font-weight:800;color:#fff;letter-spacing:-.2px}
.mybk .mybk-head span{display:inline-flex;align-items:center;gap:8px}.mybk .mybk-head i{font-style:normal;font-size:20px;opacity:.85}
.mybk.folded{padding:13px 16px}
