:root{--p:#0059A9;--pd:#00437F;--bg:#fff;--soft:#EAF2FA;--t:#222;--m:#6b6b6b;--b:#ececec}
*{box-sizing:border-box}
body{margin:0;font:15px/1.55 Poppins,system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--t)}
a{color:inherit;text-decoration:none}
h1,h2{line-height:1.25}
.top{display:flex;justify-content:space-between;align-items:center;padding:10px 5vw;background:#fff;border-bottom:1px solid var(--b);position:sticky;top:0;z-index:5}
.logo{font-weight:700;font-size:26px;letter-spacing:-.5px;color:var(--p)}
.top nav{display:flex;align-items:center;gap:22px;font-weight:500;font-size:14px}
.pill{border:1px solid var(--p);color:var(--p);border-radius:6px;padding:6px 14px}
main{max-width:1180px;margin:0 auto;padding:0 16px 32px}
.hero{margin:0 -16px;padding:90px 16px 110px;text-align:center;color:#fff;background:linear-gradient(135deg,#00376B 0%,#0059A9 55%,#3D8BD6 100%)}
.hero h1{font-size:clamp(30px,5vw,48px);margin:0 0 8px}
.hero p{margin:0 0 28px;font-size:17px;opacity:.95}
.search{display:flex;position:relative;max-width:760px;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.search .loc{display:flex;align-items:center;padding:0 18px;color:var(--t);font-weight:600;border-right:1px solid var(--b);white-space:nowrap}
.search input{flex:1;border:0;padding:16px;font:inherit;outline:0;min-width:0}
.search button{background:var(--p);border:0;padding:0 22px;font-size:18px;cursor:pointer;color:#fff}
.search>button:last-of-type{border-radius:0 10px 10px 0}
.search.inline{margin:0 0 20px;max-width:520px;box-shadow:none;border:1px solid var(--b)}
.strip{display:flex;gap:6px;overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.1);margin:-52px 8px 28px;padding:14px;position:relative}
.strip a{flex:1 0 118px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:13px;font-weight:500;padding:6px}
.strip a:hover{color:var(--p)}
.ico{width:48px;height:48px;object-fit:cover;border-radius:12px;background:#e6e6e6}
.thumb{width:100%;height:110px;object-fit:cover;border-radius:8px;background:#e6e6e6;margin-bottom:6px;display:block}
.cimg{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#e6e6e6;display:block}
.slider{position:relative;margin:20px -16px;overflow:hidden;background:#e6e6e6}
.slider .track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.slider .track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:center;display:block;position:relative;color:#fff}
.slide .ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 8% 0 7%;background:linear-gradient(90deg,rgba(0,32,66,.82) 0%,rgba(0,32,66,.55) 45%,rgba(0,32,66,0) 80%)}
.slide .ov h2{margin:0 0 .25em;font-size:clamp(18px,4.3vw,54px);line-height:1.15;max-width:60%;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.slide .ov p{margin:0 0 1em;font-size:clamp(12px,1.9vw,24px);max-width:55%;opacity:.95}
.slide .cta{display:inline-block;background:#F5A623;color:#00305F;font-weight:700;border-radius:99px;padding:.6em 1.6em;font-size:clamp(11px,1.5vw,18px)}
.slide:hover .cta{background:#ffb93c}
@media(max-width:520px){.slider .arr{display:none}.slide .ov p{display:none}.slide .ov h2{max-width:75%}.slide .cta{padding:.45em 1.1em}}
.slide img{width:100%;height:auto;aspect-ratio:8/3;object-fit:cover;display:block}
.slider .arr{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#222;font-size:26px;line-height:1;padding:0;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.slider .arr:hover{background:#fff}.slider .prev{left:10px}.slider .next{right:10px}
.slider .dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:7px}
.slider .dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.6);cursor:pointer}
.slider .dots button.on{background:var(--p);width:22px;border-radius:5px}
.logo-img{height:38px;width:auto;display:block}
#burger{display:none;background:none;border:0;color:var(--t);padding:4px;margin:0 8px 0 -4px;cursor:pointer}
#burger:hover{background:none;color:var(--p)}
#mnav{position:fixed;inset:0;z-index:50}#mnav[hidden]{display:none}
#mnav .mback{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.mpanel{position:absolute;left:0;top:0;bottom:0;width:min(320px,86vw);background:#fff;overflow-y:auto;padding:0 0 24px;box-shadow:4px 0 24px rgba(0,0,0,.3)}
.mhead{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--p);color:#fff}
.mhead button{background:none;color:#fff;font-size:28px;line-height:1;padding:0 6px}.mhead button:hover{background:none}
.macct{padding:14px 16px;border-bottom:1px solid var(--b)}.macct .btn{width:100%}
.macct .hi{font-weight:600;margin-bottom:8px}.macct .row2{display:flex;gap:8px}.macct .row2 a,.macct .row2 button{flex:1;text-align:center;padding:9px;border:1px solid var(--p);border-radius:8px;color:var(--p);background:#fff;font:inherit}
.mlink,.mdet summary{display:block;padding:14px 16px;border-bottom:1px solid var(--b);font-weight:500;cursor:pointer}
.mlink:hover,.mdet summary:hover{color:var(--p)}
.mdet a{display:block;padding:10px 16px 10px 32px;border-bottom:1px solid #f4f4f4;font-size:14px;color:#444}.mdet a:hover{color:var(--p)}
.mdet summary{list-style:none;display:flex;justify-content:space-between}.mdet summary::after{content:"+";font-size:20px;line-height:1}.mdet[open] summary::after{content:"\2212"}
body.noscroll{overflow:hidden}
.locsel{position:relative;display:flex}
.search .loc{background:none;border:0;border-right:1px solid var(--b);color:var(--t);font:inherit;font-weight:600;padding:0 14px;display:flex;align-items:center;white-space:nowrap;border-radius:0;cursor:pointer}
.search .loc:hover{background:#F1F6FB}
.crumb{font-size:13px;color:var(--m);margin:14px 0}.crumb a{color:var(--p)}
.sd{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;margin:8px 0 12px}
.gmain{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#e6e6e6;display:block}
.gthumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.gthumbs button{padding:0;border:2px solid transparent;border-radius:8px;background:none;overflow:hidden;flex:0 0 80px;cursor:pointer}
.gthumbs button.on{border-color:var(--p)}.gthumbs img{width:80px;height:60px;object-fit:cover;display:block}
.info h1{margin:0 0 6px}.rate{margin:0 0 8px;color:var(--m)}.stars{color:#f5a623;letter-spacing:2px}
.desc{color:#444}.from{font-size:18px}.from b{color:var(--p);font-size:24px}.from em{font-style:normal;color:var(--m);font-size:13px}
.opts{border:0;padding:0;margin:14px 0}.opts legend{font-weight:600;margin-bottom:6px;padding:0}
.opt{display:flex;align-items:center;gap:10px;border:1px solid var(--b);border-radius:10px;padding:10px 12px;margin-bottom:8px;cursor:pointer;font-weight:400}
.opt:has(input:checked){border-color:var(--p);background:var(--soft)}.opt input{width:auto;margin:0}.opt span{flex:1}.opt b{color:var(--p)}
.qtyrow{display:flex;align-items:center;gap:14px;margin:12px 0;font-weight:600}
.qty{display:flex;align-items:center;border:1px solid var(--b);border-radius:10px;overflow:hidden}
.qty button{background:#fff;color:var(--p);border-radius:0;padding:8px 14px;font-size:18px}.qty button:hover{background:var(--soft)}
.qty input{width:48px;text-align:center;border:0;margin:0;padding:8px 0;border-radius:0}
.est{margin:8px 0 14px}.est b{color:var(--p);font-size:18px}
.btn.big{padding:13px 28px;font-size:16px;text-align:center}
.reviews .muted{color:var(--m)}.rv{border-bottom:1px solid var(--b);padding:10px 0}.rv small{color:var(--m);margin-left:8px}.rv p{margin:6px 0 0}
.bsum{background:var(--soft);padding:10px 14px;border-radius:10px}
.err{text-align:center;padding:60px 16px}.err .code{font-size:96px;font-weight:700;color:var(--p);line-height:1}.err h1{margin:8px 0}.err p{color:var(--m)}.err .btn{margin:6px}

/* ---------- behaviour: feedback, transitions, panels ---------- */
a,button,summary,label,input[type=checkbox],input[type=radio]{touch-action:manipulation}
a,button{-webkit-tap-highlight-color:rgba(0,89,169,.18)}
:focus-visible{outline:2px solid var(--p);outline-offset:2px}
.btn,button,.pill,.cta,.card,.svc,.cardc,.row,.strip a,.opt,.dnav a,.mlink,.mdet summary,.foot a,.bh a{transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s,transform .1s}
.btn:active,button:active,.pill:active{transform:scale(.97)}
.card:active,.svc:active,.cardc:active,.strip a:active,.row:active,.opt:active{transform:scale(.985)}
.slide:active .cta{transform:scale(.96)}
.dnav a:not(.pill):hover{color:var(--p)}
.card:hover,.svc:hover,.cardc:hover{box-shadow:0 4px 14px rgba(0,89,169,.14)}
.is-loading{position:relative;pointer-events:none;color:transparent!important}
.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:1.15em;height:1.15em;margin:-.575em 0 0 -.575em;border:2px solid var(--spin,#fff);border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}
.btn.ghost,.pill:not(.solid),.slide .cta{--spin:var(--p)}.slide .cta{--spin:#00305F}
@keyframes spin{to{transform:rotate(360deg)}}
#topbar{position:fixed;left:0;top:0;height:3px;width:0;background:var(--p);z-index:100;opacity:0;pointer-events:none;box-shadow:0 0 8px rgba(0,89,169,.6)}
main.leaving{opacity:.45;transition:opacity .12s}
main.entering{animation:pgIn .24s ease both}
@keyframes pgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){main.entering{animation:none}main.leaving{transition:none}.btn,button,.card,.svc,.cardc{transition:none}}
.search .locsel .loc{border-radius:10px 0 0 10px;min-height:48px}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;margin:0;padding:6px;list-style:none;background:#fff;color:var(--t);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28);text-align:left;max-height:70vh;overflow-y:auto}
.sugg[hidden]{display:none}
.sugg li a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;min-height:52px}
.sugg li a:hover,.sugg li.on a{background:var(--soft)}
.sugg img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#e6e6e6;flex:0 0 auto}
.sugg span{flex:1;font-weight:500}.sugg small{display:block;color:var(--m);font-weight:400;font-size:12px}.sugg i{color:var(--m);font-style:normal;font-size:22px}
.sugg .none{padding:12px;color:var(--m);font-size:14px}.sugg .none a{display:inline;padding:0;min-height:0;color:var(--p)}
dialog{color:var(--t)}
dialog .dx{position:absolute;right:10px;top:8px;z-index:2;width:40px;height:40px;border-radius:50%;background:#fff;color:#444;border:1px solid var(--b);font-size:24px;line-height:1;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.15)}
dialog .dx:hover{background:var(--soft);color:var(--p)}
dialog#catDlg,dialog#locDlg{border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.4);overflow:hidden}
dialog#catDlg::backdrop,dialog#locDlg::backdrop{background:rgba(0,0,0,.5)}
dialog#catDlg[open],dialog#locDlg[open]{animation:dlgIn .18s ease both}
@keyframes dlgIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
dialog#catDlg{width:min(780px,94vw);height:min(560px,86vh)}
.cp{display:grid;grid-template-columns:240px 1fr;height:100%}
#cpL{list-style:none;margin:0;padding:8px 0;background:#f6f8fb;overflow-y:auto}
#cpL li{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-weight:500;font-size:14px;min-height:52px;border-left:3px solid transparent}
#cpL li img{width:32px;height:32px;border-radius:8px;object-fit:cover;background:#e6e6e6;flex:0 0 auto}
#cpL li:hover{background:#eaf2fa}#cpL li.on{background:#fff;color:var(--p);border-left-color:var(--p)}
#cpL li.all{padding:0}#cpL li.all a{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;min-height:52px}#cpL .gi{width:32px;text-align:center;font-size:20px;color:var(--p)}
#cpR{padding:14px 18px;overflow-y:auto}
#cpR .ph{display:flex;justify-content:space-between;align-items:center;padding:0 44px 10px 0;border-bottom:1px solid var(--b);margin-bottom:6px}#cpR .ph b{font-size:17px}#cpR .ph a{color:var(--p);font-size:14px;padding:8px 0}
#cpR .ps{display:flex;align-items:center;gap:12px;padding:8px 6px;border-radius:10px;min-height:60px}#cpR .ps:hover{background:var(--soft)}
#cpR .ps img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:#e6e6e6;flex:0 0 auto}#cpR .ps span{flex:1;font-weight:500}#cpR .ps small{display:block;color:var(--m);font-weight:400;font-size:12px}#cpR .ps i{font-style:normal;color:var(--m);font-size:22px}
.muted{color:var(--m)}
/* ---------- cart, checkout, orders ---------- */
.cartlink{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--t)}
.cartlink:hover{color:var(--p)}
.cc{position:absolute;top:-2px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--p);color:#fff;font-size:11px;font-weight:700;line-height:19px;text-align:center}
.cc[hidden]{display:none}.cc.mc{position:static;display:inline-block;margin-left:6px;vertical-align:middle}
.mcart{display:none;margin-left:auto}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:#1d1d1f;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;pointer-events:none;z-index:120;transition:opacity .2s,transform .2s;max-width:92vw;font-size:14px}
#toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}#toast a{color:#8cc4ff;margin-left:8px;font-weight:600}
.ctarow{display:flex;gap:12px;flex-wrap:wrap}.ctarow .btn{flex:1 1 150px}
.empty{text-align:center;padding:40px 12px}.empty p{color:var(--m);margin:0 0 16px}
.cartgrid,.cogrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.clist{display:grid;gap:12px}
.ci{display:flex;gap:14px;border:1px solid var(--b);border-radius:12px;padding:12px;background:#fff;transition:opacity .15s}.ci.upd{opacity:.5}
.ci img{width:84px;height:64px;object-fit:cover;border-radius:8px;background:#e6e6e6;flex:0 0 auto}
.ci .cm{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ci .cn{font-weight:600}.ci small{color:var(--m)}
.ci .qty{align-self:flex-start;margin-top:6px}.ci .qty button{padding:6px 12px}.ci .qty input{width:42px}
.ci .cr{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}.ci .cr b{color:var(--p)}
.rm{background:none;color:#b00020;border:0;padding:6px 0;font-size:13px}.rm:hover{background:none;text-decoration:underline}
.csum{border:1px solid var(--b);border-radius:12px;padding:16px;background:#fff;position:sticky;top:76px}
.csum h2{margin:0 0 10px;font-size:17px}.csum .btn.big{width:100%;margin-top:12px}.csum .lnk{display:block;text-align:center;margin-top:12px;color:var(--p);cursor:pointer}
.sl{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.sl.tt{border-top:1px solid var(--b);margin-top:6px;padding-top:12px;font-size:18px}.sl.tt b{color:var(--p)}
.oi{list-style:none;margin:6px 0;padding:0}.oi li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px;border-bottom:1px dashed var(--b)}.oi li:last-child{border-bottom:0}.oi em{color:var(--m);font-style:normal}
.cpn{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.cpn input{flex:1;margin:0;min-width:0}.cpn button{background:#e6e6e6;color:#888}.cpn small{flex-basis:100%;color:var(--m)}
.coform{display:grid;gap:18px}.coform section{border:1px solid var(--b);border-radius:12px;padding:16px;background:#fff;display:grid;gap:12px}
.coform h2{margin:0;font-size:16px}.coform label{margin:0}.coform input,.coform textarea{margin:4px 0 0}.hint{color:var(--m);font-size:13px;margin:0}.hint a{color:var(--p)}
.areabtn{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:4px;background:#fff;color:var(--t);border:1px solid #d9d9d9;border-radius:8px;padding:11px;font-weight:500;text-align:left}
.areabtn small{color:var(--p);font-weight:600}.areabtn:hover{background:#fff;border-color:var(--p)}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.slot,.pay{display:flex;align-items:center;gap:10px;border:1px solid var(--b);border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:500;min-height:48px}
.slot input,.pay input{width:auto;margin:0}.slot:has(input:checked),.pay:has(input:checked){border-color:var(--p);background:var(--soft)}
.slot.off,.pay.off{opacity:.5;cursor:not-allowed}.pays{display:grid;gap:8px}.pay span{flex:1}.pay small{display:block;color:var(--m);font-weight:400}.pay em{font-style:normal;font-size:12px;background:#eee;color:#666;border-radius:99px;padding:2px 10px}
#coMsg:empty{display:none}
.okbanner{text-align:center;margin:10px 0 18px}.okbanner h1{margin:8px 0 4px}.okbanner p{margin:0;color:var(--m)}
.tick{display:inline-flex;width:56px;height:56px;border-radius:50%;background:#e8f7ee;color:#1a8f4d;font-size:30px;align-items:center;justify-content:center;font-weight:700}
.odetail{max-width:640px;margin:0 auto;border:1px solid var(--b);border-radius:12px;padding:16px;background:#fff}
.odetail .oh{display:flex;justify-content:space-between;align-items:center}.meta{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:14px 0;font-size:14px}.meta dt{color:var(--m)}.meta dd{margin:0}
.oa{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.ord2{border:1px solid var(--b);border-radius:12px;padding:14px;margin-bottom:12px;background:#fff}
.ord2 .oh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ord2 .oh small{display:block;color:var(--m)}.ord2 .or{display:flex;align-items:center;gap:12px}.ord2 .tot{color:var(--p)}
.ord2 .om{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--m);font-size:13px;margin-top:6px}.lnk{color:var(--p);cursor:pointer;font-size:14px}.lnk.cx{color:#b00020}
.tag.in_progress{background:#e0d4ff}
.otable td{vertical-align:top}.otable .oi li{font-size:13px;padding:2px 0}
@media(max-width:760px){.cartgrid,.cogrid{grid-template-columns:1fr}.csum{position:static}.mcart{display:inline-flex;margin-left:auto}.dnav .cartlink{display:none}.ci img{width:72px;height:56px}.meta{grid-template-columns:90px 1fr}}
dialog#locDlg{width:min(560px,94vw);max-height:86vh;padding:22px 22px 20px}
dialog#locDlg[open]{display:flex;flex-direction:column}
.lh{margin:0 0 14px;font-size:17px;text-align:center;padding:0 40px}.lh b{color:var(--p)}
.lq{width:100%;padding:13px 14px;border:1px solid var(--b);border-radius:10px;font:inherit;margin:0 0 14px}
.areas{display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow-y:auto;padding:2px}
.areas button{background:#fff;color:var(--t);border:1px solid var(--b);border-radius:10px;padding:12px;min-height:48px;font:inherit;font-weight:500;text-align:left}
.areas button:hover{border-color:var(--p);color:var(--p);background:#fff}.areas button.on{background:var(--soft);border-color:var(--p);color:var(--p)}
@media(max-width:760px){
  dialog#catDlg{width:100vw;max-width:100vw;height:88vh;margin:auto auto 0;border-radius:16px 16px 0 0}
  .cp{grid-template-columns:118px 1fr}#cpL li{flex-direction:column;text-align:center;gap:4px;padding:10px 4px;font-size:12px;border-left:0;border-bottom:1px solid #eef1f5}#cpL li.on{box-shadow:inset 3px 0 0 var(--p)}
  #cpL li.all a{flex-direction:column;gap:4px;font-size:12px;text-align:center}
  #cpR{padding:12px}
  dialog#locDlg{width:100vw;max-width:100vw;margin:auto auto 0;border-radius:16px 16px 0 0;max-height:90vh}
  .areas{grid-template-columns:1fr 1fr}
  /* comfortable tap targets */
  #burger{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
  input,select,textarea{font-size:16px}
  .foot a{display:flex;align-items:center;min-height:44px;padding:4px 0}
  .bh a{padding:12px 0;display:inline-block}
  .qty button{min-width:44px;min-height:44px}.qty input{min-height:44px}
  .opt{min-height:52px}
  .search button{min-width:48px}.search input{min-height:48px}
  .strip a{min-height:92px}
  .slider .dots{gap:6px}.slider .dots button{position:relative}.slider .dots button::after{content:"";position:absolute;inset:-18px -9px}
  .top .logo{display:flex;align-items:center;min-height:44px;min-width:44px}
  .social a{width:44px;height:44px}
  dialog .dx{width:44px;height:44px}
  .gthumbs button{flex-basis:84px}
  .btn,.pill,button{min-height:44px}
  .slider .dots button,.gthumbs button,.dx,.mhead button{min-height:0}
}
.pill.solid{background:var(--p);color:#fff;cursor:pointer;font:inherit;font-weight:500;font-size:14px}
#acct{position:relative}
.avatar{display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}
.avatar i{width:32px;height:32px;border-radius:50%;background:var(--p);color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:600}
.menu{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;background:#fff;border:1px solid var(--b);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:6px;z-index:10}
.menu a,.menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 12px;border-radius:6px;font:inherit;color:var(--t);cursor:pointer;margin:0}
.menu a:hover,.menu button:hover{background:var(--soft);color:var(--p)}
dialog#authDlg{border:0;border-radius:14px;padding:22px;width:min(380px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog#authDlg::backdrop{background:rgba(0,0,0,.5)}
dialog#authDlg .x{position:absolute;right:10px;top:6px;margin:0}.dialog .x button,#authDlg .x button{background:none;color:#666;font-size:26px;padding:0 8px;border:0;cursor:pointer}
#authDlg form#authForm{display:grid;gap:12px}
#authDlg .sw{display:flex;margin:14px 0;border:1px solid var(--p);border-radius:10px;overflow:hidden}
#authDlg .sw a{flex:1;text-align:center;padding:9px;color:var(--p);font-weight:600;cursor:pointer}#authDlg .sw a.on{background:var(--p);color:#fff}
.page{max-width:760px;margin:24px auto}.page p{margin:0 0 14px}.page a{color:var(--p)}.page ul{padding-left:20px}
.ord{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--b);border-radius:12px;padding:14px;margin-bottom:10px;background:#fff}
.ord small{display:block;color:var(--m)}.tag{font-size:12px;padding:2px 8px;border-radius:99px;background:#eee}
.tag.pending{background:#fff3cd}.tag.confirmed{background:#d6e9ff}.tag.done{background:#d9f2e3}.tag.cancelled{background:#eee;color:#888}
.anav{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.anav a{padding:7px 14px;border:1px solid var(--b);border-radius:99px;font-size:14px}.anav a.on{background:var(--p);color:#fff;border-color:var(--p)}.anav .out{margin-left:auto}
.hint{color:var(--m);font-size:13px;margin:0 0 14px}.btn.sm{padding:6px 12px;font-size:13px}.btn.ghost{background:#fff;color:var(--p);border:1px solid var(--p)}.mig{margin:24px 0}
.arow{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;border:1px solid var(--b);border-radius:12px;padding:12px;margin-bottom:10px;background:#fff}
.arow.new{background:var(--soft);border-style:dashed}
.arow .th{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#e6e6e6}.arow .th.wide{width:160px;height:60px}
.arow .f{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 280px}.arow .f label{flex:1 1 150px;min-width:130px}.arow .f .wide{flex-basis:100%}
.arow .chk{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;font-weight:400;padding-top:20px}.arow .chk input{width:auto;margin:0}
.arow .focus{flex:1 1 150px;min-width:150px}.arow .fxy{display:flex;gap:6px}.arow .fxy input{width:70px}
.arow .acts{display:flex;flex-direction:column;gap:6px;align-items:stretch}.arow .acts small{color:var(--m);text-align:center}
.arow button.del,button.del{background:#fff;color:#b00020;border:1px solid #e3b3b9}button.del:hover{background:#fdecee}
.blk{margin:36px 0}
.bh{display:flex;justify-content:space-between;align-items:baseline}
.bh h2{margin:0 0 14px;font-size:22px}.bh a{color:var(--p);font-weight:500;font-size:14px}
.hscroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}
.svc{flex:0 0 190px;border:1px solid var(--b);border-radius:12px;padding:10px 10px 14px;display:flex;flex-direction:column;gap:4px;background:#fff}
.svc:hover,.card:hover,.cardc:hover{border-color:var(--p);box-shadow:0 4px 14px rgba(0,89,169,.14)}
.thumb{height:110px;border-radius:8px;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:48px;margin-bottom:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.card,.cardc{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--b);border-radius:12px;padding:16px}
.cardc{align-items:center;text-align:center;background:var(--soft);border:0;padding:24px 12px}
.card small{color:var(--m)}
.price{color:var(--p);font-weight:600;font-size:14px}.price em{font-weight:400;color:var(--m);font-style:normal;font-size:12px}
.eyebrow{display:block;text-align:center;color:var(--p);font-weight:600;letter-spacing:1.5px}
.why,.blk>h2{text-align:center}
.why h2{margin:6px 0 22px}
.four{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.four div{background:var(--soft);border-radius:12px;padding:20px;font-weight:500}.four span{display:block;font-size:34px;margin-bottom:6px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;text-align:center;margin-top:20px}
.steps i{display:inline-flex;width:44px;height:44px;border-radius:50%;background:var(--p);color:#fff;align-items:center;justify-content:center;font-style:normal;font-weight:600;margin-bottom:8px}
.steps p{color:var(--m);margin:4px 0}
.app{background:var(--soft);border-radius:14px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;text-align:left}
.app h2{margin:0 0 4px;text-align:left}.app p{margin:0;color:var(--m)}
.form{display:grid;gap:12px;max-width:480px}
label{display:grid;gap:4px;font-size:14px;font-weight:500}
input,select,textarea{padding:11px;border:1px solid #d9d9d9;border-radius:8px;font:inherit;background:#fff}
input:focus,textarea:focus{outline:2px solid rgba(0,89,169,.35)}
button,.btn{background:var(--p);color:#fff;border:0;border-radius:8px;padding:11px 20px;font:inherit;font-weight:500;cursor:pointer;display:inline-block}
button:hover,.btn:hover{background:var(--pd)}
.ok{background:#e8f7ee;border:1px solid #9fd8b4;padding:14px;border-radius:8px}
.bad{background:#fde8e8;border:1px solid #f0a8a8;padding:12px;border-radius:8px;margin-bottom:12px}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff}
th,td{border:1px solid var(--b);padding:6px 8px;text-align:left;font-size:14px;vertical-align:middle}
.foot{background:#1d1d1f;color:#cfcfd2;margin-top:30px}
.fw{max-width:1180px;margin:0 auto;padding:36px 16px;display:grid;grid-template-columns:1.3fr 1.2fr 1.9fr 1fr 1fr 1.2fr;gap:24px}
.flogo{display:inline-block;font-weight:700;font-size:24px;color:#fff;margin-bottom:6px}.flogo img{height:38px;width:auto;display:block;filter:none}
.foot .brand p{margin:0 0 12px}
.foot .two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.social{display:flex;gap:10px}.social a{width:36px;height:36px;border-radius:50%;background:#333;display:flex;align-items:center;justify-content:center;margin:0}.social a:hover{background:var(--p)}
.foot .badge{display:inline-block;margin:0 0 10px;vertical-align:top}.foot .badge img{height:40px;width:auto;display:block}
.bd{display:flex;flex-direction:column;background:#000;border:1px solid #555;border-radius:8px;padding:5px 14px;min-width:140px;line-height:1.2;color:#fff}.bd small{font-size:10px;color:#ccc}.bd b{font-size:16px}
.badge.soon{opacity:.75;cursor:default}.badge.soon em{display:block;font-size:11px;font-style:normal;color:#aaa;margin-top:2px}
.foot h4{color:#fff;margin:0 0 10px}.foot a{display:block;margin:4px 0;font-size:14px}.foot a:hover{color:#fff}.foot p{margin:4px 0;font-size:14px}
.copy{border-top:1px solid #333;text-align:center;padding:14px;font-size:13px}
@media(max-width:760px){#burger{display:block}.dnav{display:none!important}.top{justify-content:flex-start}.sd{grid-template-columns:1fr}.search .loc{padding:0 10px;font-size:13px}.search .loc small{display:none}}
@media(max-width:1000px){.fw{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.fw{grid-template-columns:1fr 1fr}.foot .brand,.foot .services{grid-column:1/-1}.hero{padding:60px 16px 90px}.search input{padding:14px 10px}}

/* step 13 polish */
main{min-height:55vh}
.steps i{display:flex;margin:0 auto 8px}
.reviews>h2{text-align:left;font-size:20px}
.card small{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:600px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{padding:10px;gap:4px}.card b{font-size:15px;line-height:1.3}.card small{font-size:13px;-webkit-line-clamp:2}.card .price{font-size:13px}.slot{font-size:14px;padding:10px}}

/* step 14 */
.four div{text-align:left;display:flex;flex-direction:column;gap:6px;padding:20px}.four div svg{color:var(--p);background:#fff;border-radius:12px;padding:10px;width:48px;height:48px;box-sizing:border-box;margin-bottom:4px}.four div b{font-weight:600;font-size:16px}.four div p{margin:0;font-weight:400;font-size:14px;color:var(--m);line-height:1.5}
.foot .about{color:#bbb;font-size:13px;line-height:1.55;max-width:300px}.foot .soon{color:#999;font-style:italic}.foot .inl{display:inline;margin:0}
.card .crow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap}.btn.sm{padding:6px 14px;font-size:13px;border-radius:8px}
