
:root{
  --bg:#0f0f10;
  --panel:#171719;
  --panel-2:#1e1f23;
  --border:rgba(255,255,255,.08);
  --text:#f3f3f3;
  --muted:#b6b6bb;
  --accent:#c59a5b;
  --accent-2:#f2d3a2;
  --success:#2db66c;
  --danger:#d66a6a;
  --shadow:0 18px 50px rgba(0,0,0,.28);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at top, rgba(197,154,91,.12), transparent 25%),
    linear-gradient(180deg, #111214 0%, #0c0c0d 100%);
  color:var(--text);
}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.container{width:min(1400px, calc(100% - 32px)); margin:0 auto;}
.topbar{
  position:sticky; top:0; z-index:20;
  backdrop-filter:blur(14px);
  background:rgba(15,15,16,.84);
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:22px 0 16px;
}
.topbar-inner{display:grid; gap:18px;}
.brand-row{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;}
.brand{display:flex; gap:16px; align-items:center; min-width:280px;}
.brand-logo{
  width:84px; height:84px; border-radius:20px;
  background:linear-gradient(135deg, rgba(197,154,91,.2), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.1);
  display:grid; place-items:center; overflow:hidden; box-shadow:var(--shadow); flex-shrink:0;
}
.brand-logo img{width:100%; height:100%; object-fit:cover;}
.brand-fallback{color:var(--accent-2); font-size:14px; text-align:center; padding:10px; line-height:1.2; letter-spacing:.04em; font-weight:700;}
.brand-copy h1{margin:0; font-size:clamp(1.45rem,2vw,2.2rem); line-height:1.04;}
.brand-copy p{margin:8px 0 0; color:var(--muted); max-width:820px; font-size:.97rem;}
.badges{display:flex; flex-wrap:wrap; gap:10px;}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:999px;
  background:rgba(197,154,91,.12);
  border:1px solid rgba(197,154,91,.24);
  color:var(--accent-2); font-size:.88rem; font-weight:700;
}
.badge.success{background:rgba(45,182,108,.12); border-color:rgba(45,182,108,.24); color:#b9f1d1;}
.badge.danger{background:rgba(214,106,106,.12); border-color:rgba(214,106,106,.24); color:#ffd1d1;}
.badge.link{cursor:pointer}
.toolbar{padding:18px 0 14px;}
.toolbar-inner{display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap;}
.stats{color:var(--muted); font-size:.94rem;}
.controls{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:14px; align-items:center;}
.search-box,.select-box,.panel{
  background:var(--panel); border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow);
}
.search-box input,.select-box select, .field input, .field textarea, .field select{
  width:100%; background:transparent; color:var(--text); border:none; outline:none; padding:16px 18px; font-size:.98rem;
}
.select-box select option, .field select option{background:#171719; color:#fff;}
.field{
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:14px; overflow:hidden;
}
.field label{
  display:block; font-size:.8rem; color:var(--muted); padding:12px 16px 0; font-weight:600;
}
.field textarea{min-height:110px; resize:vertical}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:18px; padding:6px 0 44px;}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  height:100%; display:flex; flex-direction:column;
}
.card:hover{transform:translateY(-4px); border-color:rgba(197,154,91,.4); box-shadow:0 24px 55px rgba(0,0,0,.34);}
.product-main-link{display:flex; flex-direction:column; width:100%; color:inherit;}
.card-media{position:relative; aspect-ratio:1 / 1; overflow:hidden; background:#111;}
.card-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease;}
.card:hover .card-media img{transform:scale(1.03);}
.card-category{
  position:absolute; top:12px; left:12px; background:rgba(15,15,16,.82); border:1px solid rgba(255,255,255,.08);
  color:var(--accent-2); border-radius:999px; padding:8px 11px; font-size:.74rem; font-weight:700;
  letter-spacing:.02em; backdrop-filter:blur(10px);
}
.card-body{padding:16px; display:grid; gap:12px; flex:1; align-content:start;}
.card-title{margin:0; font-size:.98rem; line-height:1.38; min-height:56px;}
.price-block{display:grid; gap:6px;}
.old-price{font-size:.92rem; color:#8f9198; text-decoration:line-through; min-height:18px;}
.price-row{display:flex; align-items:end; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.price-wrap{display:grid; gap:4px;}
.promo-price{font-size:1.22rem; font-weight:800; color:var(--accent-2); letter-spacing:.01em;}
.unit{font-size:.8rem; color:var(--muted);}
.cta{
  font-size:.83rem; font-weight:700; color:#fff; padding:10px 12px; border-radius:12px;
  background:linear-gradient(135deg, rgba(197,154,91,.26), rgba(197,154,91,.12));
  border:1px solid rgba(197,154,91,.22); white-space:nowrap;
}
.card-actions, .actions-row{display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 16px 16px;}
.card-actions.has-marketplace{grid-template-columns:1fr 1fr 1fr;}
.card-actions.no-marketplace{grid-template-columns:1fr 1fr;}
.btn-success-wide{grid-column:span 2;}
.actions-row.three{grid-template-columns:1fr 1fr 1fr;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; text-align:center; gap:8px;
  min-height:46px; padding:12px 14px; border-radius:14px; font-size:.92rem; font-weight:700;
  border:1px solid transparent; transition:.2s ease; cursor:pointer;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg, rgba(197,154,91,.24), rgba(197,154,91,.1)); border-color:rgba(197,154,91,.24); color:#fff;}
.btn-success{background:linear-gradient(135deg, rgba(45,182,108,.25), rgba(31,168,95,.15)); border-color:rgba(45,182,108,.25); color:#fff;}
.btn-danger{background:linear-gradient(135deg, rgba(214,106,106,.25), rgba(214,106,106,.14)); border-color:rgba(214,106,106,.25); color:#fff;}
.btn-secondary{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); color:#fff;}
.flash{
  border-radius:16px; padding:14px 16px; margin:18px 0;
  border:1px solid rgba(255,255,255,.08); box-shadow:var(--shadow);
}
.flash.success{background:rgba(45,182,108,.12); border-color:rgba(45,182,108,.25); color:#cef0da;}
.flash.error{background:rgba(214,106,106,.12); border-color:rgba(214,106,106,.25); color:#ffd7d7;}
.flash.info{background:rgba(197,154,91,.12); border-color:rgba(197,154,91,.25); color:#f2d3a2;}
.login-wrap{min-height:100vh; display:grid; place-items:center; padding:24px;}
.login-card{
  width:min(560px, 100%); padding:24px; border-radius:24px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1px solid var(--border); box-shadow:var(--shadow);
}
.section-title{margin:0 0 8px; font-size:1.2rem;}
.section-text{margin:0 0 18px; color:var(--muted);}
.settings-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin:20px 0 28px;}
.stacked{display:grid; gap:12px;}
.admin-grid{display:grid; gap:18px; padding-bottom:40px;}
.card-form{display:grid; gap:12px;}
.compact-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.small{font-size:.82rem; color:var(--muted);}
.inline-topbar{
  display:flex; justify-content:space-between; gap:12px; align-items:center; margin:18px 0 6px; flex-wrap:wrap;
}
.empty{display:none; padding:48px 22px 68px; text-align:center; color:var(--muted);}
.floating-wa{
  position:fixed; right:18px; bottom:18px; z-index:30;
  display:inline-flex; align-items:center; justify-content:center;
  width:62px; height:62px; border-radius:999px;
  background:linear-gradient(135deg, #2db66c, #1fa85f);
  color:#fff; font-size:28px; box-shadow:0 20px 40px rgba(0,0,0,.3);
  border:1px solid rgba(255,255,255,.18);
}
.admin-anchor{
  display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border-radius:999px;
  border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:#fff; font-weight:600;
}
@media (max-width:980px){
  .controls,.settings-grid,.compact-grid,.actions-row,.actions-row.three{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .container{width:min(100% - 20px, 1400px);}
  .brand{align-items:flex-start;}
  .brand-logo{width:72px; height:72px;}
  .card-title{min-height:unset;}
  .card-actions{grid-template-columns:1fr;}
}

.admin-page{padding-bottom:40px;}
.admin-actionbar-wrap{padding-top:0;}
.admin-actionbar{gap:12px;}
.admin-bulk-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.pulse-once{animation:pulseOnce 1s ease;}
@keyframes pulseOnce{
  0%{transform:scale(1)}
  35%{transform:scale(1.04)}
  100%{transform:scale(1)}
}

.product-main-link.is-static { cursor: default; }
.product-main-link.is-static:hover { transform: none; }
.admin-bulk-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.actions-row { display:flex; flex-wrap:wrap; gap:10px; }


.catalog-toolbar-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.cart-panel{padding:18px; margin-bottom:22px;}
.cart-panel-head{display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:14px; flex-wrap:wrap;}
.cart-total-wrap{display:grid; gap:4px; text-align:right;}
.cart-total-wrap strong{font-size:1.2rem; color:var(--accent-2);}
.cart-empty{color:var(--muted); padding:8px 0 4px;}
.cart-empty.is-hidden{display:none;}
.cart-items{display:grid; gap:12px;}
.cart-item{display:grid; grid-template-columns:72px 1fr auto; gap:12px; align-items:center; padding:12px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);}
.cart-item-media{width:72px; height:72px; border-radius:14px; overflow:hidden; background:#111;}
.cart-item-media img{width:100%; height:100%; object-fit:cover; display:block;}
.cart-item-name{font-weight:700; line-height:1.35;}
.cart-item-meta{font-size:.88rem; color:var(--muted); margin-top:4px;}
.cart-item-controls{display:grid; gap:8px; justify-items:end;}
.cart-item-controls input{width:88px; background:rgba(255,255,255,.05); color:#fff; border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:10px 12px;}
.cart-item-subtotal{font-weight:700; color:var(--accent-2);}
.btn-small{min-height:38px; padding:9px 12px; font-size:.82rem;}
@media (max-width:980px){
  .card-actions.has-marketplace{grid-template-columns:1fr 1fr;}
  .card-actions.has-marketplace .btn-success{grid-column:span 2;}
  .catalog-toolbar-actions{width:100%;}
  .cart-item{grid-template-columns:64px 1fr;}
  .cart-item-controls{grid-column:1 / -1; justify-items:stretch;}
  .cart-item-controls input{width:100%;}
}
@media (max-width:560px){
  .catalog-toolbar-actions{display:grid; width:100%;}
  .card-actions.has-marketplace, .card-actions.no-marketplace{grid-template-columns:1fr;}
  .btn-success-wide, .card-actions.has-marketplace .btn-success{grid-column:auto;}
}


.cart-summary{display:grid; gap:8px; margin:8px 0 14px; padding:14px; border-radius:16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);}
.cart-summary-line{display:flex; justify-content:space-between; gap:16px; align-items:center; color:var(--muted);}
.cart-summary-line strong{color:#fff;}
.cart-summary-line.is-final{padding-top:8px; border-top:1px solid rgba(255,255,255,.08); color:var(--text); font-weight:700;}
.cart-summary-line.is-final strong{color:var(--accent-2); font-size:1.05rem;}
.cart-old-price{text-decoration:line-through; color:#8f9198; font-size:.85rem;}
.cart-item-discount{margin-top:6px; color:#b9f1d1; font-size:.82rem;}
.cart-item-subtotal-wrap{display:grid; gap:4px; justify-items:end;}


/* v9 - qty selector + floating cart */
.catalog-layout{position:relative; display:block;}
.catalog-main{padding-right:390px;}
.floating-cart{
  position:fixed; right:18px; top:120px; width:min(360px, calc(100vw - 28px)); z-index:25;
  padding:18px; border-radius:24px;
  background:linear-gradient(180deg, rgba(17,17,18,.98), rgba(13,13,14,.96));
  border:1px solid rgba(255,255,255,.08); box-shadow:0 24px 60px rgba(0,0,0,.38);
  max-height:calc(100vh - 150px); overflow:auto;
}
.floating-cart-head{display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:12px;}
.floating-cart-actions-head{display:grid; gap:10px; justify-items:end;}
.cart-count-badge{display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; border-radius:999px; background:rgba(197,154,91,.14); border:1px solid rgba(197,154,91,.24); color:var(--accent-2); font-size:.82rem; font-weight:700; text-align:center;}
.cart-toggle-btn{min-height:40px; padding:10px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:#fff; cursor:pointer; font-weight:700;}
.floating-cart.is-collapsed{padding-bottom:14px;}
.floating-cart.is-collapsed .floating-cart-body{display:none;}
.qty-control{display:grid; grid-template-columns:40px 1fr 40px; align-items:center; gap:6px; min-height:46px; padding:4px; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.10);}
.qty-btn{display:inline-flex; align-items:center; justify-content:center; min-height:38px; border:none; border-radius:10px; background:rgba(255,255,255,.08); color:#fff; font-size:1.15rem; cursor:pointer;}
.qty-input{width:100%; min-width:0; text-align:center; background:transparent; border:none; outline:none; color:#fff; font-weight:700; font-size:.98rem; appearance:textfield; -moz-appearance:textfield;}
.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{appearance:none; margin:0;}
.card-actions.has-marketplace{grid-template-columns:110px 1fr 1fr;}
.card-actions.no-marketplace{grid-template-columns:110px 1fr;}
.add-cart-btn{white-space:nowrap;}
@media (max-width:1180px){
  .catalog-main{padding-right:0;}
  .floating-cart{position:fixed; right:14px; left:14px; top:auto; bottom:88px; width:auto; max-height:60vh;}
}
@media (max-width:720px){
  .card-actions.has-marketplace,.card-actions.no-marketplace{grid-template-columns:1fr;}
  .qty-control{grid-template-columns:44px 1fr 44px;}
  .floating-cart{bottom:82px; max-height:58vh;}
}


/* v10 - public header cleanup + better mobile floating cart */
.badges:empty{display:none;}
.floating-wa{
  right:18px;
  bottom:18px;
  width:58px;
  height:58px;
  padding:0;
  font-size:0;
  line-height:0;
  box-shadow:0 18px 36px rgba(0,0,0,.28);
}
.floating-wa svg{width:30px; height:30px; display:block;}
.floating-cart{
  scrollbar-width:thin;
  transition:transform .2s ease, box-shadow .2s ease, max-height .2s ease, width .2s ease;
}
.floating-cart::-webkit-scrollbar{width:8px;}
.floating-cart::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16); border-radius:999px;}
.floating-cart-head{position:sticky; top:0; z-index:2; padding-bottom:8px; background:linear-gradient(180deg, rgba(17,17,18,.98), rgba(17,17,18,.9) 78%, rgba(17,17,18,0));}
.floating-cart .section-title{font-size:1.08rem;}
.floating-cart .section-text{font-size:.88rem; margin-bottom:0;}
.floating-cart-actions-head{align-items:end;}
.floating-cart.is-collapsed{
  width:min(320px, calc(100vw - 32px));
  max-height:none;
  overflow:hidden;
}
.floating-cart.is-collapsed .floating-cart-head{padding-bottom:0; background:none; margin-bottom:0;}
.floating-cart.is-collapsed .section-text{display:none;}
.cart-toggle-btn{min-width:96px;}
@media (max-width:1180px){
  .floating-cart{
    left:12px;
    right:12px;
    width:auto;
    top:auto;
    bottom:88px;
    max-height:46vh;
    border-radius:22px;
  }
  .floating-cart.is-collapsed{
    max-height:none;
    bottom:12px;
  }
  .floating-wa{
    right:14px;
    bottom:82px;
    width:54px;
    height:54px;
  }
}
@media (max-width:720px){
  .topbar{padding-bottom:14px;}
  .toolbar{padding-top:14px;}
  .floating-cart{
    left:10px;
    right:10px;
    bottom:78px;
    max-height:min(42vh, 360px);
    padding:14px;
    border-radius:20px;
  }
  .floating-cart-head{align-items:center; gap:10px;}
  .floating-cart-head > div:first-child{min-width:0;}
  .floating-cart .section-title{font-size:1rem;}
  .floating-cart .section-text{font-size:.82rem;}
  .floating-cart-actions-head{display:flex; align-items:center; gap:8px;}
  .cart-count-badge{padding:7px 10px; font-size:.76rem;}
  .cart-toggle-btn{min-height:36px; padding:8px 12px; min-width:auto;}
  .floating-cart.is-collapsed{
    bottom:10px;
    left:10px;
    right:74px;
    width:auto;
    padding:12px 14px;
  }
  .floating-cart.is-collapsed .floating-cart-head{align-items:center;}
  .floating-cart.is-collapsed .section-title{font-size:.95rem; margin:0;}
  .floating-cart.is-collapsed .cart-count-badge{display:none;}
  .floating-cart.is-collapsed .floating-cart-actions-head{margin-left:auto;}
  .floating-wa{
    right:10px;
    bottom:10px;
    width:52px;
    height:52px;
    box-shadow:0 14px 28px rgba(0,0,0,.26);
  }
  .floating-wa svg{width:27px; height:27px;}
}

/* v11 - true overlay cart + improved WhatsApp */
.catalog-layout,
.catalog-main{
  padding-right:0 !important;
}

.cart-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.48);
  backdrop-filter:blur(3px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
  z-index:29;
}
.cart-backdrop.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.cart-fab{
  position:fixed;
  right:92px;
  bottom:18px;
  z-index:31;
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  padding:12px 16px;
  border:none;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(24,24,27,.98), rgba(17,17,20,.96));
  color:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.1);
  cursor:pointer;
}
.cart-fab.is-hidden{display:none;}
.cart-fab-icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(197,154,91,.18);
  font-size:18px;
}
.cart-fab-label{
  font-size:.9rem;
  font-weight:700;
  color:var(--accent-2);
}

.floating-cart{
  position:fixed !important;
  top:90px;
  right:16px;
  left:auto;
  bottom:16px;
  width:min(390px, calc(100vw - 32px));
  max-height:none !important;
  overflow:hidden !important;
  display:flex;
  flex-direction:column;
  z-index:30;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(18,18,21,.98), rgba(12,12,14,.98));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 80px rgba(0,0,0,.42);
  transform:translateX(0);
  transition:transform .24s ease, opacity .24s ease;
}
.floating-cart.is-collapsed{
  transform:translateX(calc(100% + 32px));
  opacity:0;
  pointer-events:none;
}
.floating-cart-head{
  position:relative !important;
  top:auto !important;
  margin-bottom:14px;
  padding-bottom:0 !important;
  background:none !important;
  flex:0 0 auto;
}
.floating-cart-body{
  min-height:0;
  overflow:auto;
  padding-right:4px;
}
.floating-cart-body::-webkit-scrollbar{width:8px;}
.floating-cart-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14); border-radius:999px;}

.cart-summary{
  margin-top:0;
}
.cart-items{
  padding-bottom:8px;
}
.cart-item{
  grid-template-columns:68px minmax(0, 1fr);
  align-items:start;
}
.cart-item-media{
  width:68px;
  height:68px;
}
.cart-item-body{
  min-width:0;
}
.cart-item-name{
  font-size:.95rem;
}
.cart-item-controls{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(110px, 128px) 1fr auto;
  align-items:center;
  gap:10px;
  justify-items:stretch;
}
.cart-item-subtotal-wrap{
  justify-items:start;
}
.cart-item-subtotal{
  font-size:.96rem;
}
.cart-old-price{
  line-height:1.2;
}
.btn-small{
  min-height:42px;
  padding:10px 12px;
}

.floating-wa{
  right:18px !important;
  bottom:18px !important;
  width:58px !important;
  height:58px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #25d366, #17b855);
  color:#fff;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 40px rgba(8,125,53,.34);
}
.floating-wa svg{
  width:31px !important;
  height:31px !important;
}

@media (max-width: 900px){
  .floating-cart{
    top:auto;
    left:10px;
    right:10px;
    bottom:10px;
    width:auto;
    max-width:none;
    min-height:0;
    height:min(78vh, 620px);
    border-radius:22px;
    padding:14px;
  }
  .cart-fab{
    left:12px;
    right:82px;
    bottom:12px;
    width:auto;
    justify-content:flex-start;
    min-height:54px;
    padding:10px 14px;
  }
  .floating-wa{
    right:12px !important;
    bottom:12px !important;
    width:54px !important;
    height:54px !important;
  }
  .floating-wa svg{
    width:28px !important;
    height:28px !important;
  }
  .cart-item-controls{
    grid-template-columns:1fr;
  }
  .cart-item-subtotal-wrap{
    justify-items:start;
  }
}

@media (max-width: 560px){
  .floating-cart{
    height:min(76vh, 560px);
    border-radius:20px 20px 18px 18px;
  }
  .floating-cart-head{
    align-items:center;
  }
  .floating-cart .section-title{
    font-size:1rem;
  }
  .floating-cart .section-text{
    display:none;
  }
  .floating-cart-actions-head{
    display:flex;
    gap:8px;
    align-items:center;
  }
  .cart-count-badge{
    padding:7px 10px;
    font-size:.74rem;
  }
  .cart-toggle-btn{
    min-height:36px;
    padding:8px 12px;
  }
  .catalog-toolbar-actions{
    grid-template-columns:1fr;
  }
  .cart-item{
    gap:10px;
    padding:10px;
  }
  .cart-item-media{
    width:60px;
    height:60px;
  }
}


/* v12 - mobile filters free scroll + clearer qty control */
.qty-control{
  grid-template-columns:44px minmax(64px, 84px) 44px !important;
  justify-content:center;
  gap:8px;
  padding:6px;
  background:rgba(255,255,255,.04) !important;
}
.qty-btn{
  min-height:40px;
  border:1px solid rgba(255,255,255,.10);
  background:#23242a !important;
}
.qty-input{
  min-height:40px;
  padding:0 8px;
  border-radius:10px;
  background:#0f1013 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  color:#ffffff !important;
  font-size:1rem !important;
  font-weight:800 !important;
}
.card-actions.has-marketplace,
.card-actions.no-marketplace{
  grid-template-columns:1fr !important;
}
.card-actions .qty-control,
.card-actions .add-cart-btn,
.card-actions .btn-primary{
  grid-column:1 / -1 !important;
}
.add-cart-btn{
  width:100%;
}
@media (max-width: 720px){
  .topbar{
    position:static !important;
    top:auto !important;
  }
  .toolbar{
    position:static !important;
  }
  .controls{
    grid-template-columns:1fr !important;
  }
}


/* v13 - cleaner cart header and qty row */
.floating-cart-head{
  position:relative !important;
  padding-right:112px;
  margin-bottom:10px;
}
.floating-cart-heading-copy{
  min-width:0;
}
.cart-toggle-btn-top{
  position:absolute;
  top:0;
  right:0;
  min-width:auto;
}
.cart-items-total-text{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.9rem;
  font-weight:600;
}
.cart-summary{
  margin-top:0;
}
.cart-item-controls{
  grid-template-columns:88px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.cart-item-controls .qty-control{
  grid-template-columns:28px 1fr 28px !important;
  min-height:34px;
  gap:4px;
  padding:3px;
  width:88px;
  justify-self:start;
  border-radius:10px;
}
.cart-item-controls .qty-btn{
  min-height:26px;
  min-width:26px;
  font-size:.95rem;
  border-radius:7px;
  padding:0;
}
.cart-item-controls .qty-input{
  min-height:26px;
  height:26px;
  padding:0 4px;
  font-size:.9rem !important;
  border-radius:7px;
}
.cart-item-subtotal-wrap{
  justify-items:end;
  min-width:0;
}
.cart-item-subtotal,
.cart-old-price{
  text-align:right;
}
@media (max-width: 900px){
  .floating-cart-head{
    padding-right:104px;
  }
}
@media (max-width: 560px){
  .floating-cart-head{
    padding-right:98px;
  }
  .cart-item-controls{
    grid-template-columns:80px 1fr;
    align-items:start;
  }
  .cart-item-controls .qty-control{
    width:80px;
  }
  .cart-item-subtotal-wrap{
    justify-items:start;
    text-align:left;
  }
  .cart-item-subtotal,
  .cart-old-price{
    text-align:left;
  }
  .cart-item-controls .btn-danger{
    grid-column:1 / -1;
  }
}

.floating-cart .cart-count-badge{display:none !important;}


/* v16 - robust cart qty controls */
.cart-item-controls{display:flex !important; align-items:center; gap:10px; flex-wrap:wrap; justify-content:space-between; grid-column:1 / -1; min-width:0;}
.cart-item-controls .qty-control{display:grid; grid-template-columns:26px 42px 26px !important; align-items:center; gap:4px; padding:3px; width:auto !important; min-width:102px; min-height:auto; border-radius:10px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); overflow:visible;}
.cart-item-controls .qty-btn{display:inline-flex; align-items:center; justify-content:center; width:26px; min-width:26px; height:26px; min-height:26px; padding:0; border-radius:8px; border:1px solid rgba(255,255,255,.1); background:#23242a !important; color:#fff; font-size:14px; line-height:1; cursor:pointer; appearance:none; -webkit-appearance:none;}
.cart-item-controls .qty-btn:hover{background:#2b2d34 !important;}
.cart-item-controls .qty-input{width:42px; min-width:42px; height:26px; min-height:26px; padding:0; border-radius:8px; border:1px solid rgba(255,255,255,.12) !important; background:#111317 !important; color:#fff !important; text-align:center; font-size:.92rem !important; font-weight:800 !important;}
.cart-item-subtotal-wrap{margin-left:auto; justify-items:end;}
.cart-item-controls .btn-danger{margin-left:auto;}
@media (max-width: 900px){
  .cart-item-controls{display:grid !important; grid-template-columns:1fr auto; align-items:center;}
  .cart-item-controls .qty-control{justify-self:start;}
  .cart-item-subtotal-wrap{margin-left:0; justify-items:end;}
  .cart-item-controls .btn-danger{grid-column:1 / -1; width:100%; margin-left:0;}
}
@media (max-width: 560px){
  .cart-item-controls{grid-template-columns:1fr; align-items:stretch;}
  .cart-item-controls .qty-control{justify-self:start;}
  .cart-item-subtotal-wrap{justify-items:start;}
}
