/* ToUr 7 · Multi-day pages 1-3 · measured from the reference images (1024px design width).
   Every size is expressed in --u (= 1 reference pixel) so the layout scales exactly like the images. */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--u:calc(min(100vw,600px)/1024);--green:#0b7a47;--green-d:#08603a;--mint:#e3f5ec;--mint-bg:#f4fcf8;--red:#e41b23;--ink:#0f1c15;--muted:#6f7d76;--line:#e3eee8;--gold:#f6b400}
html{background:#e9f8f1}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;background:linear-gradient(180deg,#e5f8ee 0%,#eefaf5 40%,#f7fdfa 100%) fixed;min-height:100vh}
button{font-family:inherit;cursor:pointer;border:0;background:none;padding:0;color:inherit}
.ic{width:1em;height:1em;display:inline-block;flex:none;fill:currentColor}
.page{width:min(100vw,600px);margin:0 auto;padding:calc(var(--u)*8) calc(var(--u)*30) calc(var(--u)*190)}
.shell{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.2));border:1px solid #d8eee3;border-radius:calc(var(--u)*34);padding:calc(var(--u)*18) calc(var(--u)*20) calc(var(--u)*24);box-shadow:0 calc(var(--u)*4) calc(var(--u)*30) rgba(11,122,71,.05)}
/* header */
.hd{display:flex;align-items:center;gap:calc(var(--u)*26);min-height:calc(var(--u)*84);padding:0 calc(var(--u)*8)}
.hd .back{width:calc(var(--u)*56);height:calc(var(--u)*56);display:grid;place-items:center;font-size:calc(var(--u)*48);color:#0f1c15;margin-left:calc(var(--u)*-6)}
.hd h1{margin:0;flex:1;min-width:0;font-size:calc(var(--u)*43);line-height:1.12;font-weight:800;letter-spacing:-.02em}
.smart{display:inline-flex;align-items:center;gap:calc(var(--u)*12);height:calc(var(--u)*58);padding:0 calc(var(--u)*18);border-radius:99px;background:#fff;border:1px solid #e3efe9;box-shadow:0 calc(var(--u)*3) calc(var(--u)*10) rgba(11,122,71,.08);color:var(--green);font-weight:700;font-size:calc(var(--u)*25);white-space:nowrap;text-decoration:none}
.smart .ic{font-size:calc(var(--u)*31);color:var(--gold)}
.sub{margin:calc(var(--u)*2) calc(var(--u)*8) calc(var(--u)*14);max-width:calc(var(--u)*760);font-size:calc(var(--u)*29);line-height:1.17;color:var(--muted)}
/* chips */
.chips{display:grid;grid-template-columns:calc(var(--u)*295) calc(var(--u)*301) calc(var(--u)*296);gap:calc(var(--u)*17);margin:calc(var(--u)*10) 0 calc(var(--u)*18)}
.chip{height:calc(var(--u)*82);border-radius:calc(var(--u)*24);background:#dff3ea;display:flex;align-items:center;gap:calc(var(--u)*30);padding:0 calc(var(--u)*34);color:var(--green);min-width:0}
.chip .ic{font-size:calc(var(--u)*46)}
.chip b{display:block;font-size:calc(var(--u)*30);font-weight:700;color:#17251d;line-height:1.1;white-space:nowrap}
.chip small{display:block;font-size:calc(var(--u)*25);color:var(--muted);font-weight:500;line-height:1.15}
.chip.c{justify-content:center}
/* fields */
.fgrid{display:grid;grid-template-columns:calc(var(--u)*457) calc(var(--u)*449);gap:calc(var(--u)*18) calc(var(--u)*20);margin-bottom:calc(var(--u)*26)}
.fld{position:relative;height:calc(var(--u)*82);border-radius:calc(var(--u)*22);background:#fff;border:1.5px solid #e6f0eb;box-shadow:0 calc(var(--u)*3) calc(var(--u)*10) rgba(11,122,71,.05);display:flex;align-items:center;padding:0 calc(var(--u)*38);gap:calc(var(--u)*32);min-width:0}
.fld>.ic{font-size:calc(var(--u)*46);color:var(--green)}
.fld .tx{flex:1;min-width:0;line-height:1.15}
.fld .tx small{display:block;font-size:calc(var(--u)*22);color:var(--muted)}
.fld .tx span{display:block;font-size:calc(var(--u)*27);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fld .tx span.one{font-size:calc(var(--u)*29)}
.fld .chev{font-size:calc(var(--u)*26);color:#1c2b24;margin-left:auto}
.fld select,.fld input{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer;border:0}
.fld .vimg{width:calc(var(--u)*122);height:calc(var(--u)*60);object-fit:contain;flex:none;margin-left:calc(var(--u)*-6)}
.fld.veh{gap:calc(var(--u)*24);padding-left:calc(var(--u)*34)}
.fld.veh .tx b{display:block;font-size:calc(var(--u)*27);font-weight:700}
.fld.veh .tx small{font-size:calc(var(--u)*25)}
.ink{color:#17212a!important}.red{color:var(--red)!important}
/* itinerary heading + services */
.h2{margin:calc(var(--u)*30) calc(var(--u)*5) calc(var(--u)*4);font-size:calc(var(--u)*40);font-weight:800;letter-spacing:-.02em;line-height:1.2}
.h2s{margin:0 calc(var(--u)*5) calc(var(--u)*20);font-size:calc(var(--u)*28);color:var(--muted)}
.svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--u)*19);margin-bottom:calc(var(--u)*26)}
.svc button{height:calc(var(--u)*208);border-radius:calc(var(--u)*24);background:#fff;border:1px solid #e6f0eb;box-shadow:0 calc(var(--u)*3) calc(var(--u)*10) rgba(11,122,71,.05);text-align:left;padding:calc(var(--u)*19) 0 0 calc(var(--u)*20);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.svc .tile{width:calc(var(--u)*110);height:calc(var(--u)*95);border-radius:calc(var(--u)*22);display:grid;place-items:center;margin-bottom:calc(var(--u)*14)}
.svc .tile .ic{font-size:calc(var(--u)*70)}
.svc b{font-size:calc(var(--u)*26);font-weight:800;white-space:nowrap;letter-spacing:-.02em}
.svc small{font-size:calc(var(--u)*22);color:var(--muted);margin-top:calc(var(--u)*6);white-space:nowrap}
.t-stay{background:#d5eee2;color:#0b7a47}.t-rent{background:#dcecfb;color:#1f78e8}.t-sight{background:#fdeed8;color:#f59a0a}.t-act{background:#e9e1fb;color:#8456e6}
/* destinations list */
.tb{display:flex;align-items:center;gap:calc(var(--u)*30);margin:calc(var(--u)*8) calc(var(--u)*5) calc(var(--u)*18)}
.tb h2{margin:0;font-size:calc(var(--u)*36);font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.tb .cnt{font-size:calc(var(--u)*28);font-weight:600;color:var(--green);white-space:nowrap}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*12);height:calc(var(--u)*59);padding:0 calc(var(--u)*22);border-radius:99px;background:#fff;border:1px solid #e3efe9;box-shadow:0 calc(var(--u)*3) calc(var(--u)*10) rgba(11,122,71,.06);color:var(--green);font-weight:700;font-size:calc(var(--u)*26);white-space:nowrap}
.pill .ic{font-size:calc(var(--u)*31);color:var(--gold)}
.tb .pill{margin-left:auto}
.dlist{display:flex;flex-direction:column;gap:calc(var(--u)*19)}
.dc{position:relative;display:grid;grid-template-columns:calc(var(--u)*64) calc(var(--u)*159) 1fr calc(var(--u)*120) calc(var(--u)*40);align-items:center;column-gap:calc(var(--u)*26);height:calc(var(--u)*149);padding:0 calc(var(--u)*14) 0 calc(var(--u)*14);border-radius:calc(var(--u)*24);background:#fff;border:1px solid #e8f1ec;box-shadow:0 calc(var(--u)*3) calc(var(--u)*12) rgba(11,122,71,.05)}
.dc .no{width:calc(var(--u)*88);height:calc(var(--u)*88);margin-left:calc(var(--u)*-3);border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:calc(var(--u)*40);font-weight:700;justify-self:center}
.dc{grid-template-columns:calc(var(--u)*88) calc(var(--u)*159) 1fr calc(var(--u)*120) calc(var(--u)*40);column-gap:calc(var(--u)*26)}
.dc img{width:calc(var(--u)*159);height:calc(var(--u)*130);object-fit:cover;border-radius:calc(var(--u)*16)}
.dc .nm p{margin:0;font-size:calc(var(--u)*28);line-height:1.2}
.dc .nm h3{margin:calc(var(--u)*1) 0 calc(var(--u)*8);font-size:calc(var(--u)*31);line-height:1.15;font-weight:800;letter-spacing:-.01em}
.mt{display:flex;align-items:center;gap:calc(var(--u)*11);font-size:calc(var(--u)*26);color:var(--muted);white-space:nowrap}
.mt .ic{font-size:calc(var(--u)*36)}
.mt i{width:1px;height:calc(var(--u)*24);background:#cdd9d3;margin:0 calc(var(--u)*4)}
.pin{position:relative;width:calc(var(--u)*120);height:calc(var(--u)*78);border-radius:calc(var(--u)*22);border:1px solid #e3eee8;background:#fff;display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*18);box-shadow:0 calc(var(--u)*2) calc(var(--u)*6) rgba(11,122,71,.05)}
.pin .ic{font-size:calc(var(--u)*38);color:#101a14}.pin .ic+.ic{font-size:calc(var(--u)*26)}
.pin select{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px}
.kb{width:calc(var(--u)*40);height:calc(var(--u)*78);display:grid;place-items:center;color:#4a5750;font-size:calc(var(--u)*44)}
.menu{position:absolute;right:calc(var(--u)*20);top:calc(var(--u)*100);z-index:5;background:#fff;border:1px solid var(--line);border-radius:calc(var(--u)*18);box-shadow:0 calc(var(--u)*10) calc(var(--u)*30) rgba(0,0,0,.14);overflow:hidden;display:none;min-width:calc(var(--u)*250)}
.menu.on{display:block}
.menu button{display:block;width:100%;text-align:left;padding:calc(var(--u)*22) calc(var(--u)*28);font-size:calc(var(--u)*26);font-weight:600}
.menu button+button{border-top:1px solid var(--line)}
/* footer */
.ft{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.98);border-top:1px solid #e6efea;box-shadow:0 calc(var(--u)*-6) calc(var(--u)*24) rgba(11,122,71,.06);padding:calc(var(--u)*22) 0 calc(calc(var(--u)*20) + env(safe-area-inset-bottom))}
.ft .in{width:min(100vw,600px);margin:0 auto;padding:0 calc(var(--u)*55) 0 calc(var(--u)*55);display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*20)}
.ft b{display:block;font-size:calc(var(--u)*45);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.ft small{display:block;font-size:calc(var(--u)*28);color:var(--muted);margin-top:calc(var(--u)*6);white-space:nowrap}
.go{height:calc(var(--u)*86);min-width:calc(var(--u)*335);padding:0 calc(var(--u)*30);border-radius:calc(var(--u)*22);background:var(--red);color:#fff;font-size:calc(var(--u)*34);font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u)*14);box-shadow:0 calc(var(--u)*6) calc(var(--u)*16) rgba(228,27,35,.24);letter-spacing:-.01em;text-decoration:none}
.go .ic{font-size:calc(var(--u)*38)}
/* toast + sheet */
.toast{position:fixed;left:50%;bottom:calc(var(--u)*210);transform:translateX(-50%) translateY(20px);background:#13211a;color:#fff;border-radius:99px;padding:calc(var(--u)*20) calc(var(--u)*36);font-size:calc(var(--u)*26);font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:60;max-width:90vw;text-align:center}
.toast.on{opacity:1;transform:translateX(-50%)}
.sheet-bg{position:fixed;inset:0;background:rgba(10,25,18,.45);z-index:40;display:none}
.sheet-bg.on{display:block}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;width:min(100vw,600px);margin:0 auto;background:#fff;border-radius:calc(var(--u)*36) calc(var(--u)*36) 0 0;padding:calc(var(--u)*22) calc(var(--u)*36) calc(var(--u)*40);transform:translateY(105%);transition:transform .28s;max-height:80vh;overflow:auto}
.sheet.on{transform:none}
.sheet .grab{width:calc(var(--u)*90);height:calc(var(--u)*8);border-radius:9px;background:#d5e2db;margin:0 auto calc(var(--u)*20)}
.sheet h3{margin:0 0 calc(var(--u)*6);font-size:calc(var(--u)*36);font-weight:800}
.sheet p.s{margin:0 0 calc(var(--u)*18);color:var(--muted);font-size:calc(var(--u)*26)}
.opt{display:flex;align-items:center;gap:calc(var(--u)*22);padding:calc(var(--u)*18);border:1px solid var(--line);border-radius:calc(var(--u)*22);margin-bottom:calc(var(--u)*14);width:100%;text-align:left}
.opt img{width:calc(var(--u)*120);height:calc(var(--u)*90);border-radius:calc(var(--u)*14);object-fit:cover;flex:none;background:#e3f1ea}
.opt .o{flex:1;min-width:0}.opt .o b{display:block;font-size:calc(var(--u)*28);font-weight:700}.opt .o span{font-size:calc(var(--u)*25);color:var(--muted)}
.opt em{font-style:normal;font-weight:800;color:var(--green);font-size:calc(var(--u)*28)}
.opt .ph{width:calc(var(--u)*120);height:calc(var(--u)*90);border-radius:calc(var(--u)*14);display:grid;place-items:center;background:#e3f1ea;color:var(--green);font-size:calc(var(--u)*52);flex:none}
.opt.done{opacity:.45}

/* ===== page 2: review ===== */
.flt{display:flex;justify-content:space-between;gap:calc(var(--u)*14);margin:calc(var(--u)*2) 0 calc(var(--u)*20);overflow-x:auto;scrollbar-width:none;padding:0 calc(var(--u)*4) calc(var(--u)*4)}
.flt::-webkit-scrollbar{display:none}
.flt button{flex:none;height:calc(var(--u)*62);padding:0 calc(var(--u)*26);border-radius:calc(var(--u)*22);background:#fff;border:1px solid #e3efe9;color:var(--green);font-weight:700;font-size:calc(var(--u)*27);box-shadow:0 calc(var(--u)*2) calc(var(--u)*6) rgba(11,122,71,.05)}
.flt button.on{background:var(--green);border-color:var(--green);color:#fff}
.day{position:relative;background:#fff;border:1px solid #e3eee8;border-radius:calc(var(--u)*26);margin-bottom:calc(var(--u)*16);box-shadow:0 calc(var(--u)*3) calc(var(--u)*12) rgba(11,122,71,.05)}
.day.open{padding-bottom:calc(var(--u)*14)}
.dh{display:grid;grid-template-columns:calc(var(--u)*104) calc(var(--u)*192) 1fr calc(var(--u)*50);align-items:center;column-gap:calc(var(--u)*30);padding:calc(var(--u)*11) calc(var(--u)*24) calc(var(--u)*11) calc(var(--u)*0);width:100%;text-align:left;min-height:calc(var(--u)*130)}
.dh .no{position:relative;z-index:2;width:calc(var(--u)*74);height:calc(var(--u)*74);border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:calc(var(--u)*36);font-weight:800;justify-self:end;margin-right:calc(var(--u)*0)}
.day.open .dh .no::before,.day.open .dh .no::after{content:"";position:absolute;left:50%;width:2px;background:#cfe5d9;transform:translateX(-50%)}
.day.open .dh .no::before{bottom:100%;height:calc(var(--u)*32)}
.day.open .dh .no::after{top:100%;height:calc(var(--u)*34)}
.dh img{width:calc(var(--u)*192);height:calc(var(--u)*111);object-fit:cover;border-radius:calc(var(--u)*14)}
.dh .t p{margin:0;font-size:calc(var(--u)*27);line-height:1.2;color:#2a3830}
.dh .t h3{margin:calc(var(--u)*2) 0 calc(var(--u)*8);font-size:calc(var(--u)*33);font-weight:800;line-height:1.15;letter-spacing:-.01em}
.dh .t .mt{font-size:calc(var(--u)*26)}.dh .t .mt .ic{font-size:calc(var(--u)*34)}
.dh .cv{font-size:calc(var(--u)*30);color:#17251d;justify-self:end;transition:transform .2s}
.day.open .dh .cv{transform:rotate(180deg)}
.db{display:none;padding:calc(var(--u)*2) calc(var(--u)*14) 0}
.day.open .db{display:block}
.sec{background:#f4faf7;border:1px solid #eaf3ee;border-radius:calc(var(--u)*18);padding:calc(var(--u)*12) calc(var(--u)*0) calc(var(--u)*0);margin-bottom:calc(var(--u)*16);position:relative}
.sec.hide{display:none}
.sh{display:flex;align-items:center;gap:calc(var(--u)*18);padding:calc(var(--u)*2) calc(var(--u)*16) calc(var(--u)*12);font-size:calc(var(--u)*26);font-weight:500}
.sh .ck{width:calc(var(--u)*40);height:calc(var(--u)*40);border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:calc(var(--u)*26)}
.sh .ck.off{background:#cfdcd5}
.items{margin:0 calc(var(--u)*2) 0 calc(var(--u)*76);background:#fff;border:1px solid #e6efea;border-radius:calc(var(--u)*16);margin-bottom:calc(var(--u)*2)}
.row{position:relative;display:flex;align-items:center;gap:calc(var(--u)*22);padding:calc(var(--u)*10) calc(var(--u)*16) calc(var(--u)*10) calc(var(--u)*21)}
.row+.row{border-top:1px solid #eaf1ed}
.row .cb{position:absolute;left:calc(var(--u)*-79);top:50%;transform:translateY(-50%);width:calc(var(--u)*38);height:calc(var(--u)*38);border-radius:calc(var(--u)*9);background:var(--green);color:#fff;display:grid;place-items:center;font-size:calc(var(--u)*28)}
.row .cb.off{background:#fff;border:2px solid #b9cbc2;color:transparent}
.row img{width:calc(var(--u)*158);height:calc(var(--u)*77);object-fit:cover;border-radius:calc(var(--u)*10);flex:none}
.row .tx{flex:1;min-width:0}
.row .tx b{display:block;font-size:calc(var(--u)*26);font-weight:500;line-height:1.25}
.row .pr{display:block;margin-top:calc(var(--u)*6);font-size:calc(var(--u)*26);font-weight:800;color:var(--green)}
.row .pr small{font-size:calc(var(--u)*22);font-weight:400;color:var(--muted)}
.row .x{font-size:calc(var(--u)*28);color:var(--red);width:calc(var(--u)*44);height:calc(var(--u)*44);display:grid;place-items:center;align-self:flex-start;margin-top:calc(var(--u)*2)}
.row.off{opacity:.5}
.row.hotel{padding:calc(var(--u)*10) calc(var(--u)*16) calc(var(--u)*10) calc(var(--u)*13);align-items:stretch}
.row.hotel img{width:calc(var(--u)*166);height:calc(var(--u)*135);border-radius:calc(var(--u)*10)}
.row.hotel .tx b{font-size:calc(var(--u)*27);font-weight:800;padding-right:calc(var(--u)*40)}
.stars{display:flex;gap:calc(var(--u)*3);margin:calc(var(--u)*8) 0 calc(var(--u)*4);color:var(--gold);font-size:calc(var(--u)*25)}
.stars .e{color:#e4dcc0}
.row.hotel .meta{font-size:calc(var(--u)*22);color:var(--muted)}
.row.hotel .bot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:calc(var(--u)*6)}
.row.hotel .pr{font-size:calc(var(--u)*31);margin:0}
.row.hotel .x{position:absolute;right:calc(var(--u)*16);top:calc(var(--u)*14)}
.step{display:flex;align-items:center;height:calc(var(--u)*58);border:1px solid #e0ebe5;border-radius:99px;background:#fff}
.step button{width:calc(var(--u)*68);height:100%;display:grid;place-items:center;font-size:calc(var(--u)*30);color:#31403a}
.step button.p{color:var(--green)}
.step span{min-width:calc(var(--u)*46);text-align:center;font-size:calc(var(--u)*27);font-weight:600}
.adds{display:grid;grid-template-columns:.84fr 1.04fr 1fr;gap:calc(var(--u)*22);margin:calc(var(--u)*2) calc(var(--u)*10) calc(var(--u)*2)}
.adds button{min-width:0;white-space:nowrap;height:calc(var(--u)*66);border-radius:99px;background:#fff;border:1px solid #d7e9df;color:var(--green);font-weight:700;font-size:calc(var(--u)*25);display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*14)}
.adds .ic{font-size:calc(var(--u)*30)}
.empty{padding:calc(var(--u)*14) calc(var(--u)*22) calc(var(--u)*22);font-size:calc(var(--u)*24);color:var(--muted)}
.empty+.adds{margin-top:0}

/* ===== page 3: summary ===== */
.card{overflow:hidden;background:#fff;border:1px solid #e6efea;border-radius:calc(var(--u)*24);box-shadow:0 calc(var(--u)*3) calc(var(--u)*12) rgba(11,122,71,.04);margin-bottom:calc(var(--u)*18)}
.trip{display:flex;align-items:center;gap:calc(var(--u)*25);padding:calc(var(--u)*3) calc(var(--u)*18) calc(var(--u)*3) calc(var(--u)*16);position:relative}
.trip img{width:calc(var(--u)*294);height:calc(var(--u)*169);border-radius:calc(var(--u)*18);object-fit:cover;flex:none}
.trip .tt b{display:block;font-size:calc(var(--u)*33);font-weight:800;line-height:1.28;letter-spacing:-.01em}
.tags{display:flex;gap:calc(var(--u)*17);margin-top:calc(var(--u)*14);flex-wrap:nowrap}
.tags span{height:calc(var(--u)*53);padding:0 calc(var(--u)*14);border-radius:calc(var(--u)*16);background:#dff3ea;color:var(--green);font-size:calc(var(--u)*23);font-weight:600;display:inline-flex;align-items:center;gap:calc(var(--u)*10);white-space:nowrap}
.tags span.car{background:#e9f3fb;color:#14202a;font-weight:500}.tags span.car .ic{font-size:calc(var(--u)*30)}
.edit-c{position:absolute;right:calc(var(--u)*18);top:calc(var(--u)*1);width:calc(var(--u)*71);height:calc(var(--u)*75);border-radius:50%;border:1px solid #dbeae2;display:grid;place-items:center;color:var(--green);font-size:calc(var(--u)*34);background:#fff}
.bd{padding:calc(var(--u)*20) calc(var(--u)*20) 0}
.bd h2{margin:0 0 calc(var(--u)*6);font-size:calc(var(--u)*30);font-weight:800;letter-spacing:-.01em}
.br{display:grid;grid-template-columns:calc(var(--u)*94) 1fr auto calc(var(--u)*100);align-items:center;column-gap:calc(var(--u)*14);min-height:calc(var(--u)*86);border-bottom:1px solid #eaf1ed;padding-left:calc(var(--u)*7)}
.br:last-of-type{border-bottom:0}
.br .bi{font-size:calc(var(--u)*50);display:grid;place-items:center;justify-self:start;margin-left:calc(var(--u)*0)}
.br .bt{padding-left:calc(var(--u)*0)}
.br .bt b{display:block;font-size:calc(var(--u)*25);font-weight:500;line-height:1.25}
.br .bt small{display:block;font-size:calc(var(--u)*22);color:var(--muted);margin-top:calc(var(--u)*3)}
.br .am{font-size:calc(var(--u)*25);font-weight:800;text-align:right;min-width:calc(var(--u)*120);padding-right:calc(var(--u)*34)}
.br .eb{height:calc(var(--u)*52);border-radius:calc(var(--u)*15);border:1px solid #dcebe3;background:#fff;color:var(--green);font-weight:700;font-size:calc(var(--u)*24);width:calc(var(--u)*100)}
.br.nb .am{grid-column:3 / span 2;text-align:right;padding-right:calc(var(--u)*4)}
.total{display:flex;align-items:center;justify-content:space-between;background:#e3f5ec;border-radius:calc(var(--u)*20);padding:0 calc(var(--u)*24);height:calc(var(--u)*82);margin:calc(var(--u)*10) calc(var(--u)*-20) calc(var(--u)*0);color:var(--green)}
.total span{font-size:calc(var(--u)*31);font-weight:800}.total b{font-size:calc(var(--u)*46);font-weight:800;letter-spacing:-.02em}
.bdw{padding:0 calc(var(--u)*0) calc(var(--u)*0);}
.bdw .bd{padding-bottom:calc(var(--u)*0)}
.ao{padding:calc(var(--u)*16) calc(var(--u)*18) calc(var(--u)*14)}
.aoh{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:calc(var(--u)*14)}
.aoh h2{margin:0;font-size:calc(var(--u)*29);font-weight:800}
.aoh p{margin:calc(var(--u)*4) 0 0;font-size:calc(var(--u)*24);color:var(--muted)}
.aoh .pill{height:calc(var(--u)*54);font-size:calc(var(--u)*25);border:1px solid #bfe0cf;color:var(--green);box-shadow:none;padding:0 calc(var(--u)*28)}
.aog{display:grid;grid-template-columns:calc(var(--u)*284) calc(var(--u)*279) calc(var(--u)*274);gap:calc(var(--u)*23)}
.add{border:1px solid #e6efea;border-radius:calc(var(--u)*14);overflow:hidden;background:#fff;padding-bottom:calc(var(--u)*14)}
.add img{display:block;width:100%;height:calc(var(--u)*98);object-fit:cover}
.add h4{margin:calc(var(--u)*14) calc(var(--u)*14) calc(var(--u)*2);font-size:calc(var(--u)*21);font-weight:800}
.add p{margin:0 calc(var(--u)*14) calc(var(--u)*10);font-size:calc(var(--u)*22);color:var(--muted)}
.add p b{color:var(--green);font-weight:800}
.add button{display:block;width:calc(100% - var(--u)*28);margin:0 calc(var(--u)*14);height:calc(var(--u)*46);border-radius:calc(var(--u)*8);border:1px solid var(--green);color:var(--green);font-weight:700;font-size:calc(var(--u)*22)}
.add button.done{background:var(--green);color:#fff}
@media (min-width:700px){html{background:#dff3ea}}

/* Requested itinerary destination outline: blue border on every day/place card. */
.day{border:1.5px solid #60a5fa;box-shadow:0 2px 12px rgba(37,99,235,.055)}
.day.open{border-color:#3b82f6}
.full-itinerary-wrap{padding:calc(var(--u)*10) calc(var(--u)*2) calc(var(--u)*18);text-align:center}
.full-itinerary-btn{display:flex;align-items:center;justify-content:center;gap:calc(var(--u)*14);min-height:calc(var(--u)*68);padding:calc(var(--u)*14) calc(var(--u)*22);border-radius:calc(var(--u)*18);background:#fff;border:1.5px solid #3b82f6;color:#155eaa;text-decoration:none;font-size:calc(var(--u)*26);font-weight:800;box-shadow:0 4px 14px rgba(37,99,235,.08)}
.full-itinerary-wrap p{margin:calc(var(--u)*8) 0 0;color:var(--muted);font-size:calc(var(--u)*21)}


/* ToUr 7 requested polish: keep numbered day markers, remove green status dots/check boxes. */
.day.open .dh .no::before,.day.open .dh .no::after{display:none!important}
.sh .ck{display:none!important}
.sh{gap:0!important;font-weight:750!important;color:#24352d!important;padding-left:calc(var(--u)*18)!important}
.row .cb{display:none!important}
.items{margin-left:calc(var(--u)*2)!important;margin-right:calc(var(--u)*2)!important}
.row{padding-left:calc(var(--u)*14)!important;gap:calc(var(--u)*18)!important}
.row.hotel{padding-left:calc(var(--u)*13)!important}
/* Soft rose emphasis distinguishes the Stay, Sightseeing and Activities groups. */
.sec{background:#fff5f6!important;border:1px solid #f4d9df!important;box-shadow:0 2px 7px rgba(190,70,95,.035)!important}
.sec .items{background:#fff!important;border-color:#f0e2e5!important}
.sec .sh{color:#7f2940!important}
.sec .row+.row{border-top-color:#f2e5e8!important}
/* Make each destination name easier to scan without changing the green day-number circles. */
.dh .t h3{display:table!important;width:max-content!important;max-width:100%!important;background:#fff0f2!important;color:#8e2943!important;border-radius:calc(var(--u)*8)!important;padding:calc(var(--u)*3) calc(var(--u)*9)!important;margin-left:calc(var(--u)*-9)!important}


/* V30 mobile-app polish: clearly boxed planner and daily destination sections. */
.planner-box{border:1.5px solid #45c995;border-radius:calc(var(--u)*30);padding:calc(var(--u)*14) calc(var(--u)*18) calc(var(--u)*18);background:rgba(255,255,255,.56);box-shadow:0 2px 12px rgba(11,122,71,.035);margin-bottom:calc(var(--u)*20)}
.planner-box .chips{margin-top:calc(var(--u)*10)}
.planner-box .fgrid{margin-bottom:0}
.destinations-box{display:block;border:1.5px solid #45c995;border-radius:calc(var(--u)*30);padding:calc(var(--u)*18) calc(var(--u)*16) calc(var(--u)*20);background:rgba(255,255,255,.58);box-shadow:0 2px 12px rgba(11,122,71,.035);margin-top:calc(var(--u)*10)}
.destinations-box .tb{margin-top:0}
.destinations-box .dlist{gap:calc(var(--u)*14)}
.dc .no{border-radius:calc(var(--u)*14)!important;background:#e3f5ec!important;color:#08603a!important;border:1px solid #b8e6d2!important;box-shadow:none!important;margin:0!important;width:calc(var(--u)*88)!important;height:calc(var(--u)*104)!important;font-size:calc(var(--u)*30)!important;line-height:1.1;position:relative}
.dc .no{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u)*2)}
.dc .no:before{content:'Day';display:block;font-size:calc(var(--u)*19);font-weight:700}
.dc{border:1.5px solid #9edfc3!important;box-shadow:0 2px 8px rgba(11,122,71,.035)!important}
@media(max-width:420px){.planner-box,.destinations-box{padding:12px;border-radius:16px}.dc{column-gap:8px!important;grid-template-columns:42px 76px minmax(0,1fr) 52px 16px!important;padding:0 7px!important;height:86px!important}.dc .no{width:40px!important;height:54px!important;border-radius:9px!important}.dc .no:before{font-size:10px}.dc img{width:76px!important;height:66px!important}.dc .nm p{font-size:12px}.dc .nm h3{font-size:14px}.mt{font-size:10px;gap:4px}.mt .ic{font-size:13px}.dc .pin{width:52px!important}.dc .kb{width:16px!important}}


/* V31 responsive containment + compact destination cards */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
.page,.shell,.planner-box,.destinations-box{width:100%;min-width:0;max-width:100%}
.planner-box{padding:calc(var(--u)*14) calc(var(--u)*16) calc(var(--u)*16);border:1.5px solid #45c995;border-radius:calc(var(--u)*28);overflow:hidden}
.planner-box .hd{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:calc(var(--u)*10);min-width:0}
.planner-box .hd h1{min-width:0;overflow-wrap:anywhere;line-height:1.15}
.planner-box .smart{max-width:100%;white-space:nowrap}
.planner-box .chips,.planner-box .fgrid{width:100%;min-width:0}
.planner-box .fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--u)*12)}
.planner-box .fld{min-width:0;width:100%;overflow:hidden}
.planner-box .fld .tx{min-width:0;overflow:hidden}
.planner-box .fld .tx span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.destinations-box{border:1.5px solid #45c995;border-radius:calc(var(--u)*28);padding:calc(var(--u)*14);overflow:hidden}
.destinations-box .dlist{gap:calc(var(--u)*10)}
.dc{min-width:0;max-width:100%;grid-template-columns:calc(var(--u)*66) calc(var(--u)*128) minmax(0,1fr) calc(var(--u)*84) calc(var(--u)*22)!important;column-gap:calc(var(--u)*12)!important;padding:calc(var(--u)*8)!important;height:auto!important;min-height:calc(var(--u)*120)!important;overflow:hidden;border:1.5px solid #9edfc3!important;border-radius:calc(var(--u)*18)!important;background:#fff}
.dc .no{width:calc(var(--u)*60)!important;height:calc(var(--u)*82)!important;border-radius:calc(var(--u)*12)!important;font-size:calc(var(--u)*27)!important}
.dc .no:before{font-size:calc(var(--u)*16)!important}
.dc img{width:calc(var(--u)*128)!important;height:calc(var(--u)*92)!important;max-width:100%;border-radius:calc(var(--u)*12)!important}
.dc .nm{min-width:0;overflow:hidden}
.dc .nm p,.dc .nm h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.dc .nm p{font-size:calc(var(--u)*21)!important}
.dc .nm h3{font-size:calc(var(--u)*27)!important;background:transparent!important;color:#15271e!important;padding:0!important;margin:0!important}
.dc .mt{font-size:calc(var(--u)*19)!important;gap:calc(var(--u)*5)!important;flex-wrap:wrap}
.dc .pin{width:calc(var(--u)*78)!important;min-width:0}
.dc .kb{width:calc(var(--u)*20)!important}
@media(max-width:420px){
 .page{padding-left:10px!important;padding-right:10px!important}
 .shell{padding:10px!important}
 .planner-box{padding:10px!important;border-radius:16px!important}
 .planner-box .hd{grid-template-columns:24px minmax(0,1fr) auto!important;gap:7px!important}
 .planner-box .hd h1{font-size:18px!important}
 .planner-box .smart{font-size:10px!important;padding:7px!important}
 .planner-box .chips{gap:6px!important}
 .planner-box .fgrid{gap:7px!important}
 .planner-box .fld{padding:7px!important;gap:5px!important}
 .planner-box .fld .ic{flex:0 0 17px!important;width:17px!important}
 .planner-box .fld .tx span{font-size:11px!important}
 .destinations-box{padding:9px!important;border-radius:16px!important}
 .destinations-box .tb{gap:5px!important;flex-wrap:wrap}
 .destinations-box .tb h2{font-size:16px!important}
 .destinations-box .cnt{font-size:11px!important}
 .destinations-box .pill{font-size:10px!important;padding:6px 8px!important}
 .dc{grid-template-columns:38px 64px minmax(0,1fr) 48px 12px!important;column-gap:6px!important;padding:6px!important;min-height:76px!important;border-radius:12px!important}
 .dc .no{width:36px!important;height:49px!important;border-radius:8px!important;font-size:18px!important}
 .dc .no:before{font-size:9px!important}
 .dc img{width:64px!important;height:58px!important;border-radius:8px!important}
 .dc .nm p{font-size:10px!important}.dc .nm h3{font-size:12px!important}
 .dc .mt{font-size:9px!important;line-height:1.25}
 .dc .mt .ic{font-size:11px!important}
 .dc .pin{width:46px!important;padding:5px!important}.dc .kb{width:12px!important}
}
