/* ================================================================
   getecart DESIGN KIT v2 (batch 0) — loaded after style.css + ux.css
   One upgrade for every shared piece: type, page banners, panels, cards,
   buttons, fields, chips, tabs, empty states, dialogs, footer, bottom nav,
   floating buttons. White-based, colourful, no black surfaces.
   ================================================================ */
:root{
  --k-ink:#101a33;--k-ink2:#3b4663;--k-mut:#69728f;--k-line:#e6eaf3;--k-soft:#f4f6fb;--k-pg:#f6f7fb;
  --k-grad:linear-gradient(120deg,#10b981,#0ea5e9);
  --k-grad-v:linear-gradient(120deg,#7c3aed,#ec4899);
  --k-grad-o:linear-gradient(120deg,#f97316,#ec4899);
  --k-rb:linear-gradient(90deg,#10b981,#06b6d4,#3d5afe,#a855f7,#ec4899,#f97316);
  --k-sh1:0 1px 2px rgba(30,41,59,.04),0 10px 28px -18px rgba(30,41,59,.22);
  --k-sh2:0 26px 50px -26px rgba(30,41,59,.38);
  --k-r:22px;--k-e:cubic-bezier(.2,.8,.2,1)
}

/* ---------- type ---------- */
body{font-family:"Plus Jakarta Sans","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background-color:var(--k-pg);color:var(--k-ink)}
h1,h2,h3,h4,h5,h6,.display,.ux-hero h1,.ux-panel h2,.ux-empty h3,.ux-dlg h3,.ux-kpi b{font-family:"Plus Jakarta Sans","Inter",sans-serif}
h1,h2,h3{letter-spacing:-.025em;text-wrap:balance}
h1{font-weight:800}
::selection{background:#bbf7d0;color:#064e3b}
:focus-visible{outline:3px solid rgba(14,165,233,.45);outline-offset:2px}

/* ---------- page banner (ux-hero) ---------- */
.ux-hero{isolation:isolate;border-radius:28px;padding:30px 30px 26px;border:1px solid #e2e8f3;box-shadow:var(--k-sh1);
  background:radial-gradient(520px 220px at 100% 0%,rgba(236,72,153,.12),transparent 62%),radial-gradient(480px 240px at 0% 100%,rgba(16,185,129,.16),transparent 62%),linear-gradient(120deg,#effcf7,#eff6ff 55%,#f6f2ff)}
.ux-hero.warm{background:radial-gradient(520px 220px at 100% 0%,rgba(168,85,247,.12),transparent 62%),radial-gradient(480px 240px at 0% 100%,rgba(249,115,22,.16),transparent 62%),linear-gradient(120deg,#fff7ed,#fff1f2 55%,#f6f2ff)}
.ux-hero.cool{background:radial-gradient(520px 220px at 100% 0%,rgba(14,165,233,.14),transparent 62%),radial-gradient(480px 240px at 0% 100%,rgba(124,58,237,.14),transparent 62%),linear-gradient(120deg,#eff6ff,#f5f3ff 55%,#ecfeff)}
.ux-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(124,58,237,.16) 1.2px,transparent 1.4px);background-size:18px 18px;
  -webkit-mask-image:linear-gradient(105deg,transparent 48%,#000 88%);mask-image:linear-gradient(105deg,transparent 48%,#000 88%)}
.ux-hero::after{left:0;right:0;top:auto;bottom:0;width:auto;height:3px;border-radius:0;background:var(--k-rb);opacity:.75}
.ux-hero h1{font-size:clamp(1.55rem,3.2vw,2.15rem);font-weight:800;letter-spacing:-.03em;color:var(--k-ink)}
.ux-hero p{color:var(--k-ink2)}
.ux-fx{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ux-fx i{position:absolute;color:var(--c);opacity:.2;line-height:1;animation:kFloat 7s ease-in-out infinite}
.ux-fx i:nth-child(1){right:4%;top:16%;font-size:34px}
.ux-fx i:nth-child(2){right:15%;top:58%;font-size:22px;animation-delay:-2s}
.ux-fx i:nth-child(3){right:27%;top:12%;font-size:18px;animation-delay:-4s}
.ux-fx i:nth-child(4){right:9%;bottom:10%;font-size:20px;animation-delay:-1s}
.ux-fx i:nth-child(5){right:34%;bottom:14%;font-size:15px;animation-delay:-5s}
@keyframes kFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(9deg)}}
.ux-kpi{background:rgba(255,255,255,.9);border-color:#e7ecf5;border-radius:18px;box-shadow:0 1px 2px rgba(30,41,59,.04)}
.ux-kpi .ic{width:40px;height:40px;border-radius:13px;box-shadow:0 8px 16px -8px rgba(30,41,59,.4)}
.ux-kpi b{font-weight:800}
.ux-kpi small{font-size:.8rem}

/* ---------- panels & cards ---------- */
.ux-panel,.ux-card{min-width:0}
.ux-panel{border-radius:var(--k-r);border-color:var(--k-line);box-shadow:var(--k-sh1)}
.ux-panel:hover{border-color:#dde3ee}
.ux-panel>h2:first-child{border-radius:var(--k-r) var(--k-r) 0 0;font-weight:800}
.ux-panel .lead{color:var(--k-mut)}
.ux-card{border-radius:var(--k-r);border-color:var(--k-line);box-shadow:var(--k-sh1)}
.ux-card:hover{box-shadow:var(--k-sh2);border-color:#dde3ee}

/* ---------- buttons ---------- */
.ux-btn{min-height:44px;border-radius:14px;padding:10px 18px;font-weight:700;font-size:.9rem;border-color:var(--k-line);color:var(--k-ink2)}
.ux-btn:hover{border-color:#cdd5e3;box-shadow:0 10px 20px -14px rgba(30,41,59,.4)}
.ux-btn.pri{background:var(--k-grad);box-shadow:0 12px 22px -12px rgba(14,165,233,.75)}
.ux-btn.pri:hover{box-shadow:0 16px 26px -12px rgba(14,165,233,.85);filter:saturate(1.1)}
.ux-btn.pri::after,.ux-btn.dng-solid::after,.ux-btn.alt::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.ux-btn.pri:hover::after,.ux-btn.dng-solid:hover::after,.ux-btn.alt:hover::after{transform:translateX(120%)}
.ux-btn.alt{background:var(--k-grad-v);border-color:transparent;color:#fff;box-shadow:0 12px 22px -12px rgba(124,58,237,.7)}
.ux-btn.alt:hover{color:#fff}
.ux-btn.ok{background:#ecfdf5;border-color:#a7f3d0;color:#047857}
.ux-btn.sm{min-height:36px;padding:7px 13px;font-size:.82rem;border-radius:11px}

/* ---------- fields ---------- */
.ux-field>label{font-size:.84rem;font-weight:700;color:var(--k-ink2)}
.ux-input{min-height:48px;border-radius:14px;border-color:#e2e7f0;background:#fbfcfe;font-size:.96rem;transition:border-color .18s,box-shadow .18s,background .18s}
.ux-input:hover{border-color:#cfd7e5}
.ux-input:focus{background:#fff;border-color:#34d399;box-shadow:0 0 0 4px rgba(16,185,129,.14)}
textarea.ux-input{min-height:110px;line-height:1.5}
select.ux-input{appearance:none;-webkit-appearance:none;padding-right:40px;background:#fbfcfe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath fill='%2369728f' d='M1.6 4.6a.75.75 0 0 1 1.06 0L8 9.94l5.34-5.34a.75.75 0 1 1 1.06 1.06l-5.87 5.87a.75.75 0 0 1-1.06 0L1.6 5.66a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E") no-repeat right 15px center}
.ux-search{min-height:48px;border-radius:15px;border-color:#e2e7f0;box-shadow:0 1px 2px rgba(30,41,59,.04)}
.ux-search:focus-within{border-color:#34d399}
.ux-opt{border-radius:14px;min-height:48px;border-color:#e2e7f0}
.ux-opt:has(input:checked){border-color:#34d399;background:linear-gradient(120deg,#ecfdf5,#f0f9ff)}
.ux-switch input:checked+span{background:var(--k-grad)}

/* ---------- chips, tabs, pills, menus ---------- */
.ux-chip{min-height:40px;padding:8px 15px;border-color:#e2e7f0;font-weight:700;color:var(--k-ink2)}
.ux-chip:hover{border-color:#cdd5e3;transform:translateY(-1px)}
.ux-chip.on,.ux-chip[aria-pressed="true"]{background:var(--k-grad);border-color:transparent;color:#fff;box-shadow:0 10px 18px -12px rgba(14,165,233,.8)}
.ux-tabs{border-radius:18px;border-color:var(--k-line);box-shadow:var(--k-sh1)}
.ux-tabs button{min-height:40px;font-weight:700}
.ux-ind{background:var(--k-grad);box-shadow:0 8px 16px -8px rgba(14,165,233,.8)}
.ux-pill{font-size:.78rem}
.ux-menu{border-radius:16px;border-color:var(--k-line);box-shadow:var(--k-sh2)}
.ux-dd>button{min-height:48px;border-radius:15px;border-color:#e2e7f0}
.ux-steps .fill,.ux-bar-p>i{background:var(--k-rb)}

/* ---------- empty state ---------- */
.ux-empty{border:1px solid var(--k-line);border-radius:26px;box-shadow:var(--k-sh1);position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(360px 160px at 50% 0%,rgba(16,185,129,.1),transparent 70%),#fff}
.ux-empty .ic{width:86px;height:86px;border-radius:28px;color:#fff;background:var(--k-grad);box-shadow:0 18px 30px -16px rgba(14,165,233,.8),0 0 0 10px rgba(16,185,129,.08)}
.ux-empty h3{font-weight:800;font-size:1.2rem}
.ux-empty p{color:var(--k-mut)}

/* ---------- dialog ---------- */
.ux-modal{background:rgba(49,46,129,.22);backdrop-filter:blur(6px)}
.ux-dlg{border-radius:28px;position:relative;overflow:auto}
.ux-dlg::before{content:"";position:sticky;display:block;top:-22px;height:4px;margin:-22px -22px 18px;background:var(--k-rb)}
@media (max-width:560px){
  .ux-dlg::before{top:-18px;margin:-18px -18px 22px;height:4px}
  .ux-modal .ux-dlg::after{content:"";position:absolute;top:12px;left:50%;width:42px;height:5px;margin-left:-21px;border-radius:5px;background:#dfe4ee}
}

/* ================================================================
   FOOTER v2 — white-based, colourful (markup: footerHTML in js/main.js)
   ================================================================ */
.fc-footer.ft{background:#fff;color:var(--k-ink2);margin-top:80px;border-top:0;position:relative;isolation:isolate;overflow:hidden}
.fc-footer.ft::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--fa1,#10b981),var(--fa2,#0ea5e9),var(--fa3,#f97316),var(--fa4,#a855f7))}
.ft-fx{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ft-fx .bl{position:absolute;border-radius:50%}
.ft-fx .bl1{left:-120px;top:-80px;width:460px;height:320px;background:radial-gradient(closest-side,color-mix(in srgb,var(--fa1,#10b981) 15%,transparent),transparent)}
.ft-fx .bl2{right:-120px;top:40px;width:520px;height:360px;background:radial-gradient(closest-side,color-mix(in srgb,var(--fa2,#a855f7) 13%,transparent),transparent)}
.ft-fx .bl3{left:35%;bottom:-160px;width:560px;height:320px;background:radial-gradient(closest-side,color-mix(in srgb,var(--fa3,#0ea5e9) 11%,transparent),transparent)}
.ft-fx i{position:absolute;color:var(--c);opacity:.14;line-height:1;animation:kFloat 8s ease-in-out infinite}
.ft-fx i:nth-of-type(1){left:3%;top:30%;font-size:40px}.ft-fx i:nth-of-type(2){left:46%;top:16%;font-size:22px;animation-delay:-3s}
.ft-fx i:nth-of-type(3){right:4%;top:38%;font-size:36px;animation-delay:-1s}.ft-fx i:nth-of-type(4){right:30%;bottom:22%;font-size:24px;animation-delay:-5s}
.ft-fx i:nth-of-type(5){left:22%;bottom:16%;font-size:26px;animation-delay:-2s}.ft-fx i:nth-of-type(6){right:48%;top:58%;font-size:18px;animation-delay:-6s}
/* promise tiles */
.ft-promise{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:34px}
.ft-pr{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:20px;background:color-mix(in srgb,var(--c) 7%,#fff);border:1px solid color-mix(in srgb,var(--c) 16%,#fff);transition:transform .25s var(--k-e),box-shadow .25s}
.ft-pr:hover{transform:translateY(-3px);box-shadow:0 18px 30px -20px var(--c)}
.ft-pr .ic{width:46px;height:46px;flex:none;border-radius:15px;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--c),var(--c2));box-shadow:0 10px 18px -10px var(--c)}
.ft-pr b{display:block;font-size:.98rem;font-weight:800;color:var(--k-ink)}
.ft-pr small{display:block;font-size:.8rem;color:var(--k-mut);line-height:1.35}
/* main grid */
.ft-main{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:30px;padding-block:38px 30px}
.ft .ft-brand .ft-logo{display:inline-flex;align-items:center;gap:11px;color:var(--k-ink)}
.ft .ft-brand .ft-logo .hd-mark{width:46px;height:46px}
.ft .ft-brand .ft-logo b{font:800 25px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em}
.ft .ft-brand .ft-logo em{font-style:normal;background:linear-gradient(90deg,#f97316,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}
.ft-brand p{margin:14px 0 16px;font-size:.93rem;line-height:1.6;color:var(--k-ink2);max-width:330px}
.ft-apps{display:flex;gap:8px;flex-wrap:nowrap;max-width:340px}
.ft .ft-app{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:6px 12px 6px 7px;border-radius:14px;color:#fff;background:var(--g);box-shadow:0 12px 22px -14px rgba(30,41,59,.6);transition:transform .2s}
.ft .ft-app:hover{color:#fff;transform:translateY(-2px)}
.ft .ft-app i{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:17px;background:rgba(255,255,255,.22)}
.ft .ft-app>span{min-width:0}.ft .ft-app small{display:block;font-size:12px;opacity:.9;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft .ft-app b{display:block;font-size:14px;line-height:1.2;white-space:nowrap}
.ft-soc{display:flex;gap:9px;margin-top:16px}
.ft .ft-soc a{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:18px;color:var(--c);background:color-mix(in srgb,var(--c) 11%,#fff);transition:transform .2s,background .2s,color .2s}
.ft .ft-soc a:hover{transform:translateY(-3px);background:var(--c);color:#fff}
.ft-col h6{margin:0 0 12px;display:block;position:static}
.fc-footer.ft h6::after{display:none}
.ft-h{display:flex;align-items:center;gap:9px;width:100%;padding:0;border:0;background:none;font:800 .8rem "Plus Jakarta Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--k-ink);text-align:left;cursor:default}
.ft-h .ci{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;font-size:13px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,#fff)}
.ft-h .ux-chev{display:none;margin-left:auto;color:var(--k-mut)}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ft .ft-col li a{display:inline-flex;align-items:center;gap:8px;padding:5px 0;font-size:.92rem;font-weight:500;color:var(--k-ink2);transition:color .18s,transform .18s}
.ft .ft-col li a .vi{width:24px;height:24px;flex:none;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:11px;background:var(--g)}
.ft .ft-col li a:hover{color:var(--fa1,#059669);transform:translateX(3px)}
.ft-contact{display:grid;gap:9px}
.ft .ft-ct{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:15px;background:var(--k-soft);color:var(--k-ink);font-size:.9rem;font-weight:700;transition:background .2s}
.ft .ft-ct:hover{background:color-mix(in srgb,var(--fa1,#10b981) 9%,#fff);color:var(--k-ink)}
.ft .ft-ct i{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--g)}
.ft .ft-ct small{display:block;font-size:.75rem;font-weight:600;color:var(--k-mut)}
.ft .ft-ct span{min-width:0;overflow-wrap:anywhere}
.ft-pays{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ft-pays span{padding:5px 10px;border-radius:9px;font-size:.75rem;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border:1px solid color-mix(in srgb,var(--c) 18%,#fff)}
.ft-contact{padding-bottom:16px}
.ft-pays b{align-self:center;margin-right:4px;font-size:.8rem;font-weight:700;color:var(--k-mut)}
.ft-cts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:26px}
.ft-bottom{border-top:1px solid var(--k-line);background:linear-gradient(90deg,color-mix(in srgb,var(--fa1,#10b981) 8%,#fff),color-mix(in srgb,var(--fa2,#0ea5e9) 8%,#fff) 50%,color-mix(in srgb,var(--fa4,#ec4899) 8%,#fff))}
.ft-bottom .container-fc{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-block:16px}
.ft-bottom p{margin:0;font-size:.84rem;color:var(--k-mut)}
.ft-legal{display:flex;flex-wrap:wrap;gap:4px 16px}
.ft .ft-legal a{font-size:.84rem;font-weight:600;color:var(--k-ink2)}.ft .ft-legal a:hover{color:var(--fa1,#059669)}
.ft-spark{font-size:.84rem;color:var(--k-mut)}
.ft .ft-spark a{font-weight:800;background:linear-gradient(90deg,var(--fa1,#059669),var(--fa2,#7c3aed),var(--fa4,#db2777));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ================================================================
   BOTTOM NAV v2 (phones) + floating buttons + social strip
   ================================================================ */
@media (max-width:768px){
  .fc-bottomnav{left:0;right:0;bottom:0;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);border-top:1px solid var(--k-line);border-radius:22px 22px 0 0;box-shadow:0 -12px 30px -18px rgba(30,41,59,.3);padding:6px 6px env(safe-area-inset-bottom,0px)}
  .fc-bottomnav a{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 7px;font-size:12px;font-weight:700;color:var(--k-mut);text-decoration:none}
  .fc-bottomnav a .ib{width:46px;height:30px;border-radius:999px;display:grid;place-items:center;transition:background .3s var(--k-e),transform .3s var(--k-e)}
  .fc-bottomnav a .bi{font-size:1.3rem;line-height:1}
  .fc-bottomnav a.active{color:#047857}
  .fc-bottomnav a.active::before{display:none}
  .fc-bottomnav a.active .ib{background:var(--k-grad);color:#fff;box-shadow:0 8px 16px -8px rgba(14,165,233,.9);transform:translateY(-1px)}
  .fc-bottomnav a.active .ib .bi{color:#fff}
  .fc-bottomnav .fc-badge{position:absolute;top:-4px;right:2px;min-width:18px;height:18px;line-height:14px;padding:0 4px;border:2px solid #fff;border-radius:999px;font-size:11px;font-weight:800;background:linear-gradient(135deg,#f43f5e,#f97316);color:#fff}
}
.fc-fab a,.fc-fab .top{box-shadow:0 14px 26px -12px rgba(30,41,59,.45);border:2px solid #fff}
.fc-fab .call{background:linear-gradient(135deg,#3d5afe,#0ea5e9)}
.fc-social-strip{border-radius:0 16px 16px 0;overflow:hidden;box-shadow:0 14px 30px -16px rgba(30,41,59,.45)}
.fc-social-strip a.tw{background:linear-gradient(135deg,#0ea5e9,#3d5afe)}

/* ---------- responsive ---------- */
@media (max-width:1100px){ .ft-main{grid-template-columns:repeat(3,minmax(0,1fr))} .ft-brand{grid-column:1/-1} .ft-brand p{max-width:560px} }
@media (max-width:900px){ .ft-promise{grid-template-columns:repeat(2,minmax(0,1fr))} .ft-cts{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:768px){
  .ux-hero{border-radius:22px;padding:22px 18px 20px}
  .ux-fx i:nth-child(n+4){display:none}
  .ux-fx i:nth-child(1){font-size:26px;right:5%;top:12%}
  .fc-footer.ft{margin-top:56px}
  .ft-promise{gap:10px;padding-top:24px}
  .ft-pr{padding:12px;gap:10px;border-radius:17px;flex-direction:column;align-items:flex-start}
  .ft-pr .ic{width:40px;height:40px;border-radius:13px;font-size:18px}
  .ft-main{grid-template-columns:minmax(0,1fr);gap:0;padding-block:26px 18px}
  .ft-brand{padding-bottom:20px}
  .ft-col{border-top:1px solid var(--k-line)}
  .ft-col h6{margin:0}
  .ft-h{min-height:56px;cursor:pointer}
  .ft-h .ux-chev{display:block}
  .ft-acc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--k-e)}
  .ft-acc>ul{overflow:hidden;min-height:0}
  .ft-col.open .ft-acc{grid-template-rows:1fr}
  .ft-col.open .ft-acc>ul{padding-bottom:12px}
  .ft-col.open .ft-h .ux-chev{transform:rotate(180deg)}
  .ft .ft-col li a{min-height:40px;font-size:.95rem}
  .ft-contact{padding:16px 0 12px;border-top:1px solid var(--k-line)}
  .ft-cts{grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:20px}
  .ft-bottom .container-fc{flex-direction:column;align-items:flex-start;padding-block:16px 18px}
  .ft-fx i:nth-of-type(n+4){display:none}
}
@media (max-width:380px){ .ft .ft-app small{display:none} .ft .ft-app{min-height:44px} }
@media (prefers-reduced-motion:reduce){ .ux-fx i,.ft-fx i{animation:none} }

/* ================================================================
   COLOUR SYSTEM v3 — planned SOLID colours (owner: no pastel-everywhere)
   Role                         Colour
   Primary action / selected    emerald #059669 (hover #047857)
   Secondary action             white + indigo #4f46e5 on hover
   Box heading strips           solid rotation: emerald · indigo · orange · pink · sky · violet, white text
   Page banners                 white card + solid shapes in the page colour (--bn / --bn2 from body[data-ctx])
   Icon tiles / tags            solid colours, white icon/text
   Pastel tints                 only selected states + page background
   ================================================================ */
:root{--c-em:#059669;--c-em-d:#047857;--c-in:#4f46e5;--c-or:#ea580c;--c-pk:#db2777;--c-sk:#0284c7;--c-vi:#7c3aed;--c-te:#0d9488;--c-am:#d97706}
body{--bn:#4f46e5;--bn2:#059669}
body[data-ctx=grocery],body[data-ctx=shopping]{--bn:#059669;--bn2:#0284c7}
body[data-ctx=bakery]{--bn:#d97706;--bn2:#db2777}
body[data-ctx=fashion]{--bn:#7c3aed;--bn2:#db2777}
body[data-ctx=electronics]{--bn:#3d5afe;--bn2:#0284c7}
body[data-ctx=beauty]{--bn:#db2777;--bn2:#ea580c}
body[data-ctx=homekitchen]{--bn:#e4572e;--bn2:#d97706}
body[data-ctx=pharmacy]{--bn:#0d9488;--bn2:#0284c7}
body[data-ctx=account]{--bn:#4f46e5;--bn2:#db2777}
body[data-ctx=help]{--bn:#0d9488;--bn2:#4f46e5}

/* page banners: white + solid shapes (text always on white) */
.ux-hero,.ux-hero.warm,.ux-hero.cool{background:
  radial-gradient(circle at calc(100% + 30px) -50px,var(--bn) 0 150px,transparent 151px),
  radial-gradient(circle at calc(100% - 170px) calc(100% + 70px),var(--bn2) 0 92px,transparent 93px),#fff;border-color:#e6eaf3}
.ux-hero::before{background-image:radial-gradient(rgba(255,255,255,.42) 1.3px,transparent 1.5px);-webkit-mask-image:radial-gradient(circle at calc(100% + 30px) -50px,#000 0 150px,transparent 151px);mask-image:radial-gradient(circle at calc(100% + 30px) -50px,#000 0 150px,transparent 151px)}
.ux-hero::after{height:4px;background:var(--bn);opacity:1}
.ux-fx i{opacity:.3}
.ux-fx i:nth-child(1){color:#fff;opacity:.95;right:3%;top:12%}
@media (max-width:768px){
  .ux-hero,.ux-hero.warm,.ux-hero.cool{background:radial-gradient(circle at calc(100% + 24px) -36px,var(--bn) 0 84px,transparent 85px),radial-gradient(circle at calc(100% - 60px) calc(100% + 44px),var(--bn2) 0 56px,transparent 57px),#fff}
  .ux-hero::before{-webkit-mask-image:radial-gradient(circle at calc(100% + 24px) -36px,#000 0 84px,transparent 85px);mask-image:radial-gradient(circle at calc(100% + 24px) -36px,#000 0 84px,transparent 85px)}
  .ux-fx i:nth-child(1){right:4%;top:6%;font-size:22px}
}

/* box heading strips: SOLID colour band, white text, white icon chip */
.ux-panel>h2:first-child,.fc-panel>h5:first-child,.fc-panel>h4:first-child{background:var(--hs,var(--c-em))!important;color:#fff!important;border-bottom:0}
.ux-panel>h2:first-child .bi,.fc-panel>h5:first-child .bi,.fc-panel>h4:first-child .bi{color:var(--hs,var(--c-em))!important;background:#fff}
:is(.ux-panel,.fc-panel):nth-of-type(6n+1)>:is(h2,h4,h5):first-child{--hs:var(--c-em)}
:is(.ux-panel,.fc-panel):nth-of-type(6n+2)>:is(h2,h4,h5):first-child{--hs:var(--c-in)}
:is(.ux-panel,.fc-panel):nth-of-type(6n+3)>:is(h2,h4,h5):first-child{--hs:var(--c-or)}
:is(.ux-panel,.fc-panel):nth-of-type(6n+4)>:is(h2,h4,h5):first-child{--hs:var(--c-sk)}
:is(.ux-panel,.fc-panel):nth-of-type(6n+5)>:is(h2,h4,h5):first-child{--hs:var(--c-pk)}
:is(.ux-panel,.fc-panel):nth-of-type(6n)>:is(h2,h4,h5):first-child{--hs:var(--c-vi)}
.ux-panel>h2:first-child a,.ux-panel>h2:first-child .ux-pill,.ux-panel>h2:first-child small{color:#fff!important;background:rgba(255,255,255,.18)}

/* actions: solid emerald */
.ux-btn.pri{background:var(--c-em);box-shadow:0 10px 20px -12px rgba(5,150,105,.9)}
.ux-btn.pri:hover{background:var(--c-em-d);box-shadow:0 14px 24px -12px rgba(5,150,105,1);filter:none}
.ux-btn.alt{background:var(--c-in);box-shadow:0 10px 20px -12px rgba(79,70,229,.9)}
.ux-btn:not(.pri):not(.alt):not(.dng-solid):hover{border-color:var(--c-in);color:var(--c-in)}
.ux-btn.dng-solid{background:#e11d48}
.ux-chip.on,.ux-chip[aria-pressed="true"]{background:var(--c-em);box-shadow:0 8px 16px -10px rgba(5,150,105,.9)}
.ux-ind{background:var(--c-em);box-shadow:0 8px 16px -8px rgba(5,150,105,.8)}
.ux-switch input:checked+span{background:var(--c-em)}
.ux-opt:has(input:checked){border-color:var(--c-em);background:#f0fdf8}
.ux-steps .fill,.ux-bar-p>i{background:var(--c-em)}
.ux-input:focus{border-color:var(--c-em);box-shadow:0 0 0 4px rgba(5,150,105,.14)}

/* icon tiles + empty state: solid */
.g-green{background:var(--c-em)!important}.g-blue{background:var(--c-sk)!important}.g-violet{background:var(--c-vi)!important}.g-amber{background:var(--c-or)!important}.g-rose{background:var(--c-pk)!important}.g-teal{background:var(--c-te)!important}
.ux-empty{background:#fff}
.ux-empty .ic{background:var(--bn,var(--c-em));box-shadow:0 16px 28px -16px var(--bn,var(--c-em)),0 0 0 10px color-mix(in srgb,var(--bn,#059669) 10%,transparent)}
.ux-pill.p-green{--p-bg:var(--c-em);--p-ink:#fff}.ux-pill.p-rose{--p-bg:#e11d48;--p-ink:#fff}.ux-pill.p-blue{--p-bg:var(--c-sk);--p-ink:#fff}.ux-pill.p-amber{--p-bg:var(--c-am);--p-ink:#fff}.ux-pill.p-violet{--p-bg:var(--c-vi);--p-ink:#fff}

/* header: solid action tiles */
.fc-marquee.hd-promo{background:var(--c-em-d);animation:none}
.hd .hd-bell{background:var(--c-or);color:#fff}.hd .hd-wish{background:var(--c-pk);color:#fff}
.hd .hd-cart{background:var(--c-em);box-shadow:0 12px 24px -14px rgba(5,150,105,.9)}
.hd .hd-cart:hover{background:var(--c-em-d)}
.hd-cart-ic{background:rgba(255,255,255,.2)}
.hd-go{background:var(--c-em)}.hd-go:hover{background:var(--c-em-d)}
.hd-av{background:var(--c-in)}
.hd-loc-ic{background:#e11d48;color:#fff}
.hd .hd-chip.active{background:var(--g);}
.hd .hd .fc-badge,.hd .fc-badge{background:#e11d48}
@media (max-width:768px){ .hd .hd-cart-ic{background:var(--c-em)} .fc-bottomnav a.active .ib{background:var(--c-em);box-shadow:0 8px 16px -8px rgba(5,150,105,.9)} .fc-bottomnav a.active{color:var(--c-em-d)} }
.fc-bottomnav .fc-badge{background:#e11d48}

/* footer: white body, solid icons, solid bottom strip */
.ft-pr{background:#fff;border-color:var(--k-line)}
.ft-pr .ic{background:var(--c)}
.ft-bottom{background:var(--fa1,#059669);border-top:0}
.ft-bottom p,.ft .ft-legal a,.ft-spark{color:rgba(255,255,255,.9)}
.ft .ft-legal a:hover{color:#fff;text-decoration:underline}
.ft .ft-spark a{background:none;-webkit-text-fill-color:#fff;color:#fff}
.ft .ft-app{background:var(--g)}
.ft-h .ci{background:var(--c);color:#fff}
.ft-pays span{background:#fff}

/* ================================================================
   PRODUCT CARD v2 — one look for listing cards (.br-card) and product cards (.fc-card)
   offer badge = orange · rating = solid emerald · store label in store colour · delivery time line
   ================================================================ */
.br-card,.fc-card{border-radius:22px!important;border:1px solid var(--k-line)!important;background:#fff;box-shadow:0 1px 2px rgba(30,41,59,.04),0 10px 24px -20px rgba(30,41,59,.35);transition:transform .25s var(--k-e),box-shadow .25s,border-color .25s}
.br-card:hover,.fc-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(30,41,59,.45);border-color:#dbe2ee!important}
.br-img{border-radius:16px;background:color-mix(in srgb,var(--sc,#059669) 8%,#f6f8fb)}
.fc-card .thumb{margin:8px 8px 0;border-radius:16px;height:auto;aspect-ratio:1/1;background:color-mix(in srgb,var(--sc,#059669) 8%,#f6f8fb)}
.br-off,.fc-off{background:var(--c-or)!important;color:#fff;border-radius:999px!important;padding:4px 10px!important;font-size:12px!important;font-weight:800;box-shadow:0 6px 12px -6px rgba(234,88,12,.85)}
.br-heart,.fc-heart{width:38px!important;height:38px!important;background:#fff!important;color:#94a3b8;box-shadow:0 6px 14px -6px rgba(30,41,59,.4)!important}
.br-heart.on,.fc-heart.active{background:var(--c-pk)!important;color:#fff!important}
.fc-heart.active .bi{color:#fff}
.ls-store,.fc-card .brand{color:var(--sc,#7c3aed)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.01em}
.fc-card .brand .bi{color:var(--sc,#7c3aed)}
.br-name,.fc-card .title{font-family:"Plus Jakarta Sans","Inter",sans-serif!important;font-size:.95rem!important;font-weight:700!important;line-height:1.3;color:var(--k-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.fc-card .title{margin:4px 0 8px!important}
.br-rate b,.fc-rt{background:var(--c-em)!important;color:#fff!important;border-radius:7px;padding:2px 7px;font-size:12px!important;font-weight:800}
.fc-rt .bi,.br-rate b .bi{color:#fff}
.fc-card .fc-stars{display:flex;align-items:center;gap:6px;color:var(--k-mut);font-size:12px}
.br-price b,.fc-card .fc-price{font-family:"Plus Jakarta Sans",sans-serif!important;font-size:1.12rem!important;font-weight:800;color:var(--k-ink)}
.ls-eta{display:flex;align-items:center;gap:5px;margin:0 0 10px;font-size:12px;font-weight:700;color:var(--k-ink2)}
.ls-eta .bi{width:18px;height:18px;border-radius:6px;display:grid;place-items:center;font-size:10px;color:#fff;background:var(--sc,#059669)}
.br-step,.fc-stepper{background:var(--c-em)!important;border-radius:14px!important}
.fc-add{background:var(--c-em)!important;border-radius:14px!important;min-height:44px}
.fc-add:hover{background:var(--c-em-d)!important}
.br-add .ux-btn.pri{border-radius:14px}
.fc-card .body{padding:12px 14px 14px!important}
.fc-weight.active{background:var(--c-em)!important;border-color:var(--c-em)!important;color:#fff!important}
/* KPI tiles on phones: designed, not truncated — icon on top, value, label wraps */
@media (max-width:560px){
  .ux-kpis,.ux-kpis.k3{gap:10px}
  .ux-kpi{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}
  .ux-kpi small{white-space:normal;overflow:visible;line-height:1.3}
  .ux-kpi b{font-size:1.15rem}
}
@media (max-width:560px){ .ux-kpis:has(>.ux-kpi:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))} .ux-kpis:has(>.ux-kpi:nth-child(3):last-child) .ux-kpi .ic{width:34px;height:34px} }

/* ================================================================
   ACCOUNT SHELL v3 (batch 4) — planned colour roles
   profile card = solid indigo · group banners = solid group colour · item tiles = pastel wash of item colour
   active item = solid indigo · money tiles = pastel washes · phone: app hub (hero card, 4×2 tiles, iOS-style grouped lists)
   ================================================================ */
.fc-sidebar.ac-side{background:#fff!important;border-radius:24px;border:1px solid var(--k-line)!important;box-shadow:0 1px 2px rgba(30,41,59,.04),0 14px 30px -24px rgba(30,41,59,.35)!important;padding:14px 12px 18px!important;align-self:start;position:sticky;top:calc(var(--hdv,150px) + 14px);max-height:calc(100vh - var(--hdv,150px) - 28px);overflow:auto}
.fc-sidebar.ac-side .ac-card,.ac-hub .ac-card,.ac-sheet .ac-card{background:#4f46e5!important;box-shadow:0 18px 30px -18px rgba(79,70,229,.9)!important;overflow:hidden;isolation:isolate}
.ac-card::after{background:rgba(255,255,255,.12)!important;right:-36px;top:-56px}
.ac-card::before{content:"";position:absolute;left:-30px;bottom:-60px;width:120px;height:120px;border-radius:50%;background:#6366f1;z-index:-1}
.ac-card .ac-av{color:#4f46e5!important}
.ac-plus{font-size:12px!important}
.ac-prog-t{font-size:12px!important}
.ac-bar{background:#eef2ff!important}.ac-bar i{background:#4f46e5!important}
.ac-money a{box-shadow:none!important;border:1px solid transparent!important}
.fc-sidebar.ac-side .ac-money a:first-child,.ac-money a:first-child{background:#f5f3ff!important;border-color:#ede9fe!important}
.fc-sidebar.ac-side .ac-money a+a,.ac-money a+a{background:#fffbeb!important;border-color:#fef3c7!important}
.ac-money .bi{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:#fff!important;background:#7c3aed;font-size:.95rem!important}
.ac-money a+a .bi{background:#d97706}
.ac-money small{font-size:12px!important}
.ac-gh{background:var(--g)!important;box-shadow:0 8px 16px -10px var(--g)!important;font-size:12px!important}
.ac-ic{background:color-mix(in srgb,var(--c) 13%,#fff)!important;box-shadow:none!important}
.fc-sidebar .ac-link:hover,.ac-link:hover{background:color-mix(in srgb,var(--c) 8%,#fff)!important}
.ac-ind{background:#4f46e5!important;box-shadow:0 10px 20px -10px rgba(79,70,229,.9)!important}
.fc-sidebar .ac-link.active .ac-ic,.ac-link.active .ac-ic{background:rgba(255,255,255,.2)!important;color:#fff!important}
.ac-link.active .ac-badge{color:#4f46e5!important}
.ac-badge{font-size:12px!important;background:#e11d48!important}.ac-badge.warn{background:#d97706!important}
.ac-sheet{background:rgba(49,46,129,.25)!important;backdrop-filter:blur(6px)}
@media (max-width:991.98px){
  .ac-appbar{background:rgba(255,255,255,.95)!important;border-radius:0 0 20px 20px;box-shadow:0 10px 24px -20px rgba(30,41,59,.5);top:var(--hdv,126px)!important}
  .ac-ab-t{background:none!important;-webkit-text-fill-color:var(--k-ink)!important;color:var(--k-ink)!important;font-family:"Plus Jakarta Sans",sans-serif!important}
  .ac-ab-btn{border:0!important;background:#eef2ff!important;color:#4f46e5!important}
  .ac-hub-card{padding:0!important;border:0!important;background:none!important}
  .ac-hub .ac-card{border-radius:24px!important;padding:18px!important}
  .ac-hub .ac-av{width:58px;height:58px;font-size:1.2rem}
  .ac-hub .ac-ct b{font-size:1.15rem}
  .ac-hub-card .ac-prog{margin:14px 4px 10px}
  .ac-tiles{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:6px 0 14px!important}
  .ac-tiles a{border:0!important;background:#fff!important;box-shadow:0 1px 2px rgba(30,41,59,.05),0 10px 22px -18px rgba(30,41,59,.4)!important;border-radius:20px!important;padding:12px 4px 10px!important;font-size:12px!important}
  .ac-tiles .ac-ic{width:46px!important;height:46px!important;border-radius:16px!important;background:var(--c)!important;color:#fff!important;box-shadow:0 10px 18px -10px var(--c)!important}
  .ac-tiles .tl{white-space:nowrap}
  .ac-promo{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px;border-radius:20px;background:#fff7ed;border:1px solid #fed7aa;color:var(--k-ink);text-decoration:none}
  .ac-promo .pi{width:42px;height:42px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:18px;color:#fff;background:#ea580c}
  .ac-promo b{display:block;font-size:.95rem}.ac-promo small{display:block;font-size:12px;color:#9a3412}
  .ac-promo>.bi{margin-left:auto;color:#ea580c}
  /* iOS-style grouped lists: coloured label above a white card */
  .ac-hub-list,.ac-sheet-in .ac-nav{background:none!important;border:0!important;padding:0!important}
  .ac-hub .ac-grp,.ac-sheet .ac-grp{margin-top:14px;background:#fff;border-radius:20px;box-shadow:0 1px 2px rgba(30,41,59,.05),0 10px 22px -20px rgba(30,41,59,.4);overflow:hidden}
  .ac-hub .ac-gh,.ac-sheet .ac-gh{margin:0!important;border-radius:0!important;padding:11px 14px!important}
  .ac-hub .ac-grp .ac-gb>div,.ac-sheet .ac-grp .ac-gb>div{padding:4px 8px 6px!important}
  .ac-hub .ac-link+.ac-link,.ac-sheet .ac-link+.ac-link{border-top:1px solid #f1f5f9;border-radius:0}
  .ac-sheet .ac-link.active,.ac-hub .ac-link.active{background:#4f46e5!important;border-radius:14px!important;box-shadow:none!important}
  .ac-hub>.ac-out{border:0!important;box-shadow:0 1px 2px rgba(30,41,59,.05),0 10px 22px -20px rgba(30,41,59,.4);border-radius:18px!important;color:#e11d48}
  .ac-sheet-in{background:#f6f7fb!important}
}
@media (max-width:360px){ .ac-tiles{gap:7px!important} .ac-tiles .ac-ic{width:40px!important;height:40px!important} }
@media (max-width:991.98px){ body[data-acct] .fc-fab,body[data-acct] .fc-chat-fab,body[data-acct] .fc-install{display:none!important} }
/* minimum readable text: badges & pills never below 12px */
.fc-badge,.fc-bottomnav .fc-badge,.ux-pill{font-size:12px}
/* phones: 4+ stats = one compact swipeable stats rail (app pattern) */
@media (max-width:560px){
  .ux-kpis:has(>.ux-kpi:nth-child(4)){display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-6px;padding:2px 6px 8px;overscroll-behavior-x:contain}
  .ux-kpis:has(>.ux-kpi:nth-child(4))::-webkit-scrollbar{display:none}
  .ux-kpis:has(>.ux-kpi:nth-child(4))>.ux-kpi{flex:0 0 46%;scroll-snap-align:start;flex-direction:row;align-items:center;gap:10px;padding:10px 12px}
  .ux-kpis:has(>.ux-kpi:nth-child(4))>.ux-kpi .ic{width:36px;height:36px;border-radius:12px;flex:none}
  .ux-kpis:has(>.ux-kpi:nth-child(4))>.ux-kpi b{font-size:1.05rem}
}

/* ================================================================
   AUTH v2 (batch 5) — login / register / OTP / forgot / reset
   desktop: floating split card (solid colour panel + white form)
   phones: native sign-in screen — colour hero + form sheet, sticky CTA, no site chrome
   ================================================================ */
body:has(.fc-auth-wrap){background:radial-gradient(900px 420px at 0% 0%,color-mix(in srgb,var(--bn,#059669) 10%,transparent),transparent 70%),var(--k-pg)}
.fc-auth-wrap{max-width:1160px;margin:26px auto 10px;min-height:0!important;grid-template-columns:1fr 1fr!important;border-radius:32px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(30,41,59,.05),0 30px 60px -36px rgba(30,41,59,.45)}
.fc-auth-art{isolation:isolate;justify-content:flex-start!important;gap:26px;padding:34px 38px!important;background:var(--ac,#059669)}
.fc-auth-art::before{content:"";position:absolute;right:-90px;top:-90px;width:300px;height:300px;border-radius:50%;background:var(--ac2,#10b981);z-index:-1}
.fc-auth-art::after{content:"";position:absolute;left:-70px;bottom:-110px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.1);z-index:-1}
.fc-auth-art .veil{display:none}
.fc-auth-art img{position:relative!important;inset:auto!important;order:3;width:100%;height:230px!important;border-radius:24px;object-fit:cover;box-shadow:0 24px 40px -24px rgba(0,0,0,.45);border:4px solid rgba(255,255,255,.35)}
.fc-auth-art .inner{order:2}
.fc-auth-art h2,.fc-auth-art h2.serif{font-family:"Plus Jakarta Sans",sans-serif!important;font-weight:800;font-size:clamp(1.9rem,3vw,2.5rem)!important;letter-spacing:-.03em;line-height:1.1;color:#fff}
.fc-auth-art ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.fc-auth-art li{margin:0!important;padding:7px 12px 7px 7px;border-radius:999px;background:rgba(255,255,255,.16);font-size:.88rem;font-weight:600;gap:8px!important}
.fc-auth-art li .bi{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ac,#059669);font-size:.8rem}
.au-fx{position:absolute;inset:0;z-index:-1;pointer-events:none}
.au-fx i{position:absolute;color:#fff;opacity:.16;animation:kFloat 8s ease-in-out infinite}
.au-fx i:nth-child(1){right:12%;top:22%;font-size:44px}.au-fx i:nth-child(2){left:8%;bottom:32%;font-size:28px;animation-delay:-2s}.au-fx i:nth-child(3){right:30%;top:8%;font-size:22px;animation-delay:-4s}
.au-fx i:nth-child(4){right:8%;bottom:30%;font-size:30px;animation-delay:-1s}.au-fx i:nth-child(5){left:40%;top:36%;font-size:20px;animation-delay:-5s}.au-fx i:nth-child(6){left:18%;top:14%;font-size:18px;animation-delay:-3s}
.au-top{order:1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.au-logo{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.au-logo .hd-mark{width:42px;height:42px;border-radius:14px;background:#fff;color:var(--ac,#059669);box-shadow:none}
.au-logo .hd-mark::before{display:none}
.au-logo b{font:800 23px/1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.045em;color:#fff}
.au-logo em{font-style:normal;color:#fde68a}
.au-close{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.18);text-decoration:none}
.au-close:hover{color:#fff;background:rgba(255,255,255,.28)}
.fc-auth-form{padding:44px 46px!important}
.fc-auth-form h3{font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:-.03em}
.au-badge,.au-badge.blue,.au-badge.violet{background:var(--ac,#059669)!important;box-shadow:0 14px 24px -14px var(--ac,#059669)!important;border-radius:18px!important}
.au-f>label{justify-content:flex-start!important;align-items:center}
.au-f>label a{margin-left:auto}
.au-tabs .ux-ind{background:var(--ac,#059669)!important}
.fc-auth-form .ux-btn.pri,.fc-auth-form .au-cta{background:var(--ac,#059669)!important;box-shadow:0 14px 24px -14px var(--ac,#059669)!important;min-height:52px;border-radius:16px}
.fc-auth-form .ux-input:focus{border-color:var(--ac,#059669);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac,#059669) 15%,transparent)}
@media (max-width:991px){ .fc-auth-wrap{grid-template-columns:minmax(0,1fr)!important;margin:16px} .fc-auth-art img{display:none} }
@media (max-width:768px){
  body:has(.fc-auth-wrap){padding-bottom:0!important;background:#fff}
  body:has(.fc-auth-wrap) :is(.fc-marquee,#fc-header,#fc-footer,.fc-bottomnav,.fc-fab,.fc-social-strip,.fc-install,.fc-chat-fab,.fc-bodydecor){display:none!important}
  .fc-auth-wrap{margin:0;border-radius:0;box-shadow:none;min-height:100dvh!important;background:var(--ac,#059669);display:flex!important;flex-direction:column}
  .fc-auth-art{padding:calc(14px + env(safe-area-inset-top,0px)) 18px 46px!important;gap:16px}
  .fc-auth-art ul{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:14px -18px 0;padding:0 18px}
  .fc-auth-art ul::-webkit-scrollbar{display:none}
  .fc-auth-art li{flex:none;font-size:12.5px}
  .fc-auth-art h2,.fc-auth-art h2.serif{font-size:1.6rem!important}
  .fc-auth-art p{font-size:.95rem!important}
  .fc-auth-art::before{width:200px;height:200px;right:-70px;top:-70px}
  .fc-auth-form{flex:1;position:relative;z-index:1;margin-top:-26px;border-radius:28px 28px 0 0;background:#fff;max-width:none;justify-content:flex-start!important;padding:26px 20px calc(18px + env(safe-area-inset-bottom,0px))!important;box-shadow:0 -14px 30px -20px rgba(0,0,0,.35)}
  .fc-auth-form::before{content:"";position:absolute;top:10px;left:50%;width:42px;height:5px;margin-left:-21px;border-radius:5px;background:#e2e8f0}
  .fc-auth-form h3{font-size:1.45rem}
  .au-acts{bottom:0!important}
}
@media (prefers-reduced-motion:reduce){ .au-fx i{animation:none} }
.fc-auth-form :is(.fp-badge,.rp-badge,.ot-badge,.rg-badge,[class*="-badge"]):not(.ux-pill):not(.fc-badge){background:var(--ac,#059669)!important}
.fc-auth-form .ux-chip.on,.fc-auth-form .ux-chip[aria-pressed="true"]{background:var(--ac,#059669)!important;border-color:transparent!important;color:#fff!important}
.fc-auth-form a:not(.ux-btn){color:var(--ac,#059669)}
/* forms: empty error rows take no space (tighter, app-like forms) */
.ux-err:empty{min-height:0!important;margin:0!important}
/* footer (restored previous design): App Store + Google Play always side by side */
.fc-footer .stores{display:flex;flex-wrap:nowrap;gap:8px;max-width:340px}
.fc-footer .stores .fc-store{flex:1 1 0;min-width:0;padding:7px 10px;gap:8px}
.fc-footer .fc-store small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fc-footer .fc-store b{white-space:nowrap}
@media (max-width:380px){ .fc-footer .fc-store small{display:none} }

/* ================================================================
   FLOATING ACTIONS v2 — one compact white dock (WhatsApp · Call · Top)
   ================================================================ */
body .fc-fab{right:18px;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px;border-radius:22px;background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);box-shadow:0 18px 40px -18px rgba(30,41,59,.5),0 0 0 1px rgba(30,41,59,.07)}
body .fc-fab a,body .fc-fab .top{position:relative;width:46px;height:46px;border-radius:16px;border:0;box-shadow:none;display:grid;place-items:center;font-size:1.2rem;transform:none;transition:background .2s,transform .2s}
body .fc-fab .wa{background:#dcfce7;order:1}body .fc-fab .wa .bi{color:#16a34a}
body .fc-fab .call{background:#dbeafe;order:2}body .fc-fab .call .bi{color:#2563eb}
body .fc-fab .top{background:#ede9fe;order:3;opacity:1}body .fc-fab .top .bi{color:#7c3aed}
body .fc-fab .top:not(.show){display:none}
body .fc-fab .top.show{animation:fabIn .3s cubic-bezier(.34,1.56,.64,1)}
body .fc-fab a:hover,body .fc-fab .top:hover{transform:scale(1.07)}
body .fc-fab .wa:hover{background:#16a34a}body .fc-fab .call:hover{background:#2563eb}body .fc-fab .top:hover{background:#7c3aed}
body .fc-fab a:hover .bi,body .fc-fab .top:hover .bi{color:#fff}
body .fc-fab .wa::after{content:"";position:absolute;inset:-3px;border-radius:19px;border:2px solid rgba(22,163,74,.45);animation:fabPing 2.4s ease-out infinite;pointer-events:none}
body .fc-fab a::before,body .fc-fab .top::before{content:attr(title);position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%) translateX(6px);padding:6px 10px;border-radius:10px;background:#fff;color:#101a33;font:700 12.5px "Plus Jakarta Sans",sans-serif;white-space:nowrap;box-shadow:0 10px 24px -12px rgba(30,41,59,.5);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
body .fc-fab a:hover::before,body .fc-fab .top:hover::before{opacity:1;transform:translateY(-50%)}
@keyframes fabPing{0%{opacity:.9;transform:scale(.95)}80%,100%{opacity:0;transform:scale(1.25)}}
@keyframes fabIn{from{opacity:0;transform:scale(.6)}}
@media (max-width:768px){
  body .fc-fab{right:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px));gap:5px;padding:5px;border-radius:19px}
  body .fc-fab a,body .fc-fab .top{width:40px;height:40px;border-radius:14px;font-size:1.05rem}
  body .fc-fab .call{display:grid}
  body .fc-fab a::before,body .fc-fab .top::before{display:none}
}
@media (prefers-reduced-motion:reduce){ body .fc-fab .wa::after{animation:none} }
@media (max-width:768px){ body .fc-fab .call{display:none!important} }
/* floating dock: colourful — solid buttons, white icons, tinted dock */
body .fc-fab{background:linear-gradient(180deg,#ecfdf5,#eff6ff 55%,#f5f3ff);box-shadow:0 18px 40px -16px rgba(79,70,229,.45),0 0 0 1px rgba(79,70,229,.12)}
body .fc-fab .wa{background:#16a34a;box-shadow:0 8px 16px -8px rgba(22,163,74,.9)}
body .fc-fab .call{background:#2563eb;box-shadow:0 8px 16px -8px rgba(37,99,235,.9)}
body .fc-fab .top{background:#7c3aed;box-shadow:0 8px 16px -8px rgba(124,58,237,.9)}
body .fc-fab .wa .bi,body .fc-fab .call .bi,body .fc-fab .top .bi{color:#fff}
body .fc-fab .wa:hover{background:#15803d}body .fc-fab .call:hover{background:#1d4ed8}body .fc-fab .top:hover{background:#6d28d9}
