/* A&M Quick Kart — checkout page styles (ported from checkout.html) */
/* =========================================================
   A&M Quick Kart — HTML demo (mobile-first, app-like)
   Breakpoints: 768px (tablet) · 1024px (desktop)
   All images are emoji placeholders on pastel gradients.
   ========================================================= */
:root{
  --primary:#1269bc;
  --primary-600:#0b4f93;
  --primary-50:#eef6ff;
  --ink:#12365d;
  --text:#29445f;
  --muted:#5c7289;
  --line:#dce9f5;
  --soft:#f3f8fd;
  --blush:#f0f6fc;
  --green:#00b67a;
  --star:#ffb400;
  --wa:#25d366;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 6px 22px rgba(18,54,93,.08);
  --shadow-lg:0 18px 50px rgba(18,54,93,.18);
  --bn-h:64px;
  --f-body:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-head:'Fredoka','Nunito',system-ui,sans-serif;
  --f-script:'Dancing Script',cursive;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--f-body);font-size:15px;line-height:1.5;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;
  padding-bottom:calc(var(--bn-h) + env(safe-area-inset-bottom))}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
ul{list-style:none;margin:0;padding:0}
img{max-width:100%;display:block}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
h1,h2,h3,h4{font-family:var(--f-head);color:var(--ink);margin:0;line-height:1.15}
p{margin:0}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
section[id]{scroll-margin-top:140px}
.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:16px}
.section{padding-block:28px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;padding:8px 14px;border-radius:8px;font-weight:800}
.skip:focus{left:16px}
@media (max-width:1023px){.desktop-only{display:none!important}}
@media (min-width:1024px){
  .mobile-only{display:none!important}
  body{padding-bottom:0}
  .section{padding-block:48px}
}

/* Placeholder backgrounds */
.bg-pink{background:linear-gradient(135deg,#e6f1fc,#cbe2f8)}
.bg-peach{background:linear-gradient(135deg,#fff2e8,#ffd8c4)}
.bg-sky{background:linear-gradient(135deg,#e8f4ff,#c8e2ff)}
.bg-mint{background:linear-gradient(135deg,#e8f9f0,#c3eed8)}
.bg-lilac{background:linear-gradient(135deg,#f3edff,#dccfff)}
.bg-sun{background:linear-gradient(135deg,#fff8de,#ffe7a3)}
.bg-blush{background:var(--blush)}

/* Horizontal swipe rows */
.scroller{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.scroller::-webkit-scrollbar{display:none}
.scroller>*{scroll-snap-align:start;flex-shrink:0}
@media (max-width:1023px){.bleed{margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;font-weight:800;font-size:14px;line-height:1.1;transition:background .2s,transform .1s,color .2s}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-600)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{color:var(--primary)}
.btn-outline{border:2px solid var(--primary);color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-ghost{background:var(--soft);color:var(--ink)}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:var(--primary);color:#fff;line-height:1.3}
.pill-ink{background:var(--ink)}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:19px;color:var(--ink);flex-shrink:0}
.icon-btn:hover{background:var(--primary-50);color:var(--primary)}
.count{position:absolute;top:3px;right:1px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--primary);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;line-height:1;border:2px solid #fff}

/* ===== Announcement + top bar ===== */
.announce{background:var(--ink);color:#fff;font-size:12.5px;font-weight:700;text-align:center;padding:8px 16px}
.announce b{color:#c4def7}
.topbar{background:var(--soft);font-size:13px;color:var(--muted)}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:38px}
.topbar-links{display:flex;gap:20px}
.topbar a{display:inline-flex;align-items:center;gap:6px}
.topbar a:hover{color:var(--primary)}

/* ===== Header ===== */
.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-row{display:grid;grid-template-columns:44px 1fr 44px;grid-template-areas:"menu logo actions" "search search search";align-items:center;gap:6px 8px;padding-block:6px 12px}
.menu-btn{grid-area:menu}
.logo{grid-area:logo;justify-self:center;display:inline-flex;align-items:flex-end;line-height:1;padding-top:12px}
/* Logo: A&M Quick Kart image */
.logo-word{font-family:var(--f-head);font-weight:700;font-size:27px;letter-spacing:-.01em;line-height:1;white-space:nowrap;color:#1f2b6b}
.header-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;gap:2px}
.cart-total{font-weight:800;color:var(--ink);font-size:14px;margin-left:4px;white-space:nowrap}

/* Big search */
.search{grid-area:search;position:relative}
.search-box{display:flex;align-items:center;height:50px;background:var(--soft);border:1.5px solid var(--line);border-radius:999px;padding:0 5px 0 18px;transition:border-color .2s,box-shadow .2s,background .2s}
.search-box:focus-within{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-50)}
.search-box>i{color:var(--muted)}
.search input{flex:1;min-width:0;height:100%;border:0;background:transparent;outline:none;font-size:16px;padding:0 10px}
.search input::placeholder{color:#93a6ba}
.search input::-webkit-search-cancel-button{display:none}
.search-btn{height:40px;min-width:40px;padding:0 14px;border-radius:999px;background:var(--primary);color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.search-btn span{display:none}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:16px;display:none;z-index:5}
.search.open .suggest{display:block}
.suggest h4{font-family:var(--f-body);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.suggest h4+.suggest-chips+h4{margin-top:16px}
.suggest-chips{display:flex;flex-wrap:wrap;gap:8px}
.suggest-chips button{min-height:38px;padding:0 14px;border-radius:999px;background:var(--soft);font-size:14px;font-weight:700}
.suggest-chips button:hover{background:var(--primary-50);color:var(--primary)}

/* Desktop nav */
.main-nav{border-top:1px solid var(--line)}
.main-nav ul{display:flex;justify-content:center;gap:4px}
.main-nav a{display:inline-flex;align-items:center;gap:6px;height:48px;padding:0 16px;font-weight:700;color:var(--ink);border-bottom:3px solid transparent}
.main-nav a:hover{color:var(--primary);border-color:var(--primary)}
.main-nav .nav-sale{color:var(--primary)}

@media (min-width:1024px){
  .header-row{grid-template-columns:auto 1fr auto;grid-template-areas:"logo search actions";gap:40px;padding-block:14px}
  .logo{justify-self:start;padding-top:15px}
  .logo-word{font-size:33px}
  .search{width:100%;max-width:640px;justify-self:center}
  .search-btn{padding:0 22px}
  .search-btn span{display:inline}
  .header-actions{gap:4px}
}

/* ===== Quick chips (mobile) ===== */
.chips{padding-top:12px}
.chips .scroller{gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-weight:800;font-size:13.5px;color:var(--ink);white-space:nowrap}
.chip-new{background:var(--ink);border-color:var(--ink);color:#fff}
.chip-sale{background:var(--primary);border-color:var(--primary);color:#fff}

/* ===== Hero ===== */
.hero{padding-top:12px}
.hero-grid{display:grid;gap:16px}
.hero-main{position:relative;overflow:hidden;border-radius:var(--radius);display:flex;flex-direction:column;background:linear-gradient(135deg,#f1f7fe 0%,#e4f0fc 60%,#d6e8fa 100%)}
.hero-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.hero-media .cover{object-position:50% 30%}
.hero-copy{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:var(--primary-600)}
.hero h1{font-family:var(--f-script);font-weight:700;font-size:44px;line-height:1}
.hero-copy p:not(.eyebrow){font-size:14px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.play{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;font-size:18px;box-shadow:var(--shadow)}
.play i{margin-left:3px}
.hero-video{position:relative;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:16px;color:#fff;min-height:420px}
.hero-video::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(18,54,93,.78),transparent 55%)}
.hero-video .play{position:absolute;top:66%;left:50%;transform:translate(-50%,-50%);z-index:1;width:64px;height:64px}
.vid-meta{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}
.vid-meta b{font-family:var(--f-head);font-size:18px;font-weight:600}
.vid-meta small{font-size:12px;opacity:.9;display:inline-flex;align-items:center;gap:6px}
@media (min-width:1024px){
  .hero-grid{grid-template-columns:2fr 1fr 1fr;gap:20px}
  .hero-main{display:grid;grid-template-columns:1.05fr 1fr;min-height:420px}
  .hero-media{order:2;aspect-ratio:auto;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%);mask-image:linear-gradient(to right,transparent 0,#000 30%)}
  .hero-copy{justify-content:center;padding:48px 0 48px 44px;gap:14px}
  .hero h1{font-size:64px}
  .hero-copy p:not(.eyebrow){font-size:16px}
}

/* ===== Trust ===== */
.trust{padding-top:16px}
.tp{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:13.5px}
.tp strong{font-size:15px;color:var(--ink)}
.tp-stars{display:inline-flex;gap:2px}
.tp-stars i{width:22px;height:22px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:12px}
.tp-brand{display:inline-flex;align-items:center;gap:4px;font-weight:800;color:var(--ink)}
.tp-brand i{color:var(--green)}
.badges{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.badge{display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--radius-sm);background:var(--soft)}
.badge-ic{flex:0 0 40px;height:40px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:16px;box-shadow:0 2px 8px rgba(239,79,120,.15)}
.badge b{display:block;font-size:13px;color:var(--ink);line-height:1.2}
.badge small{display:block;font-size:11.5px;color:var(--muted);line-height:1.3;margin-top:2px}
@media (min-width:1024px){.badges{grid-template-columns:repeat(4,1fr);gap:16px}.badge{padding:16px}}

/* ===== Promo entry tiles (New Arrivals / Sale) ===== */
.promos{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:24px}
.promo{position:relative;overflow:hidden;border-radius:var(--radius);padding:16px;min-height:176px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.promo .pill{margin-bottom:6px}
.promo h3{font-size:21px}
.promo p{font-size:12.5px;max-width:85%;position:relative}
.promo .go{margin-top:auto;font-weight:800;font-size:13px;color:var(--primary-600);display:inline-flex;gap:6px;align-items:center;position:relative}
.promo-art{position:absolute;right:10px;bottom:10px;width:58px;height:58px;border-radius:14px;object-fit:cover;border:3px solid #fff;box-shadow:var(--shadow);transform:rotate(4deg)}
.promo-new{background:linear-gradient(135deg,#eef6ff,#d8e9ff)}
.promo-sale{background:linear-gradient(135deg,#e9f3fd,#cbe2f8)}
.promo-sale h3{color:var(--primary-600)}
@media (min-width:1024px){
  .promos{gap:20px;padding-top:32px}
  .promo{min-height:200px;padding:32px}
  .promo h3{font-size:36px}
  .promo p{font-size:15px}
  .promo-art{width:170px;height:170px;right:28px;bottom:auto;top:50%;transform:translateY(-50%) rotate(3deg);border-radius:20px;border-width:5px}
}

/* ===== Section heads ===== */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}
.section-head h2{font-size:24px;font-weight:700}
.section-head h2 span{color:var(--primary)}
.section-head p{font-size:13.5px;color:var(--muted);margin-top:4px}
.view-all{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:13.5px;color:var(--primary);min-height:44px}
.view-all:hover{color:var(--primary-600)}
@media (min-width:1024px){.section-head{margin-bottom:24px}.section-head h2{font-size:36px}.section-head p{font-size:15px}}

/* ===== Categories ===== */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 12px}
.cat{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.cat-img{position:relative;overflow:hidden;width:100%;aspect-ratio:1;border-radius:50%;transition:transform .2s}
.cat:hover .cat-img{transform:translateY(-3px)}
.cat-name{font-weight:800;font-size:14px;color:var(--ink)}
.cat small{display:none}
@media (min-width:768px){.cats{grid-template-columns:repeat(6,1fr)}}
@media (min-width:1024px){
  .cats{gap:20px}
  .cat-img{border-radius:var(--radius);aspect-ratio:4/3}
  .cat-name{font-size:17px}
  .cat small{display:block;font-size:12.5px;color:var(--muted);margin-top:-6px}
}

/* ===== Product card ===== */
.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.card-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.card-media .cover{transition:transform .35s}
.card:hover .card-media .cover{transform:scale(1.04)}
.tag{position:absolute;z-index:1;top:10px;left:10px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;color:#fff;background:var(--ink)}
.tag-sale{background:var(--primary)}
.tag-best{background:#f5a524;color:#3a2a00}
.wish{position:absolute;top:6px;right:6px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:17px;color:var(--ink)}
.wish i{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.wish.on{color:var(--primary)}
.card-body{display:flex;flex-direction:column;gap:6px;padding:12px;flex:1}
.card-title{font-family:var(--f-body);font-weight:800;font-size:14px;line-height:1.3}
.card-desc{display:none;font-size:13px;color:var(--muted)}
.rating{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px}
.rating i{color:var(--star)}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 8px;margin-top:auto}
.price b{font-size:16px;color:var(--primary-600);font-weight:800}
.price s{font-size:12px;color:var(--muted)}
.btn-cart{width:100%;min-height:44px;border-radius:12px;font-size:13.5px;padding:0 10px}
@media (min-width:768px){.card-desc{display:block}.card-title{font-size:15px}}

.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (max-width:767px){.grid .hide-sm{display:none}}
@media (min-width:768px){.grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media (min-width:1024px){.grid{grid-template-columns:repeat(4,1fr);gap:20px}}
.more{margin-top:20px;text-align:center}
@media (max-width:767px){.more .btn{width:100%}}

/* Carousel */
.carousel{position:relative}
.carousel .scroller>.card{width:44%}
.car-btn{position:absolute;top:36%;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--shadow);display:grid;place-items:center;z-index:2;color:var(--ink)}
.car-btn:hover{color:var(--primary)}
.car-btn.prev{left:-12px}
.car-btn.next{right:-12px}
@media (min-width:768px){.carousel .scroller>.card{width:31%}}
@media (min-width:1024px){.carousel .scroller{gap:20px}.carousel .scroller>.card{width:calc((100% - 60px)/4)}}

/* ===== Store video ===== */
.meet{display:grid;gap:16px;align-items:center}
.meet-copy h2{font-size:28px;margin-top:6px}
.meet-copy h2 span{color:var(--primary)}
.meet-copy p:not(.eyebrow){margin:8px 0 14px}
.meet-video{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#e6f1fc,#cfe4f8)}
.meet-video .play{position:absolute;inset:0;margin:auto;width:64px;height:64px;font-size:22px}
.dur{position:absolute;top:12px;right:12px;padding:3px 10px;border-radius:999px;background:rgba(18,54,93,.72);color:#fff;font-size:12px;font-weight:800}
@media (min-width:1024px){.meet{grid-template-columns:1fr 1.2fr;gap:48px}.meet-copy h2{font-size:44px}.meet-copy p:not(.eyebrow){font-size:16px}}

/* ===== TikTok row ===== */
.tt-row>.tt{width:62%}
.tt{position:relative;aspect-ratio:9/16;border-radius:var(--radius);overflow:hidden;color:#fff;display:block}
.tt::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,14,40,.8) 0%,transparent 45%,transparent 80%,rgba(20,14,40,.35) 100%)}
.tt-top,.tt-side,.tt-cap{position:absolute;z-index:1}
.tt .play{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px}
.tt-top{top:10px;left:12px;right:12px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}
.tt-side{right:8px;bottom:64px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;font-weight:800}
.tt-side span{display:flex;flex-direction:column;align-items:center;gap:2px}
.tt-side i{font-size:18px}
.tt-cap{left:12px;right:48px;bottom:12px;font-size:13px;font-weight:700;line-height:1.3}
@media (min-width:768px){.tt-row>.tt{width:32%}}
@media (min-width:1024px){.tt-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;overflow:visible}.tt-row>.tt{width:auto}}

/* ===== Stay connected ===== */
.connect{background:linear-gradient(180deg,#eaf5ff,#f6efff)}
.connect-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;text-align:center}
.connect h2{font-size:26px}
.connect h2 span{color:var(--primary)}
.connect-inner>div>p{color:var(--muted);margin-top:6px}
.social{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.soc{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#fff;transition:transform .15s}
.soc:hover{transform:translateY(-2px)}
.soc-tt{background:#111}
.soc-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.soc-fb{background:#1877f2}
.soc-wa{background:var(--wa)}
.soc-yt{background:#ff0000}
.newsletter{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);text-align:left}
.newsletter h3{font-size:19px}
.newsletter p{font-size:13.5px;margin:4px 0 12px;color:var(--muted)}
.nl-field{display:flex;gap:8px}
.nl-field input{flex:1;min-width:0;width:100%;height:48px;border:1.5px solid var(--line);border-radius:999px;padding:0 16px;font-size:16px;outline:none}
.nl-field input:focus{border-color:var(--primary)}
.nl-field .btn{min-height:48px}
@media (max-width:359px){.nl-field{flex-direction:column}.nl-field input{flex:none;width:100%}}
@media (min-width:1024px){.connect-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;text-align:left}.social{justify-content:flex-start}.connect h2{font-size:38px}.newsletter{padding:28px}}

/* ===== Footer ===== */
.footer{background:var(--ink);color:#d3dfeb;padding-top:28px;font-size:14px}
.footer .logo-word{color:#fff}
.f-brand{padding-bottom:16px}
.f-brand>p{margin:12px 0;color:#c3d3e6;max-width:340px}
.f-contact li{display:flex;gap:10px;align-items:center;padding:4px 0}
.f-contact i{width:16px;color:#7fb8ea}
.f-brand .social{justify-content:flex-start;margin-top:14px}
.f-brand .soc{width:40px;height:40px;font-size:17px}
.footer-grid{display:grid}
.f-col{border-top:1px solid rgba(255,255,255,.12)}
.f-col summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:52px;font-family:var(--f-head);font-weight:600;font-size:16px;color:#fff;cursor:pointer}
.f-col summary::-webkit-details-marker{display:none}
.f-col summary i{transition:transform .2s;font-size:13px}
.f-col[open] summary i{transform:rotate(180deg)}
.f-col ul{padding-bottom:12px}
.f-col a{display:block;padding:7px 0;color:#c3d3e6}
.f-col a:hover{color:#fff}
.footer-bottom{display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;padding-block:20px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#a3b6cc}
.pay{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:30px;color:#fff}
.pay .mmg{font-size:11px;font-weight:800;border:1.5px solid #fff;border-radius:5px;padding:3px 6px;letter-spacing:.05em}
.legal{display:flex;gap:16px}
.legal a:hover{color:#fff}
@media (min-width:1024px){
  .footer{padding-top:56px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
  .f-col{border:0}
  .f-col summary{pointer-events:none;min-height:auto;margin-bottom:12px}
  .f-col summary i{display:none}
  .footer-bottom{flex-direction:row;justify-content:space-between;margin-top:40px}
}

/* ===== Bottom app nav (mobile) ===== */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--bn-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -4px 20px rgba(18,54,93,.06)}
.bn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:800;color:var(--muted)}
.bn i{font-size:19px}
.bn.active{color:var(--primary)}
.bn .count{top:5px;right:calc(50% - 24px)}

/* WhatsApp float */
.wa-float{position:fixed;right:16px;bottom:calc(var(--bn-h) + env(safe-area-inset-bottom) + 16px);z-index:44;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:0 8px 24px rgba(37,211,102,.45)}
@media (min-width:1024px){.wa-float{bottom:24px;right:24px}}

/* ===== Overlay, drawers, sheet ===== */
.overlay{position:fixed;inset:0;z-index:60;background:rgba(6,30,60,.45);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.overlay.show{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;bottom:0;z-index:70;width:min(88vw,400px);background:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);visibility:hidden;transition:transform .3s ease,visibility .3s}
.drawer-left{left:0;transform:translateX(-100%)}
.drawer-right{right:0;transform:translateX(100%)}
.drawer.open{transform:none;visibility:visible}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 10px 20px;border-bottom:1px solid var(--line)}
.drawer-head h2{font-size:20px}
.drawer-head h2 small{font-family:var(--f-body);font-size:14px;color:var(--muted);font-weight:700}
.drawer-body{flex:1;overflow-y:auto;padding:16px 20px}
.drawer-foot{padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:10px}

.menu-account{display:flex;gap:10px;margin-bottom:12px}
.menu-account .btn{flex:1}
.menu-list a{display:flex;align-items:center;gap:12px;min-height:54px;font-weight:800;color:var(--ink);border-bottom:1px solid var(--line)}
.m-ic{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}
.m-ic img{width:100%;height:100%;object-fit:cover}
.menu-list a>i{margin-left:auto;color:#b9c8d8;font-size:13px}
.menu-sub{margin-top:20px}
.menu-sub h4{font-family:var(--f-body);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}
.menu-sub a{display:block;padding:9px 0;font-weight:600}
.drawer .social{justify-content:flex-start;margin-top:20px}
.drawer .soc{width:40px;height:40px;font-size:17px}

.ship{padding:14px 20px;background:var(--soft);font-size:13px;font-weight:700}
.ship-bar{height:8px;border-radius:999px;background:#fff;margin-top:8px;overflow:hidden}
.ship-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),#5aa7e6);border-radius:inherit;transition:width .3s}
.cart-item{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ci-thumb{width:64px;height:64px;border-radius:12px;object-fit:cover}
.ci-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.ci-title{font-weight:800;font-size:14px;color:var(--ink);line-height:1.3}
.ci-meta{font-size:12.5px;color:var(--muted)}
.ci-remove{width:40px;height:40px;margin:-10px -10px 0 0;display:grid;place-items:center;color:var(--muted);flex-shrink:0}
.ci-remove:hover{color:var(--primary)}
.ci-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.ci-price{font-weight:800;color:var(--primary-600);font-size:14px}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;height:40px}
.stepper button{width:40px;height:100%;font-size:16px;font-weight:800}
.stepper span{min-width:24px;text-align:center;font-weight:800;font-size:14px}
.cart-empty{text-align:center;padding:40px 12px;color:var(--muted)}
.cart-empty .big{font-size:56px;margin-bottom:8px}
.cart-empty b{color:var(--ink);font-size:16px}
.subtotal{display:flex;justify-content:space-between;font-weight:800;color:var(--ink);font-size:16px}
.note{font-size:12px;color:var(--muted);text-align:center}

.sheet{position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-radius:22px 22px 0 0;padding:8px 20px calc(20px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);transform:translateY(105%);visibility:hidden;transition:transform .3s ease,visibility .3s}
.sheet.open{transform:none;visibility:visible}
.sheet-handle{width:44px;height:5px;border-radius:999px;background:#dce6f0;margin:4px auto 14px}
.sheet-prod{display:grid;grid-template-columns:64px 1fr 44px;gap:12px;align-items:center}
.sheet-thumb{width:64px;height:64px;border-radius:12px;object-fit:cover}
.sheet-prod h3{font-size:17px}
.sheet-prod b{color:var(--primary-600)}
.sheet-label{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px;font-weight:800;color:var(--ink)}
.sheet-label a{font-size:13px;color:var(--primary);text-decoration:underline}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.size{min-width:64px;height:44px;padding:0 14px;border-radius:12px;border:1.5px solid var(--line);font-weight:800;font-size:14px}
.size.on{border-color:var(--primary);background:var(--primary-50);color:var(--primary-600)}
.sheet-qty{display:flex;justify-content:space-between;align-items:center;margin:18px 0;font-weight:800;color:var(--ink)}
@media (min-width:1024px){
  .sheet{left:50%;right:auto;bottom:auto;top:50%;width:460px;border-radius:22px;padding:24px;transform:translate(-50%,-44%);opacity:0;transition:transform .25s,opacity .25s,visibility .25s}
  .sheet.open{transform:translate(-50%,-50%);opacity:1}
  .sheet-handle{display:none}
}

/* Toast */
.toast{position:fixed;left:50%;bottom:calc(var(--bn-h) + env(safe-area-inset-bottom) + 20px);transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-weight:700;font-size:14px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:80;max-width:calc(100vw - 120px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media (min-width:1024px){.toast{bottom:32px}}

/* =========================================================
   One-page cart + checkout (adds to the shared styles above)
   ========================================================= */
body.co-page{background:#f7fafd;padding-bottom:calc(88px + env(safe-area-inset-bottom))}
@media (min-width:1024px){body.co-page{padding-bottom:0}}

.btn-lg{min-height:54px;font-size:15.5px;border-radius:14px}
.btn-wa{background:#e9fbf0;color:#128c4a;border:1.5px solid #bdeccf}
.btn-wa:hover{background:var(--wa);border-color:var(--wa);color:#fff}

/* Minimal checkout header */
.co-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.co-header .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:64px}
.co-header .logo{grid-area:auto;justify-self:center}
.co-back{justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:800;font-size:13.5px;color:var(--ink)}
.co-back:hover{color:var(--primary)}
.co-secure{justify-self:end;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#0f8a5f}
.co-back span,.co-secure span{display:none}
@media (min-width:768px){.co-back span,.co-secure span{display:inline}}

/* Progress */
.steps{display:flex;align-items:center;gap:6px;padding-block:14px}
.step{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px 0 6px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;font-size:13px;color:var(--muted);white-space:nowrap}
.step b{width:28px;height:28px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--ink);font-size:12px}
.step.done{color:var(--ink)}
.step.done b{background:#0f8a5f;color:#fff}
.step-line{flex:1;min-width:8px;height:2px;background:var(--line)}
@media (max-width:379px){.step{gap:6px;padding:0 8px 0 4px;font-size:12px}.step b{width:24px;height:24px;font-size:11px}.step-line{min-width:4px}}

/* Layout */
.co-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:32px}
@media (min-width:1024px){
  .co-grid{grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start;padding-bottom:56px}
  .co-summary{position:sticky;top:84px}
}
.co-main{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.co-summary{min-width:0}
.co-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;scroll-margin-top:84px}
@media (min-width:768px){.co-card{padding:24px}}
.co-h{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.co-h .num{flex:0 0 30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}
.co-h.done .num{background:#0f8a5f}
.co-h h2{font-size:20px}
.co-h small{margin-left:auto;font-size:13px;color:var(--muted);font-weight:700}

/* Cart lines */
.line{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.line:first-child{border-top:0;padding-top:0}
.line-img{width:76px;height:76px;border-radius:12px;object-fit:cover;background:var(--blush)}
.line-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.line-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:800;color:var(--ink);font-size:14.5px;line-height:1.3}
.line-name .pill{font-size:9.5px;padding:2px 7px}
.line-meta{font-size:12.5px;color:var(--muted);margin-top:3px}
.line-sku{font-size:11.5px;color:#93a6ba;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.line-warn{font-size:12px;font-weight:800;color:#c2410c;margin-top:4px}
.line-remove{width:40px;height:40px;margin:-10px -10px 0 0;display:grid;place-items:center;color:var(--muted);flex-shrink:0}
.line-remove:hover{color:var(--primary)}
.line-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}
.line-price{text-align:right;line-height:1.25}
.line-price b{color:var(--primary-600);font-size:15px}
.line-price s{display:block;font-size:12px;color:var(--muted)}
.line .stepper button:disabled{opacity:.3;cursor:not-allowed}
.fs{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--soft);font-size:13.5px;font-weight:700}
.fs-bar{height:8px;border-radius:999px;background:#fff;margin-top:8px;overflow:hidden}
.fs-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#5aa7e6);transition:width .3s}
.addons{margin-top:18px}
.addons h3{font-family:var(--f-body);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.addons .scroller{gap:10px}
.addon{display:flex;align-items:center;gap:10px;width:236px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff}
.addon img{width:52px;height:52px;border-radius:10px;object-fit:cover}
.addon div{flex:1;min-width:0}
.addon p{font-weight:800;font-size:13px;color:var(--ink);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.addon span{font-size:12.5px;font-weight:800;color:var(--primary-600)}
.addon .btn{min-height:38px;padding:0 12px;font-size:12.5px;border-radius:10px}
.cart-empty-box{text-align:center;padding:28px 12px;color:var(--muted)}
.cart-empty-box .big{font-size:48px}
.cart-empty-box b{display:block;color:var(--ink);font-size:16px;margin:6px 0 2px}
.cart-empty-box .btn{margin-top:14px}

/* Forms */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.seg-opt{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.seg-opt input{position:absolute;opacity:0;pointer-events:none}
.seg-opt b{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14.5px}
.seg-opt small{color:var(--muted);font-size:12.5px;line-height:1.35}
.seg-opt.on{border-color:var(--primary);background:var(--primary-50)}
.seg-opt.on b i{color:var(--primary)}
.seg-opt:focus-within{outline:3px solid var(--primary);outline-offset:2px}
.fields{display:grid;gap:14px}
.f-title{font-family:var(--f-body);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.row2{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media (min-width:600px){.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.field{display:grid;gap:6px;min-width:0}
.field>label,.field .lbl{font-weight:800;font-size:13.5px;color:var(--ink)}
.field .opt-l{font-weight:600;color:var(--muted)}
.inp{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:16px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.inp::placeholder{color:#97aabe}
.inp:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-50)}
select.inp{-webkit-appearance:none;appearance:none;padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23776f8b' stroke-width='1.8' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center}
textarea.inp{resize:vertical;min-height:80px}
.phone{display:flex}
.phone span{display:grid;place-items:center;padding:0 12px;border:1.5px solid var(--line);border-right:0;border-radius:12px 0 0 12px;background:var(--soft);font-weight:800;color:var(--ink)}
.phone .inp{border-radius:0 12px 12px 0;min-width:0}
.hint{font-size:12.5px;color:var(--muted)}
.err-msg{display:none;font-size:12.5px;font-weight:800;color:#d92d20}
.field.err .inp,.field.err .phone span{border-color:#d92d20}
.field.err .err-msg{display:block}
.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer;color:var(--text)}
.check input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:var(--primary)}
.tchips{display:flex;flex-wrap:wrap;gap:8px}
.tchip{min-height:42px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-weight:700;font-size:13.5px;color:var(--ink)}
.tchip[aria-pressed="true"]{border-color:var(--primary);background:var(--primary-50);color:var(--primary-600)}
.eta-line{display:flex;align-items:center;gap:8px;font-weight:800;color:#0f8a5f;font-size:14px}
.pickup-box{display:flex;gap:12px;padding:14px;border-radius:14px;background:var(--soft);font-size:14px}
.pickup-box .d-ic{flex:0 0 40px;height:40px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center}
.pickup-box b{color:var(--ink)}
.gift-box{display:grid;gap:12px;padding:14px;border-radius:14px;background:var(--soft)}

/* Payment */
.pay-list{display:grid;gap:10px}
.pay-opt{display:grid;grid-template-columns:22px 44px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.pay-opt>input{width:20px;height:20px;margin:12px 0 0;accent-color:var(--primary)}
.pay-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:18px}
.pay-ic.mmg{background:#fff1c7;color:#8a5b00;font-size:11px;font-weight:800;letter-spacing:.04em}
.pay-ic.bank{background:#e8f1ff;color:#1d4ed8}
.pay-ic.cod{background:#e9fbf0;color:#128c4a}
.pay-ic.store{background:var(--primary-50);color:var(--primary)}
.pay-opt b{display:block;color:var(--ink);font-size:15px}
.pay-opt small{display:block;color:var(--muted);font-size:13px;margin-top:2px;line-height:1.4}
.pay-more{display:none;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:13px;line-height:1.45}
.pay-opt.on{border-color:var(--primary);background:#fffafb}
.pay-opt.on .pay-more{display:block}
.pay-opt.disabled{cursor:not-allowed;background:#fafbfd}
.pay-opt.disabled .pay-ic,.pay-opt.disabled b{opacity:.5}
.pay-why{display:block;margin-top:4px;font-size:12.5px;font-weight:800;color:#c2410c}
.pay-err{display:none;margin-top:10px;font-size:13px;font-weight:800;color:#d92d20}
.co-card.err .pay-err{display:block}

/* Summary */
.sum-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sum-thumb{position:relative;width:52px;height:52px}
.sum-thumb img{width:100%;height:100%;border-radius:10px;object-fit:cover}
.sum-thumb b{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--ink);color:#fff;font-size:11px;display:grid;place-items:center;border:2px solid #fff}
.promo-form{display:flex;gap:8px}
.promo-form .inp{flex:1;min-height:46px;text-transform:uppercase}
.promo-form .btn{flex-shrink:0;min-height:46px;border-radius:12px}
.promo-msg{font-size:12.5px;font-weight:800;margin-top:6px}
.promo-msg.ok{color:#0f8a5f}
.promo-msg.bad{color:#d92d20}
.totals{display:grid;gap:9px;margin-top:16px;font-size:14.5px}
.t-row{display:flex;justify-content:space-between;gap:12px}
.t-row span:last-child{font-weight:700;color:var(--ink);white-space:nowrap}
.t-row.disc span:last-child{color:#0f8a5f}
.t-row .muted{color:var(--muted);font-weight:600}
.t-row.total{align-items:baseline;margin-top:4px;padding-top:12px;border-top:1px solid var(--line);font-weight:800;color:var(--ink);font-size:16px}
.t-row.total span:last-child{font-family:var(--f-head);font-size:24px;color:var(--primary-600)}
.save-note{font-size:12.5px;font-weight:800;color:#0f8a5f;text-align:right}
.place{margin-top:16px}
.legal-note{margin-top:10px;font-size:12px;color:var(--muted);text-align:center}
.legal-note a{text-decoration:underline}
.trust-list{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}
.trust-list li{display:flex;align-items:center;gap:10px}
.trust-list i{width:18px;color:var(--primary);text-align:center}
.trust-list a{font-weight:800;color:#128c4a;text-decoration:underline}

/* Mobile sticky total + place order */
.co-bar{position:fixed;left:0;right:0;bottom:0;z-index:46;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(18,54,93,.1)}
.co-bar small{display:block;font-size:12px;color:var(--muted);font-weight:700}
.co-bar b{font-family:var(--f-head);font-size:21px;color:var(--ink)}
.co-bar .btn{min-height:52px;padding:0 22px;border-radius:14px;font-size:15px}
@media (min-width:1024px){.co-bar{display:none}}

/* Confirmation */
.done-view{max-width:760px;margin:0 auto;padding:16px 0 56px;display:grid;gap:16px}
.done-hero{display:grid;justify-items:center;gap:8px;text-align:center;padding:20px 8px 4px}
.done-ic{width:76px;height:76px;border-radius:50%;background:#e9fbf0;color:#0f8a5f;display:grid;place-items:center;font-size:34px}
.done-hero h1{font-size:30px}
.done-hero p{max-width:520px}
.order-no{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;color:var(--ink)}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 14px;align-items:center;margin-top:12px;font-size:14px}
.kv dt{color:var(--muted);font-weight:700}
.kv dd{margin:0;font-weight:800;color:var(--ink);word-break:break-word}
.copy{min-height:34px;padding:0 10px;border-radius:8px;border:1.5px solid var(--line);font-size:12px;font-weight:800;color:var(--ink);background:#fff}
.copy:hover{border-color:var(--primary);color:var(--primary)}
.copy-gap{width:1px}
.steps-list{display:grid;gap:10px;margin-top:6px;counter-reset:s}
.steps-list li{display:flex;gap:12px;font-size:14px}
.steps-list li::before{counter-increment:s;content:counter(s);flex:0 0 26px;height:26px;border-radius:50%;background:var(--primary-50);color:var(--primary-600);display:grid;place-items:center;font-weight:800;font-size:12.5px}
.upload-box{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;margin-top:14px;padding:10px 14px;border:1.5px dashed #d3dfeb;border-radius:14px;font-weight:800;color:var(--muted);cursor:pointer;text-align:center}
.upload-box:hover{border-color:var(--primary);color:var(--primary)}
.upload-box.ok{border-style:solid;border-color:#bfe8d4;background:#f2fbf6;color:#0f8a5f}
.hold-note{margin-top:12px;font-size:13px;color:var(--muted)}
.done-actions{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:600px){.done-actions{grid-template-columns:1fr 1fr}}
.done-lines{display:grid;gap:10px}
.done-line{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;font-size:14px}
.done-line img{width:52px;height:52px;border-radius:10px;object-fit:cover}
.done-line b{display:block;color:var(--ink)}
.done-line small{color:var(--muted)}
.done-info{display:grid;gap:14px;font-size:14px}
@media (min-width:600px){.done-info{grid-template-columns:1fr 1fr}}
.done-info h3{font-family:var(--f-body);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}

/* Minimal footer */
.co-footer{background:#fff;border-top:1px solid var(--line);padding:20px 0 24px;font-size:13px;color:var(--muted)}
.co-footer .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}
.co-footer nav{display:flex;flex-wrap:wrap;gap:6px 16px}
.co-footer nav a{min-height:32px;display:inline-flex;align-items:center}
.co-footer nav a:hover{color:var(--primary)}
.accepted{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pa{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;font-weight:800;font-size:11.5px;color:var(--ink);background:#fff}
/* =========================================================
   COMPONENT: Cookie consent (banner + preferences)
   ========================================================= */
.ck-banner{position:fixed;left:0;right:0;bottom:0;z-index:85;padding:18px 16px calc(16px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -12px 44px rgba(18,54,93,.24);transform:translateY(115%);visibility:hidden;transition:transform .5s cubic-bezier(.2,.9,.3,1.15),visibility .5s}
.ck-banner.show{transform:none;visibility:visible}
.ck-banner::before{content:'';position:absolute;top:8px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:999px;background:#dce6f0}
@media (min-width:768px){.ck-banner{left:24px;right:auto;bottom:24px;width:430px;padding:22px 22px 18px;border-radius:24px}.ck-banner::before{display:none}}
.ck-head{display:flex;align-items:center;gap:14px;margin-top:4px}
.ck-mascot{flex:0 0 76px;width:76px;height:76px}
.ck-mascot svg{display:block;width:100%;height:100%;overflow:visible}
.ck-banner.show .ck-mascot{animation:ckWiggle 1.1s ease .55s}
@keyframes ckWiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(9deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}
.ck-kicker{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--primary-600)}
.ck-title{font-family:var(--f-head);font-size:21px;font-weight:700;line-height:1.15;color:var(--ink);margin-top:2px}
.ck-text{margin-top:12px;font-size:14.5px;line-height:1.6;color:var(--text)}
.ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.ck-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 14px;border-radius:14px;font-weight:800;font-size:14.5px;line-height:1.15;transition:background .2s,color .2s,transform .1s}
.ck-btn:active{transform:scale(.97)}
.ck-btn.solid{background:var(--primary);color:#fff}
.ck-btn.solid:hover{background:var(--primary-600)}
.ck-btn.line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.ck-btn.line:hover{background:var(--ink);color:#fff}
.ck-btn.soft{background:var(--soft);color:var(--ink)}
.ck-btn.soft:hover{background:var(--primary-50)}
.ck-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-top:8px}
.ck-link{display:inline-flex;align-items:center;gap:6px;min-height:42px;font-weight:800;font-size:13.5px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ck-link:hover{color:var(--primary-600)}

.ck-overlay{position:fixed;inset:0;z-index:94;background:rgba(6,30,60,.5);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.ck-overlay.show{opacity:1;visibility:visible}
.ck-modal{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;flex-direction:column;max-height:92vh;overflow:hidden;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -12px 44px rgba(18,54,93,.24);transform:translateY(105%);visibility:hidden;transition:transform .35s ease,visibility .35s,opacity .25s}
.ck-modal.open{transform:none;visibility:visible}
@media (min-width:768px){
  .ck-modal{left:50%;right:auto;top:50%;bottom:auto;width:580px;max-height:88vh;border-radius:26px;opacity:0;transform:translate(-50%,-46%)}
  .ck-modal.open{opacity:1;transform:translate(-50%,-50%)}
}
.ck-m-head{position:relative;display:flex;align-items:center;gap:16px;padding:22px 56px 18px 20px;background:linear-gradient(135deg,#f1f7fe 0%,#e4f0fc 60%,#d6e8fa 100%)}
.ck-m-head .ck-mascot{flex-basis:92px;width:92px;height:92px}
.ck-m-head .ck-title{font-size:22px}
.ck-mood{margin-top:4px;font-size:13.5px;font-weight:800;color:var(--primary-600);min-height:20px}
.ck-close{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--ink);background:rgba(255,255,255,.75)}
.ck-close:hover{background:#fff;color:var(--primary)}
.ck-m-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 8px}
.ck-intro{font-size:14px;line-height:1.55;color:var(--text)}
.ck-sub{margin:16px 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ck-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ck-preset{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;border:2px solid var(--line);border-radius:16px;background:#fff;font-weight:800;font-size:12.5px;line-height:1.2;color:var(--ink);text-align:center;transition:border-color .2s,background .2s}
.ck-preset svg{width:44px;height:44px;overflow:visible}
.ck-preset small{font-weight:700;font-size:11px;color:var(--muted)}
.ck-preset:hover{border-color:#a9cdf0}
.ck-preset[aria-pressed="true"]{border-color:var(--primary);background:var(--primary-50);color:var(--primary-600)}
.ck-cat{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}
.ck-cat-top{display:flex;align-items:flex-start;gap:12px}
.ck-cat-ic{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:16px}
.ck-cat-txt{flex:1;min-width:0}
.ck-cat-txt b{display:block;font-size:15px;color:var(--ink)}
.ck-cat-txt p{margin-top:2px;font-size:13px;line-height:1.45;color:var(--muted)}
.ck-always{flex-shrink:0;align-self:center;padding:4px 10px;border-radius:999px;background:#e9fbf0;color:#0f8a5f;font-size:12px;font-weight:800;white-space:nowrap}
.ck-switch{position:relative;flex:0 0 52px;align-self:center;height:32px}
.ck-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.ck-switch span{position:absolute;inset:0;border-radius:999px;background:#d6e0ea;transition:background .2s;pointer-events:none}
.ck-switch span::after{content:'';position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.ck-switch input:checked+span{background:var(--primary)}
.ck-switch input:checked+span::after{transform:translateX(20px)}
.ck-switch input:focus-visible+span{outline:3px solid var(--primary);outline-offset:2px}
.ck-more{margin-top:8px}
.ck-more summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:12.5px;font-weight:800;color:var(--primary-600);cursor:pointer}
.ck-more summary::-webkit-details-marker{display:none}
.ck-more summary i{font-size:10px;transition:transform .2s}
.ck-more[open] summary i{transform:rotate(180deg)}
.ck-list{display:grid;gap:6px;padding:4px 0 2px}
.ck-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;font-size:12.5px;color:var(--text)}
.ck-list code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800;color:var(--ink);background:var(--soft);padding:1px 6px;border-radius:6px}
.ck-list small{grid-column:2;color:var(--muted)}
.ck-m-foot{display:grid;gap:10px;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.ck-m-foot .ck-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ck-lock{overflow:hidden}
.ck-footer-link{padding:0;font:inherit;color:inherit;background:none;cursor:pointer}
.ck-footer-link:hover{color:#fff}
.ck-svg .m-oh{display:none}
.ck-svg.oh .m-smile{display:none}
.ck-svg.oh .m-oh{display:inline}
.ck-crumb{opacity:0;transition:opacity .3s}
.ck-bite{transition:r .3s}
@media (prefers-reduced-motion:reduce){.ck-banner,.ck-modal,.ck-overlay{transition:none}.ck-banner.show .ck-mascot{animation:none}}

.co-footer .ck-footer-link:hover{color:var(--primary)}
:root{--primary:#1269bc;--primary-600:#0b4f93;--primary-50:#eef6ff;--ink:#12365d;--text:#29445f;--muted:#5c7289;--line:#dce9f5;--soft:#f3f8fd;--blush:#f0f6fc;--shadow:0 6px 22px rgba(18,54,93,.08);--shadow-lg:0 18px 50px rgba(18,54,93,.16)}
.btn,.inp,.select,.search-box,.search-btn{border-radius:7px}.logo{padding-top:0!important;align-items:center!important}.logo img{max-height:70px;object-fit:contain}.announce{background:#0d3765}.announce b{color:#d9edff}
/* =========================================================
   A&M Quick Kart — theme layer (the same on every page)
   Brand: A&M blue with a school-yellow accent on white.
   Type: Fredoka (headings) + Nunito (body).
   This block sits last in <head> so it overrides the shared template styles.
   ========================================================= */
:root{--primary:#1269bc;--primary-600:#0b4f93;--primary-50:#eef6ff;--ink:#12365d;--text:#29445f;--muted:#5c7289;--line:#dce9f5;--soft:#f3f8fd;--blush:#f0f6fc;--shadow:0 6px 22px rgba(18,54,93,.08);--shadow-lg:0 18px 50px rgba(18,54,93,.16);--radius:16px;--radius-sm:12px;--f-body:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--f-head:'Fredoka','Nunito',system-ui,sans-serif;--f-script:'Fredoka','Nunito',system-ui,sans-serif;--sun:#ffc61a;--sun-50:#fff6d8;--sun-ink:#3d2e00}
::selection{background:#cfe4f8;color:#12365d}
.logo{padding-top:0!important;align-items:center}
.logo img{display:block}
.announce b{color:#ffc61a}
.f-contact i{color:#ffc61a}
.demo-links a[aria-current="page"]{background:#1269bc;color:#fff}
.section-head h2 span,.connect h2 span,.story-copy h2 span,.sec-title span{color:var(--primary);font-style:normal}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero h1 mark{background:linear-gradient(transparent 58%,#ffd54a 58%,#ffd54a 92%,transparent 92%);color:inherit;padding:0 .04em}
.tag-sale{background:var(--sun);color:var(--sun-ink)}
.tag-best{background:var(--primary);color:#fff}
.price .per,.price-box .per{font-size:12px;font-weight:700;color:var(--muted);margin-left:4px}
.promo-new{background:linear-gradient(135deg,#eef6ff,#d8e9ff)}
.promo-deals,.promo-sale{background:linear-gradient(135deg,#fff6d8,#ffe7a3)}
.promo-deals .pill,.promo-sale .pill{background:var(--sun);color:var(--sun-ink)}
.promo-deals h3,.promo-deals .go,.promo-sale h3,.promo-sale .go{color:#12365d}
.size{height:auto;min-height:52px;padding:6px 14px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.15}
.size small{font-size:11.5px;font-weight:700;color:var(--muted)}
.size.on small{color:var(--primary-600)}
.bn.active{color:var(--primary)}

/* ==== WordPress additions (checkout) ==== */
/* WooCommerce's form wraps the design grid */
form.woocommerce-checkout{display:block;margin:0}
.co-page .woocommerce{width:100%}
#amqk-ship-data,#amqkShipNone{display:none!important}
.f-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.f-login{font-size:12.5px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.line-qty{font-weight:800;color:var(--ink);font-size:14px}

/* Hidden WooCommerce place-order button (the design's buttons submit the same form) */
.amqk-place-order{margin:0;padding:0}
.amqk-place-order #place_order,#place_order.amqk-hidden-place{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

/* Payment list */
.pay-list>li{display:block;margin:0;padding:0}
.pay-list>li::before{display:none}
.pay-opt.disabled>input{opacity:.5}
.pay-none .woocommerce-info,.pay-none .woocommerce-error{margin:0}
.amqk-pay-fields{display:block;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:13px}
.amqk-pay-fields p{margin:0 0 8px}
.amqk-pay-fields input,.amqk-pay-fields select{width:100%;min-height:44px;padding:8px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff}

/* Promo code: remove link in the totals */
.amqk-remove-coupon{min-height:0!important;margin-left:6px;padding:0!important;background:none!important;border:0;font-size:12px;font-weight:800;color:var(--muted);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.amqk-remove-coupon:hover{color:#d92d20}
.co-summary .woocommerce-checkout-review-order{margin:0}
.co-summary .totals{margin-top:16px}

/* Terms + privacy text under the place-order button */
.co-summary .woocommerce-terms-and-conditions-wrapper{margin-top:12px;font-size:12px;color:var(--muted);line-height:1.5}
.co-summary .woocommerce-privacy-policy-text p{margin:0;text-align:center}
.co-summary .woocommerce-privacy-policy-text a,.co-summary .woocommerce-terms-and-conditions-link{color:var(--ink);font-weight:700;text-decoration:underline}
.co-summary .woocommerce-terms-and-conditions-wrapper .form-row{margin:10px 0 0}
.co-summary .woocommerce-terms-and-conditions-wrapper label.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text);cursor:pointer}
.co-summary .woocommerce-terms-and-conditions-wrapper input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:var(--primary)}
.co-summary .woocommerce-terms-and-conditions-wrapper abbr.required{color:#d92d20;text-decoration:none;border:0}
.co-summary .woocommerce-terms-and-conditions{max-height:220px;overflow:auto;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:13px}

/* Notices (errors after "Place order", coupon messages, …) */
.co-page .woocommerce-notices-wrapper:empty{display:none}
.co-page .woocommerce-NoticeGroup{margin:0 0 16px}
.co-page .woocommerce-error,.co-page .woocommerce-message,.co-page .woocommerce-info,.co-page .wc-block-components-notice-banner{list-style:none;margin:0 0 16px;padding:14px 16px 14px 46px;position:relative;border-radius:14px;border:1.5px solid var(--line);background:#fff;font-size:14px;font-weight:700;color:var(--ink);line-height:1.45}
.co-page .woocommerce-error{border-color:#f5c2c0;background:#fff5f4;color:#9b1c13}
.co-page .woocommerce-message{border-color:#bfe8d4;background:#f2fbf6;color:#0b6b48}
.co-page .woocommerce-info{border-color:#cfe2f6;background:var(--primary-50)}
.co-page .woocommerce-error::before,.co-page .woocommerce-message::before,.co-page .woocommerce-info::before{position:absolute;left:16px;top:14px;font-family:"Font Awesome 6 Free";font-weight:900}
.co-page .woocommerce-error::before{content:"\f071";color:#d92d20}
.co-page .woocommerce-message::before{content:"\f058";color:#0f8a5f}
.co-page .woocommerce-info::before{content:"\f05a";color:var(--primary)}
.co-page .woocommerce-error li+li{margin-top:4px}
.co-page .woocommerce-error a,.co-page .woocommerce-message a,.co-page .woocommerce-info a{text-decoration:underline}
.co-page .woocommerce-error .button,.co-page .woocommerce-message .button,.co-page .woocommerce-info .button{float:right;margin-left:12px;font-weight:800}

/* Busy state while WooCommerce updates the totals */
.co-page .blockUI.blockOverlay{border-radius:var(--radius)}
form.woocommerce-checkout.processing [data-place]{opacity:.7;pointer-events:none}

/* Create an account (only shown when enabled in WooCommerce) */
.amqk-account-fields{display:grid;gap:12px}
.amqk-account-fields .create-account{display:grid;gap:12px}
.amqk-account-fields .form-row{display:grid;gap:6px;margin:0}
.amqk-account-fields .form-row label{font-weight:800;font-size:13.5px;color:var(--ink)}
.amqk-account-fields .input-text{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.amqk-account-fields .input-text:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px var(--primary-50)}
.amqk-account-fields .clear{display:none}

/* Confirmation + empty cart */
.done-ic.is-failed{background:#fff5f4;color:#d92d20}
.done-actions .done-view-order{grid-column:1/-1}
.done-view .kv+.kv{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.upload-box input[type=file]{display:none}
.amqk-cart-empty{max-width:640px;margin:24px auto 56px}
body.amqk-no-bar.co-page{padding-bottom:0}
