/* Polish Wala – customer site. App-style mobile UI: white header, lavender page, navy / blue / orange accents. */
@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/inter-400.woff) format("woff")}
@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/inter-500.woff) format("woff")}
@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/inter-600.woff) format("woff")}
@font-face{font-family:Inter;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/inter-700.woff) format("woff")}

:root{
  --bg:#F0F1F6;--card:#fff;--ink:#0F1522;--ink-2:#1D2133;--mute:#66656A;--mute-2:#98979B;--line:#E7E9F1;--line-2:#EEF0F6;
  --navy:#162048;--navy-2:#1C307A;--blue:#1B41D3;--blue-soft:#EDF1FF;--blue-line:#D5DDF8;
  --orange:#E64B0B;--orange-d:#CC420A;--orange-soft:#FFEEDB;
  --green:#0B9A62;--green-d:#01694C;--green-soft:#E7FBF3;--red:#D92D20;--red-soft:#FEEFF1;--gold:#F5B301;
  --shadow:0 1px 2px rgba(15,21,34,.04),0 4px 14px rgba(15,21,34,.06);
  --shadow-up:0 -6px 20px rgba(15,21,34,.08);
  --f:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari","Nirmala UI",Mangal,sans-serif;
  --app-w:480px;--nav-h:63px;--cartbar-h:56px;
  --sab:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:70px;-webkit-tap-highlight-color:transparent}
body{margin:0;font-family:var(--f);font-size:14px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"calt" 1,"ss01" 0}
:lang(hi){letter-spacing:0;line-height:1.7}
h1,h2,h3,h4{margin:0;font-weight:700;color:var(--ink);line-height:1.25;letter-spacing:-.01em}
h1{font-size:20px}h2{font-size:18.7px}h3{font-size:16px}h4{font-size:14px}
p{margin:0 0 .9em}ul,ol{margin:0;padding:0}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%}img{height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;z-index:400;background:var(--navy);color:#fff;padding:10px 16px;border-radius:12px;font-weight:600}
.skip:focus{left:8px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.i{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.muted{color:var(--mute)}.center{text-align:center}
.nowrap{white-space:nowrap}
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.clamp-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{0%{background-position:-300px 0}100%{background-position:300px 0}}
@keyframes sheet-in{from{transform:translateY(100%)}to{transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes pop{0%{transform:scale(.9)}60%{transform:scale(1.04)}100%{transform:scale(1)}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:14px;border:1.5px solid transparent;font-weight:600;font-size:15.8px;line-height:1;white-space:nowrap;transition:transform .08s,background .15s,opacity .15s;position:relative}
.btn:active{transform:scale(.985)}
.btn .i{width:18px;height:18px}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 6px 16px rgba(230,75,11,.22)}
.btn-primary:hover{background:var(--orange-d);color:#fff}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#0F1838;color:#fff}
.btn-blue{background:var(--blue);color:#fff}
.btn-outline{background:#fff;border-color:var(--ink);color:var(--ink-2)}
.btn-soft{background:#F2F1F3;color:var(--ink)}
.btn-ghost{background:transparent;color:var(--blue)}
.btn-danger{background:#fff;border-color:#F5C2BE;color:var(--red)}
.btn-sm{height:36px;padding:0 14px;font-size:13.5px;border-radius:11px}
.btn-block{display:flex;width:100%}
.btn.is-disabled,.btn[disabled],.btn:disabled{background:#F4F4F7;color:#C2C2CA;box-shadow:none;border-color:transparent;pointer-events:none}
.btn.is-loading{color:transparent!important;pointer-events:none}
.btn.is-loading::after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;border:2.5px solid #fff;border-top-color:transparent;animation:spin .7s linear infinite}
.btn-outline.is-loading::after,.btn-soft.is-loading::after,.btn-ghost.is-loading::after{border-color:var(--navy);border-top-color:transparent}
.link{color:var(--blue);font-weight:500}
.link-more{display:inline-flex;align-items:center;gap:2px;color:var(--blue);font-weight:500;font-size:14.8px}
.link-more .i{width:16px;height:16px}

/* ---------- forms ---------- */
.field{margin:0 0 14px;position:relative}
.field>label,.lbl{display:block;font-size:12.5px;font-weight:500;color:var(--mute);margin:0 0 6px}
.inp,.field input[type=text],.field input[type=tel],.field input[type=email],.field input[type=search],.field input[type=number],.field select,.field textarea{width:100%;height:48px;border:1.5px solid #D9DCE6;border-radius:14px;background:#fff;padding:0 14px;font-size:16px;color:var(--ink);outline:0;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.field textarea{height:auto;min-height:84px;padding:12px 14px;resize:vertical;line-height:1.45}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2366656A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:40px}
.inp:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,32,72,.08)}
.field input::placeholder,.field textarea::placeholder{color:#A2A3AE}
.field .is-invalid,.inp.is-invalid{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(217,45,32,.08)}
.field-err{margin:6px 2px 0;font-size:12.5px;color:var(--red)}
.field-hint{margin:6px 2px 0;font-size:12.5px;color:var(--mute)}
.phone-inp{display:flex;align-items:center;height:48px;border:1.5px solid #D9DCE6;border-radius:14px;background:#fff;padding:0 14px;gap:12px;transition:border-color .15s,box-shadow .15s}
.phone-inp:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,32,72,.08)}
.phone-inp.is-invalid{border-color:var(--red)}
.phone-inp b{font-weight:500;color:var(--mute);font-size:16px}
.phone-inp input{flex:1;min-width:0;height:100%!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;font-size:16px;background:transparent}
.form-msg{min-height:20px;margin:8px 0 0;font-size:13.5px;color:var(--red)}
.form-msg.ok{color:var(--green-d)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--mute);margin:0 0 12px}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--navy);flex:none}

/* ---------- chips / pills ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14.5px;color:var(--ink-2);white-space:nowrap}
.chip-on{background:var(--navy);border-color:var(--navy);color:#fff}
.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:500}
.pill .i{width:14px;height:14px}
.pill-green{background:var(--green-soft);color:var(--green-d);border:1px solid #CDF3E3}
.pill-blue{background:#E4F0FC;color:#1D4F8F;border:1px solid #CFE4F8}
.badge{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;background:#EBEFFF;color:#2F3047}
.badge-green{background:var(--green-soft);color:var(--green-d)}
.badge-orange{background:var(--orange-soft);color:#B3400A}
.badge-red{background:var(--red-soft);color:#B42318}
.badge-grey{background:#F0F0F4;color:#5B5B63}

/* ---------- cards ---------- */
.card{background:var(--card);border-radius:18px;border:1px solid var(--line);overflow:hidden}
.card-pad{padding:16px}
.card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;height:52px;font-weight:500;font-size:16.2px;color:var(--ink-2);border-bottom:1px solid var(--line-2);width:100%;text-align:left}
.card-hd .i{width:18px;height:18px;color:var(--mute-2);transition:transform .2s}
.card-hd[aria-expanded=false] .i{transform:rotate(180deg)}
.card-hd[aria-expanded=false]+.card-bd{display:none}
.card-bd{padding:14px 16px}
.alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;font-size:13.5px;line-height:1.45;margin:0 0 12px;background:var(--blue-soft);color:#1E2E73}
.alert .i{margin-top:2px;width:17px;height:17px}
.alert-error{background:var(--red-soft);color:#9A1E14}
.alert-success{background:var(--green-soft);color:var(--green-d)}

/* ---------- skeleton ---------- */
.sk{background:linear-gradient(90deg,#ECEEF2 0,#F5F6F9 50%,#ECEEF2 100%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:999px;height:14px}

/* ---------- app shell ---------- */
body{padding-bottom:0}
.app{position:relative;min-height:100vh;max-width:var(--app-w);margin:0 auto;background:var(--bg)}
body.has-nav .app{padding-bottom:calc(var(--nav-h) + var(--sab))}
body.has-nav.cart-on .app{padding-bottom:calc(var(--nav-h) + var(--cartbar-h) + var(--sab))}
.fx{position:fixed;left:50%;transform:translateX(-50%);width:100%;max-width:var(--app-w)}
@media (min-width:600px){
  body{background:#E5E7EF}
  .app{box-shadow:0 0 0 1px #DADCE6,0 10px 40px rgba(15,21,34,.08)}
}

/* announcement */
.announce{background:var(--navy);color:#fff;font-size:12.5px;text-align:center;padding:7px 15px}
.announce a{color:#fff;font-weight:500}

/* ---------- home top ---------- */
.top{background:#fff;padding:12px 15px 2px}
.loc-row{display:flex;align-items:center;gap:10px;height:30px}
.loc-btn{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;height:30px}
.loc-pin{width:30px;height:30px;flex:none;border-radius:50%;background:#E6EAFB;color:var(--navy);display:grid;place-items:center}
.loc-pin .i{width:16px;height:16px}
.loc-txt{flex:1;min-width:0;font-size:14.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loc-txt b{font-weight:600;color:var(--ink);font-size:15px}
.loc-chev{width:18px;height:18px;color:var(--mute);flex:none}
.cart-chip{display:flex;align-items:center;gap:7px;height:30px;padding:0 12px 0 9px;border-radius:999px;background:#EDF1FF;color:var(--ink);font-weight:600;font-size:14.2px;flex:none}
.cart-chip .i{width:18px;height:18px;color:var(--blue)}
.search-wrap{position:sticky;top:0;z-index:40;background:#fff;padding:10px 15px 12px;box-shadow:0 1px 0 #ECEDF3,0 8px 14px -10px rgba(15,21,34,.18)}
.search{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border-radius:14px;background:#F3F4F6;border:1px solid #E6E7EC;color:#707078;cursor:text;width:100%}
.search .i{width:20px;height:20px;color:#8A8A92;flex:none}
.search input{flex:1;min-width:0;height:100%;border:0;background:transparent;outline:0;font-size:16px;color:var(--ink);padding:0;-webkit-appearance:none;appearance:none}
.search input::placeholder{color:#55555B;opacity:1;font-size:14.5px;transition:opacity .22s}
.search input.ph-out::placeholder{opacity:0}
.search input::-webkit-search-cancel-button{display:none}
.search .mic{width:30px;height:30px;margin-right:-6px;display:grid;place-items:center;border-radius:50%}
.search .mic .i{color:#8A8A92}

/* ---------- page header (inner pages) ---------- */
.pg-hd{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid #E9EBF2;padding:9px 15px 10px;display:flex;align-items:center;gap:12px;min-height:57px}
.pg-hd.has-sub{padding-top:9px;padding-bottom:9px}
.pg-t{flex:1;min-width:0}
.pg-t h1,.pg-t .t{font-size:17.9px;font-weight:700;line-height:1.25;margin:0;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pg-t .s{font-size:13.4px;color:var(--mute);line-height:1.3;margin:1px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.back{width:30px;height:34px;display:grid;place-items:center;margin-left:-4px;flex:none;color:var(--ink)}
.back .i{width:24px;height:24px;stroke-width:2.1}
.back-c{width:34px;height:34px;border-radius:50%;background:#F0F0F5;display:grid;place-items:center;flex:none;margin-left:0}
.back-c .i{width:20px;height:20px}
.ic-btn{width:38px;height:38px;border-radius:50%;background:#F0F0F5;display:grid;place-items:center;flex:none;color:var(--ink)}
.ic-btn .i{width:21px;height:21px}
.loc-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px 0 10px;border-radius:999px;border:1px solid #D6D9F0;background:#fff;font-size:15px;color:var(--ink-2);flex:none}
.loc-pill .i{width:17px;height:17px;color:#5A3FD1}

/* ---------- bottom nav ---------- */
.bnav{bottom:0;z-index:60;background:#fff;border-top:1px solid #E9EBF2;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--nav-h) + var(--sab));padding-bottom:var(--sab)}
.bnav a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:9px;color:var(--mute);font-size:12px;line-height:1;position:relative}
.bnav .i,.bnav img{width:24px;height:24px;margin-bottom:6px;stroke-width:1.8}
.bnav img{width:22px;height:22px;margin:1px 0 7px;border-radius:5px}
.bnav a[aria-current=page]{color:var(--blue)}
.bnav a[aria-current=page]::after{content:"";position:absolute;bottom:5px;left:50%;margin-left:-2px;width:4px;height:4px;border-radius:50%;background:var(--blue)}
.bnav .cnt{position:absolute;top:5px;left:50%;margin-left:6px;min-width:16px;height:16px;border-radius:8px;background:var(--orange);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}

/* ---------- floating cart bar ---------- */
.cartbar{bottom:calc(var(--nav-h) + var(--sab));z-index:55;height:var(--cartbar-h);background:#fff;border-top:1px solid #E9EBF2;display:flex;align-items:center;gap:12px;padding:0 15px;box-shadow:var(--shadow-up)}
.cartbar[hidden]{display:none}
.cb-ic{position:relative;width:32px;height:32px;border-radius:10px;background:#ECF0FE;color:var(--blue);display:grid;place-items:center;flex:none}
.cb-ic .i{width:18px;height:18px}
.cb-ic b{position:absolute;top:-8px;right:-8px;min-width:18px;height:18px;border-radius:9px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.cb-txt{flex:1;font-size:14.7px;color:var(--ink)}
.cb-txt i{font-style:normal;color:var(--mute-2);margin:0 2px}
.cb-go{display:inline-flex;align-items:center;gap:2px;color:var(--blue);font-weight:500;font-size:15.8px}
.cb-go .i{width:19px;height:19px}

/* ---------- sheets ---------- */
.sheet{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sheet-bg{position:absolute;inset:0;background:rgba(10,14,32,.5);animation:fade-in .2s}
.sheet-panel{position:relative;width:100%;max-width:var(--app-w);max-height:92vh;max-height:92dvh;background:#fff;border-radius:24px 24px 0 0;display:flex;flex-direction:column;animation:sheet-in .26s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 40px rgba(10,14,32,.25)}
.grab{display:block;width:38px;height:4px;border-radius:2px;background:#D7D7DB;margin:10px auto 0;flex:none}
.sheet-hd{display:flex;align-items:center;justify-content:space-between;padding:18px 15px 12px;flex:none}
.sheet-hd h2,.sheet-hd .st{font-size:17.3px;font-weight:600;letter-spacing:-.005em}
.sheet-x{width:30px;height:30px;display:grid;place-items:center;color:var(--ink-2);margin-right:2px}
.sheet-x .i{width:21px;height:21px}
.sheet-body{padding:0 15px 16px;overflow:auto;flex:1;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.sheet-ft{flex:none;padding:12px 15px calc(12px + var(--sab));background:#fff;border-top:1px solid var(--line-2)}
.sheet-top{display:flex;align-items:center;justify-content:space-between;padding:12px 13px 0;flex:none}
.sheet-top .back,.sheet-top .sheet-x{width:30px;height:30px;margin:0;color:#5B5F6C;display:grid;place-items:center}
.sheet-top .back .i,.sheet-top .sheet-x .i{width:20px;height:20px;stroke-width:1.7}
.steps{display:flex;gap:5px;align-items:center}
.steps i{width:6px;height:6px;border-radius:3px;background:#C9C9D2;transition:width .2s,background .2s}
.steps i.on{width:20px;background:#141826}
.sheet-title{font-size:19.1px;font-weight:500;line-height:25px;margin:16px 0 6.5px;letter-spacing:-.005em;color:#141826}
.sheet-sub{color:var(--mute);font-size:14px;line-height:18px;margin:0 0 18px}
.sheet-fine{text-align:center;color:#8B8D99;font-size:12px;line-height:16px;margin:16px 0 0}
.sheet-fine a{color:#2B2F3B;text-decoration:none}
.sheet-search{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border:1.5px solid #DADCE6;border-radius:14px;margin-bottom:12px}
.sheet-search .i{width:20px;height:20px;color:#7B7B84}
.sheet-search input{flex:1;border:0;outline:0;font-size:16px;background:transparent;min-width:0;height:100%;padding:0}
.sheet-search input::placeholder{color:#8E8E96}
.sheet-rule{height:1px;background:var(--line-2);margin:0 0 12px}
.sheet-btn{display:flex;align-items:center;gap:12px;width:100%;height:45px;padding:0 14px;border:1.5px solid #DADCE6;border-radius:14px;font-size:15.8px;color:var(--ink-2);text-align:left;margin-bottom:10px}
.sheet-btn .i{width:21px;height:21px;color:var(--navy)}
.area-list{margin:0 -15px;padding:0;list-style:none}
.area-list li button,.area-list li a{display:flex;align-items:center;gap:12px;width:100%;padding:12px 15px;font-size:15.5px;color:var(--ink-2);text-align:left}
.area-list li+li{border-top:1px solid var(--line-2)}
.area-list .i{width:18px;height:18px;color:var(--mute-2)}
.area-list small{margin-left:auto;color:var(--mute);font-size:12.5px}

/* ---------- toasts ---------- */
.toasts{position:fixed;left:0;right:0;bottom:calc(var(--nav-h) + var(--sab) + 12px);z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;padding:0 15px}
body.cart-on .toasts{bottom:calc(var(--nav-h) + var(--cartbar-h) + var(--sab) + 12px)}
body:not(.has-nav) .toasts{bottom:calc(88px + var(--sab))}
body.has-paybar .toasts{bottom:calc(var(--pay-h,190px) + var(--sab) + 12px)}
body.has-cta .toasts{bottom:calc(var(--cta-h,80px) + var(--sab) + 12px)}
body.has-buybar .toasts{bottom:calc(76px + var(--sab) + 12px)}
.toast{display:flex;align-items:center;gap:10px;max-width:420px;background:var(--navy);color:#fff;padding:11px 16px;border-radius:14px;font-size:14px;box-shadow:0 10px 30px rgba(10,14,32,.3);animation:fade-in .2s}
.toast .i{width:18px;height:18px;color:#7BE2B0;flex:none}
.toast.err{background:#8F1D14}.toast.err .i{color:#FFC7C2}

/* flashes */
.flashes{padding:12px 15px 0}

/* ---------- horizontal scrollers ---------- */
.hs{display:flex;gap:17px;overflow-x:auto;padding:2px 15px 14px 16px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hs::-webkit-scrollbar{display:none}
.hs>*{flex:none;scroll-snap-align:start}
.hs-tight{gap:10px;padding-bottom:4px}

/* ---------- section heading ---------- */
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:26px 15px 0}
.sh h2{margin:0 0 13px;font-size:18.7px;line-height:24px}
.sh .more{font-size:14.8px;font-weight:500;color:var(--blue);white-space:nowrap;display:inline-flex;align-items:center;gap:1px}
.sh .more .i{width:17px;height:17px}
.sh .cnt{font-size:14px;color:var(--mute);margin-right:10px}
.sh h1{margin:0 0 13px;font-size:18.7px;line-height:24px;font-weight:700}
.mt{margin-top:26px}
.sh-sub{margin:-9.5px 15px 10px;color:var(--mute);font-size:14px}

/* ---------- banner carousel ---------- */
.bn{position:relative;margin:12px 15px 0}
.bn-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:16px;-webkit-overflow-scrolling:touch}
.bn-track::-webkit-scrollbar{display:none}
.bn-slide{flex:none;width:100%;height:140px;border-radius:16px;overflow:hidden;position:relative;scroll-snap-align:center;display:block;color:#fff;background:linear-gradient(120deg,var(--navy) 0,var(--navy-2) 100%)}
.bn-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bn-slide::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 12%,rgba(255,138,76,.55),rgba(255,138,76,0) 48%);z-index:0}
.bn-slide.has-img::before{background:linear-gradient(90deg,rgba(10,16,48,.72) 0,rgba(10,16,48,.35) 55%,rgba(10,16,48,0) 100%)}
.bn-slide.only-img::before{display:none}
.bn-in{position:relative;z-index:1;height:100%;padding:18px 18px 28px;display:flex;flex-direction:column;justify-content:center;gap:5px;max-width:78%}
.bn-in h3{color:#fff;font-size:19px;line-height:1.2;letter-spacing:-.015em;margin:0}
.bn-in p{margin:0;font-size:13px;color:#D6DBF7;line-height:1.35}
.bn-cta{margin-top:7px;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;height:30px;padding:0 13px;border-radius:999px;background:var(--orange);color:#fff;font-size:12.8px;font-weight:600}
.bn-cta .i{width:14px;height:14px}
.bn-slide.t-light{background:linear-gradient(120deg,#EDF1FF,#DCE5FF);color:var(--ink)}.bn-slide.t-light h3{color:var(--navy)}.bn-slide.t-light p{color:#4B5272}
.bn-slide.t-green{background:linear-gradient(120deg,#0B6B4A,#10A06A)}
.bn-slide.t-amber{background:linear-gradient(120deg,#C2410C,#F59E0B)}
.bn-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:10px;background:rgba(20,26,50,.45);z-index:2}
.bn-dots i{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.65);transition:width .25s,background .25s}
.bn-dots i.on{width:20px;background:#fff}

/* ---------- category tiles (round-square thumbs) ---------- */
.ct-row{display:flex;gap:14px;overflow-x:auto;padding:0 6px 4px;scrollbar-width:none;margin:0 0 0 6px;-webkit-overflow-scrolling:touch}
.ct-row::-webkit-scrollbar{display:none}
.ct{flex:none;width:72px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.ct-img{width:60px;height:60px;border-radius:16px;overflow:hidden;background:#E8EBF5;display:grid;place-items:center;color:var(--navy);box-shadow:0 1px 2px rgba(15,21,34,.05)}
.ct-img img{width:100%;height:100%;object-fit:cover}
.ct-img .i{width:26px;height:26px;opacity:.7}
.ct-lb{font-size:12.9px;line-height:16px;color:var(--ink);max-width:76px}
.ct-row.big{gap:14px;margin-left:5px}

/* ---------- service card ---------- */
.hc{position:relative;display:flex;flex-direction:column;width:148px;background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.hc-img{position:relative;display:block;height:101px;background:#EDEFF6;flex:none}
.hc-img img{width:100%;height:100%;object-fit:cover}
.hc-time{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:4px;height:17px;padding:0 6px;border-radius:8px;background:rgba(255,255,255,.96);font-size:11px;font-weight:600;color:var(--ink);line-height:1}
.hc-time .i{width:12px;height:12px;color:var(--blue)}
.hc-tag{position:absolute;right:8px;top:8px;height:17px;padding:0 6px;border-radius:8px;background:var(--orange);color:#fff;font-size:10.5px;font-weight:600;display:inline-flex;align-items:center}
.hc-body{padding:10px 9px 11px;display:flex;flex-direction:column;flex:1}
.hc-title{font-size:14px;font-weight:700;line-height:18px;min-height:36px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hc-view{margin-top:5px;font-size:12.3px;font-weight:500;color:var(--blue);display:inline-flex;align-items:center;align-self:flex-start;line-height:16px}
.hc-view .i{width:13px;height:13px;margin-left:2px;stroke-width:2.4}
.hc-foot{margin-top:auto;padding-top:9px;display:flex;align-items:flex-end;justify-content:space-between;gap:6px}
.hc-pr{min-width:0}
.hc-mrp{font-size:11.6px;color:var(--mute-2);text-decoration:line-through;line-height:15px;min-height:15px}
.hc-price{font-size:16.1px;font-weight:700;line-height:20px;color:var(--ink);white-space:nowrap}
.hc-offer{font-size:10.8px;color:var(--blue);line-height:13px;white-space:nowrap}
.hc-ctl{flex:none;display:flex;align-items:flex-end}
.add{min-width:56px;height:28px;padding:0 10px;border:2px solid var(--blue);border-radius:10px;color:var(--blue);font-weight:700;font-size:13.1px;letter-spacing:.01em;background:#fff;display:inline-grid;place-items:center;line-height:1;transition:background .12s,color .12s}
.add:active{background:var(--blue-soft)}
.stp{display:inline-flex;align-items:center;justify-content:space-between;width:64px;height:28px;border-radius:10px;background:var(--blue);color:#fff;padding:0 4px;font-weight:600;font-size:14px}
.stp button{width:22px;height:28px;color:#fff;display:grid;place-items:center;border-radius:8px}
.stp button .i{width:15px;height:15px;stroke-width:2.4}
.stp output{min-width:12px;text-align:center;font-variant-numeric:tabular-nums}
.stp.is-busy{opacity:.75}

/* grid of cards (category page) */
.gc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 15px}
.gc-grid .hc{width:auto}
.gc-grid .hc-img{height:117px}
.gc-grid .hc-title{font-size:14.2px}

/* vertical tile (subcategory / service on Categories page) */
.vt{flex:none;width:101px;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.vt-img{display:block;width:101px;height:101px;background:linear-gradient(135deg,#EEF0FB,#F6F7FF);display:grid;place-items:center;color:#A9B0D4}
.vt-img img{width:100%;height:100%;object-fit:cover}
.vt-img .i{width:30px;height:30px}
.vt-lb{display:flex;align-items:center;justify-content:center;text-align:center;padding:9px 6px 10px;min-height:52px;font-size:12.5px;line-height:16px;color:var(--ink)}

/* sub-category chips (category page) */
.subs{display:flex;gap:10px;overflow-x:auto;padding:10px 15px;background:#fff;border-bottom:1px solid #E9EBF2;scrollbar-width:none;position:sticky;top:57px;z-index:35}
.subs::-webkit-scrollbar{display:none}
.sub{flex:none;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px 0 4px;border-radius:999px;border:1px solid #D8DBE6;background:#fff;color:var(--ink-2);font-size:13.3px;font-weight:500;white-space:nowrap}
.sub.no-av{padding-left:14px}
.sub-av{width:28px;height:28px;border-radius:50%;overflow:hidden;background:#E8EBF5;display:grid;place-items:center;flex:none}
.sub-av img{width:100%;height:100%;object-fit:cover}
.sub-av .i{width:15px;height:15px;color:var(--navy)}
.sub.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* ---------- info / trust cards ---------- */
.ibox{margin:12px 15px 0;padding:14px 15px;background:#fff;border:1px solid var(--line);border-radius:18px;display:flex;gap:13px;align-items:flex-start}
.ibox .tile{width:36px;height:36px;border-radius:11px;background:#E8ECFB;color:var(--navy);display:grid;place-items:center;flex:none}
.ibox .tile .i{width:19px;height:19px}
.ibox h3{font-size:14.3px;font-weight:700;color:var(--navy);margin:1px 0 3px;line-height:20px}
.ibox p{margin:0;font-size:12.9px;line-height:20px;color:var(--mute)}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 15px}
.trust{background:#fff;border-radius:16px;padding:13px 10px 12px;text-align:center;box-shadow:var(--shadow)}
.trust .tile{width:38px;height:38px;border-radius:12px;background:#E8ECFB;color:var(--navy);display:grid;place-items:center;margin:0 auto 8px}
.trust .tile .i{width:20px;height:20px}
.trust b{display:block;font-size:12.6px;line-height:16px;color:var(--ink);font-weight:600}
.trust span{display:block;margin-top:2px;font-size:11.4px;line-height:14px;color:var(--mute)}

/* offers (coupons) */
.offer{flex:none;width:236px;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:13px 14px;display:flex;flex-direction:column;gap:6px;position:relative;border:1px dashed #C9D3F5}
.offer .code{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:13px;letter-spacing:.04em}
.offer .code .i{width:14px;height:14px}
.offer b{font-size:14.5px;line-height:19px;font-weight:600}
.offer span{font-size:12.6px;color:var(--mute);line-height:17px}

/* reviews */
.rv{flex:none;width:272px;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:15px;display:flex;flex-direction:column;gap:8px}
.rv-top{display:flex;align-items:center;gap:10px}
.rv-av{width:38px;height:38px;border-radius:50%;background:#DBE3FF;color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:15px;flex:none}
.rv-top b{display:block;font-size:14.2px;font-weight:600;line-height:18px}
.rv-top small{display:block;font-size:12px;color:var(--mute);line-height:15px}
.stars{display:inline-flex;gap:2px;color:#D8D9E2}
.stars .i{width:14px;height:14px;fill:currentColor;stroke:none}
.stars .i.on{color:var(--gold)}
.rv p{margin:0;font-size:13.4px;line-height:19px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rv h4{font-size:14px;margin:0}
.rating-sum{display:flex;align-items:center;gap:8px;margin:0 15px 10px;font-size:13.5px;color:var(--mute)}
.rating-sum b{font-size:18px;color:var(--ink)}

/* steps */
.steps-card{margin:0 15px;background:#fff;border-radius:18px;border:1px solid var(--line);padding:6px 16px}
.step{display:flex;gap:14px;padding:13px 0;position:relative}
.step+.step{border-top:1px solid var(--line-2)}
.step .n{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:14px;display:grid;place-items:center;flex:none}
.step b{display:block;font-size:15px;font-weight:600;line-height:20px}
.step p{margin:2px 0 0;font-size:13.5px;line-height:19px;color:var(--mute)}

/* chips wrap */
.chips{display:flex;flex-wrap:wrap;gap:9px 8px}
.chips .chip{height:33px;font-size:14.5px;padding:0 15px}

/* prose */
.prose{font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.prose h2{font-size:18px;margin:1.3em 0 .5em}.prose h3{font-size:16px;margin:1.2em 0 .4em}.prose h4{font-size:14.5px;margin:1em 0 .3em}
.prose>:first-child{margin-top:0}
.prose p{margin:0 0 .95em}
.prose ul,.prose ol{padding-left:1.25em;margin:0 0 1em}.prose li{margin:.3em 0}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.prose img{border-radius:14px;margin:.8em 0}
.prose table{width:100%;border-collapse:collapse;font-size:13.5px;margin:0 0 1em}.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}.prose th{background:#F6F7FB}
.prose blockquote{margin:0 0 1em;padding:8px 14px;border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:0 12px 12px 0}
.prose-card{margin:0 15px;background:#fff;border-radius:18px;border:1px solid var(--line);padding:16px}
.more-box{position:relative;max-height:230px;overflow:hidden}
.more-box::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.more-box.open{max-height:none}.more-box.open::after{display:none}
.more-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;margin-top:10px;color:var(--blue);font-weight:600;font-size:14.5px;height:36px}
.more-btn .i{width:17px;height:17px}

/* faq */
.faq{margin:0 15px;background:#fff;border-radius:18px;border:1px solid var(--line);overflow:hidden}
.faq details{border-top:1px solid var(--line-2)}.faq details:first-child{border-top:0}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;font-weight:600;font-size:14.8px;line-height:1.35;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{width:18px;height:18px;color:var(--mute-2);transition:transform .2s;flex:none}
.faq details[open] summary .i{transform:rotate(180deg)}
.faq .a{padding:0 16px 15px;font-size:14px;line-height:1.6;color:var(--ink-2)}
.faq .a p:last-child{margin:0}

/* areas / link cloud */
.cloud{display:flex;flex-wrap:wrap;gap:8px;padding:0 15px}
.cloud a{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13.8px;color:var(--ink-2)}
.cloud a .i{width:14px;height:14px;color:var(--mute-2)}

/* blog card */
.pc{flex:none;width:236px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.pc-img{height:120px;background:linear-gradient(135deg,#E6EAFB,#F4F6FF);display:grid;place-items:center;color:#A9B0D4;overflow:hidden}
.pc-img img{width:100%;height:100%;object-fit:cover}
.pc-img .i{width:30px;height:30px}
.pc-b{padding:11px 13px 14px}
.pc-b small{display:block;font-size:11.8px;color:var(--mute);margin-bottom:4px}
.pc-b h3{font-size:14.6px;line-height:19px;margin:0 0 5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-b p{margin:0;font-size:12.8px;line-height:17px;color:var(--mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-list{display:grid;gap:14px;padding:0 15px}
.pc-list .pc{width:auto}

/* footer */
.ft{margin:30px 15px 0;background:#fff;border-radius:18px;border:1px solid var(--line);padding:16px 16px 14px;font-size:13.5px;color:var(--mute)}
.ft h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}
.ft ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 14px}
.ft a{color:var(--ink-2)}
.ft .about{margin:0 0 14px;line-height:1.5}
.ft-brand{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ft-brand img{height:26px;width:auto}
.ft-bottom{border-top:1px solid var(--line-2);padding-top:11px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px}
.ft-soc{display:flex;gap:10px;margin:0 0 12px}.ft-soc a{width:34px;height:34px;border-radius:50%;background:#F0F1F6;display:grid;place-items:center}.ft-soc .i{width:17px;height:17px}

/* empty state */
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 28px 24px;gap:6px}
.empty .ill{width:84px;height:84px;border-radius:50%;background:#E8ECFB;color:var(--navy);display:grid;place-items:center;margin-bottom:10px}
.empty .ill .i{width:38px;height:38px;stroke-width:1.6}
.empty h2{font-size:18px}
.empty p{color:var(--mute);margin:0 0 14px;max-width:290px;font-size:14.5px}
.crumbs{display:flex;flex-wrap:wrap;gap:4px 6px;margin:12px 15px 0;font-size:12.5px;color:var(--mute);list-style:none}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--mute-2)}
.crumbs a{color:var(--blue)}

/* ---------- header variants ---------- */
.pg-hd.has-sub{min-height:62px}
.pg-hd .st{flex:none}
.sr-hd{gap:6px;padding:9px 15px 9px 11px}
.sr-hd .search{flex:1;min-width:0;cursor:text}
.sr-count{margin:14px 15px 12px;color:var(--mute);font-size:14px}
.gap-b{height:24px}
.page-search .app,.page-category .app{padding-bottom:12px}

/* ---------- hero card (All services, area pages) ---------- */
.hero-card{position:relative;overflow:hidden;margin:12px 15px 0;background:#fff;border:1px solid #E5E7EF;border-radius:22px;padding:16px 16px 17px}
.hero-card::before{content:"";position:absolute;right:-60px;top:-50px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(255,170,110,.30) 0,rgba(255,170,110,0) 68%);pointer-events:none}
.hero-card>*{position:relative}
.hc-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 13px}
.hc-badges .pill{height:29px;font-size:12.1px;padding:0 12px 0 10px}
.hc-badges .pill .i{width:15px;height:15px}
.hc-badges .pill-green{background:#E8FAF2;border-color:#BFECD7;color:#0B6B4A}
.hc-badges .pill-blue{background:#E6F1FD;border-color:#C9DFF6;color:#1D4F8F}
.hero-card h1{font-size:19.7px;line-height:25px;color:var(--navy);margin:0 0 4px;letter-spacing:-.015em}
.hero-card p{margin:0;font-size:14px;line-height:20px;color:var(--mute)}
.hero-card .hero-p{font-size:14px;line-height:20px;color:var(--mute)}
.hero-card .hero-p p{margin:.5em 0 0}
.hero-stats{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:14.5px}
.chip-blue{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:10px;background:#EAF0FF;border:1px solid #CFDAF8;color:#2B3F80;font-size:14.2px;font-weight:500}
.chip-blue .i{width:17px;height:17px;color:var(--blue)}
.hero-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.hero-btns .btn{flex:1 1 auto}

/* ---------- All services ---------- */
.page-services .sh-s{margin-top:21px}
#categories>.sh,.sh-s{align-items:center;padding-bottom:13px}
#categories>.sh h1,.sh-s h2{margin:0}
.sh-s .cnt{margin-right:0}
.sh-s h2{font-size:15.8px;color:var(--navy)}
.sh-cat{margin-top:28px;margin-bottom:8px;align-items:center}
.sh-cat h2{margin:0;font-size:17.9px;color:var(--navy);flex:1;min-width:0}
.sh-cat .cnt{padding:0;margin:0 12px 0 0}
.sh-cat .more{padding:0}
.trend{margin:20px 15px 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 16px 18px}
.trend h2{font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:#5B5B63;font-weight:600;margin:0 0 13px;line-height:16px}
.trend .chips{gap:9px 8px}
.trend .chip{height:33px;padding:0 15px;font-size:14.5px;border:1px solid #D5D8E3;background:#fff}
.trend-first{margin-top:14px}
.catsec{margin-top:0}
.bys-hd{display:flex;align-items:baseline;justify-content:space-between;margin:0 32px 12px 30px}
.bys-hd h3{font-size:16.3px;font-weight:600;color:var(--ink);margin:0}
.bys-hd span{font-size:14px;color:var(--mute-2)}
.bys .hs{padding-left:30px;padding-right:15px;gap:14px}
.vt-img{position:relative}

/* ---------- category page ---------- */
.subs{top:62px}
.gsec{scroll-margin-top:124px}
.gsec .sh{margin-top:22px}
.gsec .sh h2{font-size:17px;color:var(--navy)}
.gsec:first-of-type .sh{margin-top:20px}
.page-category .gc-grid{padding-bottom:4px}
.page-category .offer,.page-home .offer{width:236px}

/* ---------- service detail ---------- */
.sv-gal{position:relative;background:#fff}
.sv-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sv-track::-webkit-scrollbar{display:none}
.sv-slide{flex:none;width:100%;scroll-snap-align:center;aspect-ratio:4/3;background:#EDEFF6;overflow:hidden}
.sv-slide img{width:100%;height:100%;object-fit:cover}
.sv-gal .bn-dots{bottom:12px}
.sv-off{position:absolute;left:12px;top:12px;height:26px;padding:0 10px;border-radius:9px;background:var(--orange);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;letter-spacing:.02em}
.sv-card{margin:12px 15px 0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 16px 14px}
.sv-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 11px}
.pill-orange{background:var(--orange-soft);color:#B3400A;border:1px solid #FFD9B3}
.sv-card h1{font-size:20px;line-height:26px;color:var(--navy);letter-spacing:-.015em}
.sv-rate{display:flex;align-items:center;gap:6px;margin:7px 0 0;font-size:13.5px;color:var(--mute)}
.sv-rate b{color:var(--ink);font-size:14px}
.sv-short{margin:8px 0 0;font-size:14px;line-height:21px;color:var(--mute)}
.sv-price{display:flex;align-items:baseline;gap:10px;margin:14px 0 0}
.sv-price b{font-size:25px;line-height:30px;font-weight:700;color:var(--navy);letter-spacing:-.02em}
.sv-price s{font-size:15px;color:var(--mute-2)}
.sv-price em{font-style:normal;font-size:13.5px;font-weight:600;color:var(--green-d);background:var(--green-soft);padding:2px 8px;border-radius:7px}
.sv-note{margin:5px 0 0;font-size:12.5px;color:var(--mute)}
.sv-facts{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line-2);display:grid;gap:9px}
.sv-facts li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2)}
.sv-facts .i{width:18px;height:18px;color:var(--blue)}
.sv-facts b{font-weight:600}
.sv-offers{margin-top:14px}
.tick-card{list-style:none;margin:0 15px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:6px 16px}
.tick-card li{display:flex;gap:11px;align-items:flex-start;padding:11px 0;font-size:14px;line-height:20px;color:var(--ink-2)}
.tick-card li+li{border-top:1px solid var(--line-2)}
.tick-card .i{width:19px;height:19px;margin-top:1px;color:var(--green);stroke-width:2.6}
.tick-card.no .i{color:var(--red)}
.sv-help{margin:20px 15px 0;font-size:13.5px;color:var(--mute);line-height:2}
.sv-help a{color:var(--blue);font-weight:500;white-space:nowrap}
.sv-help .i{width:15px;height:15px;vertical-align:-.15em}
.page-service .app{padding-bottom:calc(78px + var(--sab))}
.has-buybar .gap-b{height:24px}
.buybar{bottom:0;z-index:60;background:#fff;border-top:1px solid #E9EBF2;box-shadow:var(--shadow-up);display:flex;align-items:center;gap:12px;padding:10px 15px calc(10px + var(--sab))}
.bb-price{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.15}
.bb-price b{font-size:19px;font-weight:700;color:var(--navy)}
.bb-price s{font-size:12.5px;color:var(--mute-2)}
.buybar .hc-ctl{align-items:center}
.bb-go{height:44px;padding:0 18px;font-size:15.5px;flex:none}

/* ---------- cart ---------- */
.page-cart .app{padding-bottom:0}
.ibox-first{margin-top:12px}
.ibox-first h3{margin-top:0}
.ci-list{margin-top:12px}
.ci{display:flex;gap:13px;padding:13px;margin:0 15px 12px;background:#fff;border:1px solid #E5E7EF;border-radius:18px}
.ci-img{display:block;width:66px;height:66px;border-radius:12px;overflow:hidden;flex:none;background:#EAECF5}
.ci-img img{width:100%;height:100%;object-fit:cover}
.ci-b{flex:1;min-width:0}
.ci-t{display:block;font-size:15px;font-weight:700;line-height:21px;color:var(--navy)}
.ci-d{margin:1px 0 4px;font-size:12.1px;line-height:17px;color:var(--mute-2)}
.ci-p{margin:0 0 9px;display:flex;align-items:baseline;gap:8px;line-height:20px}
.ci-p b{font-size:15px;font-weight:700;color:var(--navy)}
.ci-p s{font-size:11.6px;color:var(--mute-2)}
.ci-f{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stp-l{width:82px;height:32px;border-radius:8px;padding:0 5px;font-size:15px}
.stp-l button{width:26px;height:32px}
.stp-l button .i{width:15px;height:15px}
.ci-tot{font-size:15px;font-weight:700;color:var(--navy)}
.ci-min{margin:0 15px 12px}
.rule{border:0;height:1px;background:#E1E3EC;margin:22px 15px 0}
.gap-cta{height:calc(var(--cta-h,150px) + 24px)}

/* ---------- cart bottom bar (address / when rows + CTA) ---------- */
.cta-bar{bottom:0;z-index:60;background:#fff;border-top:1px solid #E9EBF2;box-shadow:var(--shadow-up)}
.cta-row{display:flex;align-items:center;gap:13px;padding:10px 15px;background:#F7F8FB;border-bottom:1px solid #E7E9F1;min-height:46px}
.cta-row[data-row=addr]{min-height:62px}
.cta-row>.i{width:23px;height:23px;color:#80828F;flex:none;stroke-width:1.7}
.cta-row .t{flex:1;min-width:0;font-size:14.4px;line-height:20px;color:var(--mute)}
.cta-row .t b{font-weight:500;color:var(--ink)}
.cta-row .t small{display:block;font-size:14px;line-height:20px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chg{flex:none;color:var(--orange);font-weight:500;font-size:14.8px;padding:8px 0 8px 10px}
.cta-pad{padding:12px 15px calc(12px + var(--sab));background:#fff}
.cta-pad .btn{height:46px;font-size:15.8px;font-weight:500}

/* ---------- booking sheets ---------- */
.sheet-form{display:flex;flex-direction:column;min-height:0;flex:1}
.sheet-form .sheet-body{padding-top:0}
.sheet-form .phone-inp,.sheet-form .field input,.sheet-form .field select,.sheet-form .field textarea{border-color:#D5D7E0}
.sheet-form .field{margin-bottom:12px}
#sheet-addr .sheet-body{padding:0 18px 30px}
.sheet-form .form-msg:empty{display:none}
#sheet-addr .sheet-ft{padding-left:18px;padding-right:18px}
#sheet-addr .field input,#sheet-addr .phone-inp{height:45px}
#sheet-addr .phone-inp b{color:#55596A}
#sheet-addr .sheet-body>.btn{margin-top:3px}
.seg{display:flex;gap:8px;margin:0 0 14px}
.seg label{flex:1;position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.seg span{display:grid;place-items:center;height:42px;border:1.5px solid #D9DCE6;border-radius:12px;font-size:14.5px;font-weight:500;color:var(--ink-2);background:#fff;transition:border-color .15s,background .15s}
.seg input:checked+span{border-color:var(--navy);background:var(--blue-soft);color:var(--navy)}
.seg input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.sheet-body .alert{margin-top:6px}

/* date & time sheet */
.sheet-tall{height:min(92vh,780px);height:min(92dvh,780px)}
.slot-hd{display:flex;align-items:flex-start;gap:13px;padding:16px 15px 14px;border-bottom:1px solid #ECEDF3;flex:none;position:relative}
.slot-hd>div{flex:1;min-width:0}
#sheet-slot .grab{display:none}
.slot-ic{width:32px;height:32px;border-radius:10px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;flex:none;margin-top:1px}
.slot-ic .i{width:19px;height:19px}
.slot-hd h2{font-size:16.3px;font-weight:600;line-height:22px;letter-spacing:-.005em}
.slot-hd p{margin:2px 0 0;font-size:13px;line-height:19px;color:var(--mute)}
.slot-body{padding:0 15px 16px}
.slot-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:16.5px 0 13px}
.slot-row h3{font-size:14.8px;font-weight:600;color:var(--navy);letter-spacing:0}
.slot-row span{font-size:13.2px;color:var(--mute)}
.dates{display:flex;gap:8px;overflow-x:auto;margin:0 -15px;padding:12px 15px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.dates::-webkit-scrollbar{display:none}
.dt{flex:none;width:62px;height:66px;border:1px solid #D5D8E3;border-radius:18px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--mute);transition:background .15s,color .15s,border-color .15s}
.dt small{font-size:11.6px;letter-spacing:.04em;text-transform:uppercase;line-height:15px}
.dt b{font-size:20px;line-height:24px;font-weight:600;color:var(--ink)}
.dt span{font-size:12.8px;line-height:15px}
.dt.on{background:var(--navy);border-color:var(--navy);color:#E4E8FA;box-shadow:0 8px 16px -6px rgba(22,32,72,.45)}
.dt.on b{color:#fff}
.dt.is-off{opacity:.45}
.more-dates{display:flex;align-items:center;justify-content:center;gap:8px;margin:5px auto 0;height:38px;padding:0 10px;font-size:14.8px;color:var(--ink-2)}
.more-dates .i{width:20px;height:20px;color:var(--ink-2)}
.more-dates .i:last-child{width:18px;height:18px;transition:transform .2s}
.more-dates[aria-expanded=true] .i:last-child{transform:rotate(180deg)}
.slot-rule{height:1px;background:#ECEDF3;margin:7px 0 0}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.slot-load{grid-column:1/-1;margin:6px 0;color:var(--mute);font-size:14px;text-align:center}
.sl{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:56px;padding:8px 13px;border:1px solid #E1E3EC;border-radius:16px;background:#fff;text-align:left;transition:background .15s,border-color .15s,box-shadow .15s}
.sl-p{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--mute-2);line-height:14px}
.sl-p .i{width:15px;height:15px;color:#8A8C99}
.sl b{font-size:14.2px;font-weight:500;color:var(--ink);line-height:19px;white-space:nowrap}
.sl small{font-size:11.5px;color:var(--red);line-height:14px}
.sl.off{background:#FBFBFD;border-color:#EBECF2}
.sl.off b,.sl.off .sl-p{color:#A9AAB5}
.sl.off .sl-p .i{color:#C3C4CD}
.sl.on{background:var(--navy);border-color:var(--navy);box-shadow:0 8px 16px -6px rgba(22,32,72,.45)}
.sl.on b{color:#fff}
.sl.on .sl-p{color:#D5DAF3}
.sl.on .sl-p .i{color:#FFB020}
.slot-ok{display:flex;align-items:center;gap:14px;margin-top:16px;padding:14px 15px;border-radius:18px;background:linear-gradient(120deg,var(--navy) 0,var(--navy-2) 100%);color:#fff;animation:pop .35s}
.so-ic{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#FFB020;flex:none}
.so-ic .i{width:21px;height:21px}
.slot-ok small{display:flex;align-items:center;gap:6px;font-size:11.5px;letter-spacing:.1em;color:#9BE9C4;line-height:16px;font-weight:500}
.slot-ok small .i{width:14px;height:14px;stroke-width:3}
.slot-ok b{display:block;font-size:18px;font-weight:600;line-height:24px;margin-top:1px;letter-spacing:-.01em}
.slot-ok div>span{font-size:14.5px;color:#D3D9F4}

/* ---------- checkout ---------- */
.page-checkout .app{padding-bottom:0;background:var(--bg)}
.co-hd{align-items:flex-start;gap:6px;padding:10px 15px 12px 11px}
.co-hd .back{margin-top:2px}
.co-top{flex:1;min-width:0}
.co-top .t{font-size:17.8px;font-weight:700;line-height:24px;margin:0;letter-spacing:-.01em}
.co-chips{display:flex;gap:8px;margin:6.5px -15px 0 0;padding-right:15px;overflow-x:auto;scrollbar-width:none}
.co-chips::-webkit-scrollbar{display:none}
.cchip{flex:none;display:inline-flex;align-items:center;gap:6px;height:25px;padding:0 9px;border:1px solid #D2D5E1;border-radius:9px;background:#fff;font-size:12.4px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.cchip .i{width:14px;height:14px}
.co-cards{padding:12px 15px 0;display:grid;gap:12px}
.cc{background:#fff;border:1px solid #E3E5EE;border-radius:18px;overflow:hidden}
.cc-hd{display:flex;align-items:center;gap:10px;width:100%;height:52px;padding:0 15px;text-align:left}
.cc-hd[aria-expanded=true]{border-bottom:1px solid #EEF0F6}
.cc-t{flex:1;margin:0;font-size:16.2px;font-weight:500;color:var(--navy);letter-spacing:0;line-height:22px}
.cc-hd>.i{width:18px;height:18px;color:#9A9BA6;transition:transform .2s;flex:none}
.cc-hd[aria-expanded=false]>.i{transform:rotate(180deg)}
.cc-hd[aria-expanded=false]+.cc-bd{display:none}
.cc-r{display:flex;align-items:center;gap:10px;flex:none}
.cc-r b{font-size:15.6px;font-weight:700;color:var(--navy)}
.pill-n{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:#ECEDF2;color:#4B4C57;font-size:12.3px;font-weight:500;letter-spacing:.04em}
.cc-bd{padding:13px 15px 15px}
.cc-bd.ol-bd{padding:4px 0}
.ol{display:flex;align-items:center;gap:13px;padding:10px 15px}
.ol-img{display:block;width:44px;height:44px;border-radius:9px;overflow:hidden;flex:none;background:#EAECF5}
.ol-img img{width:100%;height:100%;object-fit:cover}
.ol-t{flex:1;min-width:0;font-size:14.2px;font-weight:500;line-height:19px;color:var(--navy)}
.ol-t s{display:block;margin-top:1px;font-size:12px;font-weight:400;color:var(--mute-2)}
.ol-p{font-size:14.5px;font-weight:500;color:var(--navy);white-space:nowrap}
.cc-hint{margin:0 0 12px;font-size:14px;line-height:20px;color:var(--mute)}
.cp-form{display:flex;gap:10px;margin:0 0 12px}
.cp-form input{flex:1;min-width:0;height:44px;border:1.5px solid #D9DCE6;border-radius:12px;padding:0 14px;font-size:16px;text-transform:uppercase;letter-spacing:.04em;outline:0;background:#fff}
.cp-form input::placeholder{text-transform:none;letter-spacing:0;color:#A2A3AE}
.cp-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(22,32,72,.08)}
.cp-form .btn{height:44px;border-radius:12px}
.cp-on{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0 0 12px;background:var(--green-soft);border:1px solid #BFECD7;border-radius:14px}
.cp-ic{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--green-d);display:grid;place-items:center;flex:none}
.cp-on b{display:block;font-size:14.5px;letter-spacing:.04em;color:var(--green-d);line-height:18px}
.cp-on small{display:block;font-size:12.5px;color:#2C7A5F;line-height:17px}
.cp-on .link{margin-left:auto;font-size:13.5px;color:var(--red);font-weight:500}
.cp-on.bad{background:#FFF4F2;border-color:#F6D2CD}.cp-on.bad .cp-ic{color:var(--red)}.cp-on.bad b{color:#8F1D14}.cp-on.bad small{color:#A34A42}
.offers-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:11px 15px;border:1px solid #D5DDF8;background:#EEF1FF;border-radius:14px}
.offers-btn b{display:block;font-size:15.4px;font-weight:500;color:var(--navy);line-height:21px}
.offers-btn small{display:block;font-size:12.5px;color:var(--mute);line-height:17px}
.offers-btn i{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-style:normal;font-size:13px;font-weight:600;display:grid;place-items:center;flex:none}
.bill{margin:0}
.bill>div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:14px;color:var(--ink-2);line-height:20px}
.bill dt{color:var(--mute)}
.bill dd{margin:0;font-weight:500;color:var(--ink);white-space:nowrap}
.bill .save dt,.bill .save dd{color:var(--green-d)}
.bill .total{margin-top:6px;padding-top:12px;border-top:1px dashed #D5D8E3;font-size:15.5px}
.bill .total dt,.bill .total dd{color:var(--navy);font-weight:700}
.bill-note,.bill-save,.bill-warn{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;padding:9px 12px;border-radius:12px;font-size:13px;line-height:18px}
.bill-note .i,.bill-save .i,.bill-warn .i{width:16px;height:16px;margin-top:1px}
.bill-note{background:var(--blue-soft);color:#1E2E73}
.bill-save{background:var(--green-soft);color:var(--green-d)}
.bill-warn{background:var(--red-soft);color:#9A1E14}
#co-summary{padding:10px 15px 14px}
.cc-bd.dl-bd{padding:0 15px 2px}
.dl-row{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 0;text-align:left;background:none}
.dl-row+.dl-row{border-top:1px solid #EEF0F6}
.dl-row>.i{width:20px;height:20px;color:#8C8E9B;flex:none;stroke-width:1.7;margin-top:1px}
.dl-row .t{flex:1;min-width:0;display:block;font-size:14.5px;line-height:21px;color:var(--mute)}
.dl-row .t b{font-weight:500;color:var(--ink)}
.dl-row .t small{display:block;font-size:14.5px;line-height:21px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-note{border-top:1px solid #EEF0F6;padding:8px 0 10px}
.dl-add{display:inline-flex;align-items:center;gap:7px;padding:5px 0;font-size:14px;font-weight:500;color:var(--blue)}
.dl-add .i{width:16px;height:16px}
.dl-add span{color:var(--mute-2);font-weight:400}
.dl-note .field{margin:8px 0 0}
.dl-note textarea{min-height:62px}
.cc-pol{padding:16px 16px 14px}
.cc-pol .cc-t{display:block;margin:0 0 9px}
.cc-pol p{margin:0 0 7px;font-size:13.5px;line-height:20px;color:var(--mute)}
.cc-pol .ul{display:inline-block;margin:4px 0 4px;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.cc-pol .ul+.ul{margin-left:16px}
.cc-pol .check{margin:12px 0 0;padding-top:12px;border-top:1px solid #EEF0F6;font-size:13px;line-height:19px}
.cc-pol .check a{color:var(--blue);text-decoration:underline}
.co-msg{margin:0;padding:0 2px;min-height:0;font-size:13.5px}
.co-msg:empty{display:none}
.gap-pay{height:calc(var(--pay-h,200px) + 14px)}
.paybar{bottom:0;z-index:70;background:#fff;padding:14px 15px calc(12px + var(--sab));box-shadow:0 -10px 26px -10px rgba(15,21,34,.16)}
.paybar h2{margin:0 0 12px;font-size:16.3px;font-weight:500;color:var(--navy);letter-spacing:0;line-height:22px}
.po{display:flex;align-items:flex-start;gap:12px;position:relative;margin:0 0 10px;padding:13px 12px;border:1px solid #DCDFE8;border-radius:18px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
.po input{position:absolute;opacity:0;pointer-events:none}
.po-r{flex:none;position:relative;width:20px;height:20px;margin:1px 0 0 2px;border-radius:50%;border:2px solid #C9CBD5;background:#fff;transition:border-color .15s}
.po.on{border-color:var(--navy);box-shadow:inset 0 0 0 .5px var(--navy);background:#EEF1FF}
.po.on .po-r{border-color:var(--navy)}
.po.on .po-r::after{content:"";position:absolute;inset:2.5px;border-radius:50%;background:var(--navy)}
.po input:focus-visible~.po-r{outline:2px solid var(--blue);outline-offset:2px}
.po-b{flex:1;min-width:0}
.po-t{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.po-t b{font-size:15.5px;font-weight:500;color:var(--navy);line-height:21px}
.po-t i{font-style:normal;font-size:15px;font-weight:600;color:var(--navy)}
.po-b small{display:block;margin-top:1px;font-size:13px;line-height:19px;color:var(--mute)}
.po-save{display:inline-flex;align-items:center;gap:6px;margin-top:9px;height:26px;padding:0 12px 0 10px;border-radius:13px;background:var(--navy);color:#fff;font-size:12.4px;line-height:1}
.po-save .i{width:14px;height:14px;stroke-width:2.6}
.pay-go{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px}
.pn{min-width:0}
.pn small{display:block;font-size:12.5px;line-height:17px;color:var(--mute)}
.pn b{display:block;font-size:21.9px;line-height:28px;font-weight:700;color:var(--navy);letter-spacing:-.015em;white-space:nowrap}
.pay-go .btn{flex:0 0 min(202px,58%);height:46px;font-size:15.9px;font-weight:500}
.pay-go .btn .i{width:17px;height:17px;stroke-width:2.6}
.btn-primary.is-disabled{background:#EDA27F;box-shadow:none;color:#fff}
.of-list{list-style:none;display:grid;gap:10px;padding:0 0 6px}
.of{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px dashed #C9D3F5;border-radius:16px;background:#fff}
.of.off{opacity:.62}
.of-l{min-width:0}
.of-l .code{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:7px;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:12.5px;letter-spacing:.05em}
.of-l b{display:block;margin-top:6px;font-size:14.5px;line-height:19px}
.of-l small{display:block;font-size:12.5px;line-height:17px;color:var(--mute)}
.of-l em{display:block;margin-top:4px;font-style:normal;font-size:12px;color:var(--red)}
.of-l em.ok{color:var(--green-d)}
.empty-s{padding:20px 10px 8px}

/* ---------- order confirmed / booking details ---------- */
.page-order .app{background:#fff}
.page-order.has-nav .app{padding-bottom:calc(var(--nav-h) + var(--sab) + 8px)}
.ok-hero{text-align:center;padding:30px 20px 4px}
.ok-tick{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 15px;box-shadow:0 0 0 8px #E3F8EE;animation:pop .45s}
.ok-tick .i{width:32px;height:32px;stroke-width:3}
.ok-hero h1{font-size:22px;line-height:28px;color:var(--navy);letter-spacing:-.02em}
.ok-hero p{margin:6px auto 0;max-width:300px;font-size:14px;line-height:20px;color:var(--mute)}
.od{padding:14px 15px 28px;display:grid;gap:12px;align-content:start}
.od>*{margin:0}
.od .alert{margin:0}
.od-lead{font-size:13.5px}
.paynow{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 15px;border-radius:18px;background:var(--orange-soft);border:1px solid #FFD9B3}
.paynow b{display:block;font-size:14.5px;color:var(--navy);line-height:19px}
.paynow small{display:block;font-size:12.5px;color:#7A5A3A;line-height:17px;margin-top:1px}
.paynow .btn{height:42px;padding:0 16px;font-size:14.5px;flex:none}
.trk{list-style:none;display:flex;background:#fff;border:1px solid #E3E5EE;border-radius:18px;padding:14px 6px 12px}
.trk li{flex:1;position:relative;text-align:center;font-size:11.5px;color:var(--mute-2)}
.trk li+li::before{content:"";position:absolute;left:-50%;right:50%;top:13px;height:2px;background:#E4E6EE}
.trk li.done+li.done::before,.trk li.done+li.now::before{background:var(--navy)}
.trk span{position:relative;z-index:1;display:grid;place-items:center;width:28px;height:28px;margin:0 auto 7px;border-radius:50%;background:#E4E6EE;color:var(--mute);font-weight:600;font-size:12.5px}
.trk span .i{width:15px;height:15px;stroke-width:3}
.trk li.done span{background:var(--navy);color:#fff}
.trk li.now span{box-shadow:0 0 0 4px rgba(22,32,72,.12)}
.trk b{display:block;font-weight:500;line-height:15px}
.trk li.done b{color:var(--ink)}
.kv-card{background:#fff;border:1px solid #E3E5EE;border-radius:18px;padding:15px 15px 14px}
.kv-card>div{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:8px 0;font-size:14.4px;line-height:21px}
.kv-card span{color:#6F7080;flex:none}
.kv-card b{font-weight:500;color:var(--navy);text-align:right;min-width:0;overflow-wrap:anywhere}
.kv-card b small{font-weight:400;color:var(--mute);font-size:12.5px}
.kv-card .g{color:var(--green)}
.kv-card .o{color:#D9480F}
.navy-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:18px;background:linear-gradient(120deg,var(--navy) 0,var(--navy-2) 100%);color:#fff}
.navy-card small{display:block;font-size:12.5px;line-height:17px;color:#C9D1F5}
.navy-card span:not(.nc-ic){display:block;font-size:15.7px;font-weight:500;line-height:21px;margin-top:2px}
.navy-card>b{font-size:21px;letter-spacing:.04em;font-weight:700;white-space:nowrap}
.od-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.od-btns .btn{height:46px;font-size:15.9px;font-weight:500}
.od-btns .btn-outline{border-width:1.5px;color:var(--navy);border-color:var(--ink)}
.od .btn-soft{height:46px;font-size:15.9px;font-weight:500;background:#F1F1F5}
.od-help{margin:6px 0 0;text-align:center;font-size:13.5px;color:var(--mute-2)}
.od-act{padding:0}
.od-act>.cc-t{display:block;padding:14px 15px 6px;font-size:16.2px}
.od-links{display:grid}
.od-links a{display:flex;align-items:center;gap:11px;padding:13px 15px;border-top:1px solid #EEF0F6;font-size:14.5px;font-weight:500;color:var(--ink-2)}
.od-links a .i{width:20px;height:20px;color:var(--navy)}
.od-links a.hl{color:var(--orange)}
.od-links a.hl .i{color:var(--orange)}
.cancel-box{border-top:1px solid #EEF0F6}
.cancel-box summary{list-style:none;padding:13px 15px;color:var(--red);font-weight:500;font-size:14.5px;cursor:pointer}
.cancel-box summary::-webkit-details-marker{display:none}
.cancel-box form{padding:0 15px 15px}
.od-act>p{margin:0;padding:12px 15px 14px;border-top:1px solid #EEF0F6}
.small{font-size:12.5px}
.st{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:999px;background:#E8EBFD;color:#2B2F8F;font-size:12px;font-weight:600;font-style:normal;white-space:nowrap}
.st-completed{background:#E7FBF3;color:#01694C}
.st-cancelled{background:#FEEFF1;color:#B42318}
.st-pending{background:#FFF1DB;color:#9A5B00}
.st-in_progress{background:#E4F0FD;color:#1D4F8F}
.st-refunded{background:#F0F0F4;color:#5B5B63}

/* ---------- My orders ---------- */
.page-orders .pg-hd{border-bottom:1px solid #E9EBF2}
.tabs2{display:flex;gap:10px;padding:12px 15px;background:#fff;border-bottom:1px solid #E9EBF2}
.tb{height:34px;padding:0 17px;border-radius:999px;background:#EEEFF3;color:#4B4C57;font-size:13.7px;font-weight:500;transition:background .15s,color .15s}
.tb.on{background:var(--navy);color:#fff}
.ol-wrap{padding:12px 15px 24px}
.ol-wrap [data-pane]{display:grid;gap:12px}
.oc{display:block;background:#fff;border:1px solid #E3E5EE;border-radius:18px;padding:14px 15px 13px}
.oc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.oc-top span{font-size:12.5px;color:var(--mute)}
.oc .st{height:23px;padding:0 12px}
.oc h3{margin:0;font-size:15.5px;font-weight:500;line-height:22px;color:var(--navy);letter-spacing:0}
.oc-when{display:flex;align-items:center;gap:7px;margin:3px 0 0;font-size:13.4px;line-height:19px;color:var(--mute)}
.oc-when .i{width:18px;height:18px;color:#7B7D8A}
.oc-bot{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:11px;border-top:1px solid #ECEEF4;font-size:14px;color:var(--ink-2)}
.oc-bot b{font-weight:700;color:var(--navy)}
.oc-bot em{font-style:normal;font-size:12.8px;font-weight:500}
.oc-bot .due{color:#D9480F}
.oc-bot .paid{color:var(--green)}
.oc-bot .x{color:var(--red)}
.ol-wrap .od-help{margin:16px 0 0}
.ol-wrap .empty{padding-top:36px}

/* ---------- Profile ---------- */
.me{display:flex;align-items:center;gap:15px;padding:22px 15px 20px;background:#fff;border-bottom:1px solid #E9EBF2}
.page-profile .pg-hd{border-bottom:1px solid #E9EBF2}
.me-av{width:58px;height:58px;border-radius:50%;background:#E1E6FF;color:var(--navy);font-weight:700;font-size:21px;display:grid;place-items:center;flex:none;letter-spacing:.01em}
.me-av .i{width:26px;height:26px}
.me-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.me-t b{font-size:18.7px;line-height:24px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-t span{font-size:14.5px;line-height:20px;color:var(--mute)}
.nc-link{margin:12px 15px 0;gap:14px;padding:15px 16px}
.nc-link>div{flex:1;min-width:0}
.nc-link small{font-size:11.6px;letter-spacing:.06em;text-transform:uppercase;color:#BFC8F2;line-height:16px}
.nc-link b{display:block;font-size:21px;line-height:28px;font-weight:700;margin-top:1px;letter-spacing:-.01em}
.nc-ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;flex:none}
.nc-ic .i{width:22px;height:22px}
.nc-link>.i{width:18px;height:18px;color:#D6DBF7;flex:none}
.menu{margin:12px 15px 0;background:#fff;border:1px solid #E3E5EE;border-radius:18px;overflow:hidden}
.menu>a,.menu>button,.menu>.mrow{display:flex;align-items:center;gap:14px;width:100%;min-height:63px;padding:0 15px;text-align:left;color:var(--ink)}
.menu>*+*{border-top:1px solid #EEF0F6}
.menu>a:active,.menu>button:active{background:#F7F8FB}
.mi{width:33px;height:33px;border-radius:10px;background:#EEF0FB;color:var(--navy);display:grid;place-items:center;flex:none}
.mi .i{width:19px;height:19px}
.ml{flex:1;min-width:0;font-size:14.7px;font-weight:500;line-height:19px;color:var(--ink)}
.ml small{display:block;margin-top:1px;font-size:12.5px;font-weight:400;line-height:17px;color:var(--mute)}
.menu>a>.i:last-child,.menu>button>.i:last-child{width:18px;height:18px;color:#A9AAB6;flex:none}
.menu .mrow{padding-top:11px;padding-bottom:11px}
.menu-out{margin-top:12px}
.menu-out button{display:flex;align-items:center;gap:14px;width:100%;min-height:63px;padding:0 15px;text-align:left}
.menu-out button>.i:last-child{width:18px;height:18px;color:#A9AAB6;flex:none}
.mi-red{background:#FDECEE;color:var(--red)}
.ml.red{color:var(--red)}
.me-foot{text-align:center;color:var(--mute-2);font-size:13px;margin:22px 0 10px}

/* ---------- text pages: CMS, blog, area, contact, review ---------- */
.doc{margin:12px 15px 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.doc h1{font-size:20px;line-height:26px;color:var(--navy);letter-spacing:-.015em}
.doc-intro{margin:16px 17px 4px;background:none;border:0;padding:0;border-radius:0}
.doc-intro p{margin:6px 0 0;font-size:14px;line-height:21px;color:var(--mute)}
.doc-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 12px;font-size:12.5px;color:var(--mute)}
.doc-intro .doc-meta{margin:8px 0 0}
.doc-meta span{display:inline-flex;align-items:center;gap:5px}
.doc-meta .i{width:14px;height:14px}
.doc .doc-meta{margin:6px 0 14px}
.toc{margin:0 0 16px;padding:12px 14px;background:var(--blue-soft);border:1px solid var(--blue-line);border-radius:14px;font-size:13.5px}
.toc b{display:block;margin-bottom:6px;color:var(--navy);font-size:13.5px}
.toc ol{padding-left:18px}
.toc li{margin:3px 0}
.toc li.l3{margin-left:14px;list-style:circle}
.toc a{color:var(--blue)}
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:18px 15px 0}
.pg{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--ink-2)}
.pg.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.post-cover{aspect-ratio:16/9;background:#E6EAFB;overflow:hidden}
.post-cover img{width:100%;height:100%;object-fit:cover}
.post-page .doc-intro{margin-top:14px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.tag{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#F0F1F6;color:var(--ink-2);font-size:12.5px}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line-2)}
.share b{font-size:13.5px;margin-right:4px}
.cc-form{padding:16px;margin:12px 15px 0}
.cc-form .cc-t{display:block;margin:0 0 14px}
.od .cc-form{margin:0}
.map-card{margin:12px 15px 0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.map-card iframe{display:block;width:100%;height:230px;border:0}
.map-card .btn{margin:12px;width:calc(100% - 24px)}
.rate-in{border:0;margin:0 0 18px;padding:0;display:flex;flex-direction:row-reverse;justify-content:center;gap:4px;position:relative}
.rate-in legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rate-in input{position:absolute;opacity:0;width:1px;height:1px}
.rate-in label{cursor:pointer;color:#D8D9E2;padding:2px;transition:color .12s,transform .12s}
.rate-in label .i{width:40px;height:40px;fill:currentColor;stroke:none}
.rate-in input:checked~label,.rate-in label:hover,.rate-in label:hover~label{color:var(--gold)}
.rate-in input:focus-visible+label{outline:2px solid var(--blue);border-radius:8px}
.rv-h{text-align:center;font-size:21px;line-height:27px;margin:6px 0 2px;color:var(--navy)}
.rv-sub{text-align:center;color:var(--mute);font-size:13.5px;margin:0 0 6px}
.rv-reply{margin-top:2px;padding-top:8px;border-top:1px solid var(--line-2);font-size:12.6px;line-height:18px;color:var(--mute)}

/* ---------- call-to-action band ---------- */
.cta{position:relative;overflow:hidden;margin:26px 15px 0;padding:22px 18px 20px;border-radius:22px;background:linear-gradient(120deg,var(--navy) 0,var(--navy-2) 100%);color:#fff;text-align:center}
.cta::before{content:"";position:absolute;right:-50px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,76,.5) 0,rgba(255,138,76,0) 66%);pointer-events:none}
.cta>*{position:relative}
.cta h2{color:#fff;font-size:19px;line-height:25px}
.cta p{margin:6px auto 16px;max-width:300px;font-size:14px;line-height:20px;color:#D3D9F4}
.cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.cta .btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.cta .btn-soft{background:rgba(255,255,255,.14);color:#fff}

/* ---------- empty / error ---------- */
.empty-btns{display:grid;gap:10px;width:100%;max-width:340px;margin-top:8px}
.err-sec{padding-top:34px}
.err-code{font-size:72px;line-height:1;font-weight:800;letter-spacing:-.04em;color:#CBD3F2;margin:0 0 6px}
.err-sec h1{font-size:20px;color:var(--navy)}
.err-sec p{margin:2px 0 12px}
.err-search{max-width:340px;margin:0 0 14px;background:#fff}
.soon .empty-btns{margin-top:6px}

/* ---------- standalone (maintenance / error) ---------- */
body.standalone{min-height:100vh;display:grid;place-items:center;padding:20px;background:var(--bg)}
.stand{width:100%;max-width:420px}
.stand-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 22px 24px;text-align:center;box-shadow:var(--shadow)}
.stand-card h1{font-size:21px;line-height:27px;color:var(--navy);margin:0 0 8px}
.stand-card p{margin:0 0 18px;color:var(--mute);font-size:14.5px;line-height:21px}
.stand-card .err-code{font-size:76px}
.stand-card .empty-btns{margin:0 auto}
.stand-logo{display:block;height:44px;width:auto;margin:0 auto 20px}

/* ---------- footer card ---------- */
.ft-contact{flex-direction:column;gap:8px}
.ft-contact a{display:inline-flex;align-items:center;gap:8px}
.ft-contact .i{width:16px;height:16px;color:var(--mute-2)}
.ft a:hover{color:var(--blue)}
body.has-nav .ft{margin-bottom:6px}

/* ---------- misc ---------- */
.muted.small{font-size:12.5px;margin:10px 0 0}
.sr-hd+.sr{display:none}
.copied{outline:2px solid var(--green);outline-offset:-2px}
.is-busy{opacity:.7;pointer-events:none}
[aria-busy=true]{opacity:.65;transition:opacity .15s}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (min-width:600px){.sheet-tall{height:min(88vh,740px)}}
@media (max-width:359px){
  .sh h2,.sh h1{font-size:17px}
  .hc{width:138px}
  .trust-row{gap:6px}
  .po-t b{font-size:14.5px}
  .pay-go .btn{flex-basis:56%}
}
@media print{.bnav,.cartbar,.cta-bar,.paybar,.buybar,.toasts,.sheet{display:none!important}.app{box-shadow:none}}

