:root{
  --bg:#FBF7F1; --surface:#FFFFFF; --surface-2:#F3ECE2;
  --ink:#221A14; --muted:#7A6A5C; --line:#E8DDCE;
  --accent:#C2521F; --accent-dark:#9E3F14; --accent-soft:#FBE9DC;
  --green:#1F6B45; --gold:#B8860B;
  --r-s:10px; --r-m:16px; --r-l:26px; --r-xl:34px;
  --sh-s:0 1px 2px rgba(34,26,20,.06), 0 4px 14px rgba(34,26,20,.05);
  --sh-m:0 8px 30px rgba(34,26,20,.10);
  --sh-l:0 24px 60px rgba(34,26,20,.16);
  --ease:cubic-bezier(.32,.72,0,1);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Outfit',system-ui,sans-serif; background:var(--bg); color:var(--ink);
  -webkit-font-smoothing:antialiased; min-height:100dvh; overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(700px 420px at 88% -8%, rgba(194,82,31,.11), transparent 62%),
    radial-gradient(600px 400px at -6% 12%, rgba(31,107,69,.07), transparent 60%);
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button,input,select,textarea{font:inherit; color:inherit}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif; font-weight:600; line-height:1.08; letter-spacing:-.02em; margin:0}
h1{font-size:clamp(2.1rem,6.4vw,4.4rem)}
h2{font-size:clamp(1.5rem,3.6vw,2.4rem)}
h4{font-size:1.05rem}
p{margin:0}
.wrap{width:min(1240px,100% - 2.6rem); margin-inline:auto; position:relative; z-index:1}
.wrap.narrow{width:min(720px,100% - 2.6rem)}
.muted{color:var(--muted)}
main{position:relative; z-index:1}

/* ---------- TOPBAR ---------- */
.topbar{
  position:sticky; top:0; z-index:60; background:rgba(251,247,241,.86);
  backdrop-filter:blur(14px); border-bottom:1px solid var(--line);
}
.bar{display:flex; align-items:center; gap:.9rem; height:68px}
.logo{font-family:'Fraunces',serif; font-size:1.5rem; font-weight:700; letter-spacing:-.03em}
.logo span{color:var(--accent)}
.search{display:flex; align-items:center; gap:.5rem; flex:1; max-width:420px;
  background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.5rem .95rem}
.search svg{width:18px;height:18px;color:var(--muted);flex:none}
.search input{border:0;outline:0;background:transparent;width:100%;font-size:.94rem}
.mainnav{display:flex; gap:1.1rem; margin-inline:auto; font-size:.92rem; font-weight:500}
.mainnav a{color:var(--muted); padding:.35rem 0; position:relative; transition:color .25s var(--ease)}
.mainnav a:hover{color:var(--ink)}
.mainnav a::after{content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--accent); transition:width .3s var(--ease)}
.mainnav a:hover::after{width:100%}
.actions{display:flex; gap:.9rem; align-items:center; margin-left:.4rem}
.icon-btn{width:44px;height:44px;display:grid;place-items:center;background:var(--surface);
  border:1px solid var(--line); border-radius:999px; cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s var(--ease); position:relative}
.icon-btn svg{width:21px;height:21px}
.icon-btn:hover{transform:translateY(-2px); box-shadow:var(--sh-s)}
.icon-btn:active{transform:scale(.95)}
.badge{position:absolute; top:-4px; right:-4px; background:var(--accent); color:#fff; font-size:.68rem;
  font-weight:700; min-width:20px; height:20px; border-radius:999px; display:grid; place-items:center; padding:0 5px}
.burger{display:none}
.mobile-search{display:none; padding:0 1.3rem 1rem}
.mobile-search .search{max-width:100%}

/* ---------- BUTTONS ---------- */
.btn{border:0; cursor:pointer; font-weight:600; border-radius:999px; padding:.82rem 1.4rem;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease); font-size:.95rem}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--accent); color:#fff; box-shadow:0 8px 22px rgba(194,82,31,.28)}
.btn.primary:hover{background:var(--accent-dark); transform:translateY(-2px)}
.btn.ghost{background:transparent; border:1px solid var(--line); color:var(--ink)}
.btn.ghost:hover{background:var(--surface); transform:translateY(-2px)}
.btn.sm{padding:.5rem .95rem; font-size:.85rem}
.btn[disabled]{opacity:.55; cursor:not-allowed; transform:none}
.link{background:none;border:0;color:var(--accent);font-weight:600;cursor:pointer;font-size:.94rem}

/* ---------- HERO ---------- */
.hero{padding:clamp(2rem,6vw,4.6rem) 0 clamp(2.4rem,5vw,4rem); position:relative; overflow:hidden}
.hero-glow{position:absolute; inset:0; background:radial-gradient(900px 500px at 78% 6%, rgba(194,82,31,.14), transparent 64%); pointer-events:none}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center}
.kicker{text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:600; color:var(--accent); margin-bottom:1rem}
.hero-copy h1 em{font-style:italic; color:var(--accent)}
.lede{margin-top:1.2rem; font-size:clamp(1rem,1.6vw,1.14rem); color:var(--muted); max-width:52ch; line-height:1.6}
.hero-cta{display:flex; gap:.75rem; margin-top:1.9rem; flex-wrap:wrap}
.trust{display:flex; gap:2rem; margin-top:2.6rem; padding-top:1.6rem; border-top:1px solid var(--line); flex-wrap:wrap}
.trust strong{display:block; font-family:'Fraunces',serif; font-size:1.45rem; color:var(--accent)}
.trust span{font-size:.8rem; color:var(--muted)}
.hero-visual{position:relative}
.hero-visual img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--r-xl); box-shadow:var(--sh-l)}
.float-card{position:absolute; background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:.6rem 1.05rem; font-size:.82rem; font-weight:600; box-shadow:var(--sh-m); display:flex; align-items:center; gap:.5rem}
.fc1{left:-14px; top:16%; animation:bob 5s var(--ease) infinite}
.fc2{right:-10px; bottom:14%; animation:bob 5s var(--ease) infinite reverse}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green); box-shadow:0 0 0 4px rgba(31,107,69,.15)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------- SECTIONS ---------- */
.section-head{display:flex; align-items:baseline; justify-content:space-between; margin:3.4rem 0 1.4rem; gap:1rem}
.cats{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
.cat{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l); padding:1.5rem 1.2rem;
  cursor:pointer; text-align:left; transition:transform .3s var(--ease), box-shadow .3s var(--ease); display:flex; flex-direction:column; gap:.5rem}
.cat:hover{transform:translateY(-5px); box-shadow:var(--sh-m)}
.cat .em{font-size:1.7rem}
.cat b{font-weight:600; font-size:1rem}
.cat small{color:var(--muted); font-size:.82rem}

.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:1.2rem}
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l); overflow:hidden;
  display:flex; flex-direction:column; transition:transform .35s var(--ease), box-shadow .35s var(--ease); animation:up .5s var(--ease) both}
@keyframes up{from{opacity:0; transform:translateY(14px)}to{opacity:1; transform:none}}
.card:hover{transform:translateY(-6px); box-shadow:var(--sh-m)}
.card-img{position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--surface-2); cursor:pointer}
.card-img img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--ease)}
.card:hover .card-img img{transform:scale(1.06)}
.tag{position:absolute; top:.8rem; left:.8rem; background:var(--accent); color:#fff; font-size:.72rem; font-weight:700;
  padding:.3rem .7rem; border-radius:999px}
.tag.oos{background:var(--muted)}
.card-body{padding:1rem 1.05rem 1.15rem; display:flex; flex-direction:column; gap:.5rem; flex:1}
.card-cat{font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted)}
.card-body h3{font-family:'Outfit',sans-serif; font-size:1rem; font-weight:600; line-height:1.3; cursor:pointer}
.stars{font-size:.8rem; color:var(--gold)}
.stars span{color:var(--muted)}
.price{font-family:'Fraunces',serif; font-size:1.22rem; font-weight:600; margin-top:auto; display:flex; align-items:baseline; gap:.5rem}
.price s{font-size:.85rem; color:var(--muted); font-weight:400}
.card-row{display:flex; gap:.5rem; margin-top:.4rem}
.card-row .btn{flex:1; padding:.6rem .9rem; font-size:.86rem}

/* ---------- BANNER ---------- */
.banner{margin:4rem 0; background:linear-gradient(135deg,#2A1C12,#3E2A1B); color:#F6EDE3;
  border-radius:var(--r-xl); padding:clamp(1.8rem,4vw,3rem); display:grid; grid-template-columns:1fr 1fr; gap:2.4rem; align-items:center}
.banner h3{font-size:clamp(1.4rem,3vw,2rem); margin-bottom:.6rem}
.banner p{color:#C9B7A5; font-size:.95rem; line-height:1.6}
.mini-form{display:grid; grid-template-columns:1fr 1fr; gap:.7rem}
.mini-form input{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#fff;
  padding:.75rem .95rem; border-radius:var(--r-s); outline:0; font-size:.9rem}
.mini-form input::placeholder{color:#A8988A}
.mini-form .btn{grid-column:span 2}

/* ---------- SHOP ---------- */
.crumb{font-size:.85rem; color:var(--muted); margin:2rem 0 1rem; display:flex; gap:.4rem}
.crumb a:hover{color:var(--accent)}
.shop-head{display:flex; flex-direction:column; gap:1.2rem; margin-bottom:1.8rem}
.filters{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; align-items:center}
.chips{display:flex; gap:.5rem; flex-wrap:wrap}
.chip{background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.5rem 1rem; cursor:pointer;
  font-size:.86rem; font-weight:500; transition:all .25s var(--ease)}
.chip:hover{border-color:var(--accent)}
.chip.active{background:var(--ink); color:#fff; border-color:var(--ink)}
select{background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.55rem 1rem; outline:0; font-size:.88rem; cursor:pointer}
.empty{text-align:center; padding:4rem 1rem; display:flex; flex-direction:column; gap:.6rem; align-items:center}
.empty h3{font-size:1.4rem}

/* ---------- PRODUCT DETAIL ---------- */
.pd{display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin:1.5rem 0 4rem; align-items:start}
.pd-img{border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--sh-m); background:var(--surface)}
.pd-img img{width:100%; aspect-ratio:1/1; object-fit:cover}
.pd h1{font-size:clamp(1.7rem,3.6vw,2.6rem); margin-bottom:.7rem}
.pd .price{font-size:2rem; margin:1rem 0}
.pd .desc{color:var(--muted); line-height:1.7; margin:1.2rem 0 1.6rem}
.pd-meta{display:flex; gap:1.4rem; font-size:.85rem; color:var(--muted); margin-bottom:1.4rem; flex-wrap:wrap}
.qty{display:flex; align-items:center; gap:.9rem; margin-bottom:1.3rem}
.qty button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:1.2rem}
.qty button:hover{border-color:var(--accent); color:var(--accent)}
.qty span{font-weight:600; min-width:2ch; text-align:center}
.pd-actions{display:flex; gap:.7rem; flex-wrap:wrap}
.perks{margin-top:2rem; border-top:1px solid var(--line); padding-top:1.4rem; display:grid; gap:.8rem}
.perk{display:flex; gap:.7rem; font-size:.9rem; color:var(--muted)}

/* ---------- FORMS / MODALS ---------- */
.grid-form{display:grid; grid-template-columns:1fr 1fr; gap:.9rem}
.grid-form label{display:flex; flex-direction:column; gap:.35rem; font-size:.85rem; font-weight:500}
.grid-form input,.grid-form select,.grid-form textarea{
  border:1px solid var(--line); background:var(--surface); border-radius:var(--r-s); padding:.72rem .85rem; outline:0;
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease); font-size:.92rem; width:100%}
.grid-form input:focus,.grid-form textarea:focus,.grid-form select:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
.grid-form .full{grid-column:span 2}
.grid-form .check{flex-direction:row; align-items:center; gap:.5rem}
.row{display:flex; gap:.7rem; flex-wrap:wrap}

.modal{position:fixed; inset:0; z-index:90; background:rgba(34,26,20,.5); backdrop-filter:blur(4px);
  display:grid; place-items:center; padding:1.2rem; animation:fade .25s var(--ease); overflow-y:auto}
.modal[hidden]{display:none !important}
.modal-card{background:var(--bg); border-radius:var(--r-xl); padding:1.8rem; width:min(600px,100%);
  max-height:92dvh; overflow-y:auto; box-shadow:var(--sh-l); animation:pop .35s var(--ease)}
.modal-card.center{text-align:center; display:flex; flex-direction:column; gap:.8rem; align-items:center}
.modal-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:1.3rem}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0; transform:translateY(18px) scale(.97)}to{opacity:1; transform:none}}
.tick{width:64px;height:64px;border-radius:50%;background:var(--green); color:#fff; display:grid;place-items:center; font-size:2rem}
.refbox{background:var(--surface); border:1px dashed var(--accent); border-radius:var(--r-m); padding:1rem 1.4rem; display:flex; flex-direction:column; gap:.25rem; width:100%}
.refbox span{font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.1em}
.refbox strong{font-family:'Fraunces',serif; font-size:1.4rem; color:var(--accent)}
.summary{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-m); padding:1rem 1.1rem; font-size:.9rem}
.summary div{display:flex; justify-content:space-between; padding:.3rem 0}
.summary .tot{border-top:1px solid var(--line); margin-top:.5rem; padding-top:.6rem; font-weight:700; font-family:'Fraunces',serif; font-size:1.1rem}
.alert{background:#FDECEC; border:1px solid #F3C2C2; color:#8A2020; border-radius:var(--r-s); padding:.8rem 1rem; margin-top:1rem; font-size:.88rem}

/* ---------- CART DRAWER ---------- */
.drawer{position:fixed; top:0; right:0; height:100dvh; width:min(430px,100%); background:var(--bg); z-index:95;
  transform:translateX(102%); transition:transform .42s var(--ease); display:flex; flex-direction:column; box-shadow:var(--sh-l); border-left:1px solid var(--line)}
.drawer.open{transform:none}
.drawer-head{display:flex; justify-content:space-between; align-items:center; padding:1.3rem 1.4rem; border-bottom:1px solid var(--line)}
.drawer-body{flex:1; overflow-y:auto; padding:1.1rem 1.4rem}
.drawer-foot{padding:1.2rem 1.4rem; border-top:1px solid var(--line); background:var(--surface)}
.line{display:flex; gap:.9rem; padding:.85rem 0; border-bottom:1px solid var(--line); align-items:center}
.line img{width:64px;height:64px;border-radius:var(--r-s);object-fit:cover}
.line-info{flex:1; display:flex; flex-direction:column; gap:.2rem}
.line-info b{font-size:.9rem; font-weight:600}
.line-info small{color:var(--muted); font-size:.8rem}
.line-qty{display:flex; align-items:center; gap:.5rem; font-size:.85rem}
.line-qty button{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;line-height:1}
.line-qty button:hover{border-color:var(--accent);color:var(--accent)}
.scrim{position:fixed; inset:0; background:rgba(34,26,20,.42); z-index:92; animation:fade .3s var(--ease)}
.cart-empty{text-align:center; padding:3rem 1rem; color:var(--muted)}
.tot-row{display:flex; justify-content:space-between; font-size:.9rem; padding:.25rem 0}
.tot-row.big{font-family:'Fraunces',serif; font-size:1.3rem; font-weight:700; border-top:1px solid var(--line); margin-top:.6rem; padding-top:.7rem}

/* ---------- ADMIN ---------- */
.admin-head{margin:2rem 0 1.6rem; display:flex; flex-direction:column; gap:1.1rem}
.tabs{display:flex; gap:.4rem; background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.3rem; width:fit-content; max-width:100%; overflow-x:auto}
.tab{border:0; background:transparent; padding:.55rem 1.1rem; border-radius:999px; cursor:pointer; font-size:.88rem; font-weight:500; white-space:nowrap; transition:all .25s var(--ease)}
.tab.active{background:var(--ink); color:#fff}
.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin-bottom:1.4rem}
.stat{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l); padding:1.3rem}
.stat b{display:block; font-family:'Fraunces',serif; font-size:1.9rem; color:var(--accent)}
.stat span{font-size:.82rem; color:var(--muted)}
.two{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l); padding:1.4rem; margin-bottom:1.2rem}
.panel h4{margin-bottom:1rem}
.list{display:flex; flex-direction:column; gap:.6rem}
.list div{display:flex; justify-content:space-between; font-size:.9rem; padding:.5rem 0; border-bottom:1px solid var(--line)}
.list div:last-child{border:0}
.table-wrap{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l); overflow-x:auto}
.table{width:100%; border-collapse:collapse; font-size:.9rem; min-width:560px}
.table th{background:var(--ink); color:#fff; text-align:left; padding:.85rem 1rem; font-weight:600; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase}
.table td{padding:.8rem 1rem; border-bottom:1px solid var(--line); vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.table tbody tr:nth-child(even){background:#FCFAF7}
.table img{width:44px;height:44px;border-radius:8px;object-fit:cover}
.num{text-align:right}
.order-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-l); padding:1.3rem; margin-bottom:1rem}
.order-top{display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; flex-wrap:wrap; margin-bottom:.9rem}
.order-ref{font-family:'Fraunces',serif; font-size:1.1rem; font-weight:700}
.order-meta{font-size:.85rem; color:var(--muted); display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:.8rem}
.order-items{font-size:.88rem; color:var(--muted); margin-bottom:.9rem}
.order-items div{padding:.2rem 0}
.status{font-size:.75rem; font-weight:700; padding:.32rem .75rem; border-radius:999px; text-transform:uppercase; letter-spacing:.05em}
.s-pending{background:#FFF3D6; color:#8A6100}
.s-confirmed{background:#E2EDFF; color:#1B4C9E}
.s-shipped{background:#E6F1FF; color:#0F5BA8}
.s-delivered{background:#E3F5EA; color:#1F6B45}
.s-cancelled{background:#FDECEC; color:#8A2020}

/* ---------- TRACK ---------- */
.track-form{display:flex; gap:.7rem; margin:1.3rem 0 2rem; flex-wrap:wrap}
.track-form input{flex:1; min-width:220px; border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:.8rem 1.2rem; outline:0}
.track-form input:focus{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
.timeline{display:flex; flex-direction:column; gap:0; margin:1.6rem 0}
.step{display:flex; gap:1rem; position:relative; padding-bottom:1.6rem}
.step:last-child{padding-bottom:0}
.step::before{content:""; position:absolute; left:13px; top:26px; bottom:0; width:2px; background:var(--line)}
.step:last-child::before{display:none}
.step .bullet{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);background:var(--bg); flex:none; display:grid; place-items:center; font-size:.75rem; font-weight:700; color:var(--muted); z-index:1}
.step.done .bullet{background:var(--green); border-color:var(--green); color:#fff}
.step.done::before{background:var(--green)}
.step b{font-size:.95rem; display:block}
.step small{color:var(--muted); font-size:.82rem}

/* ---------- FOOTER ---------- */
.footer{margin-top:5rem; border-top:1px solid var(--line); background:var(--surface); padding:3rem 0 1.4rem}
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2rem; margin-bottom:2rem}
.foot-grid h5{font-family:'Outfit',sans-serif; font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 .9rem; color:var(--muted)}
.foot-grid a,.foot-grid p{display:block; font-size:.9rem; color:var(--muted); padding:.22rem 0}
.foot-grid a:hover{color:var(--accent)}
.foot-grid p{max-width:34ch; line-height:1.6}
.legal{font-size:.82rem; color:var(--muted); border-top:1px solid var(--line); padding-top:1.3rem}

/* ---------- TOAST ---------- */
.toast{position:fixed; bottom:1.5rem; left:50%; transform:translateX(-50%); background:var(--ink); color:#fff;
  padding:.85rem 1.5rem; border-radius:999px; font-size:.9rem; font-weight:500; z-index:120; box-shadow:var(--sh-l); animation:pop .3s var(--ease)}
.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,#EFE7DA 50%,var(--surface-2) 75%);
  background-size:200% 100%; animation:shim 1.3s infinite; border-radius:var(--r-l); height:320px}
@keyframes shim{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .mainnav{display:none; position:absolute; top:68px; left:0; right:0; background:var(--bg); border-bottom:1px solid var(--line);
    flex-direction:column; padding:1rem 1.4rem 1.4rem; gap:.2rem; box-shadow:var(--sh-m)}
  .mainnav.open{display:flex}
  .mainnav a{padding:.7rem 0; border-bottom:1px solid var(--line)}
  .burger{display:grid}
  .search{display:none}
  .mobile-search{display:block}
  .bar{gap:.9rem}
  .actions{margin-left:auto; gap:.9rem}
  .hero-grid{grid-template-columns:1fr; gap:2.2rem}
  .hero-visual img{aspect-ratio:16/12}
  .cats{grid-template-columns:repeat(2,1fr)}
  .banner{grid-template-columns:1fr; gap:1.6rem}
  .pd{grid-template-columns:1fr; gap:1.8rem}
  .two{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 2rem)}
  .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:.9rem}
  .card-body{padding:.8rem}
  .card-body h3{font-size:.92rem}
  .price{font-size:1.05rem}
  .card-row .btn{padding:.55rem .6rem; font-size:.8rem}
  .grid-form{grid-template-columns:1fr}
  .grid-form .full{grid-column:span 1}
  .mini-form{grid-template-columns:1fr}
  .mini-form .btn{grid-column:span 1}
  .trust{gap:1.2rem}
  .float-card{font-size:.74rem; padding:.5rem .8rem}
  .fc1{left:-6px} .fc2{right:-4px}
  .btn{padding:.75rem 1.1rem; font-size:.9rem}
  .stats{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  .tabs{width:100%}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none !important; transition-duration:.01ms !important}
}
