:root{
  --red:#D32F2F;
  --bg:#F6F7FB;
  --text:#111;
  --muted:#666;
  --vvh:100svh;
  --safe-top:env(safe-area-inset-top, 0px);
  --safe-right:env(safe-area-inset-right, 0px);
  --safe-bottom:env(safe-area-inset-bottom, 0px);
  --safe-left:env(safe-area-inset-left, 0px);
  --cart-ok-start:#dcfce7;
  --cart-ok-end:#bbf7d0;
  --cart-ok-border:rgba(34,197,94,.42);
  --cart-ok-text:#166534;
  --cart-ok-shadow:0 12px 24px rgba(34,197,94,.22);
  --shadow-soft:0 8px 20px rgba(0,0,0,.08);
  --shadow-strong:0 10px 30px rgba(0,0,0,.15);
  --glass-bg:rgba(255,255,255,.78);
  --glass-border:rgba(211,47,47,.18);
  --glass-shadow:0 12px 24px rgba(211,47,47,.18);
  --glass-text:#b42318;
}
*{box-sizing:border-box}
html{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;
  background:var(--bg);
  color:var(--text);
  padding-bottom:calc(140px + var(--safe-bottom));        /* ⬅️ чтобы контент не залезал под бар */
  overscroll-behavior: none;   /* ⬅️ фикс дерганий */
  -webkit-text-size-adjust:100%;
  padding-top:0;
  padding-left:var(--safe-left);
  padding-right:var(--safe-right);
}
input,
textarea,
select,
button{
  touch-action:manipulation;
}
a,
button,
input,
textarea,
select,
summary,
[role="button"]{
  -webkit-tap-highlight-color:transparent;
  outline:none;
}
body.low-spec{
  --shadow-soft:none;
  --shadow-strong:none;
}
body.low-spec .modal-box::before{
  display:none !important;
}
body.low-spec .card,
body.low-spec .modal-box,
body.low-spec .product-media,
body.low-spec .product-desc,
body.low-spec .search-suggest,
body.low-spec .fav-footer{
  box-shadow:none !important;
}
body.low-spec header,
body.low-spec header::before,
body.low-spec .app-bar,
body.low-spec .brand-chip,
body.low-spec .search-row input,
body.low-spec .search-row button,
body.low-spec .clear-search-btn,
body.low-spec .contact-card,
body.low-spec .order-box,
body.low-spec .fav-item,
body.low-spec .trk-result,
body.low-spec .trk-meta-card{
  box-shadow:none !important;
  backdrop-filter:none !important;
}
body.low-spec .modal{
  backdrop-filter:none !important;
}
body.low-spec .carousel-arrow,
body.low-spec .carousel-count,
body.low-spec .carousel-zoom{
  backdrop-filter:none !important;
}
body.low-spec .carousel{
  backdrop-filter:none !important;
}
body.low-spec .card,
body.low-spec .carousel-track,
body.low-spec .product-action-btn,
body.low-spec .app-btn,
body.low-spec .icon-wrap,
body.low-spec .toast{
  transition:none !important;
  animation:none !important;
}
img{max-width:100%;height:auto}

/* контейнер для узких экранов */
.header-inner,.grid{
  width:min(1200px,100%);
}

/* HEADER */
header{
  position:sticky;
  top:0;
  z-index:40;
  padding:calc(10px + var(--safe-top)) 10px 12px;
  border-bottom:1px solid rgba(211,47,47,.18);
  background:linear-gradient(135deg, rgba(255,91,71,.98) 0%, rgba(255,124,40,.98) 60%, rgba(255,69,93,.98) 100%);
  box-shadow:0 16px 36px rgba(162,38,24,.24);
  transition:background .28s ease, box-shadow .28s ease, padding .28s ease;
}
header::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:calc(-1 * env(safe-area-inset-top));
  height:calc(100% + env(safe-area-inset-top));
  z-index:-1;
  background:
    radial-gradient(900px 280px at 85% -40%, rgba(255,255,255,.14), transparent 60%),
    radial-gradient(760px 220px at 12% -50%, rgba(255,211,171,.18), transparent 58%),
    linear-gradient(180deg, rgba(255,118,74,.95) 0%, rgba(255,73,63,.92) 100%);
}
header.header--compact{
  padding-top:8px;
  padding-bottom:8px;
  background:linear-gradient(135deg, rgba(255,91,71,.98) 0%, rgba(255,124,40,.98) 60%, rgba(255,69,93,.98) 100%);
  box-shadow:0 14px 30px rgba(162,38,24,.20);
}
header.header--compact .header-inner{
  gap:6px;
}
header.header--compact::before{
  opacity:1;
}
.header-inner{
  max-width:1200px;
  margin:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.brand-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:68px;
  padding:12px 16px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  overflow:hidden;
  max-height:120px;
  transition:
    transform .34s ease,
    opacity .26s ease,
    max-height .34s ease,
    padding .34s ease,
    margin .34s ease,
    border-color .34s ease;
}
.brand-row.brand-row--hidden{
  transform:translateY(-14px);
  opacity:0;
  min-height:0;
  max-height:0;
  padding-top:0;
  padding-bottom:0;
  margin-bottom:-6px;
  border-color:transparent;
  pointer-events:none;
}
.brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  min-width:0;
  position:relative;
  padding-left:14px;
}
.brand::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  bottom:2px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(211,47,47,.95) 0%, rgba(255,107,107,.95) 100%);
  box-shadow:0 8px 16px rgba(211,47,47,.25);
}
.brand-text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.brand-title{
  font-size:21px;
  font-weight:900;
  color:var(--red);
  letter-spacing:.25px;
  white-space:normal;
  line-height:1.1;
}
    .brand-sub{
      font-size:12px;
      color:#6b7280;
      font-weight:700;
      line-height:1.2;
      max-width:340px;
    }
    @media (max-width:768px){
      .brand-title{
        font-size:18px;
      }
      .brand-sub{
        font-size:11px;
      }
    }
.brand-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.brand-chip{
  border:1px solid rgba(211,47,47,.16);
  background:rgba(255,255,255,.78);
  color:#b42318;
  font-size:11.5px;
  font-weight:900;
  padding:7px 12px;
  border-radius:999px;
  white-space:nowrap;
  box-shadow:0 10px 20px rgba(211,47,47,.16);
  backdrop-filter: blur(10px) saturate(1.2);
  pointer-events:none;
  user-select:none;
}
    .brand-chip.accent{
      background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
      border-color:rgba(211,47,47,.45);
      color:#fff;
      box-shadow:0 12px 24px rgba(211,47,47,.28);
    }
    @media (max-width:768px){
      .brand-row{
        padding:8px 0;
      }
    }
.brand-chip.ghost{
  background:rgba(255,255,255,.78);
  border-color:rgba(211,47,47,.18);
  color:#b42318;
}
.search-row{
  display:flex;
  gap:6px;
  position:relative;
  z-index:28;
  padding:0;
  background:transparent;
  box-shadow:none;
}
.search-row input{
  flex:1;
  padding:11px 12px;
  border-radius:14px;
  border:1px solid rgba(211,47,47,.22);
  font-size:16px; /* чтобы iOS Safari не зумил */
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 18px rgba(211,47,47,.08);
  backdrop-filter: blur(6px);
}
.search-row button{
  padding:11px 16px;
  border:1px solid rgba(211,47,47,.45);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 24px rgba(211,47,47,.28);
  backdrop-filter: blur(10px) saturate(1.2);
}
.search-row button:active{
  transform:scale(.98);
}
.search-wrap{
  position:relative;
  flex:1;
}

.search-wrap input{
  width:100%;
  padding-right:36px; /* место под крестик */
}

.search-suggest{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  margin-top:6px;
  background:rgba(255,255,255,.94);
  border-radius:14px;
  box-shadow:0 16px 32px rgba(0,0,0,.12);
  border:1px solid rgba(211,47,47,.18);
  backdrop-filter: blur(6px) saturate(1.1);
  z-index:10020;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  max-height:min(calc(var(--vvh, 100svh) - 190px), 460px);
  padding-bottom:max(6px, env(safe-area-inset-bottom));
  display:none;
}
.suggest-item{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  cursor:pointer;
}
.search-history-head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.search-history-title{
  font-size:12px;
  font-weight:800;
  color:#69758c;
  letter-spacing:.2px;
  text-transform:uppercase;
}
.search-history-clear{
  border:1px solid rgba(211,47,47,.2);
  background:#fff;
  color:#b43a1f;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:700;
  line-height:1;
}
.suggest-item.history-head{
  cursor:default;
  background:rgba(249,250,252,.85);
}
.suggest-item.history-item .suggest-main{
  gap:8px;
}
.suggest-item.history-item .suggest-main::before{
  content:"";
  width:20px;
  height:20px;
  flex:0 0 20px;
  border-radius:999px;
  background:linear-gradient(135deg, #eef2f8 0%, #e2e8f2 100%);
  box-shadow:inset 0 0 0 1px #dbe3f0;
}
.suggest-item.history-item .suggest-title{
  font-size:14px;
  font-weight:600;
  color:#253049;
  line-height:1.28;
  -webkit-line-clamp:1;
}
.suggest-item + .suggest-item{
  border-top:1px solid #f0f0f0;
}
.suggest-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  flex:1;
}
.suggest-main img{
  width:44px;
  height:44px;
  border-radius:10px;
  object-fit:cover;
}
.suggest-text{
  min-width:0;
}
.suggest-title{
  font-size:13px;
  font-weight:700;
  color:#222;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.suggest-price{
  font-size:12px;
  color:var(--red);
  font-weight:900;
}
.suggest-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.suggest-btn{
  min-height:32px;
  border-radius:10px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  padding:6px 10px;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.suggest-btn.primary{
  border-color:rgba(211,47,47,.45);
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  color:#fff;
}
.suggest-btn.in-cart{
  border-color:var(--cart-ok-border);
  background:linear-gradient(135deg, var(--cart-ok-start) 0%, var(--cart-ok-end) 100%);
  color:var(--cart-ok-text);
  box-shadow:0 10px 20px rgba(34,197,94,.18);
}
.suggest-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.suggest-item.more{
  position:sticky;
  bottom:0;
  background:#fff7f7;
}
.search-state{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 4px 0;
}
.search-state-text{
  font-size:12px;
  font-weight:700;
  color:#555;
}
.search-reset-btn{
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}
.save-reminder{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(211,47,47,.14);
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(8px) saturate(1.08);
}
.save-reminder-text{
  flex:1;
  min-width:0;
  font-size:12.5px;
  color:var(--text);
  font-weight:600;
  line-height:1.35;
}
.save-reminder-btn{
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
  white-space:nowrap;
  flex-shrink:0;
  cursor:pointer;
}
.recent-wrap{
  max-width:1200px;
  margin:8px auto 0;
  padding:0 12px;
}
.recent-shell{
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(255,126,72,.10), transparent 52%),
    linear-gradient(145deg, rgba(255,255,255,.98) 0%, rgba(255,247,243,.94) 100%);
  border:1px solid rgba(211,47,47,.10);
  border-radius:20px;
  box-shadow:0 16px 34px rgba(15,23,42,.08);
  backdrop-filter: blur(10px) saturate(1.15);
  padding:12px;
}
.recent-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
  padding:2px 2px 10px;
  border-bottom:1px solid rgba(233,237,245,.9);
}
.recent-title{
  font-size:13px;
  font-weight:900;
  color:#26324a;
  letter-spacing:.34px;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.recent-title::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg, #ff6a00 0%, #ff2f4d 100%);
  box-shadow:0 0 0 6px rgba(255,106,0,.10);
}
.recent-clear-btn{
  border:1px solid rgba(216,74,21,.14);
  background:rgba(255,255,255,.9);
  color:#c34416;
  border-radius:999px;
  padding:6px 11px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
  backdrop-filter: blur(10px) saturate(1.2);
}
.recent-list{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding-bottom:2px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.recent-list::-webkit-scrollbar{
  height:0;
  display:none;
}
.recent-list::-webkit-scrollbar-thumb{
  background:transparent;
  border-radius:999px;
}
.recent-card{
  appearance:none;
  text-align:left;
  cursor:pointer;
  font:inherit;
  min-width:162px;
  max-width:162px;
  border:1px solid #eceff5;
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
  padding:8px;
  display:flex;
  flex-direction:row;
  gap:9px;
  align-items:center;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.recent-card:hover{
  transform:translateY(-2px);
  border-color:#ffd8ca;
  box-shadow:0 16px 28px rgba(15,23,42,.10);
}
.recent-thumb{
  position:relative;
  display:block;
  width:40px;
  height:40px;
  flex:0 0 40px;
  aspect-ratio:auto;
  border-radius:10px;
  overflow:hidden;
  background:linear-gradient(145deg,#fff 0%,#fff2ec 100%);
  border:1px solid #f1e6e0;
}
.recent-thumb img{
  width:100%;
  height:100%;
  border-radius:inherit;
  object-fit:cover;
  border:none;
}
.recent-card-meta{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.recent-card-title{
  display:block;
  font-size:12.5px;
  font-weight:800;
  color:#1f2937;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.recent-card-price{
  display:block;
  margin-top:1px;
  font-size:11px;
  color:var(--red);
  font-weight:900;
}
.category-wrap{
  width:100%;
  margin:6px 0 0;
  padding:0;
}
.category-list{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  padding:2px 0 2px;
  touch-action:pan-x;
}
.category-list::-webkit-scrollbar{
  display:none;
}
.category-chip{
  appearance:none;
  font:inherit;
  cursor:pointer;
  border:1px solid rgba(211,47,47,.2);
  background:#fff;
  color:#33415f;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:6px;
  scroll-snap-align:start;
  box-shadow:var(--shadow-soft);
}
.category-chip-count{
  font-size:11px;
  font-weight:800;
  color:#74809a;
}
.category-chip.active{
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  border-color:rgba(211,47,47,.45);
  color:#fff;
}
.category-chip.active .category-chip-count{
  color:rgba(255,255,255,.88);
}

.search-clear{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  font-size:18px;
  color:#999;
  cursor:pointer;
  display:none;
  user-select:none;
}

.search-clear:hover{
  color:#333;
}
/* GRID */
.grid{
  max-width:1200px;
  margin:auto;
  padding:12px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
}
.catalog-loadmore{
  max-width:1200px;
  margin:0 auto 12px;
  padding:0 12px 6px;
  display:none;
  justify-content:center;
}
.catalog-loadmore.show{
  display:flex;
}
.catalog-loadmore-btn{
  min-width:220px;
  min-height:50px;
  padding:12px 18px;
  border:none;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:linear-gradient(135deg, rgba(255,95,64,.98) 0%, rgba(255,132,48,.98) 100%);
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.15px;
  box-shadow:0 16px 28px rgba(211,47,47,.24);
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.catalog-loadmore-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(211,47,47,.28);
}
.catalog-loadmore-btn:active{
  transform:translateY(1px);
}
.catalog-loadmore-btn:disabled{
  opacity:.82;
  cursor:default;
}
.catalog-loadmore-spinner{
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.28);
  border-top-color:#fff;
  animation:catalog-loadmore-spin .9s linear infinite;
  display:none;
}
.catalog-loadmore-btn.loading .catalog-loadmore-spinner{
  display:inline-flex;
}
.catalog-loadmore-btn.loading .catalog-loadmore-label{
  opacity:.96;
}
@keyframes catalog-loadmore-spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

/* CARD */
.card{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  border:1px solid #e9edf3;
  border-radius:20px;
  box-shadow:0 12px 26px rgba(15,23,42,.08);
  overflow:hidden;

  display:flex;
  flex-direction:column;
  height:100%;
  opacity:1;
  transform:translateY(0);
  transition:
    box-shadow .22s ease,
    border-color .22s ease;
}
.card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, #ff7a7a 0%, #d32f2f 55%, #ff9f43 100%);
  opacity:.95;
  pointer-events:none;
  z-index:1;
}
@media (hover:hover){
  .card:hover{
    transform:translateY(-2px);
    border-color:#e0e6ee;
    box-shadow:0 16px 32px rgba(15,23,42,.12);
  }
}
.card.sold .thumb img{
  filter:grayscale(1) blur(1px);
  opacity:.55;
}
.card.sold .info{
  opacity:.75;
}
.card.sold{
  border-color:#d7dde6;
  background:linear-gradient(180deg,#f2f4f8 0%,#e9edf4 100%);
}
.card.sold .thumb::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(0,0,0,.04) 100%),
    repeating-linear-gradient(-45deg, rgba(86,96,118,.06) 0 7px, rgba(255,255,255,0) 7px 14px);
  z-index:1;
}
.card.sold .title{
  color:#4b5568;
}
.card.sold .price{
  color:#6f7b90;
}
.card.sold .card-quick-chip{
  border-color:#d6dce7;
  background:#eef2f8;
  color:#5f6d84;
}
.card.sold .fav-btn{
  border-color:#d4dbe7;
  background:#eef2f7;
  color:#8a97ab;
}
.sold-badge{
  position:absolute;
  bottom:10px;
  left:10px;
  background:#111827;
  color:#fff;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.3px;
  padding:6px 10px;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(17,24,39,.35);
  z-index:3;
  pointer-events:none;
}
.low-badge{
  position:absolute;
  bottom:10px;
  right:10px;
  background:#fff7ed;
  border:1px solid #fdba74;
  color:#c2410c;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.3px;
  padding:6px 10px;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(251,146,60,.28);
  z-index:3;
  pointer-events:none;
}
.fav-hero{
  background:linear-gradient(135deg, #fff 0%, #fff5f5 100%);
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #f2dede;
  margin-bottom:10px;
}
.fav-hero-title{
  font-size:16px;
  font-weight:900;
  margin:0;
  color:var(--text);
  letter-spacing:.2px;
}
.fav-hero-sub{
  margin:6px 0 0;
  font-size:12.5px;
  color:var(--text);
  font-weight:600;
}
.cart-reminder{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(211,47,47,.14);
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(10px) saturate(1.1);
  margin-bottom:10px;
}
.cart-reminder-text{
  font-size:12.5px;
  color:var(--text);
  font-weight:600;
  line-height:1.35;
}
.cart-reminder-btn{
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
  white-space:nowrap;
}
/* image wrapper for catalog cards */
.card .thumb{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:0;
}

.card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  cursor:pointer;
  transform:translateZ(0);
  transition:transform .22s ease, filter .2s ease;
}
@media (hover:hover){
  .card .thumb:hover img{
    transform:scale(1.04);
  }
}
.info{
  padding:12px 12px 14px;
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:136px;
}

.fav-btn{
  margin-top:auto;
}
.info{padding:12px 12px 14px}
.title{
  font-size:14.5px;
  font-weight:700;
  line-height:1.35;
  color:#1f2937;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.7em;
}
.card-meta{
  font-size:11.5px;
  color:#6b7280;
  margin-top:6px;
  min-height:16px;
}
.price{
  color:var(--red);
  font-size:19px;
  line-height:1;
  font-weight:900;
  margin:0;
}

/* FAVORITE BUTTON */
.fav-btn{
  width:100%;
  margin-top:10px;
  padding:11px 10px;
  border-radius:14px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
  transition:
    background .16s ease,
    color .16s ease,
    box-shadow .16s ease,
    transform .1s ease;
}
.fav-btn.active{
  background:linear-gradient(135deg, var(--cart-ok-start) 0%, var(--cart-ok-end) 100%);
  border-color:var(--cart-ok-border);
  color:var(--cart-ok-text);
  box-shadow:var(--cart-ok-shadow);
}
.fav-btn:active{
  transform:scale(.98);
}
.fav-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
  border-color:#ddd;
  color:#777;
  box-shadow:none;
}

/* MODALS */
.modal{
  position:fixed;
  inset:0;
  background:rgba(14,14,18,.42);
  backdrop-filter: blur(6px) saturate(1.05);

  display:none;
  align-items:center;
  justify-content:center;

  padding:12px;
  z-index:100;
}
.info-modal .modal-box{
  max-width:560px;
}
.info-hero{
  background:linear-gradient(135deg, rgba(255,255,255,.92) 0%, rgba(255,245,245,.92) 100%);
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(211,47,47,.14);
  margin-bottom:10px;
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(8px) saturate(1.1);
}
.info-hero h3{
  margin:0;
  font-size:18px;
  font-weight:900;
  color:var(--text);
  letter-spacing:.2px;
}
.info-hero p{
  margin:6px 0 0;
  color:var(--text);
  font-size:13.5px;
  font-weight:600;
}
.info-step{
  background:rgba(255,255,255,.86);
  border-radius:16px;
  padding:12px 14px;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(211,47,47,.10);
  backdrop-filter: blur(8px) saturate(1.1);
  margin-bottom:12px;
}
.info-step-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:900;
  color:var(--text);
  letter-spacing:.2px;
  margin-bottom:6px;
}
.info-pill{
  background:var(--red);
  color:#fff;
  font-size:12px;
  font-weight:900;
  padding:4px 8px;
  border-radius:999px;
}
.modal-box{
  position:relative;
  isolation:isolate;
  background:rgba(255,255,255,.72);
  backdrop-filter: blur(16px) saturate(1.2);
  border:1px solid rgba(211,47,47,.18);
  width:100%;
  max-width:520px;

  max-height:calc(100svh - 120px);
  max-height:calc(100dvh - 120px);
  margin-bottom:88px;

  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.20);

  display:flex;
  flex-direction:column;
}
.modal-box::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(120% 60% at 10% 0%, rgba(255,255,255,.75), rgba(255,255,255,0) 55%),
    linear-gradient(135deg, rgba(255,255,255,.25), rgba(255,255,255,0) 40%);
  pointer-events:none;
  z-index:0;
}
.modal-box > *{
  position:relative;
  z-index:1;
}

.modal-header{
  position:relative;
  flex-shrink:0;

  padding:12px 52px 12px 16px;
  background:rgba(255,255,255,.68);
  border-bottom:1px solid rgba(211,47,47,.14);
  display:flex;
  align-items:center;
  gap:8px;
}
.modal-header span{
  font-weight:900;
  color:var(--text);
  letter-spacing:.2px;
}

.notice-hero{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(24,34,53,.08);
  background:rgba(255,255,255,.94);
}
.notice-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, #23b26d 0%, #109a66 100%);
  box-shadow:0 16px 34px rgba(16,154,102,.30);
  position:relative;
  overflow:hidden;
}
.notice-icon.success{
  border:2px solid rgba(255,255,255,.45);
}
.notice-icon.success::before{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.28);
}
.notice-icon.success::after{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,.45) 50%, transparent 65%);
  transform:translateX(-110%) rotate(10deg);
  animation:success-sheen 1.8s ease .25s forwards;
}
.notice-icon.success svg{
  width:30px;
  height:30px;
  overflow:visible;
  position:relative;
  z-index:1;
}
.notice-icon.success .success-circle{
  fill:none;
  stroke:rgba(255,255,255,.34);
  stroke-width:2;
}
.notice-icon.success .success-check{
  fill:none;
  stroke:#fff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:22;
  stroke-dashoffset:22;
  animation:success-check 1.15s cubic-bezier(.22,1,.36,1) .22s forwards;
}

.notice-modal .confirm-text{
  margin:0;
  font-size:15px;
  font-weight:700;
  line-height:1.5;
  color:#1c2340;
  min-width:0;
  align-self:center;
}

@keyframes success-check{
  0%{stroke-dashoffset:22;}
  55%{stroke-dashoffset:6;}
  100%{stroke-dashoffset:0;}
}
@keyframes success-sheen{
  0%{transform:translateX(-110%) rotate(10deg);}
  100%{transform:translateX(110%) rotate(10deg);}
}

.modal-body{
  padding:14px 16px 24px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  flex:1;
  background:rgba(255,255,255,.45);
  color:var(--text);
  font-weight:600;
  letter-spacing:.1px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.modal-body::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

/* PRODUCT MODAL */
.product-modal .modal-box{
  max-width:560px;
}
.product-modal .modal-header{
  border-bottom:none;
  padding:12px 52px 8px 16px;
}
#prodTitle{
  flex:1;
  min-width:0;
}
.product-modal-title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  line-height:1.25;
  max-width:100%;
}
.product-media{
  position:relative;
  background:transparent;
  border-radius:20px;
  padding:0;
  border:1px solid transparent;
  backdrop-filter:none;
  box-shadow:none;
}
.product-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
  flex-wrap:wrap;
}
.product-chip{
  font-size:12px;
  font-weight:800;
  color:var(--glass-text);
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  padding:6px 10px;
  border-radius:999px;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}
.product-title{
  font-size:20px;
  font-weight:900;
  line-height:1.35;
  margin-top:10px;
  margin-bottom:6px;
  color:var(--text);
}
.product-price-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
.product-desc{
  background:rgba(255,255,255,.86);
  border-radius:14px;
  padding:12px 14px;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(211,47,47,.12);
  backdrop-filter: blur(10px) saturate(1.1);

  font-size:14.5px;
  line-height:1.6;
  color:var(--text);
  font-weight:600;

  margin-bottom:14px;
}
.product-layout{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.product-gallery-col,
.product-info-col{
  min-width:0;
}
.product-info-shell{
  display:flex;
  flex-direction:column;
}
@media (min-width:900px){
  .product-modal.desktop-layout{
    align-items:flex-end;
    padding:1px calc(1px + var(--safe-right)) 1px calc(1px + var(--safe-left));
  }
  .product-modal.desktop-layout .modal-box{
    width:min(1480px, calc(100vw - 2px - var(--safe-left) - var(--safe-right)));
    max-width:none;
    max-height:calc(100dvh - 2px - var(--safe-bottom) - var(--safe-top));
    margin-bottom:0;
    border-radius:26px 26px 24px 24px;
  }
  .product-modal.desktop-layout .modal-header{
    padding:16px 62px 14px 22px;
  }
  .product-modal.desktop-layout .modal-body{
    padding:20px 22px 28px;
    overflow-y:auto;
  }
  .product-modal.desktop-layout .product-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.08fr) minmax(360px, .92fr);
    gap:24px;
    align-items:start;
  }
  .product-modal.desktop-layout .product-gallery-col{
    position:sticky;
    top:0;
  }
  .product-modal.desktop-layout .product-info-shell{
    padding:18px;
    border-radius:22px;
    border:1px solid rgba(233,237,245,.92);
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(252,252,255,.94) 100%);
    box-shadow:0 14px 26px rgba(15,23,42,.06);
  }
  .product-modal.desktop-layout .product-info-shell .product-meta{
    margin-top:0;
  }
  .product-modal.desktop-layout .product-info-shell .actions{
    margin-top:18px;
    padding-top:6px;
  }
  .product-modal.desktop-layout .product-title{
    font-size:24px;
  }
  .product-modal.desktop-layout .product-price{
    font-size:24px;
  }
  .product-modal.desktop-layout .product-desc{
    font-size:15px;
  }
}
.actions{
  display:flex;
  gap:8px;
  margin-top:16px;
}
.related-block{
  margin-top:20px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(211,47,47,.14);
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(255,126,72,.10), transparent 52%),
    linear-gradient(145deg, rgba(255,255,255,.98) 0%, rgba(255,247,243,.94) 100%);
  box-shadow:0 16px 34px rgba(15,23,42,.08);
  backdrop-filter: blur(10px) saturate(1.08);
}
.related-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  padding:2px 2px 10px;
  border-bottom:1px solid rgba(233,237,245,.9);
}
.related-title{
  font-size:13px;
  font-weight:900;
  color:#26324a;
  letter-spacing:.34px;
  line-height:1.2;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.related-title::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(135deg, #ff6a00 0%, #ff2f4d 100%);
  box-shadow:0 0 0 6px rgba(255,106,0,.10);
}
.related-sub{
  font-size:11.5px;
  font-weight:700;
  color:#6b7280;
  margin-top:5px;
}
.related-list{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 6px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.related-list::-webkit-scrollbar{
  display:none;
  height:0;
}
.related-card{
  min-width:134px;
  max-width:134px;
  border:1px solid rgba(211,47,47,.12);
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
  box-shadow:0 10px 18px rgba(26,36,59,.08);
  padding:9px;
  display:flex;
  flex-direction:column;
  gap:7px;
  text-align:left;
  color:inherit;
  cursor:pointer;
  scroll-snap-align:start;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.related-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 24px rgba(26,36,59,.13);
  border-color:rgba(211,47,47,.22);
}
.related-card:active{
  transform:scale(.98);
}
.related-thumb{
  width:100%;
  aspect-ratio:1/1;
  border-radius:11px;
  overflow:hidden;
  background:linear-gradient(145deg, #fff 0%, #fff5ef 100%);
  border:1px solid #f3e7e7;
  display:flex;
  align-items:center;
  justify-content:center;
}
.related-thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.related-name{
  font-size:12px;
  font-weight:800;
  color:#24314c;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.related-price{
  font-size:13px;
  font-weight:900;
  color:var(--red);
  letter-spacing:.2px;
}
.related-chip{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:3px 7px;
  border-radius:999px;
  background:#fff3ed;
  color:#d84a15;
  font-size:9px;
  font-weight:900;
  letter-spacing:.18px;
}
.close{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);

  width:34px;
  height:34px;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:20px;
  font-weight:900;

  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  color:var(--glass-text);
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);

  cursor:pointer;
  user-select:none;
  z-index:2;

  transition:
    background .15s ease,
    transform .08s ease,
    box-shadow .15s ease;
}

.close:active{
  transform:translateY(-50%) scale(.94);
  box-shadow:0 6px 12px rgba(211,47,47,.22);
}
/* FAVORITES LIST */
.fav-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.fav-tools{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.fav-select-all{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:800;
  color:#444;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(211,47,47,.12);
  padding:6px 10px;
  border-radius:999px;
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(10px) saturate(1.15);
}
.fav-select-all input{
  accent-color:var(--red);
}
.fav-delete-btn{
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  font-weight:900;
  font-size:12px;
  display:none;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}
.fav-clear-selection{
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  font-weight:800;
  font-size:12px;
  display:none;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}

/* CONFIRM DELETE MODAL */
.confirm-text{
  font-size:14px;
  line-height:1.55;
  color:var(--text);
  font-weight:600;
}
.confirm-actions{
  display:flex;
  gap:8px;
  margin-top:16px;
}
.confirm-btn{
  flex:1;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(211,47,47,.45);
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 24px rgba(211,47,47,.26);
  backdrop-filter: blur(10px) saturate(1.2);
}
.confirm-btn.secondary{
  background:var(--glass-bg);
  color:var(--glass-text);
  border-color:var(--glass-border);
  box-shadow:var(--glass-shadow);
}
.fav-count{
  font-size:12px;
  font-weight:800;
  color:var(--text);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(211,47,47,.12);
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(10px) saturate(1.15);
}
.fav-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.fav-item{
  display:grid;
  grid-template-columns:22px 64px 1fr auto;
  grid-template-areas:"check image info remove";
  gap:10px;
  padding:10px;
  align-items:center;
  position:relative;
  border-radius:14px;
  border:1px solid rgba(211,47,47,.10);
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 20px rgba(15,23,42,.08);
  backdrop-filter: blur(10px) saturate(1.1);
  cursor:pointer;
}
@media (hover:hover){
  .fav-item:hover{
    box-shadow:0 12px 24px rgba(15,23,42,.10);
    border-color:#e0e6ee;
  }
}
.fav-item.error{
  border:1px solid var(--red);
  box-shadow:0 8px 20px rgba(211,47,47,.25);
}
.fav-check{
  grid-area:check;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-left:2px;
}
.fav-check input{
  width:18px;
  height:18px;
  accent-color:var(--red);
}
.fav-thumb{
  grid-area:image;
  width:64px;
  height:64px;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eef2f7;
}
.fav-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.fav-info{
  grid-area:info;
  min-width:0;
  padding-right:176px;
}
.fav-title{
  font-size:14px;
  font-weight:700;
  color:var(--text);
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fav-meta{
  font-size:12px;
  color:var(--text);
  font-weight:600;
  margin-top:4px;
}
.fav-price{
  font-size:14px;
  font-weight:900;
  color:var(--red);
  margin-top:4px;
  line-height:1;
}
.fav-row{
  margin-top:6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.fav-qty{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 6px;
  border-radius:999px;
  border:1px solid rgba(211,47,47,.18);
  background:rgba(255,255,255,.92);
  position:absolute;
  right:56px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
}
.fav-qty-btn{
  width:24px;
  height:24px;
  padding:0;
  border:none;
  border-radius:999px;
  background:rgba(211,47,47,.10);
  color:var(--red);
  font-size:0;
  line-height:0;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  position:relative;
}
.fav-qty-btn::before,
.fav-qty-btn::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  background:currentColor;
  border-radius:999px;
  pointer-events:none;
}
.fav-qty-btn::before{
  width:10px;
  height:2px;
}
.fav-qty-btn::after{
  display:none;
}
.fav-qty-btn.plus::after{
  display:block;
  width:2px;
  height:10px;
}
.fav-qty-btn:disabled{
  opacity:.45;
  cursor:default;
}
.fav-qty-value{
  min-width:16px;
  text-align:center;
  font-size:13px;
  font-weight:900;
  color:var(--text);
}
.fav-subtotal{
  margin-top:5px;
  font-size:12px;
  font-weight:700;
  color:var(--muted);
}
@media (max-width:768px){
  .fav-info{
    padding-right:148px;
  }
  .fav-qty{
    right:46px;
  }
}
@media (max-width:480px){
  .fav-info{
    padding-right:136px;
  }
  .fav-qty{
    right:42px;
  }
}
.remove-btn{
  grid-area:remove;
  justify-self:end;
  align-self:center;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(211,47,47,.16);
  background:rgba(255,255,255,.85);
  color:#b42318;
  font-size:17px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
  backdrop-filter: blur(8px) saturate(1.2);
}
.remove-btn:active{
  transform:scale(.94);
}
.fav-empty{
  display:none;
  text-align:center;
  padding:18px 10px;
  color:var(--text);
  font-weight:700;
}

/* FAVORITES FOOTER */
.fav-footer{
  position:sticky;
  bottom:0;
  margin-top:14px;
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(211,47,47,.12);
  box-shadow:var(--shadow-strong);
  backdrop-filter: blur(12px) saturate(1.2);
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  z-index:2;
}
.fav-summary{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.fav-modal-body{
  padding-bottom:140px;
}
.fav-sum{
  font-weight:900;
  font-size:16px;
}
.ship-calc{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ship-calc-text{
  font-size:12px;
  font-weight:700;
  color:#555;
  line-height:1.3;
}
.ship-calc-track{
  width:100%;
  height:8px;
  border-radius:999px;
  background:#f1f2f4;
  overflow:hidden;
}
.ship-calc-fill{
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #f59e0b 0%, #d32f2f 100%);
  transition:width .25s ease;
}
.ship-calc.done .ship-calc-text{
  color:#0f766e;
}
.ship-calc.done .ship-calc-fill{
  background:linear-gradient(90deg, #10b981 0%, #059669 100%);
}
.fav-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* ORDER FORM */
.order-box{
  margin-top:12px;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(211,47,47,.12);
  box-shadow:var(--shadow-soft);
  backdrop-filter: blur(10px) saturate(1.15);
  scroll-margin-top:12px;
}
.order-title{
  font-weight:900;
  margin-bottom:8px;
  color:var(--text);
}
.order-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:10px;
}
.order-field label{
  font-size:12px;
  font-weight:800;
  color:var(--text);
}
.order-field input{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(211,47,47,.16);
  background:rgba(255,255,255,.85);
  font-size:16px;
}
.order-field textarea{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(211,47,47,.16);
  background:rgba(255,255,255,.85);
  font-size:16px;
  min-height:80px;
  resize:vertical;
}
.order-hint{
  font-size:12px;
  color:var(--text);
  font-weight:600;
  margin-top:4px;
}
.order-btn{
  width:100%;
  padding:12px;
  border-radius:12px;
  border:1px solid rgba(211,47,47,.45);
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 24px rgba(211,47,47,.28);
  backdrop-filter: blur(10px) saturate(1.2);
}
.order-btn:disabled{
  opacity:.6;
}
.order-repeat-btn{
  width:100%;
  margin-top:8px;
  padding:11px;
  border-radius:12px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  font-weight:900;
  display:none;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}
.order-policy{
  margin-top:8px;
  font-size:12px;
  color:var(--text);
  font-weight:600;
  display:flex;
  gap:8px;
  align-items:flex-start;
}
.order-policy input{
  margin-top:2px;
  accent-color:var(--red);
}
.order-policy a{
  color:var(--red);
  text-decoration:none;
  font-weight:800;
}
.order-policy a:hover{
  text-decoration:underline;
}

/* MOBILE корзина */
@media (max-width:480px){
  .fav-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .fav-tools{
    width:100%;
    gap:8px;
  }
  .fav-select-all,
  .fav-delete-btn,
  .fav-clear-selection{
    width:100%;
    justify-content:center;
  }
  .fav-count{
    align-self:flex-start;
  }
  .fav-list{
    gap:8px;
  }
  .fav-item{
    grid-template-columns:22px 56px 1fr auto;
    gap:8px;
    padding:9px;
  }
  .fav-thumb{
    width:56px;
    height:56px;
  }
  .fav-title{
    font-size:13.5px;
  }
  .fav-price{
    font-size:13.5px;
  }
  .fav-footer{
    grid-template-columns:1fr;
  }
  .fav-actions{
    justify-content:flex-start;
  }
  .clear-btn{
    width:100%;
  }
}
.clear-btn{
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  font-weight:900;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}

/* PARAMETERS */
.section{margin-top:14px}
.section-title{font-weight:900;margin-bottom:6px;color:var(--text);letter-spacing:.2px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  padding:6px 12px;
  border-radius:20px;
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.15);
  font-size:13px;
  font-weight:700;
}
.chip.selectable{
  cursor:pointer;
  border:1px solid var(--glass-border);
  user-select:none;
}
.chip.selectable.active{
  border-color:rgba(211,47,47,.45);
  color:#fff;
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  box-shadow:0 10px 20px rgba(211,47,47,.30);
}
.chip.selectable.missing{
  border-color:rgba(220,38,38,.92);
  background:linear-gradient(135deg, rgba(254,242,242,.98) 0%, rgba(255,228,230,.98) 100%);
  color:#b91c1c;
  box-shadow:0 0 0 2px rgba(239,68,68,.20), 0 12px 22px rgba(220,38,38,.18);
  animation:chip-missing-pulse .68s ease-in-out 3;
}
@keyframes chip-missing-pulse{
  0%{transform:translateY(0);box-shadow:0 0 0 0 rgba(239,68,68,0), 0 10px 18px rgba(220,38,38,.10)}
  50%{transform:translateY(-1px) scale(1.02);box-shadow:0 0 0 4px rgba(239,68,68,.12), 0 14px 24px rgba(220,38,38,.20)}
  100%{transform:translateY(0);box-shadow:0 0 0 0 rgba(239,68,68,0), 0 10px 18px rgba(220,38,38,.10)}
}

/* ACTIONS */
.actions{
  display:flex;
  gap:8px;
  margin-top:20px;
}
.share-btn{
  flex:1;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(211,47,47,.45);
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 24px rgba(211,47,47,.26);
  backdrop-filter: blur(10px) saturate(1.2);
}
/* TOAST */
.toast{
  position:fixed;
  bottom:150px;
  left:50%;
  transform:translateX(-50%) translateY(20px);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:auto;
  min-width:0;
  max-width:min(88vw, 280px);
  background:#fff;
  padding:12px 16px;
  border-radius:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  font-weight:800;
  font-size:13px;
  line-height:1.35;
  text-align:center;
  white-space:normal;
  word-break:break-word;
  opacity:0;
  transition:.3s;
  z-index:200;
}
.toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.to-top{
  position:fixed;
  right:calc(16px + var(--safe-right));
  bottom:calc(96px + var(--safe-bottom));
  width:44px;
  height:44px;
  border-radius:50%;
  background:#fff;
  color:#111;
  border:1px solid #eee;
  box-shadow:0 10px 24px rgba(0,0,0,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  z-index:50;
}
.to-top.show{
  opacity:1;
  pointer-events:auto;
  transform:translateY(-4px);
}
@media (max-width:480px){
  .to-top{right:calc(12px + var(--safe-right));bottom:calc(90px + var(--safe-bottom))}
}
.carousel{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;

  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:transparent;
  border:1px solid transparent;
  backdrop-filter:none;
}
.carousel-count{
  position:absolute;
  top:10px;
  right:10px;
  background:rgba(255,255,255,.75);
  color:#111;
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  letter-spacing:.3px;
  backdrop-filter: blur(6px);
  border:1px solid transparent;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
  z-index:2;
}
.carousel-zoom{
  position:absolute;
  top:10px;
  left:10px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid transparent;
  background:rgba(255,255,255,.86);
  color:#a11212;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
  z-index:2;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
}
.carousel-zoom:active{
  transform:scale(.96);
}
.carousel-track{
  display:flex;
  transition:transform .3s ease;
}
.carousel .swiper{
  width:100%;
  height:100%;
}
.carousel .swiper-wrapper{
  align-items:stretch;
}
.carousel .swiper-slide{
  display:flex;
  align-items:center;
  justify-content:center;
}
.carousel img{
  width:100%;
  height:auto;        /* ✅ ВАЖНО */
  max-height:100%;
  flex-shrink:0;
  object-fit:contain;
  background:transparent;
}
.carousel .swiper-pagination{
  position:absolute;
  left:50%;
  bottom:8px;
  width:auto !important;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:6px;
  z-index:2;
}
.carousel .swiper-pagination-bullet{
  width:7px;
  height:7px;
  border-radius:50%;
  margin:0 !important;
  background:rgba(255,255,255,.75);
  border:1px solid transparent;
  opacity:1;
}
.carousel .swiper-pagination-bullet-active{
  background:#fff;
  box-shadow:0 0 0 2px rgba(211,47,47,.28);
}
.carousel-dots{
  position:absolute;
  bottom:8px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:6px;
}
.carousel-dots span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(255,255,255,.75);
  border:1px solid transparent;
}
.carousel-dots .active{
  background:#fff;
  box-shadow:0 0 0 2px rgba(211,47,47,.28);
}
  /* CAROUSEL ARROWS — BOTTOM POSITION */
.carousel-arrow{
  position:absolute;
  bottom:12px;
  top:auto;
  transform:none;

  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.86);
  color:#a11212;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:24px;
  font-weight:900;
  cursor:pointer;
  user-select:none;

  backdrop-filter: blur(8px);
  border:1px solid transparent;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  transition:
    background .2s ease,
    color .2s ease,
    transform .1s ease;
}

/* слева снизу */
.carousel-arrow.left{
  left:12px;
}

/* справа снизу */
.carousel-arrow.right{
  right:12px;
}

/* активное нажатие */
.carousel-arrow:active{
  background:rgba(255,255,255,1);
  color:#7a0c0c;
  transform:scale(.95);
}

/* hover для десктопа */
@media (hover:hover){
  .carousel-arrow:hover{
    background:rgba(255,255,255,1);
    color:#7a0c0c;
  }
  .carousel-zoom:hover{
    background:#fff;
    color:#7a0c0c;
  }
}
/* скрываем стрелки если одно фото */
.carousel.single .carousel-arrow{
  display:none;
}
.carousel.single .carousel-dots{
  display:none;
}

/* PhotoSwipe caption */
.pswp__custom-caption{
  position:absolute;
  left:12px;
  right:12px;
  bottom:14px;
  border-radius:12px;
  background:rgba(0,0,0,.62);
  color:#fff;
  padding:10px 12px;
  backdrop-filter: blur(4px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  pointer-events:none;
}
.pswp__caption-text{
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}
.pswp__caption-index{
  font-size:12px;
  font-weight:900;
  opacity:.95;
  white-space:nowrap;
}
/* PRODUCT PRICE */
.product-price{
  font-size:18px;
  font-weight:900;
  color:var(--red);
}

/* subtle divider */
.product-divider{
  height:1px;
  background:#eee;
  margin:14px 0;
}

/* mobile tweaks */
@media (max-width:640px){
  .product-title{font-size:18px}
  .product-desc{font-size:14px}
}
.product-sku{
  font-size:12.5px;
  font-weight:900;
  color:var(--glass-text);
  letter-spacing:.3px;
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  border-radius:999px;
  padding:6px 10px;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.clear-search-btn{
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--glass-border);
  background:var(--glass-bg);
  color:var(--glass-text);
  font-weight:700;
  cursor:pointer;
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}

.clear-search-btn:active{
  background:rgba(255,255,255,.95);
}
  /* =========================
   APP BOTTOM BAR
========================= */

.app-bar{
  position:fixed;
  left:calc(14px + var(--safe-left));
  right:calc(14px + var(--safe-right));
  bottom:calc(14px + var(--safe-bottom));

  height:72px;
  background:
    radial-gradient(300px 120px at 20% -30%, rgba(211,47,47,.12), transparent 60%),
    radial-gradient(220px 120px at 80% -40%, rgba(255,120,120,.10), transparent 58%),
    rgba(255,255,255,.6);
  border-radius:26px;

  display:flex;
  justify-content:space-around;
  align-items:center;

  box-shadow:0 18px 40px rgba(0,0,0,.18);
  z-index:9999;

  overflow:hidden;
  backdrop-filter: blur(14px) saturate(1.2);
  transition:transform .26s ease, opacity .22s ease;
}
@media (min-width:769px){
  body.modal-open .app-bar{
    opacity:0;
    pointer-events:none;
    transform:translateY(18px);
  }
}

/* кнопка */
.app-btn{
  flex:1;
  height:72px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;

  background:none;
  border:none;
  cursor:pointer;

  -webkit-tap-highlight-color: transparent;
  outline:none;
}

/* убираем фокус-рамку */
.app-btn:focus{outline:none}

/* общее нажатие */
.app-btn:active{
  transform:scale(.96);
}

/* круглая иконка */
.icon-wrap{
  position:relative;          /* 🔥 для счётчика */
  width:44px;
  height:44px;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  background:rgba(255,255,255,.55);
  border:1px solid rgba(226,232,240,.9);
  box-shadow:0 10px 20px rgba(17,24,39,.08);
  backdrop-filter: blur(8px) saturate(1.2);

  transition:
    transform .15s ease,
    box-shadow .15s ease;
}

/* продавливание */
.app-btn:active .icon-wrap{
  transform:scale(.88);
  box-shadow:0 3px 8px rgba(0,0,0,.18);
}

/* SVG */
.icon-wrap svg{
  width:22px;
  height:22px;
  stroke:#374151;
}
.app-btn.active .icon-wrap{
  border-color:rgba(211,47,47,.35);
  box-shadow:0 12px 24px rgba(211,47,47,.25);
  background:rgba(255,255,255,.75);
}
.app-btn.active .icon-wrap svg{
  stroke:#b42318;
}
.app-btn.active .btn-text{
  color:#b42318;
}

/* текст */
.btn-text{
  font-size:11px;
  font-weight:800;
  color:#444;
  line-height:1;
}

/* =========================
   COUNTER (КОРЗИНА)
========================= */

.app-counter{
  position:absolute;
  top:1px;
  right:-6px;

  width:18px;
  height:18px;
  border-radius:50%;

  background:var(--red);
  color:#fff;

  font-size:11px;
  font-weight:900;

  display:none;
  align-items:center;
  justify-content:center;

  box-shadow:0 4px 10px rgba(211,47,47,.45);
}

/* показать */
.app-counter.show{
  display:flex;
}

/* pop-анимация */
.app-counter.bubble{
  animation:counter-pop .35s ease;
}

@keyframes counter-pop{
  0%{transform:scale(1)}
  40%{transform:scale(1.4)}
  70%{transform:scale(.9)}
  100%{transform:scale(1)}
}
  .app-btn{
  text-decoration: none;
}
  .app-btn,
.app-btn:visited,
.app-btn:hover,
.app-btn:active{
  text-decoration: none;
  color: inherit;
}
.product-action-btn{
  flex:1;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(211,47,47,.45);
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  color:#fff;
  font-weight:900;
  font-size:14px;
  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;

  transition:transform .12s ease, box-shadow .12s ease;
  box-shadow:0 12px 24px rgba(211,47,47,.26);
  backdrop-filter: blur(10px) saturate(1.2);
}
.product-cart-btn{
  background:#fff;
  color:var(--red);
  border-color:var(--red);
  box-shadow:0 8px 16px rgba(0,0,0,.10);
}
.product-cart-btn.in-cart{
  background:linear-gradient(135deg, var(--cart-ok-start) 0%, var(--cart-ok-end) 100%);
  border-color:var(--cart-ok-border);
  color:var(--cart-ok-text);
  box-shadow:var(--cart-ok-shadow);
}
.product-cart-btn.in-cart:active{
  box-shadow:0 8px 16px rgba(34,197,94,.20);
}

.product-action-btn:active{
  transform:scale(.97);
  box-shadow:0 6px 14px rgba(211,47,47,.35);
}
.product-action-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
  background:#ddd;
  border-color:#ddd;
  color:#666;
}
  /* блокировка фона при открытой модалке */
body.modal-open{
  overflow:hidden;
  touch-action:none;
  overscroll-behavior:none;
}
html.modal-open{
  overflow:hidden;
  overscroll-behavior:none;
}
body.search-open{
  overflow:hidden;
  overscroll-behavior:none;
}
html.search-open{
  overflow:hidden;
  overscroll-behavior:none;
}
  .modal{
  overscroll-behavior: contain;
}
  /* ===== DOUBLE PRICE ===== */
.price-wrap,
.product-price-wrap{
  margin-top:auto;   /* 🔥 ВОТ ЭТО ГЛАВНОЕ */
  display:flex;
  align-items:flex-end;
  gap:7px;
  padding-top:8px;
}

.old-price{
  font-size:12.5px;
  color:#9ca3af;
  text-decoration:line-through;
  font-weight:700;
  line-height:1;
}
  /* SALE BADGE */
.sale-badge{
  position:absolute;
  top:10px;
  left:10px;
  background:var(--red);
  color:#fff;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.3px;
  padding:6px 10px;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(211,47,47,.35);
  z-index:3;
  pointer-events:none; /* чтобы не мешал кликам */
}

/* =========================
   GLOBAL MOBILE ADAPT
========================= */
@media (max-width:768px){
  body{padding-bottom:calc(120px + var(--safe-bottom))}
  header{padding:8px 8px 10px}
  .header-inner{gap:6px}
  .brand-row{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    padding:10px 12px;
    min-height:58px;
  }
  .brand{
    flex:1 1 auto;
    min-width:0;
  }
  .brand-row.brand-row--hidden{
    min-height:0;
  }
  .brand-meta{
    flex:0 0 auto;
    justify-content:flex-end;
    max-width:40%;
  }
  .brand-title{
    font-size:18px;
    line-height:1.04;
  }
  .brand-sub{
    font-size:10.5px;
    max-width:240px;
  }
  .brand-chip{
    padding:6px 9px;
    font-size:10px;
    line-height:1.15;
    text-align:right;
  }
  .search-row{flex-direction:column}
  .search-row button,.clear-search-btn{width:100%}
  .search-suggest{max-height:calc(var(--vvh, 100svh) - 240px)}
  .suggest-item{
    align-items:flex-start;
  }
  .suggest-actions{
    flex-direction:column;
  }
  .suggest-btn{
    min-width:78px;
  }
  .recent-wrap{
    padding:0 10px;
  }
  .recent-card{
    min-width:148px;
    max-width:148px;
  }
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card{border-radius:16px}
  .card .thumb{aspect-ratio:1/1}
  .title{font-size:13.5px}
  .price{font-size:17px}
  .fav-btn{padding:9px}
  .modal-box{max-width:100%;margin-bottom:72px;max-height:calc(100dvh - 96px)}
  .modal-body{padding:12px 12px 18px}
  .product-modal{
    align-items:flex-start;
    padding-top:max(8px, env(safe-area-inset-top));
  }
  .product-modal .modal-box{
    margin-bottom:calc(72px + env(safe-area-inset-bottom));
    max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 84px);
  }
  .product-modal .modal-body{
    overscroll-behavior:contain;
    padding-bottom:calc(120px + env(safe-area-inset-bottom));
  }
  .product-title{font-size:17px}
  .product-price{font-size:17px}
  .product-desc{font-size:14px}
  .actions{flex-direction:column}
  .product-action-btn{width:100%}
  .product-info-shell .actions{
    position:relative;
    z-index:5;
    margin-top:18px;
  }
  .product-cart-inline{
    width:100%;
  }
  .app-bar{left:calc(10px + var(--safe-left));right:calc(10px + var(--safe-right));bottom:calc(10px + var(--safe-bottom));height:66px;border-radius:22px}
  .app-btn{height:66px}
  .icon-wrap{width:40px;height:40px}
  .btn-text{font-size:10px}

  body.search-mobile-active header{
    z-index:10030;
    box-shadow:0 12px 26px rgba(173,24,24,.18);
  }
  body.search-mobile-active .search-row{
    position:fixed !important;
    inset:0 !important;
    z-index:10060 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:calc(10px + var(--safe-top)) calc(10px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(10px + var(--safe-left)) !important;
    background:rgba(246,247,251,.98) !important;
    backdrop-filter: blur(12px) saturate(1.05);
  }
  body.search-mobile-active .search-shell{
    grid-template-columns:minmax(0,1fr) 46px auto !important;
    align-items:center !important;
    gap:8px !important;
    padding:6px !important;
    border-radius:18px !important;
    box-shadow:0 12px 26px rgba(15,23,42,.10) !important;
  }
  body.search-mobile-active .search-wrap{
    width:100%;
  }
  body.search-mobile-active .search-wrap input{
    background:#fff;
    box-shadow:none;
  }
  body.search-mobile-active .search-close-mobile{
    display:inline-flex !important;
  }
  body.search-mobile-active .search-suggest{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin-top:0;
    border-radius:18px;
    border-bottom:1px solid rgba(211,47,47,.12);
    box-shadow:0 10px 24px rgba(2,6,23,.08);
    background:linear-gradient(180deg,#fff 0%,#fff7f7 100%);
    padding:8px 0 calc(16px + env(safe-area-inset-bottom));
    overflow:auto !important;
    animation:searchOverlayIn .2s ease;
  }
  @keyframes searchOverlayIn{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
  }
  body.search-mobile-active .suggest-item{
    margin:8px 10px 0;
    padding:10px 10px;
    border:1px solid #e9edf5;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
    align-items:center;
  }
  body.search-mobile-active .suggest-item + .suggest-item{
    border-top:1px solid #e9edf5;
  }
  body.search-mobile-active .suggest-main{
    gap:10px;
  }
  body.search-mobile-active .suggest-main img{
    width:54px;
    height:54px;
    border-radius:12px;
    border:1px solid #edf2f7;
  }
  body.search-mobile-active .suggest-title{
    font-size:14px;
    line-height:1.28;
    font-weight:800;
  }
  body.search-mobile-active .suggest-price{
    font-size:12.5px;
  }
  body.search-mobile-active .suggest-actions{
    flex-direction:row;
    gap:8px;
  }
  body.search-mobile-active .suggest-btn{
    min-height:34px;
    border-radius:10px;
    padding:7px 10px;
  }
  body.search-mobile-active .suggest-item.history-head,
  body.search-mobile-active .suggest-item.history-item{
    margin-top:8px;
  }
  body.search-mobile-active .suggest-item.more{
    position:sticky;
    bottom:0;
    margin:10px 10px 0;
    background:#fff5f5;
    border-color:#ffd8d8;
    box-shadow:0 10px 18px rgba(211,47,47,.16);
  }
}

@media (max-width:480px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
  .brand-title{font-size:17px}
  .search-row input{padding:9px}
  .search-row button,.clear-search-btn{padding:9px}
  .search-suggest{max-height:calc(var(--vvh, 100svh) - 222px)}
  .search-state{flex-wrap:wrap}
  .search-reset-btn{width:100%}
  .title{font-size:12.5px}
  .price{font-size:15px}
  .modal-header{padding:10px 44px 10px 12px}
  .close{width:32px;height:32px;font-size:20px}
  .product-modal .modal-box{
    margin-bottom:calc(66px + env(safe-area-inset-bottom));
    max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 76px);
  }
  .app-bar{left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));height:62px}
  .icon-wrap{width:36px;height:36px}
  .btn-text{font-size:9.5px}
  .save-reminder{
    flex-direction:column;
    align-items:stretch;
  }
  .save-reminder-btn{
    width:100%;
  }
}

/* mobile close for cart */
@media (max-width:480px){
  #favModal .close{
    right:6px;
  }
}

@media (max-width:360px){
  .grid{grid-template-columns:1fr}
  .app-bar{height:58px}
  .app-btn{height:58px}
  .icon-wrap{width:34px;height:34px}
}

/* landscape phones */
@media (max-height:480px) and (orientation:landscape){
  body{padding-bottom:90px}
  .app-bar{height:56px}
  .app-btn{height:56px}
  .icon-wrap{width:34px;height:34px}
  .btn-text{font-size:9px}
  .modal-box{margin-bottom:60px;max-height:calc(100svh - 80px);max-height:calc(100dvh - 80px)}
  .search-suggest{max-height:calc(var(--vvh, 100svh) - 140px)}
}
/* HIT BADGE */
.hit-badge{
  position:absolute;
  top:10px;
  right:10px;
  background:#fff;
  color:var(--red);
  border:1px solid #fecaca;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.3px;
  padding:6px 10px;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(211,47,47,.30);
  z-index:3;
  pointer-events:none;
}
/* TRACK MODAL */
.track-modal-box{
  max-width:680px;
}
.contact-modal .modal-box{
  max-width:520px;
}
.contact-hero{
  background:linear-gradient(135deg, rgba(255,255,255,.95) 0%, rgba(255,245,245,.95) 100%);
  border:1px solid rgba(211,47,47,.14);
  border-radius:16px;
  padding:12px 14px;
  box-shadow:var(--shadow-soft);
  margin-bottom:12px;
}
.contact-hero h3{
  margin:0;
  font-size:16px;
  font-weight:900;
  color:var(--text);
  letter-spacing:.2px;
}
.contact-hero p{
  margin:6px 0 0;
  font-size:12.5px;
  color:var(--text);
  font-weight:600;
}
.contact-list{
  display:grid;
  gap:10px;
}
.contact-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(211,47,47,.12);
  box-shadow:var(--shadow-soft);
  text-decoration:none;
  color:inherit;
  transition:transform .12s ease, box-shadow .12s ease;
}
.contact-card:active{
  transform:scale(.98);
}
.contact-icon{
  width:40px;
  height:40px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(211,47,47,.12);
  color:var(--red);
  font-weight:900;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
}
.contact-icon img{
  width:22px;
  height:22px;
  display:block;
  object-fit:contain;
}
.contact-meta{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.contact-title{
  font-weight:900;
  color:var(--text);
}
.contact-sub{
  font-size:12.5px;
  color:var(--text);
  font-weight:600;
}
.trk-subtitle{
  margin:0 0 10px;
  color:var(--text);
  font-size:14px;
  line-height:1.45;
  font-weight:600;
}
.trk-form-row{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
}
#trkInput{
  width:100%;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:11px 12px;
  background:#fff;
  color:#111;
  font-size:16px;
  text-transform:uppercase;
}
.trk-btn{
  border:1px solid var(--glass-border);
  border-radius:12px;
  padding:11px 14px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  background:var(--glass-bg);
  color:var(--glass-text);
  box-shadow:var(--glass-shadow);
  backdrop-filter: blur(10px) saturate(1.2);
}
.trk-btn-primary{
  background:linear-gradient(135deg, rgba(211,47,47,.96) 0%, rgba(255,107,107,.96) 100%);
  color:#fff;
  border-color:rgba(211,47,47,.45);
  box-shadow:0 12px 24px rgba(211,47,47,.26);
}
.trk-btn-ghost{
  background:var(--glass-bg);
  color:var(--glass-text);
}
.trk-btn-primary:disabled{
  opacity:.7;
  cursor:default;
}
.trk-error{
  margin-top:10px;
  display:none;
  border:1px solid #f6d0d0;
  border-radius:12px;
  background:#fff4f4;
  color:#b42318;
  padding:10px 11px;
  font-size:13px;
  font-weight:800;
}
.trk-loader{
  margin-top:10px;
  display:none;
  align-items:center;
  gap:8px;
  color:var(--text);
  font-size:13px;
  font-weight:700;
}
.trk-loader-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--red);
  animation:trk-pulse 1.2s infinite;
}
@keyframes trk-pulse{
  0%{transform:scale(.8);opacity:.5}
  50%{transform:scale(1.2);opacity:1}
  100%{transform:scale(.8);opacity:.5}
}
.trk-history{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.trk-fallback{
  margin-top:10px;
  display:none;
}
.trk-history-item{
  border:1px solid #ecd6d6;
  background:#fff;
  color:#374151;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.trk-result{
  margin-top:12px;
  display:none;
  border:1px solid #f0dddd;
  border-radius:14px;
  background:#fff;
  padding:11px;
}
.trk-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.trk-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border-radius:999px;
  border:1px solid #f3c8c8;
  background:#fdecec;
  color:#b42318;
  font-size:12px;
  font-weight:900;
  padding:7px 11px;
}
.trk-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid #f0c3c3;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.trk-status-default{background:#fff9f9;color:#9f1239}
.trk-status-moving{background:#fff3ef;color:#b54708;border-color:#f8d6bf}
.trk-status-delivered{background:#eefcf2;color:#067647;border-color:#b7ebc6}
.trk-meta-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.trk-meta-card{
  border:1px solid #f1dada;
  border-radius:12px;
  background:#fff;
  padding:9px;
}
.trk-meta-label{
  margin:0;
  color:var(--text);
  font-size:12px;
  font-weight:700;
}
.trk-meta-value{
  margin:5px 0 0;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}
.trk-link{
  text-decoration:none;
  border:1px solid #f0c3c3;
  border-radius:10px;
  padding:7px 10px;
  background:#fff;
  color:var(--red);
  font-size:12px;
  font-weight:900;
}
.trk-timeline-title{
  margin:13px 0 8px;
  font-size:15px;
  font-weight:900;
}
.trk-timeline{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.trk-item{
  border:1px solid #efe2e2;
  border-radius:12px;
  padding:10px;
  background:#fff;
}
.trk-item-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.trk-time{
  font-size:12px;
  font-weight:800;
  color:#991b1b;
}
.trk-location{
  font-size:12px;
  color:var(--text);
  font-weight:600;
  text-align:right;
}
.trk-message{
  margin:7px 0 0;
  font-size:14px;
  line-height:1.45;
  color:var(--text);
  font-weight:600;
}
.trk-empty{
  border:1px dashed #f0d5d5;
  border-radius:12px;
  padding:12px;
  color:var(--text);
  font-size:13px;
  font-weight:600;
  background:#fffafa;
}
@media (max-width:760px){
  .trk-form-row{grid-template-columns:1fr}
  .trk-btn{width:100%}
  .trk-meta-grid{grid-template-columns:1fr}
  .trk-head{flex-direction:column;align-items:flex-start}
}
/* =========================
   ALI-LIKE REDESIGN LAYER
========================= */
:root{
  --red:#ff3d2e;
  --bg:#f5f7fb;
  --text:#172033;
  --muted:#687289;
  --cart-ok-start:#d7f6df;
  --cart-ok-end:#bff1cf;
  --cart-ok-border:rgba(38,178,96,.36);
  --cart-ok-text:#0f7b43;
  --glass-bg:rgba(255,255,255,.94);
  --glass-border:rgba(255,88,58,.26);
  --glass-shadow:0 10px 24px rgba(255,88,58,.18);
  --glass-text:#c33422;
}
body{
  background:
    radial-gradient(1200px 460px at 85% -190px, rgba(255,125,68,.22), transparent 70%),
    radial-gradient(1000px 380px at 8% -170px, rgba(255,57,57,.16), transparent 72%),
    linear-gradient(180deg, #f8fafc 0%, #f3f6fb 100%);
  color:var(--text);
}
header{
  border-bottom:none;
  padding:8px 10px 8px;
  background:linear-gradient(130deg, rgba(255,64,48,.96) 0%, rgba(255,108,33,.97) 62%, rgba(255,63,121,.96) 100%);
  box-shadow:0 14px 30px rgba(210,41,31,.22);
}
header::before{
  display:none;
}
.header-inner{
  gap:6px;
}
.promo-strip{
  display:flex;
  align-items:center;
  gap:10px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:2px 2px 4px;
}
.promo-strip::-webkit-scrollbar{
  display:none;
}
.promo-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.15px;
  padding:6px 10px;
  white-space:nowrap;
}
.brand-row{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  padding:8px 10px;
  backdrop-filter: blur(10px) saturate(1.15);
}
.brand{
  padding-left:0;
}
.brand::before{
  display:none;
}
.brand-title{
  color:#fff;
  font-size:20px;
  letter-spacing:.3px;
  text-shadow:0 8px 16px rgba(122,15,15,.3);
}
.brand-sub{
  color:rgba(255,255,255,.92);
  font-size:11px;
  font-weight:800;
}
.brand-meta{
  justify-content:flex-end;
}
.brand-chip{
  border-color:rgba(255,255,255,.3);
  background:rgba(255,255,255,.16);
  color:#fff;
  box-shadow:none;
}
.brand-chip.accent{
  background:#fff;
  color:#c5311e;
  border-color:rgba(255,255,255,.55);
  box-shadow:0 10px 20px rgba(125,17,17,.18);
}
.search-row{
  gap:8px;
}
.search-wrap::before{
  content:"⌕";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  font-size:14px;
  font-weight:900;
  color:#b43a2a;
  pointer-events:none;
  z-index:2;
}
.search-wrap input{
  border:1px solid rgba(255,255,255,.56);
  background:rgba(255,255,255,.96);
  color:#1a2237;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(141,25,25,.2);
  padding-left:34px;
}
.search-wrap input::placeholder{
  color:#7d8497;
}
.search-clear{
  color:#8f1830;
}
.search-suggest{
  border:1px solid rgba(255,74,41,.24);
  box-shadow:0 16px 34px rgba(27,34,52,.16);
}
.suggest-item{
  padding:10px 12px;
}
.suggest-item:hover{
  background:#fff7f3;
}
.suggest-btn{
  border:1px solid rgba(255,96,66,.32);
  background:#fff7f3;
  color:#cb3d2e;
  box-shadow:none;
}
.suggest-btn.primary{
  background:linear-gradient(135deg, #ff513a 0%, #ff7a1c 100%);
  border-color:transparent;
  color:#fff;
}
.suggest-btn.in-cart{
  background:linear-gradient(135deg, #daf8e4 0%, #bdf3ce 100%);
  color:#117a46;
  border-color:rgba(17,122,70,.22);
}
.search-state-text{
  color:#fff;
  font-weight:800;
}
.search-reset-btn{
  border-color:rgba(255,255,255,.32);
  background:rgba(255,255,255,.16);
  color:#fff;
  box-shadow:none;
}
.save-reminder{
  border-color:rgba(255,255,255,.32);
  background:rgba(255,255,255,.13);
  box-shadow:none;
  backdrop-filter: blur(8px);
  padding:8px 10px;
  justify-content:space-between;
}
.save-reminder-text{
  color:#fff;
  font-size:12px;
}
.save-reminder-btn{
  border-color:rgba(255,255,255,.35);
  background:#fff;
  color:#ca3f2c;
  box-shadow:none;
}
.recent-shell{
  border:1px solid #ffd2c8;
  background:linear-gradient(180deg, #ffffff 0%, #fff8f3 100%);
  box-shadow:0 12px 24px rgba(229,86,34,.08);
}
.recent-card{
  border:1px solid #f5d8ca;
  background:#fff;
}
.category-wrap{
  margin-top:2px;
}
.category-chip{
  border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.14);
  color:#fff;
  box-shadow:none;
  position:relative;
}
.category-chip-count{
  color:rgba(255,255,255,.84);
}
.category-chip.active{
  border-color:#fff;
  background:#fff;
  color:#c33e2a;
}
.category-chip.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  width:20px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#fff;
}
.category-chip.active .category-chip-count{
  color:#ca5039;
}
.grid{
  gap:12px;
  padding:12px;
}
.card{
  border:1px solid #f0d8cf;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(20,32,62,.08);
  background:#fff;
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:active{
  transform:translateY(1px) scale(.995);
}
.card .thumb{
  background:linear-gradient(180deg, #fff6f1 0%, #fff 100%);
}
.card .thumb::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:44px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.92) 100%);
  pointer-events:none;
}
.card .thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
}
.info{
  padding:11px 11px 12px;
}
.title{
  font-size:13.5px;
  line-height:1.35;
  font-weight:800;
  min-height:38px;
  color:#1d2740;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.price-wrap{
  margin-top:6px;
  gap:6px;
}
.old-price{
  color:#a7adbb;
  font-size:12px;
}
.price{
  margin:0;
  font-size:19px;
  color:#f03c2d;
  font-weight:900;
}
.fav-btn{
  border:1px solid #f3dbd2;
  background:#fff;
  color:#cd4230;
  border-radius:12px;
  box-shadow:0 6px 14px rgba(255,87,52,.11);
}
.fav-btn.active{
  border-color:transparent;
  background:linear-gradient(135deg, #ff4e3d 0%, #ff7f1f 100%);
  color:#fff;
  box-shadow:0 10px 22px rgba(232,75,35,.3);
}
.sale-badge{
  background:#fff;
  color:#d23a2a;
  border:1px solid rgba(210,58,42,.25);
  box-shadow:0 8px 18px rgba(223,77,47,.2);
}
.hit-badge{
  background:linear-gradient(180deg, #ffeddf 0%, #ffe3d1 100%);
  color:#c93d2e;
  border:1px solid rgba(201,61,46,.22);
}
.ending-badge{
  background:linear-gradient(135deg, #ff4d66 0%, #ff7849 100%);
  color:#fff;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 10px 18px rgba(255,90,68,.28);
}
.modal{
  background:rgba(18,24,40,.5);
  backdrop-filter: blur(3px);
}
.modal-box{
  border:1px solid rgba(255,112,72,.2);
  background:linear-gradient(180deg, #ffffff 0%, #fff8f4 100%);
  box-shadow:0 18px 40px rgba(16,24,40,.25);
}
.modal-header{
  background:linear-gradient(90deg, #fff 0%, #fff1e7 100%);
  border-bottom:1px solid rgba(255,130,81,.2);
}
.modal-header span{
  color:#1c2640;
}
.close{
  border:1px solid rgba(255,108,63,.26);
  background:#fff;
  color:#cf3e2b;
  box-shadow:0 8px 16px rgba(255,95,59,.2);
}
.product-title{
  color:#10192f;
  font-size:20px;
  font-weight:900;
  line-height:1.28;
}
.product-price{
  font-size:26px;
  color:#ef3f2d;
}
.product-desc{
  border:1px solid #f4dacf;
  background:#fff;
  box-shadow:none;
  color:#344056;
}
.chip{
  border:1px solid #f1d7ca;
  background:#fff;
  box-shadow:none;
  color:#2d3750;
}
.product-action-btn{
  border-radius:12px;
  border:1px solid transparent;
  background:linear-gradient(135deg, #ff4e3e 0%, #ff7c1c 100%);
  color:#fff;
  box-shadow:0 12px 22px rgba(234,83,35,.28);
}
.product-action-btn.product-cart-btn.in-cart{
  background:linear-gradient(135deg, #d8f7e2 0%, #c2f2d1 100%);
  color:#106f40;
  border-color:rgba(16,111,64,.25);
  box-shadow:none;
}
.product-action-btn[style]{
  background:linear-gradient(135deg,#1f2937 0%, #374151 100%) !important;
  border-color:transparent !important;
}
.app-bar{
  border:1px solid rgba(255,108,68,.22);
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 32px rgba(255,88,53,.2);
  backdrop-filter: blur(12px) saturate(1.15);
}
.app-btn{
  border-radius:14px;
}
.app-btn.active{
  background:linear-gradient(180deg, #fff4eb 0%, #ffe9dc 100%);
}
.icon-wrap{
  background:linear-gradient(180deg,#fff 0%,#fff3ea 100%);
  box-shadow:0 8px 18px rgba(255,97,52,.18);
}
.icon-wrap svg{
  stroke:#cd3f2d;
}
.btn-text{
  color:#ba3e2f;
  font-weight:900;
}
.contact-hero{
  border:1px solid #f7d9cd;
  background:linear-gradient(130deg, #fff 0%, #fff3ea 100%);
}
.contact-card{
  border:1px solid #f3d8cc;
  background:#fff;
}
.fav-hero{
  border:1px solid #f8dacb;
  background:linear-gradient(135deg, #fff 0%, #fff3ea 100%);
}
.fav-item{
  border:1px solid #f1ddd5;
  box-shadow:none;
  background:#fff;
}
.fav-item.selected{
  background:linear-gradient(135deg, #fff8f1 0%, #fff1e5 100%);
  border-color:#f8cdb8;
}
.fav-delete-btn{
  background:linear-gradient(135deg,#ff4f3d 0%, #ff7a1e 100%);
  border-color:transparent;
}
.order-box{
  border:1px solid #f6ddd1;
  background:#fff;
}
.order-title{
  color:#13203d;
}
.order-btn{
  background:linear-gradient(135deg,#ff4f3d 0%, #ff7a1e 100%);
  border-color:transparent;
  box-shadow:0 12px 22px rgba(238,85,35,.3);
}
.order-repeat-btn{
  border-color:#f5d8cb;
  color:#b23a2c;
  background:#fff6f1;
}
.fav-footer{
  border:1px solid #f5ddd4;
  background:#fff;
}
.clear-btn{
  border-color:transparent;
  background:linear-gradient(135deg,#ff4f3d 0%, #ff7a1e 100%);
  color:#fff;
}
.to-top{
  border-color:transparent;
  background:linear-gradient(135deg,#ff4f3d 0%, #ff7a1e 100%);
  color:#fff;
  box-shadow:0 12px 24px rgba(238,85,35,.35);
}
@media (max-width:760px){
  .brand-title{
    font-size:19px;
  }
  .brand-sub{
    font-size:11px;
  }
  .promo-item{
    font-size:10px;
    padding:5px 9px;
  }
}
/* =========================
   ALI-X VISUAL OVERHAUL
========================= */
.ali-next{
  --red:#ff442f;
  --surface:#ffffff;
  --surface-soft:#fff6f2;
  --line:#ffd7ca;
  --line-strong:#ffbea8;
  --accent:#ff6d2d;
  --accent-2:#ff3c6a;
  --text:#1a2238;
  --muted:#74809a;
  --ok-bg:#dff7e6;
  --ok-text:#0d8049;
}
.ali-next header{
  background:
    radial-gradient(440px 180px at 15% -35%, rgba(255,255,255,.2), transparent 60%),
    radial-gradient(400px 180px at 85% -45%, rgba(255,255,255,.18), transparent 58%),
    linear-gradient(120deg,#ff4d33 0%,#ff6a2a 46%,#ff355f 100%);
  box-shadow:0 18px 34px rgba(181,36,24,.34);
}
.ali-next .brand-row{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.32);
  border-radius:20px;
}
.ali-next .brand-title{
  font-size:24px;
  letter-spacing:.35px;
}
.ali-next .brand-sub{
  font-size:12px;
  color:rgba(255,255,255,.96);
}
.ali-next .promo-item{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.42);
}
.ali-next .search-wrap input{
  height:46px;
  border-radius:16px;
}
.ali-next .search-suggest{
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
}
.ali-next .suggest-item{
  padding:11px 12px;
}
.ali-next .suggest-title{
  font-size:13.5px;
}
.ali-next .search-state{
  padding-top:2px;
}
.ali-next .grid{
  grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
  gap:10px;
  padding:10px 12px;
}
@media (min-width:760px){
  .ali-next .grid.single-search-result{
    grid-template-columns:minmax(220px,260px);
    justify-content:flex-start;
  }
}
.ali-next .card{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 20px rgba(24,35,66,.10);
  background:var(--surface);
}
.ali-next .card::before{
  display:none;
}
.ali-next .card .thumb{
  border-bottom:1px solid #ffe5dc;
  background:linear-gradient(180deg,#fff5ef 0%, #fff 100%);
  aspect-ratio:1/0.84;
}
.ali-next .card .thumb img{
  object-fit:cover;
  transform:scale(1.01);
}
.ali-next .card.sold .thumb img{
  filter:grayscale(.95) blur(1.2px);
}
.ali-next .card.sold{
  background:linear-gradient(165deg,#edf1f7 0%,#e3e9f3 100%);
  border-color:#cfd8e7;
  box-shadow:0 10px 20px rgba(17,27,44,.08);
}
.ali-next .card.sold .title{
  color:#4b5770;
}
.ali-next .card.sold .price{
  color:#657389;
}
.ali-next .card.sold .card-quick-chip{
  border-color:#d2dae8;
  background:#ecf1f9;
  color:#5a6980;
}
.ali-next .card.sold .card-cta-row .fav-btn{
  border-color:#d2dbe8;
  background:#edf2f8;
  color:#7c899d;
}
.ali-next .sale-badge{
  top:10px;
  left:10px;
  background:linear-gradient(135deg,#ff3f3f 0%,#ff7a2b 100%);
  color:#fff;
  border:none;
}
.ali-next .hit-badge{
  top:10px;
  right:10px;
  background:#fff;
  color:#d23826;
  border:1px solid #ffc2b3;
}
.ali-next .sold-badge{
  left:10px;
  bottom:10px;
  background:#1f273d;
}
.ali-next .low-badge{
  right:10px;
  bottom:10px;
  background:#fff2e8;
  color:#c8450a;
}
.ali-next .info{
  padding:9px 9px 10px;
  gap:5px;
}
.ali-next .card-quick-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.ali-next .card-quick-chip{
  border:1px solid #ffd5c7;
  background:#fff7f3;
  color:#c03a28;
  font-size:10.5px;
  font-weight:900;
  border-radius:999px;
  padding:4px 8px;
  white-space:nowrap;
}
.ali-next .card-quick-chip.muted{
  color:#6c768c;
  border-color:#e6ebf5;
  background:#f8fafe;
}
.ali-next .title{
  font-size:13px;
  line-height:1.3;
  min-height:34px;
}
.ali-next .card-meta{
  font-size:11px;
  color:#7f889f;
  margin-top:0;
}
.ali-next .price-wrap{
  margin-top:2px;
}
.ali-next .price{
  font-size:19px;
  color:#ef3d2f;
}
.ali-next .old-price{
  font-size:12px;
  color:#adb5c7;
}
.ali-next .card-cta-row{
  margin-top:2px;
  display:flex;
  gap:6px;
}
.ali-next .card-cta-row.single{
  gap:0;
}
.ali-next .card-open-btn{
  flex:1;
  height:34px;
  border-radius:10px;
  border:1px solid #e5eaf4;
  background:#f6f8fd;
  color:#42506b;
  font-size:12px;
  font-weight:900;
}
.ali-next .card-open-btn:active{
  transform:scale(.98);
}
.ali-next .card-cta-row .fav-btn{
  flex:1.25;
  margin:0;
  height:34px;
  padding:0 10px;
  border-radius:10px;
  border:1px solid #ffd0c1;
  background:#fff7f3;
  color:#c53d2a;
  box-shadow:none;
}
.ali-next .card-cta-row.single .fav-btn{
  flex:1;
}
.ali-next .card .sale-badge,
.ali-next .card .hit-badge{
  transform:scale(.92);
  transform-origin:top;
}
.ali-next .card .sold-badge,
.ali-next .card .low-badge{
  transform:scale(.9);
  transform-origin:bottom;
}
.ali-next .card-cta-row .fav-btn.active{
  border-color:#95ddb0;
  background:linear-gradient(135deg,#d7f7e2 0%, #bff1d1 100%);
  color:#0f7b45;
}
.ali-next .modal{
  background:rgba(16,24,40,.56);
  backdrop-filter: blur(4px);
}
.ali-next .modal-box{
  border:1px solid var(--line-strong);
  border-radius:24px;
  background:linear-gradient(180deg,#fff 0%,#fff8f3 100%);
  box-shadow:0 26px 54px rgba(15,22,41,.34);
}
.ali-next .modal-box::before{
  display:none;
}
.ali-next .modal-header{
  min-height:58px;
  padding:12px 56px 12px 16px;
  background:linear-gradient(90deg,#fff 0%,#fff2e9 100%);
  border-bottom:1px solid #ffe0d5;
}
.ali-next .modal-header span{
  font-size:16px;
  font-weight:900;
  color:#212a42;
}
.ali-next .close{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid #ffd8c9;
  background:#fff;
  color:#c93d29;
  box-shadow:none;
}
.ali-next .modal-body{
  background:transparent;
  color:#3a4662;
  font-weight:600;
}
.ali-next .product-modal .modal-box{
  max-width:620px;
}
.ali-next .product-modal .modal-header{
  border-bottom:1px solid #ffe1d6;
  padding-top:14px;
  padding-bottom:10px;
}
.ali-next .product-modal-title{
  font-size:16px;
  line-height:1.25;
}
.ali-next .product-media{
  border-radius:20px;
  overflow:hidden;
  border:1px solid #ffe1d6;
  background:#fff;
}
.ali-next .carousel{
  border-radius:20px;
}
.ali-next .carousel-count{
  background:#fff;
  color:#29324a;
  border:1px solid #ffd9cc;
  box-shadow:none;
}
.ali-next .carousel-arrow,
.ali-next .carousel-zoom{
  background:#fff;
  color:#cf3d2a;
  border:1px solid #ffd8ca;
  box-shadow:none;
}
.ali-next .product-meta{
  gap:8px;
}
.ali-next .product-chip{
  border:1px solid #ffd7ca;
  background:#fff7f3;
  color:#be3b2b;
  box-shadow:none;
}
.ali-next .product-title{
  margin-top:12px;
  font-size:24px;
  line-height:1.25;
  color:#161f36;
}
.ali-next .product-price-wrap{
  margin:2px 0 2px;
  align-items:flex-end;
}
.ali-next .product-price{
  font-size:31px;
  line-height:1;
}
.ali-next .product-sku-line{
  margin-bottom:10px;
  font-size:12px;
  font-weight:800;
  color:#7a8398;
}
.ali-next .product-desc{
  border:1px solid #f4ded4;
  border-radius:16px;
  background:#fff;
  color:#2f3c57;
  font-size:14.5px;
}
.ali-next .product-divider{
  background:#f0dcd3;
}
.ali-next .product-option-section{
  margin-top:12px;
  border:1px solid #f6ddd1;
  border-radius:16px;
  background:#fff;
  padding:10px;
}
.ali-next .section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.ali-next .section-title{
  margin:0;
  font-size:13px;
  font-weight:900;
  color:#1f2943;
}
.ali-next .chip{
  border-radius:999px;
  border:1px solid #f1d8ce;
  background:#fff;
  color:#34415d;
}
.ali-next .chip.selectable.active{
  border-color:#ff5f34;
  background:linear-gradient(135deg,#ff503f 0%,#ff7a1d 100%);
  color:#fff;
  box-shadow:none;
}
.ali-next .actions{
  margin-top:14px;
  gap:10px;
}
.ali-next .product-action-btn{
  min-height:46px;
  border-radius:14px;
  border:none;
  background:linear-gradient(135deg,#ff4e3d 0%,#ff7b1d 100%);
  box-shadow:0 12px 24px rgba(229,79,31,.32);
}
.ali-next .product-action-btn.product-cart-btn{
  background:#fff7f3;
  border:1px solid #ffd2c3;
  color:#c23d2a;
  box-shadow:none;
}
.ali-next .product-action-btn.product-cart-btn.in-cart{
  border-color:#8ed6ac;
  background:linear-gradient(135deg,#daf7e4 0%,#c1f2d1 100%);
  color:#0e7844;
}
.ali-next .product-action-btn.product-share-btn{
  background:#f5f8ff;
  border:1px solid #dde5f6;
  color:#36445f;
  box-shadow:none;
}
.ali-next .product-actions-secondary{
  margin-top:10px;
}
.ali-next .product-max-btn{
  background:linear-gradient(135deg,#1f2a44 0%,#354164 100%);
  box-shadow:none;
}
.ali-next .related-card{
  border:1px solid #f0dbd0;
  background:linear-gradient(145deg,#fff 0%,#fff8f4 100%);
  box-shadow:0 10px 20px rgba(41,46,68,.08);
}
.ali-next .related-card:hover{
  border-color:#f3cdbd;
  box-shadow:0 14px 24px rgba(41,46,68,.12);
}
.ali-next .related-title{
  color:#1d2740;
}
.ali-next .related-name{
  color:#30405d;
}
.ali-next .related-price{
  color:#eb3d2f;
}
.ali-next .related-thumb{
  border-color:#f5e4db;
  background:linear-gradient(145deg,#fff 0%,#fff4ee 100%);
}
.ali-next #favModal .modal-box{
  max-width:720px;
}
.ali-next .fav-hero{
  border-radius:16px;
  border:1px solid #ffd6ca;
  background:linear-gradient(130deg,#fff 0%,#fff1e7 100%);
}
.ali-next .fav-head{
  position:sticky;
  top:0;
  z-index:3;
  padding:8px 0;
  background:linear-gradient(180deg,#fff8f3 72%,rgba(255,248,243,0) 100%);
}
.ali-next .fav-select-all,
.ali-next .fav-count{
  border:1px solid #ffd7cb;
  background:#fff;
  color:#2f3c57;
  box-shadow:none;
}
.ali-next .fav-delete-btn{
  border:none;
  background:linear-gradient(135deg,#ff4e3d 0%,#ff7d20 100%);
  color:#fff;
}
.ali-next .fav-clear-selection{
  border:1px solid #ffd8cc;
  background:#fff7f3;
  color:#c33e2b;
}
.ali-next .fav-list{
  margin-top:8px;
  gap:10px;
}
.ali-next .fav-item{
  display:grid;
  grid-template-columns:22px 68px minmax(0,1fr) 34px;
  grid-template-areas:"check image info remove";
  gap:10px;
  padding:10px;
  align-items:center;
  border:1px solid #f3ddd4;
  border-radius:16px;
  background:#fff;
  box-shadow:none;
}
.ali-next .fav-item:hover{
  border-color:#eacfc4;
}
.ali-next .fav-thumb{
  grid-area:image;
  width:68px;
  height:68px;
  border-radius:12px;
  border:1px solid #f0e2db;
}
.ali-next .fav-info{
  grid-area:info;
  min-width:0;
}
.ali-next .fav-title{
  font-size:14px;
  color:#1d2842;
  line-height:1.3;
}
.ali-next .fav-subline{
  margin-top:2px;
  font-size:11.5px;
  color:#79839a;
  font-weight:700;
}
.ali-next .fav-meta{
  margin-top:4px;
  font-size:12px;
  color:#48556f;
}
.ali-next .fav-row{
  margin-top:6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.ali-next .fav-price{
  margin:0;
  font-size:17px;
  color:#ed3d2f;
}
.ali-next .fav-qty{
  border:1px solid #f4d7ca;
  background:#fff7f3;
}
.ali-next .fav-qty-btn{
  background:#ffe8df;
  color:#cb3d2d;
}
.ali-next .fav-subtotal{
  color:#7e889d;
}
.ali-next .remove-btn{
  grid-area:remove;
  justify-self:end;
  border:1px solid #ffd7cb;
  background:#fff7f3;
  color:#cb3d29;
  box-shadow:none;
  width:32px;
  height:32px;
  font-size:15px;
}
.ali-next .order-box{
  border:1px solid #ffd8cc;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fff7f2 100%);
}
.ali-next .order-title{
  font-size:17px;
}
.ali-next .order-field input,
.ali-next .order-field textarea{
  border:1px solid #f2d9ce;
  border-radius:12px;
  background:#fff;
}
.ali-next .order-btn{
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg,#ff4f3e 0%,#ff7a1f 100%);
}
.ali-next .order-repeat-btn{
  border:1px solid #ffd9cc;
  background:#fff;
}
.ali-next .order-policy{
  color:#55607a;
}
.ali-next .fav-footer{
  border:1px solid #ffdacc;
  border-radius:16px;
  background:#fff;
}
.ali-next .fav-sum{
  font-size:18px;
  color:#151f37;
}
.ali-next .ship-calc-track{
  background:#fee8df;
}
.ali-next .ship-calc-fill{
  background:linear-gradient(90deg,#ff4f3f 0%,#ff7c1f 100%);
}
.ali-next .clear-btn{
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg,#ff4e3d 0%,#ff7b1d 100%);
  min-width:140px;
}
.ali-next .contact-hero{
  border:1px solid #ffd8cb;
  background:linear-gradient(135deg,#fff 0%,#fff1e7 100%);
}
.ali-next .contact-card{
  border:1px solid #f2ddd3;
  border-radius:14px;
  background:#fff;
}
.ali-next .app-bar{
  background:rgba(255,255,255,.96);
  border:1px solid #ffd9cc;
  box-shadow:0 16px 32px rgba(218,72,31,.2);
}
.ali-next .app-btn.active{
  background:linear-gradient(180deg,#fff5ee 0%,#ffece1 100%);
}
.ali-next .icon-wrap{
  border:1px solid #ffd8cb;
  background:#fff7f3;
}
.ali-next .icon-wrap svg{
  stroke:#c63d2a;
}
.ali-next .btn-text{
  color:#ba3e2f;
}
.ali-next .to-top{
  border:none;
  background:linear-gradient(135deg,#ff4e3d 0%,#ff7b1d 100%);
}
@media (min-width:1180px){
  .ali-next .grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}
@media (min-width:920px) and (max-width:1179px){
  .ali-next .grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
}
@media (min-width:760px) and (max-width:919px){
  .ali-next .grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .ali-next header{
    padding:7px 8px 7px;
  }
  .ali-next .brand-row{
    padding:7px 9px;
  }
  .ali-next .brand-title{
    font-size:18px;
  }
  .ali-next .brand-sub{
    font-size:10px;
  }
  .ali-next .category-chip{
    padding:6px 10px;
    font-size:11px;
  }
  .ali-next .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:8px 10px;
  }
  .ali-next .card{
    border-radius:14px;
  }
  .ali-next .card .thumb{
    aspect-ratio:1/0.9;
  }
  .ali-next .title{
    font-size:12.5px;
    min-height:32px;
  }
  .ali-next .card-cta-row{
    gap:6px;
  }
  .ali-next .card-open-btn,
  .ali-next .card-cta-row .fav-btn{
    height:33px;
    font-size:11.5px;
  }
  .ali-next .product-title{
    font-size:21px;
  }
  .ali-next .product-price{
    font-size:28px;
  }
  .ali-next .product-modal .modal-box{
    max-width:100%;
  }
  .ali-next .fav-item{
    grid-template-columns:20px 58px minmax(0,1fr) 30px;
    gap:8px;
    padding:8px;
    border-radius:14px;
  }
  .ali-next .fav-thumb{
    width:58px;
    height:58px;
  }
  .ali-next .fav-title{
    font-size:13px;
  }
  .ali-next .fav-meta{
    font-size:11px;
    margin-top:3px;
  }
  .ali-next .fav-price{
    font-size:15px;
  }
  .ali-next .fav-open-hint{
    font-size:10px;
    padding:2px 7px;
  }
  .ali-next .fav-tools{
    gap:6px;
  }
  .ali-next .fav-select-all,
  .ali-next .fav-delete-btn,
  .ali-next .fav-clear-selection,
  .ali-next .fav-count{
    font-size:11px;
    padding:6px 8px;
  }
  .ali-next .order-box{
    padding:10px;
    border-radius:14px;
  }
  .ali-next .fav-footer{
    padding:10px;
    gap:8px;
  }
}
@media (max-width:480px){
  .ali-next .grid{
    gap:7px;
    padding:8px;
  }
  .ali-next .brand-sub{
    display:none;
  }
  .ali-next .brand-title{
    font-size:17px;
  }
  .ali-next .card .thumb{
    aspect-ratio:1/0.92;
  }
  .ali-next .card-open-btn,
  .ali-next .card-cta-row .fav-btn{
    height:32px;
    font-size:11px;
  }
  .ali-next .fav-head{
    padding:4px 0;
  }
  .ali-next .fav-tools{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    width:100%;
  }
  .ali-next .fav-select-all{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
  .ali-next .fav-delete-btn,
  .ali-next .fav-clear-selection,
  .ali-next .fav-count{
    width:100%;
    justify-content:center;
  }
  .ali-next .fav-item{
    grid-template-columns:18px 52px minmax(0,1fr) 28px;
    gap:7px;
    padding:7px;
    border-radius:12px;
  }
  .ali-next .fav-thumb{
    width:52px;
    height:52px;
    border-radius:10px;
  }
  .ali-next .fav-title{
    font-size:12.5px;
  }
  .ali-next .fav-subline{
    font-size:10.5px;
  }
  .ali-next .fav-meta{
    font-size:10.5px;
    margin-top:2px;
  }
  .ali-next .fav-price{
    font-size:14px;
  }
  .ali-next .fav-open-hint{
    display:none;
  }
  .ali-next .remove-btn{
    width:26px;
    height:26px;
    font-size:13px;
  }
  .ali-next .order-title{
    font-size:15px;
  }
  .ali-next .order-field input,
  .ali-next .order-field textarea{
    font-size:15px;
    padding:9px 10px;
  }
  .ali-next .order-btn{
    padding:10px;
  }
  .ali-next .fav-footer{
    grid-template-columns:1fr;
  }
  .ali-next .fav-actions{
    width:100%;
  }
  .ali-next .clear-btn{
    width:100%;
  }
}
@media (max-width:360px){
  .ali-next .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    padding:7px;
  }
  .ali-next .fav-item{
    grid-template-columns:16px 48px minmax(0,1fr) 26px;
    gap:6px;
    padding:6px;
  }
  .ali-next .fav-thumb{
    width:48px;
    height:48px;
  }
  .ali-next .fav-title{
    font-size:12px;
  }
  .ali-next .fav-price{
    font-size:13px;
  }
}
/* =========================
   APP ANDROID (FAST + MODERN)
========================= */
.ali-next{
  --mk-accent:#ff5a1f;
  --mk-accent-2:#ff2f45;
  --mk-accent-3:#ff8a00;
  --mk-bg:#f6f7fb;
  --mk-surface:#ffffff;
  --mk-text:#1f2937;
  --mk-muted:#6b7280;
  --mk-line:#eef1f6;
  --mk-shadow:0 8px 22px rgba(15,23,42,.10);
  --mk-shadow-soft:0 5px 14px rgba(15,23,42,.08);
  background:var(--mk-bg);
  color:var(--mk-text);
}
.ali-next *,
.ali-next *::before,
.ali-next *::after{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
body.ali-next,
body.ali-next input,
body.ali-next textarea,
body.ali-next button{
  font-family:"Manrope","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ali-next header{
  background:linear-gradient(115deg,var(--mk-accent) 0%,var(--mk-accent-2) 56%,var(--mk-accent-3) 100%);
  border-bottom:none;
  box-shadow:0 14px 28px rgba(255,91,31,.28);
}
.ali-next .brand-title,
.ali-next .brand-sub{
  color:#fff;
}
.ali-next .promo-item{
  border:none;
  background:rgba(255,255,255,.18);
  color:#fff;
}
.ali-next .promo-item b{
  color:#fff;
}
.ali-next .search-wrap input{
  border:1px solid rgba(255,255,255,.26);
  background:#fff;
  color:#111827;
  box-shadow:var(--mk-shadow-soft);
}
.ali-next .search-wrap input::placeholder{
  color:#9ca3af;
}
.ali-next .search-clear{
  color:#9aa3b6;
}
.ali-next .search-suggest{
  border:1px solid var(--mk-line);
  border-radius:16px;
  box-shadow:0 20px 38px rgba(15,23,42,.16);
}
.ali-next .suggest-item{
  border-bottom:1px solid var(--mk-line);
}
.ali-next .suggest-btn{
  border-radius:12px;
  font-weight:800;
}
.ali-next .suggest-btn.primary{
  background:linear-gradient(120deg,var(--mk-accent) 0%,var(--mk-accent-2) 100%);
  border:none;
  color:#fff;
}
.ali-next .suggest-btn.in-cart{
  background:#e7f8ed;
  color:#0f8a45;
  border:1px solid #9fdfb8;
}
.ali-next .card{
  border:1px solid var(--mk-line);
  border-radius:16px;
  box-shadow:var(--mk-shadow-soft);
}
.ali-next .card .thumb{
  border-radius:14px 14px 0 0;
}
.ali-next .title{
  color:#141b2a;
  font-weight:800;
}
.ali-next .price{
  color:var(--mk-accent);
}
.ali-next .card-cta-row .fav-btn{
  border-radius:12px;
  border:1px solid #ffd5c5;
  background:#fff;
  color:#d94a15;
  box-shadow:none;
}
.ali-next .card-cta-row .fav-btn.active{
  border-color:#8fd6ad;
  background:linear-gradient(140deg,#e5f9ed 0%,#d2f3df 100%);
  color:#0f8a45;
}
.ali-next .sale-badge{
  background:linear-gradient(120deg,#ff3f33 0%,#ff7123 100%);
  color:#fff;
  border:none;
}
.ali-next .hit-badge{
  background:#fff;
  color:#d74212;
  border:none;
}
.ali-next .modal{
  background:rgba(14,22,39,.56);
}
.ali-next .modal-box{
  border-radius:22px;
  border:1px solid #f0d8cf;
  background:#fff;
  box-shadow:0 30px 56px rgba(9,15,28,.34);
}
.ali-next .modal-box::before{
  display:none;
}
.ali-next .modal-header{
  background:linear-gradient(118deg,var(--mk-accent) 0%,var(--mk-accent-2) 100%);
  border-bottom:none;
  min-height:56px;
}
.ali-next .modal-header span{
  color:#fff;
  font-weight:900;
}
.ali-next .close{
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.32);
  color:#fff;
  box-shadow:none;
}
.ali-next .close:active{
  transform:translateY(-50%) scale(.94);
}
.ali-next .modal-body{
  background:#fff;
}
.ali-next .product-modal .modal-box{
  max-width:560px;
}
.ali-next .product-modal .carousel{
  border-radius:14px;
  border:1px solid #f0f2f6;
}
.ali-next .carousel-count{
  background:rgba(17,24,39,.56);
  color:#fff;
}
.ali-next .carousel-arrow,
.ali-next .carousel-zoom{
  background:rgba(15,23,42,.24);
  color:#fff;
  border:none;
}
.ali-next .product-desc{
  border:1px solid var(--mk-line);
  background:#fbfcff;
  color:#2d3748;
  box-shadow:none;
}
.ali-next .chip{
  border:1px solid #e4e9f2;
  background:#fff;
  box-shadow:none;
}
.ali-next .chip.active{
  border-color:#ffb08d;
  background:#fff2ec;
  color:#d94a15;
}
.ali-next .product-action-btn{
  border-radius:13px;
  border:none;
  font-weight:900;
  min-height:44px;
  box-shadow:none;
}
.ali-next .product-action-btn.product-cart-btn{
  background:linear-gradient(120deg,var(--mk-accent) 0%,var(--mk-accent-2) 100%);
  color:#fff;
}
.ali-next .product-action-btn.product-cart-btn.in-cart{
  background:linear-gradient(130deg,#e7f8ed 0%,#d5f2e0 100%);
  color:#0f8a45;
}
.ali-next .product-action-btn.product-share-btn{
  background:#fff;
  color:#d94a15;
  border:1px solid #ffd7c8;
}
.ali-next .product-max-btn{
  background:linear-gradient(120deg,#1f304f 0%,#33466c 100%);
}
.ali-next .fav-hero{
  border:1px solid #ffe0d4;
  background:linear-gradient(132deg,#fff8f4 0%,#fff0ea 100%);
}
.ali-next .fav-item{
  border:1px solid var(--mk-line);
  box-shadow:var(--mk-shadow-soft);
  background:#fff;
}
.ali-next .fav-select-all,
.ali-next .fav-delete-btn,
.ali-next .fav-clear-selection,
.ali-next .fav-count,
.ali-next .remove-btn,
.ali-next .order-btn,
.ali-next .clear-btn{
  border-radius:12px;
  box-shadow:none;
}
.ali-next .fav-delete-btn,
.ali-next .order-btn,
.ali-next .clear-btn{
  background:linear-gradient(120deg,var(--mk-accent) 0%,var(--mk-accent-2) 100%);
  color:#fff;
  border:none;
}
.ali-next .fav-clear-selection,
.ali-next .fav-select-all{
  background:#fff;
  color:#d94a15;
  border:1px solid #ffd6c6;
}
.ali-next .order-field input,
.ali-next .order-field textarea{
  border:1px solid #e6ebf4;
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.ali-next .app-bar{
  border:1px solid #f1d8cd;
  background:#fff;
  box-shadow:0 14px 28px rgba(15,23,42,.14);
}
.ali-next .icon-wrap{
  box-shadow:none;
  border:1px solid #eceff5;
}
.ali-next .app-btn.active .icon-wrap{
  border-color:#ffb392;
  background:#fff3ed;
}
.ali-next .app-btn.active .icon-wrap svg{
  stroke:#d94a15;
}
.ali-next .btn-text{
  color:#3b4353;
}
@media (max-width:640px){
  .ali-next .modal-box{
    border-radius:18px;
  }
  .ali-next .product-modal .modal-box{
    max-width:100%;
  }
}
/* =========================
   FULL REDESIGN (MARKET-X)
========================= */
body.market-x{
  --mx-brand-1:#ff6a00;
  --mx-brand-2:#ff2f4d;
  --mx-brand-3:#ff9500;
  --mx-bg:#f3f5fa;
  --mx-surface:#ffffff;
  --mx-line:#e9edf5;
  --mx-text:#151c2d;
  --mx-muted:#6f7789;
  --mx-shadow:0 10px 28px rgba(16,24,40,.10);
  --mx-shadow-soft:0 6px 18px rgba(16,24,40,.08);
  background:var(--mx-bg) !important;
  color:var(--mx-text) !important;
  font-family:"Manrope","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  position:relative;
  overflow-x:hidden;
}
body.market-x::before,
body.market-x::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
}
body.market-x::before{
  background:
    radial-gradient(760px 340px at -10% 10%, rgba(255,124,40,.18), transparent 68%),
    radial-gradient(860px 380px at 110% 4%, rgba(255,47,77,.14), transparent 72%),
    radial-gradient(920px 460px at 50% 115%, rgba(255,182,108,.10), transparent 74%);
}
body.market-x::after{
  opacity:.42;
  background:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,0));
}
body.market-x *,
body.market-x *::before,
body.market-x *::after{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
body.market-x header{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 54%,var(--mx-brand-3) 100%) !important;
  border:none !important;
  box-shadow:0 18px 38px rgba(255,83,25,.26) !important;
}
body.market-x header.header--compact{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 54%,var(--mx-brand-3) 100%) !important;
  box-shadow:0 14px 30px rgba(255,83,25,.22) !important;
}
body.market-x .brand-title{
  font-size:24px !important;
  font-weight:900 !important;
  color:#fff !important;
}
body.market-x .brand-sub{
  color:rgba(255,255,255,.95) !important;
  font-weight:700 !important;
}
body.market-x .brand-row{
  background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  border-radius:22px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
}
body.market-x header.header--compact .brand-row{
  background:linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,.10) 100%) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
}
body.market-x header.header--compact .brand-title{
  color:#fff !important;
  text-shadow:0 8px 16px rgba(122,15,15,.3) !important;
}
body.market-x header.header--compact .brand-sub{
  color:rgba(255,255,255,.95) !important;
}
body.market-x .promo-item{
  background:rgba(255,255,255,.18) !important;
  border:none !important;
  color:#fff !important;
  font-weight:700 !important;
}
body.market-x .brand-chip.accent{
  background:rgba(255,255,255,.96) !important;
  color:#d74915 !important;
  border-color:rgba(255,255,255,.38) !important;
  box-shadow:none !important;
}
body.market-x header.header--compact .brand-chip.accent{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
}
body.market-x .search-row{
  position:relative !important;
  z-index:30 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.market-x .search-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px;
  align-items:center;
  gap:6px;
  padding:6px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 14px 30px rgba(15,23,42,.14);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.market-x header.header--compact .search-shell{
  border-color:#e8ecf4 !important;
  box-shadow:0 10px 22px rgba(15,23,42,.08) !important;
}
body.market-x .search-shell:focus-within{
  transform:translateY(-1px);
  border-color:#ffd3c2;
  box-shadow:0 16px 32px rgba(15,23,42,.16);
}
body.market-x .search-wrap input{
  background:#fff !important;
  border:1px solid #ffd7c8 !important;
  border-radius:15px !important;
  color:#111827 !important;
  box-shadow:var(--mx-shadow-soft) !important;
}
body.market-x .search-wrap input::placeholder{
  color:#9aa3b3 !important;
}
body.market-x .search-suggest{
  background:#fff !important;
  border:1px solid var(--mx-line) !important;
  border-radius:16px !important;
  box-shadow:0 18px 42px rgba(10,20,38,.18) !important;
}
body.market-x .suggest-item{
  border-bottom:1px solid var(--mx-line) !important;
}
body.market-x .suggest-title{
  color:var(--mx-text) !important;
}
body.market-x .suggest-price{
  color:#7b8597 !important;
}
body.market-x .suggest-btn{
  border-radius:12px !important;
  font-weight:800 !important;
}
body.market-x .suggest-btn.primary{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%) !important;
  color:#fff !important;
  border:none !important;
}
body.market-x .suggest-btn.in-cart{
  background:#e7f7ec !important;
  color:#0f8a45 !important;
  border:1px solid #9adbb5 !important;
}
body.market-x .grid{
  gap:10px !important;
  padding:10px !important;
}
body.market-x .card{
  border-radius:18px !important;
  border:1px solid var(--mx-line) !important;
  box-shadow:var(--mx-shadow-soft) !important;
  background:var(--mx-surface) !important;
  transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease, opacity .42s ease !important;
}
body.market-x .card::before{
  display:none !important;
}
body.market-x .card.card-reveal{
  opacity:0;
  transform:translateY(18px) scale(.985);
}
body.market-x .card.card-reveal.card-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  transition-delay:var(--card-delay, 0ms);
}
@media (hover:hover){
  body.market-x .card:hover{
    transform:translateY(-4px);
    border-color:#ffd4c4 !important;
    box-shadow:0 14px 28px rgba(15,23,42,.12) !important;
  }
}
body.market-x .card .thumb{
  border-radius:18px 18px 0 0 !important;
  background:linear-gradient(165deg,#fff 0%,#fff3ed 100%) !important;
}
body.market-x .card .thumb img{
  object-fit:cover !important;
}
body.market-x .card.sold .thumb img{
  opacity:.5 !important;
  filter:grayscale(1) saturate(.45) contrast(.9) !important;
}
body.market-x .card.sold{
  border-color:#ced6e3 !important;
  background:linear-gradient(168deg,#eef2f7 0%,#e2e8f2 100%) !important;
  box-shadow:0 10px 18px rgba(18,28,45,.12) !important;
}
body.market-x .card.sold .thumb{
  background:linear-gradient(165deg,#edf2f9 0%,#e5ebf5 100%) !important;
}
body.market-x .card.sold .title{
  color:#4f5c72 !important;
}
body.market-x .card.sold .price{
  color:#697892 !important;
}
body.market-x .card.sold .old-price{
  color:#8f99ac !important;
}
body.market-x .card.sold .card-quick-chip{
  border-color:#cfd8e7 !important;
  background:#ecf1f8 !important;
  color:#5d6c84 !important;
}
body.market-x .card.sold .card-cta-row .fav-btn,
body.market-x .card.sold .card-cta-row .fav-btn.active{
  border-color:#cfd8e7 !important;
  background:linear-gradient(130deg,#edf2f8 0%,#e7edf6 100%) !important;
  color:#7f8da4 !important;
}
body.market-x .card.sold .sold-badge{
  background:linear-gradient(120deg,#4a566b 0%,#2d3647 100%) !important;
  color:#f3f7ff !important;
  box-shadow:0 8px 18px rgba(32,41,57,.28) !important;
}
body.market-x .sale-badge{
  background:linear-gradient(120deg,#ff3d2f 0%,#ff7924 100%) !important;
  color:#fff !important;
  border:none !important;
}
body.market-x .hit-badge{
  background:#fff !important;
  color:#d84511 !important;
  border:none !important;
}
body.market-x .sold-badge{
  background:#202939 !important;
  color:#fff !important;
}
body.market-x .low-badge{
  background:#fff7dd !important;
  color:#b87400 !important;
  border:none !important;
}
body.market-x .title{
  color:#10172a !important;
  font-weight:800 !important;
}
body.market-x .price{
  color:#ff5a00 !important;
}
body.market-x .old-price{
  color:#9aa3b2 !important;
}
body.market-x .card-quick-chip{
  border:1px solid #e8edf7 !important;
  background:#fff !important;
  color:#606b80 !important;
}
body.market-x .card-quick-chip.muted{
  background:#f8f9fd !important;
  color:#7c8798 !important;
}
body.market-x .card-cta-row .fav-btn{
  height:36px !important;
  border-radius:12px !important;
  border:1px solid #ffd7c8 !important;
  background:#fff !important;
  color:#d84a15 !important;
  box-shadow:none !important;
}
body.market-x .card-cta-row .fav-btn.active{
  border-color:#9adbb5 !important;
  background:linear-gradient(130deg,#e7f7ec 0%,#d9f2e3 100%) !important;
  color:#0f8a45 !important;
}
body.market-x .modal{
  background:rgba(10,16,30,.64) !important;
}
body.market-x .modal-box{
  border-radius:24px !important;
  border:1px solid #f0d8cf !important;
  background:#fff !important;
  box-shadow:0 34px 60px rgba(11,20,36,.34) !important;
}
body.market-x .modal-box::before{
  display:none !important;
}
body.market-x .modal-header{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%) !important;
  border:none !important;
  min-height:58px !important;
}
body.market-x .modal-header span{
  color:#fff !important;
  font-weight:900 !important;
}
body.market-x .close{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.34) !important;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:none !important;
}
body.market-x .product-media{
  border-radius:14px !important;
  border:1px solid #eff2f7 !important;
  overflow:hidden !important;
}
@media (min-width:900px){
  body.market-x .product-modal.desktop-layout .modal-box{
    width:min(1480px, calc(100vw - 2px - var(--safe-left) - var(--safe-right))) !important;
    max-width:none !important;
    max-height:calc(100dvh - 2px - var(--safe-bottom) - var(--safe-top)) !important;
    margin-bottom:0 !important;
    border-radius:26px 26px 24px 24px !important;
  }
  body.market-x .product-modal.desktop-layout .modal-header{
    min-height:64px !important;
    padding:16px 62px 16px 22px !important;
  }
  body.market-x .product-modal.desktop-layout .modal-body{
    padding:20px 22px 28px !important;
    overflow-y:auto !important;
  }
  body.market-x .product-modal.desktop-layout .product-info-shell{
    border:1px solid #eef1f6 !important;
    background:linear-gradient(180deg,#fff 0%,#fcfdff 100%) !important;
    box-shadow:0 14px 26px rgba(15,23,42,.06) !important;
  }
  body.market-x .product-modal.desktop-layout .product-info-shell .actions{
    background:none !important;
  }
}
body.market-x .carousel-count{
  background:rgba(10,18,31,.62) !important;
  color:#fff !important;
}
body.market-x .carousel-arrow,
body.market-x .carousel-zoom{
  border:none !important;
  background:rgba(8,14,26,.34) !important;
  color:#fff !important;
}
body.market-x .product-chip{
  border:1px solid #ffd8c9 !important;
  background:#fff4ee !important;
  color:#d84a15 !important;
  box-shadow:none !important;
}
body.market-x .product-title{
  color:#111827 !important;
}
body.market-x .product-price{
  color:#ff5a00 !important;
}
body.market-x .product-desc{
  background:#fbfcff !important;
  border:1px solid #e9edf5 !important;
  box-shadow:none !important;
  color:#2f3a4d !important;
}
body.market-x .chip{
  border:1px solid #e2e8f2 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#3a475d !important;
}
body.market-x .chip.active{
  border-color:#ffb28f !important;
  background:#fff2ea !important;
  color:#d84a15 !important;
}
body.market-x .product-action-btn{
  min-height:44px !important;
  border-radius:13px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}
body.market-x .product-action-btn.product-cart-btn{
  border:none !important;
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%) !important;
  color:#fff !important;
}
body.market-x .product-action-btn.product-cart-btn.in-cart{
  border:1px solid #9adbb5 !important;
  background:linear-gradient(130deg,#e7f7ec 0%,#d7f0e2 100%) !important;
  color:#0f8a45 !important;
}
body.market-x .product-action-btn.product-share-btn{
  border:1px solid #ffd8c9 !important;
  background:#fff !important;
  color:#d84a15 !important;
}
body.market-x .product-max-btn{
  border:none !important;
  background:linear-gradient(120deg,#1f314f 0%,#34476c 100%) !important;
  color:#fff !important;
}
body.market-x .related-block{
  border:1px solid #f4d9cf !important;
  background:linear-gradient(145deg,#fff 0%,#fff7f2 100%) !important;
  box-shadow:0 14px 28px rgba(15,23,42,.06) !important;
}
body.market-x .related-card{
  border:1px solid #f1ddd3 !important;
  background:linear-gradient(180deg,#fff 0%,#fdfefe 100%) !important;
  box-shadow:0 10px 18px rgba(15,23,42,.06) !important;
}
body.market-x .related-chip,
body.market-x .recent-title::before{
  background:#fff3ed !important;
  color:#d84a15 !important;
}
body.market-x .related-sub{
  color:#7b8597 !important;
}
body.market-x .related-head{
  border-bottom:1px solid #f2e5de !important;
}
body.market-x .related-title::before{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%) !important;
  box-shadow:0 0 0 6px rgba(255,106,0,.10) !important;
}
body.market-x .fav-hero{
  border:1px solid #ffe0d4 !important;
  background:linear-gradient(135deg,#fff8f4 0%,#fff0ea 100%) !important;
}
body.market-x .fav-item{
  border:1px solid var(--mx-line) !important;
  background:#fff !important;
  box-shadow:var(--mx-shadow-soft) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.market-x .fav-qty{
  border:1px solid #ffd9cb !important;
  background:#fff7f3 !important;
}
body.market-x .fav-qty-btn{
  background:#ffe8df !important;
  color:#d64a17 !important;
}
body.market-x .fav-subtotal{
  color:#6f7a92 !important;
}
body.market-x .fav-tools .fav-select-all,
body.market-x .fav-tools .fav-delete-btn,
body.market-x .fav-tools .fav-clear-selection,
body.market-x .fav-tools .fav-count,
body.market-x .order-btn,
body.market-x .clear-btn,
body.market-x .remove-btn{
  border-radius:12px !important;
  box-shadow:none !important;
}
body.market-x .fav-delete-btn,
body.market-x .order-btn,
body.market-x .clear-btn{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%) !important;
  border:none !important;
  color:#fff !important;
}
body.market-x .fav-clear-selection,
body.market-x .fav-select-all{
  background:#fff !important;
  border:1px solid #ffd8c9 !important;
  color:#d84a15 !important;
}
body.market-x .order-field input,
body.market-x .order-field textarea{
  border:1px solid #e6ebf4 !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.market-x .app-bar{
  border:1px solid #f0d7ce !important;
  background:#fff !important;
  box-shadow:0 16px 30px rgba(15,23,42,.16) !important;
  animation:appBarFloat 5.5s ease-in-out infinite;
}
body.market-x .icon-wrap{
  border:1px solid #e9edf5 !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.market-x .app-btn.active .icon-wrap{
  border-color:#ffb18f !important;
  background:#fff2eb !important;
}
body.market-x .app-btn.active .icon-wrap svg{
  stroke:#d84a15 !important;
}
body.market-x .btn-text{
  color:#3d495f !important;
}
body.market-x .recent-shell,
body.market-x .category-chip,
body.market-x .catalog-loadmore-btn{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
body.market-x .recent-shell{
  border:1px solid #f0ddd4 !important;
  background:linear-gradient(145deg,#fff 0%,#fff7f2 100%) !important;
  box-shadow:0 14px 28px rgba(15,23,42,.06) !important;
}
body.market-x .recent-card{
  border:1px solid #f0e0d7 !important;
  background:linear-gradient(180deg,#fff 0%,#fdfefe 100%) !important;
}
body.market-x .recent-title::before{
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%) !important;
  box-shadow:0 0 0 6px rgba(255,106,0,.10) !important;
}
body.market-x .recent-head{
  border-bottom:1px solid #f2e5de !important;
}
body.market-x .recent-clear-btn{
  border-color:#f1ddd3 !important;
  background:#fff !important;
  color:#d84a15 !important;
}
@media (hover:hover){
  body.market-x .recent-shell:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px rgba(15,23,42,.10);
  }
  body.market-x .recent-card:hover,
  body.market-x .related-card:hover{
    transform:translateY(-3px);
    border-color:#ffd5c6 !important;
    box-shadow:0 16px 28px rgba(15,23,42,.10) !important;
  }
  body.market-x .category-chip:hover{
    transform:translateY(-1px);
    border-color:#ffd3c2;
  }
  body.market-x .catalog-loadmore-btn:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 24px rgba(216,74,21,.22);
  }
}
@keyframes appBarFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}

/* Search 2026 style (ozon-like in red palette) */
body.market-x .search-row{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}
body.market-x .search-scope,
body.market-x .search-quick,
body.market-x .search-row > .clear-search-btn{
  display:none !important;
}
body.market-x .search-wrap{
  flex:1;
  position:relative;
}
body.market-x .search-wrap::before{
  display:none !important;
}
body.market-x .search-wrap input{
  width:100%;
  height:42px;
  border:1px solid #e9edf5 !important;
  border-radius:12px !important;
  box-shadow:none !important;
  background:#fff !important;
  color:#1f2a3d !important;
  padding:0 46px 0 14px !important;
  font-size:16px !important;
  line-height:1.2;
}
body.market-x #q{
  font-size:16px !important;
}
body.market-x .search-wrap input::placeholder{
  color:#93a0b4 !important;
}
body.market-x .search-clear{
  right:12px;
  color:#94a1b5 !important;
  font-size:28px;
  line-height:1;
}
body.market-x .search-go{
  width:52px;
  height:42px;
  border:none;
  border-radius:12px;
  background:linear-gradient(120deg,var(--mx-brand-1) 0%,var(--mx-brand-2) 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 18px rgba(216,74,21,.28);
}
body.market-x .search-go svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}
body.market-x .search-go:active{
  transform:scale(.97);
}
body.market-x .search-close-mobile{
  display:none;
  height:42px;
  padding:0 14px;
  border:1px solid #ffd8c9;
  border-radius:12px;
  background:#fff;
  color:#d84a15;
  font-size:13px;
  font-weight:900;
  line-height:1;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  box-shadow:0 10px 18px rgba(15,23,42,.08);
}
body.market-x .search-suggest{
  position:absolute !important;
  left:0;
  right:0;
  top:calc(100% + 8px);
  margin-top:0 !important;
  max-height:min(calc(var(--vvh, 100svh) - 230px), 72vh) !important;
  border-radius:20px !important;
  border:1px solid #e7ecf4 !important;
  box-shadow:0 26px 42px rgba(12,20,34,.18) !important;
  z-index:10040 !important;
  overflow:auto;
  background:#fff !important;
}
body.market-x .suggest-item{
  padding:12px 14px !important;
}
body.market-x .suggest-main{
  gap:12px;
}
body.market-x .suggest-main::before{
  content:"";
  width:26px;
  height:26px;
  flex:0 0 26px;
  border-radius:10px;
  background:#f2f4f8;
}
body.market-x .suggest-main img + .suggest-text{
  margin-left:2px;
}
body.market-x .suggest-title{
  font-size:18px;
  line-height:1.24;
}
body.market-x .suggest-item.history-head{
  background:#f7f9fc;
  border-bottom:1px solid #edf2f8;
}
body.market-x .search-history-title{
  font-size:11px;
  font-weight:800;
  color:#74829a;
}
body.market-x .search-history-clear{
  border:1px solid #ffd8cb;
  background:#fff;
  color:#cc4a21;
  box-shadow:0 6px 12px rgba(216,74,21,.12);
}
body.market-x .suggest-item.history-item{
  padding:11px 14px !important;
}
body.market-x .suggest-item.history-item .suggest-main::before{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:10px;
  background:#f2f4f8;
  box-shadow:none;
}
body.market-x .suggest-item.history-item .suggest-title{
  font-size:15px;
  font-weight:600;
  color:#26344c;
}
body.market-x .suggest-price{
  font-size:13px;
  color:#74829a !important;
}
body.market-x .suggest-actions{
  gap:8px;
}
body.market-x .suggest-btn{
  min-width:86px;
}
/* NOTIFICATION WINDOWS (market-x) */
body.market-x .toast{
  position:fixed;
  left:50%;
  bottom:calc(92px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(18px) scale(.98);
  min-width:0;
  width:auto;
  max-width:min(82vw, 280px);
  padding:10px 12px 11px 38px;
  border-radius:16px;
  border:1px solid rgba(255,121,78,.34);
  background:linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(255,244,237,.96) 100%);
  color:#7b2d1d;
  box-shadow:0 18px 32px rgba(16,24,40,.24);
  backdrop-filter: blur(10px) saturate(1.08);
  font-size:12.5px;
  font-weight:800;
  line-height:1.35;
  opacity:0;
  z-index:12000;
  transition:opacity .25s ease, transform .25s ease;
  overflow:hidden;
}
body.market-x .toast::before{
  content:"i";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, #ff5f45 0%, #ff8a2c 100%);
  box-shadow:0 8px 14px rgba(255,96,60,.28);
}
body.market-x .toast.info{
  border-color:rgba(255,121,78,.34);
  color:#7b2d1d;
  background:linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(255,244,237,.96) 100%);
}
body.market-x .toast.info::before{
  content:"i";
  background:linear-gradient(135deg, #ff5f45 0%, #ff8a2c 100%);
  box-shadow:0 8px 14px rgba(255,96,60,.28);
}
body.market-x .toast.success{
  border-color:rgba(34,197,94,.34);
  color:#14532d;
  background:linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(236,253,245,.96) 100%);
}
body.market-x .toast.success::before{
  content:"✓";
  background:linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
  box-shadow:0 8px 14px rgba(22,163,74,.28);
}
body.market-x .toast.error{
  border-color:rgba(239,68,68,.36);
  color:#7f1d1d;
  background:linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(254,242,242,.96) 100%);
}
body.market-x .toast.error::before{
  content:"!";
  background:linear-gradient(135deg, #ef4444 0%, #f97316 100%);
  box-shadow:0 8px 14px rgba(239,68,68,.26);
}
body.market-x .toast::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:rgba(209,69,35,.22);
  transform:scaleX(0);
  transform-origin:left center;
}
body.market-x .toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0) scale(1);
}
body.market-x .toast.show::after{
  animation:mx-toast-progress 2s linear forwards;
}
@keyframes mx-toast-progress{
  0%{transform:scaleX(0)}
  100%{transform:scaleX(1)}
}
body.market-x .save-reminder,
body.market-x .cart-reminder{
  border:1px solid #ffd9cc !important;
  background:linear-gradient(135deg, rgba(255,255,255,.97) 0%, rgba(255,244,238,.94) 100%) !important;
  box-shadow:0 12px 24px rgba(16,24,40,.10) !important;
  backdrop-filter: blur(10px) saturate(1.05) !important;
  border-radius:16px !important;
  padding:10px 12px 10px 44px !important;
  position:relative;
}
body.market-x .save-reminder::before,
body.market-x .cart-reminder::before{
  content:"i";
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, #ff5f45 0%, #ff7a2f 100%);
}
body.market-x .save-reminder-text,
body.market-x .cart-reminder-text{
  color:#6d2a1b !important;
  font-weight:700 !important;
}
body.market-x .save-reminder-btn,
body.market-x .cart-reminder-btn{
  border:1px solid #ffd5c7 !important;
  background:#fff !important;
  color:#cb4722 !important;
  box-shadow:0 8px 14px rgba(255,104,65,.14) !important;
}
body.market-x .save-reminder-btn:active,
body.market-x .cart-reminder-btn:active{
  transform:translateY(1px);
}
body.market-x .notice-modal .modal-box{
  max-width:min(94vw, 440px) !important;
  border-radius:22px !important;
  border:1px solid #f4d8cc !important;
  background:linear-gradient(180deg, #fff 0%, #fff8f4 100%) !important;
  box-shadow:0 34px 56px rgba(11,20,36,.32) !important;
}
body.market-x .notice-modal .modal-header{
  min-height:58px !important;
  padding:12px 52px 12px 16px !important;
  border:none !important;
  background:linear-gradient(130deg, #ff613f 0%, #ff7a2a 100%) !important;
}
body.market-x .notice-modal .modal-header span{
  color:#fff !important;
}
body.market-x .notice-modal .close{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.42) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:none !important;
}
body.market-x .notice-modal .modal-body{
  padding:16px 16px 18px !important;
}
body.market-x .notice-hero{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 10px 10px 12px;
  border-radius:14px;
  border:1px solid #fde3d8;
  background:rgba(255,255,255,.92);
}
body.market-x .notice-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  flex:0 0 56px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  font-weight:900;
  line-height:1;
  color:#fff;
  margin-top:1px;
}
body.market-x .notice-icon.success{
  background:linear-gradient(135deg, #19b26b 0%, #35c17c 100%);
  box-shadow:0 16px 30px rgba(19,154,92,.24);
}
body.market-x .notice-icon.danger{
  background:linear-gradient(135deg, #ff5b42 0%, #ff7f34 100%);
  box-shadow:0 10px 18px rgba(230,90,48,.26);
}
body.market-x .notice-icon.success::before{
  border-color:rgba(255,255,255,.24);
}
body.market-x .notice-icon.success .success-check{
  stroke-width:3.2;
}
body.market-x .notice-modal .confirm-text{
  margin:0;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  color:#2f3446;
  min-width:0;
  align-self:center;
}
body.market-x .notice-modal .confirm-actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:14px;
}
body.market-x .success-modal .confirm-actions{
  grid-template-columns:1fr;
}
body.market-x .notice-modal .confirm-btn{
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(255,105,63,.34);
  background:linear-gradient(135deg, #ff603f 0%, #ff7c28 100%);
  box-shadow:0 14px 24px rgba(228,84,43,.28);
}
body.market-x .notice-modal .confirm-btn.secondary{
  border-color:#ffd9cc;
  background:#fff;
  color:#bf4b26;
  box-shadow:none;
}
@media (max-width:480px){
  body.market-x .toast{
    max-width:min(84vw, 260px);
    bottom:calc(88px + env(safe-area-inset-bottom));
    font-size:12.5px;
    padding:11px 12px 13px 40px;
  }
  body.market-x .notice-modal .modal-body{
    padding:14px 12px 14px !important;
  }
}
@media (max-width:768px){
  body.market-x.search-mobile-active header{
    z-index:11000 !important;
    box-shadow:none !important;
  }
  body.market-x.search-mobile-active .header-inner{
    gap:8px !important;
    padding-bottom:8px !important;
  }
  body.market-x .search-shell{
    grid-template-columns:minmax(0,1fr) 46px;
    border-radius:16px;
    padding:4px;
  }
  body.market-x .search-wrap input{
    height:38px;
    font-size:16px !important;
    border-radius:11px !important;
  }
  body.market-x .search-go{
    width:46px;
    height:38px;
    border-radius:11px;
  }
  body.market-x .search-suggest{
    max-height:min(calc(var(--vvh, 100svh) - 206px), 70vh) !important;
  }
  body.market-x .suggest-title{
    font-size:16px;
  }
  body.market-x.search-mobile-active .search-row{
    position:fixed !important;
    inset:0 !important;
    z-index:12000 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding:calc(10px + var(--safe-top)) calc(10px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(10px + var(--safe-left)) !important;
    background:rgba(245,247,251,.98) !important;
    backdrop-filter:blur(12px) saturate(1.04) !important;
  }
  body.market-x.search-mobile-active .search-shell{
    grid-template-columns:minmax(0,1fr) 46px auto !important;
    border-radius:18px !important;
    padding:6px !important;
    box-shadow:0 14px 28px rgba(15,23,42,.10) !important;
  }
  body.market-x.search-mobile-active .search-close-mobile{
    display:inline-flex !important;
  }
  body.market-x.search-mobile-active .search-suggest{
    position:relative !important;
    inset:auto !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    max-height:none !important;
    border-radius:20px !important;
    border:1px solid #f1ddd3 !important;
    background:linear-gradient(180deg,#fff 0%,#fff6f1 100%) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.12) !important;
    padding:8px 0 calc(14px + env(safe-area-inset-bottom)) !important;
    overflow:auto !important;
  }
  body.market-x.search-mobile-active .search-suggest .suggest-item.empty-state{
    margin:10px 10px 0 !important;
    border:1px dashed #f3cdbd !important;
    background:#fffaf7 !important;
    box-shadow:none !important;
    text-align:center !important;
  }
  body.market-x.search-mobile-active .search-suggest .suggest-item.empty-state .suggest-title{
    font-size:14px !important;
    font-weight:700 !important;
    color:#5d6c84 !important;
  }
  body.market-x.search-mobile-active .suggest-item{
    margin:8px 10px 0 !important;
    padding:10px 10px !important;
    border:1px solid #f1dfd6 !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
  }
  body.market-x.search-mobile-active .suggest-item + .suggest-item{
    border-top:1px solid #f1dfd6 !important;
  }
  body.market-x.search-mobile-active .suggest-main{
    gap:10px !important;
  }
  body.market-x.search-mobile-active .suggest-main img{
    width:54px !important;
    height:54px !important;
    border-radius:12px !important;
    border:1px solid #edf2f7 !important;
  }
  body.market-x.search-mobile-active .suggest-title{
    font-size:14px !important;
    line-height:1.28 !important;
    font-weight:800 !important;
  }
  body.market-x.search-mobile-active .suggest-price{
    font-size:12.5px !important;
  }
  body.market-x.search-mobile-active .suggest-actions{
    flex-direction:row !important;
    gap:8px !important;
  }
  body.market-x.search-mobile-active .suggest-btn{
    min-height:34px !important;
    border-radius:10px !important;
    padding:7px 10px !important;
  }
  body.market-x.search-mobile-active .suggest-item.more{
    position:sticky !important;
    bottom:0 !important;
    margin:10px 10px 0 !important;
    border-color:#ffd8cb !important;
    background:#fff3ed !important;
    box-shadow:0 10px 18px rgba(216,74,21,.18) !important;
  }
  body.market-x.search-mobile-active .suggest-item.history-head{
    background:#fff !important;
  }
}
@media (max-width:640px){
  body.market-x .modal-box{
    border-radius:18px !important;
  }
}

/* Availability */
.card-stock-note{
  margin-top:6px;
  font-size:11.5px;
  font-weight:800;
  color:#64748b;
  line-height:1.35;
}
.product-stock-note{
  margin-top:-2px;
  margin-bottom:8px;
  font-size:12.5px;
  font-weight:800;
  color:#64748b;
  line-height:1.4;
}
.product-chip.is-unavailable{
  border-color:rgba(148,163,184,.28);
  background:linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
  color:#475569;
  box-shadow:none;
}
.product-chip.is-low{
  border-color:rgba(249,115,22,.24);
  background:linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  color:#c2410c;
  box-shadow:none;
}
.product-chip.is-stock{
  border-color:rgba(59,130,246,.18);
  background:linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  color:#1d4ed8;
  box-shadow:none;
}
body.market-x .card-stock-note,
body.ali-next .card-stock-note{
  color:#7b8699;
}
body.market-x .product-stock-note,
body.ali-next .product-stock-note{
  color:#667085;
}
body.market-x .product-chip.is-unavailable,
body.ali-next .product-chip.is-unavailable{
  border-color:#d8dee8 !important;
  background:#eef2f7 !important;
  color:#667085 !important;
}
body.market-x .product-chip.is-low,
body.ali-next .product-chip.is-low{
  border-color:#fed7aa !important;
  background:#fff7ed !important;
  color:#c2410c !important;
}
body.market-x .product-chip.is-stock,
body.ali-next .product-chip.is-stock{
  border-color:#bfdbfe !important;
  background:#eff6ff !important;
  color:#1d4ed8 !important;
}

/* Compact toast */
.toast{
  display:inline-grid;
  grid-auto-flow:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-sizing:border-box;
  width:fit-content;
  min-width:0;
  max-width:min(84vw, 260px);
  padding:10px 14px;
  border-radius:16px;
  font-size:12.5px;
  line-height:1.3;
  text-align:left;
}
.toast-icon{
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#64748b 0%,#475569 100%);
}
.toast-text{
  display:block;
  min-width:0;
  white-space:normal;
  word-break:break-word;
}
.toast-icon--animated{
  padding:0;
  background:none !important;
  box-shadow:none !important;
}
.toast-checkmark{
  width:22px;
  height:22px;
  display:block;
}
.toast-checkmark-circle{
  fill:#22c55e;
  filter:drop-shadow(0 8px 16px rgba(34,197,94,.26));
}
.toast-checkmark-path{
  fill:none;
  stroke:#fff;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:14;
  stroke-dashoffset:14;
  animation:toast-check-draw .48s cubic-bezier(.22,1,.36,1) .08s forwards;
}
@keyframes toast-check-draw{
  0%{stroke-dashoffset:14}
  100%{stroke-dashoffset:0}
}
.toast.success .toast-icon,
.toast.toast-cart .toast-icon{
  background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%);
  box-shadow:0 8px 16px rgba(34,197,94,.25);
}
.toast.error .toast-icon{
  background:linear-gradient(135deg,#ef4444 0%,#f97316 100%);
}
body.market-x .toast,
body.ali-next .toast{
  display:inline-grid !important;
  grid-auto-flow:column !important;
  align-items:center !important;
  justify-content:center !important;
  width:fit-content !important;
  min-width:0 !important;
  max-width:min(84vw, 260px) !important;
  padding:10px 12px !important;
  gap:10px !important;
  text-align:left !important;
}
body.market-x .toast::before,
body.market-x .toast::after,
body.ali-next .toast::before,
body.ali-next .toast::after{
  display:none !important;
  content:none !important;
}
@media (max-width:480px){
  .toast,
  body.market-x .toast,
  body.ali-next .toast{
    max-width:min(88vw, 240px) !important;
    font-size:12px !important;
    padding:10px 12px !important;
  }
}

/* Inline qty controls */
.card-cta-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
}
.card .info .price-wrap{
  margin-top:6px !important;
}
.card .info .card-cta-row{
  margin-top:auto !important;
}
.card-cta-row.single{
  gap:0;
}
.card-cta-row.with-qty .fav-btn{
  flex:1;
}
.inline-qty{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 6px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.22);
  background:linear-gradient(135deg,#eefcf3 0%,#e0f8e9 100%);
  box-shadow:0 8px 18px rgba(15,23,42,.06);
  flex:0 0 auto;
}
.inline-qty-btn{
  width:24px;
  height:24px;
  padding:0;
  border:none;
  border-radius:999px;
  background:rgba(22,163,74,.12);
  color:#15803d;
  cursor:pointer;
  position:relative;
  flex:0 0 24px;
}
.inline-qty-btn::before,
.inline-qty-btn::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  background:currentColor;
  border-radius:999px;
}
.inline-qty-btn::before{
  width:10px;
  height:2px;
}
.inline-qty-btn.plus::after{
  width:2px;
  height:10px;
}
.inline-qty-btn:disabled{
  opacity:.45;
  cursor:default;
}
.inline-qty-value{
  min-width:14px;
  text-align:center;
  font-size:12px;
  font-weight:900;
  color:#166534;
}
.product-cart-inline{
  flex:1;
  display:flex;
  align-items:center;
  gap:8px;
  position:relative;
  z-index:4;
  flex-wrap:nowrap;
}
.product-cart-inline .product-cart-btn{
  flex:1;
}
.inline-qty--product{
  padding:5px 7px;
}
.inline-qty--product .inline-qty-btn{
  width:26px;
  height:26px;
  flex-basis:26px;
}
body.market-x .inline-qty,
body.ali-next .inline-qty{
  border-color:rgba(34,197,94,.18) !important;
  background:linear-gradient(135deg,#eefcf3 0%,#dff5e7 100%) !important;
  box-shadow:none !important;
}
body.market-x .inline-qty-btn,
body.ali-next .inline-qty-btn{
  background:rgba(22,163,74,.10) !important;
  color:#15803d !important;
}
@media (max-width:768px){
  .card-cta-row.with-qty{
    gap:6px;
  }
  .inline-qty{
    padding:3px 5px;
    gap:4px;
  }
  .inline-qty-btn{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .inline-qty-value{
    font-size:11.5px;
  }
  .product-cart-inline{
    width:100%;
  }
}
