/* =========================================================
   main.css — CLEAN ULTRA PREMIUM
   Версия: аккуратно очищена от дублей
   Что сделано:
   1. Удалены повторяющиеся блоки header / search-wrap / search-live / icon-btn
   2. Сохранены все рабочие стили из исходного файла
   3. Добавлены комментарии к каждому крупному блоку
   4. Логика и визуал максимально сохранены
   ========================================================= */

/* =========================================================
   1) ROOT / TOKENS
   Базовые переменные темы: цвета, тени, размеры, отступы
   ========================================================= */
:root{
  --bg:#151515;
  --panel:#1f1f1f;
  --panel2:#222;
  --text:#fff;
  --muted:#b9b9b9;
  --line:#2b2b2b;
  --accent:#ffb300;
  --accent2:#ff6a00;
  --good:#28a745;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:16px;
  --mobile-bar-h: 78px;
  --product-bar-h: 62px;
  --ring: 0 0 0 3px rgba(255,179,0,.18);
  --shadowPro: 0 22px 80px rgba(0,0,0,.60);
  --shadowPro2: 0 12px 36px rgba(0,0,0,.38);
  --lux-shadow2: 0 14px 40px rgba(0,0,0,.38);
}

/* =========================================================
   2) BASE
   Глобальная база: box model, body, ссылки, focus-стили
   ========================================================= */
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{
  margin:0;
  font-family:Segoe UI,Arial;
  background:var(--bg);
  color:var(--text);
}
a{color:inherit}
input:focus, textarea:focus, select:focus{
  outline:none;
  border-color: rgba(255,179,0,.35) !important;
  box-shadow: var(--ring) !important;
}

/* =========================================================
   3) LAYOUT
   Основной контейнер сайта и сетка каталога
   ========================================================= */
.container{max-width:1200px;margin:0 auto;padding:18px;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;}

/* =========================================================
   4) HEADER / LOGO / SEARCH / ACTIONS
   Шапка сайта, логотип, строка поиска, кнопки справа
   ========================================================= */
header{
  background:#111;
  padding:14px 16px;
  display:flex;
  align-items:center;
  gap:16px;
  position:sticky;
  top:0;
  z-index:1000;
  border-bottom:1px solid var(--line);
}
.luxury-logo{
  flex:0 0 auto;
  text-decoration:none;
  display:flex;
  align-items:baseline;
  gap:10px;
  white-space:nowrap;
}
.logo-main{font-weight:900;font-size:22px;letter-spacing:.5px;color:#fff;}
.logo-divider{color:#444;font-weight:700;}
.logo-accent{font-weight:900;font-size:18px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);}
.header-actions{
  flex:0 0 auto;
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.icon-btn{
  width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);text-decoration:none;color:#fff;position:relative;
}
.icon-btn:hover{border-color:rgba(255,179,0,.22);transform:translateY(-1px);}
.icon-btn .badge{
  position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 6px;border-radius:999px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;font-weight:900;font-size:11px;
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.35);
}
.cart-btn-header{
  background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#111;font-weight:900;
  padding:10px 12px;border-radius:12px;cursor:pointer;box-shadow:0 8px 22px rgba(255,179,0,.18);
}

/* =========================================================
   5) LIVE SEARCH
   Обёртка поиска, поле ввода и выпадающие живые результаты
   ========================================================= */
.search-wrap{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  max-width:700px;
  margin:0 auto;
}
.search-wrap #searchInput{
  width:100%;
  margin:0;
}
#searchInput{
  background:#0f0f0f;
  border:1px solid #2b2b2b;
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  outline:none;
  font-size:16px;
  position:relative;
  z-index:2;
}
#searchInput::placeholder{color:#777;}
.search-live{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  background:#1b1b1b;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  z-index:2000;
  max-height:320px;
  overflow-y:auto;
  display:none;
}
.search-live.show{display:block;}
.search-item{
  display:flex;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.06);
}
.search-item:last-child{border-bottom:none;}
.search-item:hover{background:rgba(255,255,255,.05);}
.search-item img{
  width:42px;height:42px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.08);flex:0 0 auto;
}
.search-item-body{min-width:0;flex:1 1 auto;}
.search-item-name{
  font-size:14px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.search-item-price{margin-top:2px;font-size:13px;font-weight:900;color:var(--accent);}
.search-empty{padding:12px;color:#aaa;font-size:14px;}

/* =========================================================
   6) PRODUCT CARD
   Карточка товара, hover-эффекты, фото, title
   ========================================================= */
.card{
  position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;padding:14px;
  background:
    radial-gradient(900px 360px at 18% 0%, rgba(255,179,0,.12), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.22));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), var(--lux-shadow2);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transform: translateZ(0);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .25s ease,filter .25s ease;
  content-visibility:auto;
  contain-intrinsic-size:420px;
}
.card:hover{
  transform: translateY(-7px) scale(1.012);
  border-color: rgba(255,179,0,.22);
  box-shadow:0 36px 110px rgba(0,0,0,.68),0 10px 32px rgba(255,179,0,.08);
}
.card::before{
  content:"";position:absolute;inset:-2px;border-radius:24px;pointer-events:none;
  background: linear-gradient(135deg,rgba(255,220,160,.18),rgba(255,120,40,.10),rgba(255,255,255,.06));
  opacity:0;transition:opacity .25s ease;
}
.card:hover::before{opacity:1;}
.card::after{
  content:"";position:absolute;top:-55%;left:-80%;width:60%;height:210%;transform: rotate(18deg);
  background: linear-gradient(90deg,transparent 0%,rgba(255,255,255,.10) 40%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.10) 60%,transparent 100%);
  opacity:0;pointer-events:none;transition: opacity .25s ease, transform .70s ease;
}
.card:hover::after{opacity:1;transform: translateX(235%) rotate(18deg);}
.card a.card-link{text-decoration:none;color:inherit;display:block;}
.thumb{position:relative;}
.card img{
  width:100%;height:160px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.02);transition: transform .35s ease, filter .35s ease;
}
.card:hover img{transform: scale(1.04);filter: contrast(1.05) brightness(1.05);}
.name{
  margin:14px 2px 10px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height: calc(1.25em * 2);font-weight:950;letter-spacing:.18px;
}

.promo-block{

margin:16px 0;
padding:14px 16px;

background:linear-gradient(135deg,#fff3f3,#ffe9e9);

border:2px solid #ffbdbd;
border-radius:14px;

box-shadow:0 6px 18px rgba(255,0,0,0.08);

}

.promo-header{

font-weight:800;
font-size:14px;

color:#d62828;

margin-bottom:6px;

}

.promo-main{

font-size:16px;
font-weight:700;

color:#111;

}

.promo-sub{

margin-top:4px;

font-size:13px;
color:#555;

}

/* =========================================================
   7) BADGES
   Бейджи на карточках: хит / новинка / скидка
   ========================================================= */
.badges{
  position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:3;
}
.badges .label{
  font-size:10px;font-weight:900;padding:4px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;line-height:1;
  display:inline-flex;align-items:center;backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);
  border:1px solid rgba(255,255,255,.18);background: rgba(0,0,0,.18);color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.42);animation: badgePulse 2.9s ease-in-out infinite;
}
@keyframes badgePulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}
.badges .label.hit{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;border:none;animation:none;}
.badges .label.new{background:linear-gradient(135deg,#ffc107,var(--accent));color:#111;border:none;animation:none;}
.badges .label.sale{background:linear-gradient(135deg,var(--accent2),#ff3d00);color:#fff;border:none;}

/* =========================================================
   8) PRICE STRIP
   Красивый блок цены: label, старая цена, новая цена
   ========================================================= */
.price-strip{
  margin: 8px 0 12px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  background:
    radial-gradient(900px 320px at 18% 0%, rgba(255,179,0,.10), transparent 60%),
    linear-gradient(180deg, rgba(32,32,32,.92), rgba(16,16,16,.92)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap: 12px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 16px 48px rgba(0,0,0,.55) !important;
  position:relative !important;
  overflow:hidden !important;
}
.price-strip::before{
  content:"";position:absolute;inset:-1px;border-radius: 19px;pointer-events:none;
  background: linear-gradient(135deg,rgba(255,179,0,.18),rgba(255,106,0,.10),rgba(255,255,255,.06));
  opacity:.55;
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  padding:1px;-webkit-mask-composite: xor;mask-composite: exclude;
}
.price-strip::after{
  content:"";position:absolute;left:-35%;top:-70%;width:70%;height:240%;transform: rotate(18deg);pointer-events:none;
  background: linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 42%,rgba(255,255,255,.14) 50%,rgba(255,255,255,.06) 58%,transparent 100%);
  opacity:.45;
}
.price-label{
  display:flex !important;align-items:center !important;font-size: 11px !important;font-weight: 950 !important;letter-spacing: .8px !important;
  text-transform: uppercase !important;color: rgba(255,179,0,.92) !important;white-space: nowrap !important;flex: 0 0 auto !important;
  padding: 6px 10px !important;border-radius: 999px !important;background: rgba(255,179,0,.10) !important;border: 1px solid rgba(255,179,0,.18) !important;
}
.price-value{
  display:flex !important;align-items:baseline !important;justify-content:flex-end !important;gap: 6px !important;font-size: 17px !important;font-weight: 950 !important;
  color: #ffd27a !important;text-align:right !important;min-width:0 !important;max-width:100% !important;flex-wrap: nowrap !important;white-space: nowrap !important;
}
.old-price{
  font-size: 13px !important;font-weight: 850 !important;text-decoration: line-through !important;text-decoration-thickness: 2px !important;
  color: rgba(255,255,255,.55) !important;margin-right: 6px !important;white-space: nowrap !important;opacity: 1 !important;
}

/* =========================================================
   9) OPTIONS / VARIANTS
   Варианты товара на карточке
   ========================================================= */
.options{display:flex;flex-direction:column;gap:8px;margin:8px 0 10px;}
.option-row,.option-label{
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px;background:#141414;border:1px solid rgba(255,255,255,.10);border-radius:12px;cursor:pointer;
}
.option-row:hover,.option-label:hover{border-color:rgba(255,179,0,.22)}
.option-title{font-weight:700;font-size:13px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:62%;}
.option-price{font-weight:900;color:var(--accent);font-size:13px;white-space:nowrap;}
.options input{transform:scale(1.15);accent-color:var(--accent);}

/* =========================================================
   10) MAIN BUTTONS
   Кнопка "в корзину" и её состояние
   ========================================================= */
.add{
  width:100%;margin-top:auto;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;font-weight:950;border:none;padding:12px 12px;border-radius:18px;cursor:pointer;
  box-shadow:0 18px 50px rgba(255,179,0,.16);transition: transform .18s ease, filter .18s ease, box-shadow .22s ease;
}
.card:hover .add{transform: translateY(-2px);box-shadow:0 22px 55px rgba(255,179,0,.22);}
.add:active{transform:translateY(0);}
.add:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.15);}
.add:not(.in-cart){animation: btnPulse 2.4s ease-in-out infinite;}
@keyframes btnPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.add.in-cart{
  background:linear-gradient(135deg,#24c76f,#1aa85b) !important;color:#111 !important;box-shadow:0 18px 50px rgba(36,199,111,.18);animation:none !important;
}


.payment-methods{
display:flex;
gap:10px;
margin:10px 0 12px;
flex-wrap:wrap;
}

.payment-method{
flex:1;
min-width:140px;
border:1px solid rgba(255,255,255,.14);
border-radius:12px;
padding:12px 14px;
display:flex;
align-items:center;
gap:8px;
cursor:pointer;
font-size:14px;
font-weight:700;
transition:all .2s ease;
background:rgba(255,255,255,.04);
color:#fff;
}

.payment-method:hover{
border-color:rgba(255,255,255,.35);
background:rgba(255,255,255,.08);
}

.payment-method input{
display:none;
}

.payment-method.active{
border-color:#fff;
background:#fff;
color:#111;
box-shadow:0 0 0 1px rgba(255,255,255,.3) inset;
}

/* =========================================================
   11)  Хлебные крошки
   
   ========================================================= */

.breadcrumbs{
font-size:14px;
margin:14px 0 20px;

color:#999;
}

.breadcrumbs a{
color:#bbb;
text-decoration:none;
}

.breadcrumbs a:hover{
color:#fff;
}

.breadcrumbs .sep{
margin:0 8px;
color:#666;
}

/* =========================================================
   11) HARD SELL BLOCKS
   Таймеры, остаток, эффект социального доказательства
   ========================================================= */
.hard-sell{margin:12px 0 14px;display:flex;flex-direction:column;gap:8px;}
.hs-row{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.22);border-radius:14px;padding:10px 12px;font-weight:800;font-size:14px;}
.hs-timer{background:linear-gradient(135deg,#ff3d00,#ff5722);color:#fff;box-shadow:0 10px 25px rgba(255,60,0,.25);animation: hsPulse 1.8s infinite;}
@keyframes hsPulse{0%{transform:scale(1)}50%{transform:scale(1.03)}100%{transform:scale(1)}}
.hs-live{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.hs-live b{color:var(--accent);}
.dot{width:8px;height:8px;border-radius:50%;background:#24c76f;box-shadow:0 0 12px rgba(36,199,111,.55);display:inline-block;}
.hs-stock{background:linear-gradient(135deg,rgba(255,179,0,.20),rgba(255,106,0,.14));}
.hs-stock b,.hs-save b{color:#ffd54f;}

/* =========================================================
   12) FILTER BAR
   Верхний фильтр каталога: select, range, reset
   ========================================================= */
.filter-bar{
  margin:10px auto 18px;max-width:1200px;background:linear-gradient(180deg,#1f1f1f,#1a1a1a);border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;
}
.filter-title{color:var(--accent);font-weight:900;letter-spacing:.2px;margin-bottom:10px;font-size:16px;}
.filter-row{display:flex;gap:12px;align-items:flex-end;justify-content:center;flex-wrap:wrap;}
.filter-field{min-width:240px;flex:0 1 320px;}
.filter-label{font-size:12px;font-weight:800;color:rgba(255,255,255,.75);margin-bottom:6px;display:flex;align-items:center;gap:8px;}
.filter-select{
  width:100%;padding:12px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.35);color:#fff;outline:none;font-size:16px;
}
.filter-price{flex:1 1 380px;min-width:280px;}
.price-values{display:flex;justify-content:space-between;gap:10px;color:rgba(255,255,255,.75);font-weight:700;font-size:12px;margin-bottom:8px;}
.range-wrap{position:relative;height:42px;}
.range-wrap input[type="range"]{
  position:absolute;left:0;right:0;top:4px;width:100%;-webkit-appearance:none;background:transparent;pointer-events:none;height:34px;margin:0;
}
.range-wrap input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;pointer-events:auto;width:20px;height:20px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));border:2px solid rgba(0,0,0,.45);box-shadow:0 10px 22px rgba(255,179,0,.20);
}
.range-wrap input[type="range"]::-moz-range-thumb{
  pointer-events:auto;width:20px;height:20px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));border:2px solid rgba(0,0,0,.45);box-shadow:0 10px 22px rgba(255,179,0,.20);
}
.range-track{
  position:absolute;left:0;right:0;top:18px;height:6px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.10);overflow:hidden;
}
.range-track span{
  position:absolute;top:0;height:100%;left:0;width:100%;background:linear-gradient(135deg,var(--accent),var(--accent2));border-radius:999px;
}
.filter-reset{
  border:none;cursor:pointer;padding:12px 14px;border-radius:14px;font-weight:900;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#fff;white-space:nowrap;
}
.filter-reset:hover{border-color:rgba(255,255,255,.18);transform:translateY(-1px);}

/* =========================================================
   13) PAGINATION / LOAD MORE
   Пагинация и кнопка подгрузки
   ========================================================= */
.pagination{display:flex;justify-content:center;gap:10px;padding:16px;flex-wrap:wrap;}
.pagination button{
  background:#131313;color:#fff;border:1px solid #2b2b2b;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:800;transition:.15s;
}
.pagination button:hover{border-color:#3a3a3a;transform:translateY(-1px);}
.pagination button.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;border:none;}
.load-more{
  display:block;margin:18px auto 90px;padding:14px 18px;border-radius:18px;font-weight:900;border:none;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;transition:.2s;box-shadow:0 18px 44px rgba(255,179,0,.16);min-height:56px;font-size:15px;touch-action:manipulation;
}
.load-more:hover{transform:translateY(-2px);}
.load-more:active{transform:translateY(0);}
.pagination button.load-more{
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;color:#111 !important;border:none !important;
}

.qty-control{
display:flex;
align-items:center;
gap:6px;
}

.qty-btn{
width:36px;
height:36px;
border:none;
border-radius:8px;
font-size:20px;
font-weight:700;
cursor:pointer;
}

.qty-btn.minus{
background:#eee;
}

.qty-btn.plus{
background:#2e7d32;
color:#fff;
}

.qty-number{
min-width:32px;
text-align:center;
font-size:16px;
font-weight:700;
}

/* =========================================================
   14) TOAST
   Уведомления внизу экрана
   ========================================================= */
.anna-toast{
  position:fixed;right:18px;bottom:18px;z-index:150000;width:min(420px, calc(100vw - 36px));pointer-events:none;opacity:0;transform:translateY(18px);transition:.28s ease;
}
.anna-toast.show{
  opacity:1;transform:translateY(0);animation: toastIn .28s ease;
}
@keyframes toastIn{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
.anna-toast-card{
  pointer-events:auto;background:linear-gradient(180deg,#1f1f1f,#141414);border:1px solid rgba(255,255,255,.10);border-radius:16px;box-shadow:0 18px 55px rgba(0,0,0,.55);display:flex;gap:12px;padding:14px 14px;align-items:flex-start;
}
.anna-toast-icon{
  width:44px;height:44px;border-radius:14px;background:rgba(36,199,111,.10);border:1px solid rgba(36,199,111,.25);display:flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.anna-toast-icon svg{width:30px;height:30px;}
.anna-toast-circle{
  stroke:#24c76f;stroke-width:4;fill:none;stroke-dasharray:151;stroke-dashoffset:151;animation: annaCircle .45s ease forwards;
}
.anna-toast-check{
  stroke:#24c76f;stroke-width:5;stroke-linecap: round;stroke-linejoin: round;fill:none;stroke-dasharray:50;stroke-dashoffset:50;animation: annaCheck .38s ease .22s forwards;
}
@keyframes annaCircle{ to{ stroke-dashoffset:0; } }
@keyframes annaCheck{  to{ stroke-dashoffset:0; } }
.anna-toast-body{min-width:0;padding-top:2px;}
.anna-toast-title{font-weight:900;color:#fff;font-size:16px;letter-spacing:.2px;}
.anna-toast-text{margin-top:4px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.35;}
.anna-toast-sub{margin-top:8px;font-size:12px;color:rgba(255,255,255,.55);}
.anna-toast-sub b{color:var(--accent);}
.anna-toast-close{
  margin-left:auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#fff;width:34px;height:34px;border-radius:12px;cursor:pointer;flex:0 0 auto;
}
.anna-toast-close:hover{background:rgba(255,255,255,.10);}

/* =========================================================
   15) FLY TO CART
   Анимация улетающего изображения в корзину
   ========================================================= */
.fly-img{
  position:fixed;width:46px;height:46px;border-radius:12px;object-fit:cover;z-index:99999;left:0;top:0;transform:translate(-50%,-50%);opacity:1;pointer-events:none;transition:transform .65s cubic-bezier(.2,.9,.1,1), opacity .65s ease;box-shadow:0 10px 25px rgba(0,0,0,.35);
}

/* =========================================================
   16) ERROR POPUP
   Модальное сообщение об ошибке
   ========================================================= */
.anna-popup{position:fixed;inset:0;z-index:10000000;display:none;}
.anna-popup.show{display:block;}
.anna-popup-overlay{position:absolute;inset:0;background:rgba(0,0,0,.70);backdrop-filter:blur(6px);}
.anna-popup-card{
  position:relative;width:min(520px, calc(100vw - 32px));margin:12vh auto 0;background:linear-gradient(180deg,#1f1f1f,#141414);border:1px solid rgba(255,255,255,.10);border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.65);padding:18px;transform:translateY(16px) scale(.98);opacity:0;transition:.25s ease;
}
.anna-popup.show .anna-popup-card{transform:translateY(0) scale(1);opacity:1;}
.anna-popup-x{
  position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#fff;cursor:pointer;
}
.anna-popup-head{display:flex;gap:12px;align-items:center;}
.anna-popup-icon{
  width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;color:#111;background:linear-gradient(135deg,var(--accent),var(--accent2));
}
.anna-popup-title{font-weight:900;font-size:18px;color:#fff;}
.anna-popup-sub{font-size:12px;color:rgba(255,255,255,.6);}
.anna-popup-text{
  margin-top:14px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;color:rgba(255,255,255,.85);font-size:14px;
}
.anna-popup-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px;}
.anna-popup-btn{padding:12px 14px;border-radius:14px;font-weight:900;border:none;cursor:pointer;}
.anna-popup-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;}
.anna-popup-btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;}
.anna-field-error{border-color:rgba(255,179,0,.8)!important;box-shadow:0 0 0 3px rgba(255,179,0,.18)!important;}
@keyframes annaShake{0%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}100%{transform:translateX(0)}}
.anna-field-shake{animation:annaShake .3s ease;}

/* =========================================================
   17) CART MODAL
   Модальное окно корзины и форма оформления
   ========================================================= */
#cartModal{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999999;padding:10px;overflow:auto;-webkit-overflow-scrolling:touch;
}
#cartBox{
  width:min(620px, 100%);margin:20px auto;background:rgba(22,22,22,.92);border:1px solid rgba(255,255,255,.08);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px;position:relative;color:#fff;
}
#cartBox h2{margin:0 0 12px;font-size:22px;letter-spacing:.2px;}
#closeCart{
  position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;color:#fff;transition:.2s;z-index:5;
}
#closeCart:hover{background:rgba(255,255,255,.12);transform:scale(1.03);}
#cartContent{margin-top:6px;}
#cartContent .cart-item{
  display:flex;justify-content:space-between;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:10px;border-radius:14px;margin-bottom:8px;flex-wrap:wrap;
}
#cartContent .cart-item b{font-size:14px;}
#cartContent .qty-btn{
  background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.12);width:28px;height:28px;border-radius:10px;cursor:pointer;transition:.15s;
}
#cartContent .qty-btn:hover{background:rgba(255,255,255,.14);}
#cartContent button[onclick^="removeItem"]{
  width:28px;height:28px;border-radius:10px;border:1px solid rgba(255,92,92,.35);background:rgba(255,92,92,.14);color:#ff8a8a;cursor:pointer;
}
#cartContent b{display:block;margin:8px 0 0;font-size:16px;}
#cartContent .checkout-box{
  margin-top:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);padding:12px;border-radius:14px;
}
#cartContent .checkout-box h3{margin:0;font-size:18px;}
#cartContent .checkout-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;flex-wrap:wrap;}
#cartContent .checkout-subtitle{margin-top:4px;color:rgba(255,255,255,.66);font-size:13px;line-height:1.35;}
#cartContent .checkout-badge{padding:8px 10px;border-radius:999px;background:rgba(255,179,0,.12);border:1px solid rgba(255,179,0,.28);color:#ffd26a;font-size:12px;font-weight:800;white-space:nowrap;}
#cartContent .checkout-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
#cartContent .checkout-benefit{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:12px;color:rgba(255,255,255,.82);}
#cartContent .checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#cartContent .checkout-grid.checkout-grid-compact{margin-top:2px;}
#cartContent .checkout-field{margin-bottom:10px;}
#cartContent .checkout-field label,.checkout-label{display:block;margin:0 0 6px;font-size:12px;font-weight:800;color:rgba(255,255,255,.72);}
#cartContent .checkout-box input,
#cartContent .checkout-box textarea{
  width:100%;padding:12px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.35);color:#fff;outline:none;margin-bottom:0;font-size:15px;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
#cartContent .checkout-box textarea{resize:vertical;min-height:92px;}
#cartContent .checkout-box input::placeholder,
#cartContent .checkout-box textarea::placeholder{color:rgba(255,255,255,.5);}
#cartContent .payment-block{margin-top:4px;}
#cartContent .checkout-inline-message{display:none;margin:10px 0 0;padding:11px 12px;border-radius:12px;font-size:13px;font-weight:700;}
#cartContent .checkout-inline-message.show{display:block;}
#cartContent .checkout-inline-message.error{background:rgba(255,92,92,.12);border:1px solid rgba(255,92,92,.22);color:#ffb0b0;}
#cartContent .checkout-inline-message.success{background:rgba(36,199,111,.12);border:1px solid rgba(36,199,111,.22);color:#8be0ae;}
#cartContent .checkout-btn{
  width:100%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;border:none;padding:14px;border-radius:14px;font-weight:900;cursor:pointer;transition:.2s;margin-top:12px;
}
#cartContent .checkout-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,179,0,.20);}
#cartContent .checkout-btn:disabled{opacity:.7;cursor:wait;transform:none;box-shadow:none;}
#cartContent .checkout-note{margin-top:10px;color:rgba(255,255,255,.56);font-size:12px;line-height:1.4;}
#cartContent .checkout-success{padding:20px 16px;text-align:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;}
#cartContent .checkout-success-icon{width:62px;height:62px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;color:#111;background:linear-gradient(135deg,#24c76f,#8be0ae);box-shadow:0 10px 26px rgba(36,199,111,.25);}
#cartContent .checkout-success-title{font-size:22px;font-weight:900;color:#fff;}
#cartContent .checkout-success-text{margin-top:8px;color:rgba(255,255,255,.76);font-size:14px;line-height:1.5;}
#cartContent .checkout-success-order{margin-top:12px;font-size:14px;color:#fff;}
#cartContent .checkout-success-order b{display:inline;margin:0;color:var(--accent);font-size:15px;}
#cartContent .checkout-success-btn{margin-top:16px;border:none;border-radius:14px;padding:12px 16px;font-weight:900;cursor:pointer;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;}
#cartContent .checkout-success-btn:hover{background:rgba(255,255,255,.12);}
body.cart-open{overflow:hidden;touch-action:none;}
body.cart-open .mobile-bar,
body.cart-open #stickyBar,
body.cart-open .sticky-bar,
body.cart-open .anna-toast{display:none !important;}
/* === MOBILE CART PRO === */
/* ===== CART FIXED CLEAN UI ===== */

.cart-item {
    width: 100%;
    margin-bottom: 10px;
}

/* УБИРАЕМ второй слой и делаем один ровный */
.cart-item-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    width: 100%;
    box-sizing: border-box;

    padding: 12px;
    border-radius: 14px;

    background: linear-gradient(180deg, #151515, #0f0f0f);
}

/* ЛЕВАЯ ЧАСТЬ */
.cart-left {
    flex: 1;
    min-width: 0;
}

/* чтобы текст не раздвигал блок */
.cart-title {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cart-price {
    font-size: 11px;
    opacity: .6;
    margin-top: 2px;
}

.cart-sum {
    font-size: 14px;
    font-weight: 800;
    margin-top: 3px;
}

/* ПРАВАЯ ЧАСТЬ */
.cart-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

/* КНОПКИ */
.qty-row {
    display: flex;
    align-items: center;
    gap: 5px;
}

.qty-row button {
    width: 28px;
    height: 28px;

    border: none;
    border-radius: 8px;

    background: linear-gradient(180deg, #d89c2f, #b87d1e);
    color: #fff;
    font-weight: 800;
    font-size: 14px;

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

.qty-row input {
    width: 40px;
    height: 28px;

    text-align: center;
    border-radius: 8px;
    border: none;

    background: #2a2a2a;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
}

/* +5 +10 */
.qty-fast {
    display: flex;
    gap: 4px;
}

.qty-fast button {
    font-size: 10px;
    padding: 3px 6px;

    border-radius: 999px;
    border: none;

    background: #ead0a0;
    color: #000;
    font-weight: 700;
}

/* УБИРАЕМ ВСЕ ВНЕШНИЕ ФОНЫ ЕСЛИ БЫЛИ */
.cart-item,
.cart-item * {
    box-shadow: none !important;
}

/* ЧТОБЫ ВСЕ КАРТОЧКИ БЫЛИ ОДИНАКОВЫЕ */
.cart-item-inner {
    min-height: 64px;
}

/* ЧИСТИМ ОТСТУПЫ */
.cart-item + .cart-item {
    margin-top: 8px;
}

/* =========================================================
   18) MOBILE BOTTOM BAR
   Нижняя мобильная панель с суммой и кнопкой открытия корзины
   ========================================================= */
.mobile-bar{
  display:none;position:fixed;left:0;right:0;bottom:0;padding:10px 12px;background:rgba(17,17,17,.92);border-top:1px solid var(--line);z-index:200000;backdrop-filter:blur(8px);
  padding-bottom:calc(10px + env(safe-area-inset-bottom));padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));
}
.mobile-bar-inner{
  max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.mobile-sum{display:flex;flex-direction:column;line-height:1.1;min-width:0;}
.mobile-sum .t{color:#aaa;font-size:12px;font-weight:600;}
.mobile-sum .v{color:var(--accent);font-size:18px;font-weight:900;white-space:nowrap;}
.mobile-open{
  background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#111;font-weight:900;padding:12px 14px;border-radius:14px;cursor:pointer;white-space:nowrap;touch-action:manipulation;
}

/* =========================================================
   19) REVIEWS
   Блок отзывов и модалка отзыва
   ========================================================= */
.rev-wrap{margin-top:22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,#1f1f1f,#151515);padding:16px;box-shadow:0 18px 55px rgba(0,0,0,.35)}
.rev-head{display:flex;gap:16px;align-items:stretch;justify-content:space-between;flex-wrap:wrap}
.rev-score{min-width:220px;flex:0 0 auto}
.rev-avg{font-size:40px;font-weight:900;line-height:1;color:#fff}
.rev-count{margin-top:6px;color:rgba(255,255,255,.6);font-size:12px}
.rev-stars{margin-top:8px;display:flex;gap:6px;align-items:center}
.rev-star{width:18px;height:18px;display:inline-block}
.rev-bars{flex:1 1 320px;min-width:260px;display:flex;flex-direction:column;gap:8px}
.rev-bar{display:flex;align-items:center;gap:10px}
.rev-bar b{width:26px;color:rgba(255,255,255,.7);font-size:12px;text-align:right}
.rev-track{flex:1;height:10px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.rev-fill{height:100%;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));width:0%}
.rev-bar span{width:34px;color:rgba(255,255,255,.55);font-size:12px;text-align:right}
.rev-controls{margin-top:14px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.rev-btn{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#111;font-weight:900;padding:12px 14px;border-radius:14px;cursor:pointer}
.rev-btn.ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#fff}
.rev-select{padding:12px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.35);color:#fff;outline:none;min-width:220px}
.rev-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.rev-item{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.04);padding:12px}
.rev-top{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.rev-who{display:flex;gap:10px;align-items:center;min-width:0}
.rev-ava{width:38px;height:38px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-weight:900;color:rgba(255,255,255,.85)}
.rev-name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.rev-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rev-date{color:rgba(255,255,255,.55);font-size:12px}
.rev-badge{font-size:11px;font-weight:900;padding:6px 10px;border-radius:999px;background:rgba(36,199,111,.12);border:1px solid rgba(36,199,111,.24);color:rgba(36,199,111,.95)}
.rev-text{margin-top:10px;color:rgba(255,255,255,.85);line-height:1.35;font-size:14px;white-space:pre-wrap}
.rev-actions-row{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rev-like{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#fff;border-radius:12px;padding:10px 12px;cursor:pointer;font-weight:800}
.rev-like:active{transform:translateY(1px)}
.rev-like b{color:var(--accent)}
.rev-more{margin-top:12px;width:100%;padding:14px 16px;border-radius:16px;font-weight:900;border:none;cursor:pointer;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#fff}
.rev-more:hover{border-color:rgba(255,255,255,.18)}
.rev-modal{
  position:fixed;inset:0;z-index:10000001;display:none;background:rgba(0,0,0,.70);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding: 10vh 14px calc(16px + env(safe-area-inset-bottom));overflow:auto;-webkit-overflow-scrolling:touch;
}
.rev-modal.show{display:block;}
.rev-modal-bg{display:none;}
.rev-modal-card{
  position:relative;width:min(680px, calc(100vw - 28px));margin:0 auto;background:linear-gradient(180deg,#1f1f1f,#141414);border:1px solid rgba(255,255,255,.10);border-radius:18px;box-shadow:0 22px 70px rgba(0,0,0,.65);padding:16px;max-height:none !important;height:auto !important;overflow:visible !important;
}
.rev-modal-title{font-weight:900;font-size:18px;margin-bottom:12px}
.rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rev-label{display:block;font-size:12px;font-weight:900;color:rgba(255,255,255,.75);margin:10px 0 6px}
.rev-input,
.rev-text{
  width:100%;padding:12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.35);color:#fff;outline:none;font-size:16px;
}
.rev-rate{display:flex;gap:8px;align-items:center}
.rev-rate button{width:38px;height:38px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);cursor:pointer}
.rev-rate button.active{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none}
.rev-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:10px}
.rev-note{margin-top:10px;color:rgba(255,255,255,.55);font-size:12px}
@supports(selector(body:has(.rev-modal.show))){
  body:has(.rev-modal.show){overflow:hidden;touch-action:none;}
  body:has(.rev-modal.show) .mobile-bar,
  body:has(.rev-modal.show) #stickyBar,
  body:has(.rev-modal.show) .sticky-bar{display:none !important;pointer-events:none !important;}
  body:has(.rev-modal.show) .anna-toast{display:none !important;}
}

/* =========================================================
   20) PRODUCT STICKY BAR
   Нижняя фиксированная панель товара на мобильной карточке
   ========================================================= */
.sticky-bar button.in-cart,
#stickyAddToCart.in-cart{
  background: linear-gradient(135deg,#24c76f,#1aa85b) !important;
  color:#111 !important;
}

/* =========================================================
   21) HERO BANNER
   Верхний премиальный баннер главной страницы
   ========================================================= */
.hero-banner{
  position:relative;padding: 18px 0 8px;margin: 0 auto 18px;
}
.hero-banner::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(900px 420px at 18% 0%,rgba(255,179,0,.14),transparent 60%),
    radial-gradient(700px 320px at 90% 20%,rgba(255,106,0,.10),transparent 55%);
}
.hero-banner-inner{
  max-width:1200px;margin:0 auto;padding: 18px;border-radius: 22px;border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.28));
  box-shadow: 0 30px 90px rgba(0,0,0,.62);
  backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);
  display:grid;grid-template-columns: 1.15fr .85fr;gap: 18px;align-items:center;overflow:hidden;position:relative;
}
.hb-kicker{color: var(--accent);font-weight: 950;letter-spacing: 2.2px;font-size: 12px;text-transform: uppercase;opacity:.95;}
.hb-title{margin: 10px 0 10px;font-weight: 950;line-height: 1.08;font-size: clamp(28px, 3.6vw, 44px);}
.hb-sub{margin: 0;max-width: 520px;color: rgba(255,255,255,.68);font-size: 15px;line-height: 1.5;}
.hb-actions{margin-top: 16px;display:flex;gap: 10px;flex-wrap: wrap;}
.hb-btn{
  display:inline-flex;align-items:center;justify-content:center;padding: 12px 16px;border-radius: 16px;font-weight: 950;text-decoration:none;border: 1px solid rgba(255,255,255,.12);transition: .2s ease;min-height: 44px;
}
.hb-primary{
  background: linear-gradient(135deg,var(--accent),var(--accent2));color:#111;border:none;box-shadow: 0 18px 50px rgba(255,179,0,.18);
}
.hb-primary:hover{ transform: translateY(-2px); }
.hb-ghost{background: rgba(255,255,255,.06);color:#fff;}
.hb-ghost:hover{border-color: rgba(255,255,255,.20);transform: translateY(-2px);}
.hb-points{margin-top: 14px;display:flex;gap: 10px;flex-wrap: wrap;}
.hb-point{
  font-size: 12px;font-weight: 850;color: rgba(255,255,255,.78);padding: 8px 10px;border-radius: 999px;background: rgba(0,0,0,.22);border: 1px solid rgba(255,255,255,.10);
}
.hb-card{
  position:relative;border-radius: 20px;overflow:hidden;border: 1px solid rgba(255,255,255,.10);background: linear-gradient(180deg,#1f1f1f,#141414);box-shadow: 0 26px 70px rgba(0,0,0,.62);
}
.hb-card-badge{
  position:absolute;top:12px;left:12px;padding: 6px 10px;border-radius: 999px;font-size: 11px;font-weight: 950;color:#111;background: linear-gradient(135deg,var(--accent),var(--accent2));box-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.hb-card picture{display:block;}
.hb-img{
  width:100%;height: 360px;object-fit: cover;display:block;transform: scale(1.02);transition: transform .35s ease, filter .35s ease;
}

.catalog-section,
.seo-text{
  content-visibility: auto;
  contain-intrinsic-size: 1px 900px;
}
.hero-banner-inner:hover .hb-img{transform: scale(1.06);filter: contrast(1.05) brightness(1.05);}
.hb-card-bottom{
  padding: 12px 12px 14px;border-top: 1px solid rgba(255,255,255,.08);background: rgba(0,0,0,.28);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);
}
.hb-card-title{font-weight: 950;font-size: 14px;}
.hb-card-sub{margin-top: 2px;font-size: 12px;color: rgba(255,255,255,.62);}

/* =========================================================
   22) HERO CATEGORIES
   Категории-чипсы под hero-блоком
   ========================================================= */
.hb-cats{
  justify-content: center;margin-top: 12px;display: flex;flex-wrap: wrap;gap: 10px;
}
.hb-cat{
  display: inline-flex;align-items: center;gap: 8px;padding: 10px 12px;border-radius: 16px;text-decoration: none;color: #fff;
  background: rgba(255,255,255,.06);border: 1px solid rgba(255,255,255,.12);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);
  font-weight: 900;font-size: 13px;line-height: 1;transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.hb-cat .i{
  width: 28px;height: 28px;border-radius: 12px;display: inline-flex;align-items: center;justify-content: center;
  background: linear-gradient(135deg,var(--accent),var(--accent2));color: #111;flex: 0 0 auto;
}
.hb-cat:hover{
  transform: translateY(-2px);border-color: rgba(255,179,0,.25);box-shadow: 0 16px 40px rgba(0,0,0,.35), 0 10px 22px rgba(255,179,0,.08);
}

/* =========================================================
   23) SECTION TITLE / FAVORITES
   Заголовок секций, кнопка избранного и мобильный вариант
   ========================================================= */
.section-title{
  font-size:28px;font-weight:900;letter-spacing:.5px;margin:20px 0 18px;color:#ffffff;display:flex;align-items:center;gap:12px;
}
.section-title::before{
  content:"";width:6px;height:26px;background:#ff8c00;border-radius:3px;
}
.section-title::after{
  content:"";flex:1;height:1px;background:linear-gradient(90deg,#ff8c00,transparent);margin-left:8px;
}
.fav-btn{
  position:absolute;top:10px;left:10px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(6px);transition:.2s;z-index:5;
}
.fav-btn svg{width:18px;height:18px;fill:#fff;transition:.25s;}
.fav-btn:hover{transform:scale(1.1);}
.fav-btn.active svg{fill:#ff3b5c;transform:scale(1.2);}
.fav-header{
  display:flex;align-items:center;gap:6px;font-weight:800;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:8px 10px;border-radius:12px;text-decoration:none;
}
#favCount{color:#ff3b5c;font-weight:900;}
.mobile-fav{
  position:relative;width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:20px;text-decoration:none;
}
.mobile-fav span{
  position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;font-weight:900;font-size:11px;display:flex;align-items:center;justify-content:center;
}

/* =========================================================
   24) SKELETONS
   Заглушки загрузки карточек
   ========================================================= */
.skel-card{
  position:relative;border-radius:22px;padding:14px;overflow:hidden;
  background:
    radial-gradient(900px 360px at 18% 0%, rgba(255,179,0,.08), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.22));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 14px 40px rgba(0,0,0,.38);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  content-visibility:auto;
  contain-intrinsic-size: 420px;
}
.skel-thumb{
  width:100%;height:160px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background: rgba(255,255,255,.06);position:relative;overflow:hidden;
}
.skel-line{
  height:14px;border-radius:10px;background: rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);margin-top:12px;position:relative;overflow:hidden;
}
.skel-line.sm{ height:12px; opacity:.95; }
.skel-line.w80{ width:80%; }
.skel-line.w60{ width:60%; }
.skel-line.w40{ width:40%; }
.skel-price{
  margin-top:14px;height:46px;border-radius:18px;
  background:
    radial-gradient(900px 320px at 18% 0%, rgba(255,179,0,.08), transparent 60%),
    linear-gradient(180deg, rgba(32,32,32,.90), rgba(16,16,16,.90));
  border:1px solid rgba(255,255,255,.10);position:relative;overflow:hidden;
}
.skel-btn{
  margin-top:12px;height:46px;border-radius:18px;background: rgba(255,179,0,.12);border:1px solid rgba(255,179,0,.18);position:relative;overflow:hidden;
}
.skel-thumb::after,
.skel-line::after,
.skel-price::after,
.skel-btn::after{
  content:"";position:absolute;inset:0;transform: translateX(-120%);
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,179,0,.10) 35%,
    rgba(255,255,255,.10) 50%,
    rgba(255,179,0,.10) 65%,
    transparent 100%
  );
  animation: skelShimmer 1.25s ease-in-out infinite;
}
@keyframes skelShimmer{
  0%{ transform: translateX(-120%); opacity:.9; }
  100%{ transform: translateX(120%);  opacity:.9; }
}

/* =========================================================
   25) FREE SHIPPING BUBBLE
   Всплывающая подсказка о бесплатной доставке
   ========================================================= */
.free-ship-bubble{
  position:absolute;right:12px;bottom:calc(100% + 10px);background:rgba(17,17,17,.95);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13px;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none;
}
.free-ship-bubble.show{opacity:1;transform:translateY(0);}
.free-ship-bubble b{color:var(--accent);}
.free-ship-bubble::after{
  content:"";position:absolute;right:18px;bottom:-6px;width:12px;height:12px;background:rgba(17,17,17,.95);transform:rotate(45deg);border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}

/* ================================
   SEO TEXT BLOCK
   ================================ */

.seo-text{
margin-top:40px;
padding:28px 30px;
border-radius:16px;

background:linear-gradient(180deg,#111214,#0d0e10);
border:1px solid rgba(255,255,255,0.06);

color:#cfcfcf;
line-height:1.7;
font-size:15px;

box-shadow:
0 8px 30px rgba(0,0,0,0.35),
inset 0 1px 0 rgba(255,255,255,0.05);
}

.seo-text h2{
margin:0 0 14px 0;

font-size:22px;
font-weight:700;

color:#ffffff;

letter-spacing:.3px;
}

.seo-text p{
margin:0 0 14px 0;
color:#b9b9b9;
}

.seo-text p:last-child{
margin-bottom:0;
}

/* subtle luxury glow */

.seo-text{
position:relative;
overflow:hidden;
}

.seo-text::before{
content:"";
position:absolute;

top:-40%;
left:-40%;

width:200%;
height:200%;

background:
radial-gradient(circle at center,
rgba(255,180,80,0.08),
transparent 70%);

pointer-events:none;
}

/* ===== БЛОК АКЦИИ ТОВАРА ===== */

.product-promo-box{
  margin:16px 0 18px;
  padding:14px 16px;
  border-radius:14px;

  background:linear-gradient(135deg,#fff6f6,#ffecec);
  border:1px solid #ffc9c9;

  box-shadow:0 4px 14px rgba(214,40,40,0.12);

  position:relative;
  overflow:hidden;
}

/* декоративная полоска */
.product-promo-box::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:#e53935;
}

/* заголовок акции */

.product-promo-title{
  font-weight:800;
  font-size:15px;
  color:#d62828;
  margin-bottom:4px;
  letter-spacing:0.3px;
}

/* основной текст */

.product-promo-text{
  font-size:15px;
  font-weight:700;
  color:#222;
}

/* дополнительный текст */

.product-promo-sub{
  margin-top:4px;
  font-size:13px;
  color:#2e7d32;
  font-weight:700;
}

/* лёгкая анимация */

.product-promo-box:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(214,40,40,0.18);
  transition:all .2s ease;
}

/* =========================================================
   26) RESPONSIVE
   Все мобильные и адаптивные стили
   ========================================================= */
@media (max-width:820px){
  header{flex-wrap:wrap;gap:10px;}
  .luxury-logo{order:1;}
  .header-actions{order:2;margin-left:auto;}
  .header-actions .icon-btn{order:1;}
  .header-actions .cart-btn-header{order:2;}

  .search-wrap{
    order:3;flex:0 0 100%;width:100%;max-width:none;margin-top:10px;
  }
  .search-wrap #searchInput{
    width:100%;border-radius:14px;padding:12px 12px;font-size:16px;
  }
  .search-live{top:calc(100% + 8px);}

  .grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));}
  .card img{height:140px;}

  .price-strip{padding: 11px 12px !important;border-radius: 16px !important;}
  .price-label{font-size: 10.5px !important;padding: 5px 9px !important;}
  .price-value{ font-size: 17px !important; }
  .old-price{ font-size: 12px !important; }

  .filter-row{justify-content:stretch;}
  .filter-field{flex:1 1 100%;min-width:0;}
  .filter-reset{width:100%;}

  .load-more{width:calc(100% - 24px);margin:20px auto 110px;}

  .anna-toast{left:18px;right:18px;bottom:calc(90px + env(safe-area-inset-bottom));}

  #cartModal{padding:0;}
  #cartBox{
    width:100%;margin:0;border-radius:22px 22px 0 0;max-height:calc(100dvh - 10px - env(safe-area-inset-top));display:flex;flex-direction:column;overflow:hidden;
  }
  #cartContent{
    overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
  #closeCart{position:sticky;top:10px;right:10px;margin-left:auto;}

  body{padding-bottom: calc(var(--mobile-bar-h) + 18px + env(safe-area-inset-bottom)) !important;}
  .container{padding-bottom: calc(var(--mobile-bar-h) + 28px + env(safe-area-inset-bottom)) !important;}
  .mobile-bar{display:block;}

  .rev-grid{grid-template-columns:1fr;}
  .rev-modal{padding:8vh 12px calc(16px + env(safe-area-inset-bottom));}

  #stickyBar,
  .sticky-bar{
    position:fixed !important;left:0;right:0;bottom:0;z-index:260000 !important;
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:10px 12px !important;padding-bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    background:rgba(12,13,16,.78) !important;backdrop-filter: blur(14px);-webkit-backdrop-filter: blur(14px);
    border-top:1px solid rgba(255,255,255,.10) !important;min-height: calc(var(--product-bar-h) + env(safe-area-inset-bottom)) !important;
  }
  .sticky-left{display:flex;align-items:center;gap:10px;min-width:0;}
  .sticky-thumb{
    width:34px !important;height:34px !important;border-radius:12px !important;border:1px solid rgba(255,255,255,.12);flex:0 0 auto;
  }
  .sticky-title{
    font-size:12px !important;font-weight:900;line-height:1.12 !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw !important;
  }
  .sticky-price{margin-top:2px !important;gap:6px !important;flex-wrap:nowrap !important;align-items:baseline;}
  .sticky-old{font-size:10px !important;opacity:.6 !important;}
  .sticky-new{font-size:12.5px !important;font-weight:950 !important;}
  #stickyAddToCart,
  #stickyBar button,
  .sticky-bar button{
    padding:10px 12px !important;min-height:40px !important;font-size:13.5px !important;border-radius:16px !important;background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;color:#111 !important;font-weight:950 !important;touch-action:manipulation;border:none !important;
  }
  @supports(selector(body:has(#stickyBar))){
    body:has(#stickyBar),
    body:has(.sticky-bar){
      padding-bottom: calc(var(--product-bar-h) + env(safe-area-inset-bottom) + 12px) !important;
    }
    body:has(#stickyBar) .container,
    body:has(.sticky-bar) .container{
      padding-bottom: calc(var(--product-bar-h) + env(safe-area-inset-bottom) + 18px) !important;
    }
  }

  .hero-banner{ padding: 10px 0 0; }
  .hero-banner-inner{
    grid-template-columns: 1fr;padding: 14px;border-radius: 20px;
  }
  .hb-img{ height: 220px; }
  .hb-actions .hb-btn{ width: 100%; }

  .hb-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .hb-cat{
    position:relative;width:100%;padding:12px 12px 12px 44px;justify-content:center;text-align:center;font-size:14px;
  }
  .hb-cat .i{
    position:absolute;left:10px;top:50%;transform:translateY(-50%);
  }

  .section-title{font-size:22px;margin:14px 0;}
  .section-title::before{height:20px;}

  .skel-thumb{ height:140px; }
}

@media (hover:hover){
  .card:hover .price-strip{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      0 22px 70px rgba(0,0,0,.60),
      0 10px 28px rgba(255,179,0,.08) !important;
  }
}

@media (max-width: 700px){
  #cartContent .checkout-benefits,
  #cartContent .checkout-grid{grid-template-columns:1fr;}
  #cartContent .checkout-head{align-items:stretch;}
  #cartContent .checkout-badge{white-space:normal;}
}

/* =========================================================
   FAVORITES PAGE REFRESH
   Избранное и мягкий сценарий брошенной корзины
   ========================================================= */
.favorites-page{padding-top:26px;padding-bottom:28px;}
.favorites-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px;}
.favorites-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,179,0,.18);border-radius:999px;background:rgba(255,179,0,.08);color:#ffd574;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.favorites-title{margin:12px 0 8px;}
.favorites-subtitle{margin:0;max-width:760px;color:var(--muted);line-height:1.55;}
.favorites-stats{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:12px;min-width:min(100%,360px);}
.favorites-stat-card{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;box-shadow:var(--shadowPro2);}
.favorites-stat-label{display:block;color:var(--muted);font-size:13px;margin-bottom:8px;}
.favorites-stat-value{font-size:30px;font-weight:900;color:#fff;}
.favorites-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px 16px;margin-bottom:20px;}
.favorites-chip{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:rgba(255,179,0,.10);color:#ffe09a;font-weight:800;font-size:13px;}
.favorites-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap;}
.favorites-action-btn,.favorites-link-btn{appearance:none;border:none;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;box-shadow:0 10px 24px rgba(255,179,0,.18);}
.favorites-action-btn.is-ghost{background:rgba(255,255,255,.05);color:#fff;border:1px solid rgba(255,255,255,.10);box-shadow:none;}
.favorites-action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;}
.favorites-grid{align-items:stretch;}
.favorites-card-meta{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.favorites-stock{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;width:max-content;max-width:100%;}
.favorites-stock.is-available{background:rgba(40,167,69,.16);color:#9ee7ad;border:1px solid rgba(40,167,69,.22);}
.favorites-stock.is-empty{background:rgba(255,255,255,.06);color:#d6d6d6;border:1px solid rgba(255,255,255,.08);}
.favorites-empty{grid-column:1/-1;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:34px 24px;text-align:center;box-shadow:var(--shadowPro2);}
.favorites-empty-icon{font-size:52px;line-height:1;margin-bottom:10px;color:#ff7a95;}
.favorites-empty h2{margin:0 0 10px;font-size:28px;}
.favorites-empty p{margin:0 auto 18px;max-width:520px;color:var(--muted);line-height:1.55;}
.favorites-empty-actions{display:flex;justify-content:center;}

.cart-reminder{position:fixed;right:16px;bottom:96px;z-index:1200;width:min(360px,calc(100vw - 24px));background:linear-gradient(180deg,#242424,#1b1b1b);border:1px solid rgba(255,179,0,.18);border-radius:22px;padding:18px 18px 16px;box-shadow:0 24px 80px rgba(0,0,0,.45);transform:translateY(20px);opacity:0;pointer-events:none;transition:opacity .24s ease, transform .24s ease;}
.cart-reminder.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.cart-reminder-kicker{font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#ffc94d;margin-bottom:8px;}
.cart-reminder-title{font-size:20px;font-weight:900;line-height:1.2;margin-bottom:8px;}
.cart-reminder-text{color:var(--muted);line-height:1.5;font-size:14px;margin-bottom:14px;padding-right:14px;}
.cart-reminder-btn{appearance:none;border:none;border-radius:14px;padding:12px 15px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;width:100%;}
.cart-reminder-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:20px;line-height:1;cursor:pointer;}

@media (max-width: 768px){
  .favorites-stats{grid-template-columns:1fr;min-width:100%;}
  .favorites-toolbar{padding:12px;}
  .favorites-toolbar-actions{width:100%;}
  .favorites-action-btn,.favorites-link-btn{width:100%;}
  .cart-reminder{left:12px;right:12px;bottom:88px;width:auto;}
}


/* =========================================================
   EMPTY STATES
   Красивые пустые состояния для корзины, каталога и поиска
   ========================================================= */
.empty-state{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:30px 24px;
  box-shadow:var(--shadowPro2);
}
.empty-state--center{
  grid-column:1/-1;
  text-align:center;
}
.empty-state-icon{
  width:72px;height:72px;margin:0 auto 14px;border-radius:22px;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 30%, rgba(255,179,0,.22), rgba(255,179,0,.08));
  border:1px solid rgba(255,179,0,.18);color:#ffd574;font-size:34px;
  box-shadow:0 18px 44px rgba(0,0,0,.25);
}
.empty-state-title{margin:0 0 10px;font-size:28px;line-height:1.15;color:#fff;}
.empty-state-text{margin:0 auto;max-width:620px;color:var(--muted);line-height:1.6;font-size:15px;}
.empty-state-actions{margin-top:18px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.empty-state-btn{
  appearance:none;border:none;text-decoration:none;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:14px;padding:12px 16px;font-weight:900;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:#111;
  box-shadow:0 10px 24px rgba(255,179,0,.18);
}
.empty-state-btn.is-ghost{
  background:rgba(255,255,255,.05);color:#fff;border:1px solid rgba(255,255,255,.10);box-shadow:none;
}
.empty-state-hint{margin-top:14px;color:rgba(255,255,255,.56);font-size:13px;}
.catalog-empty{margin-top:12px;}
.cart-empty{margin-top:6px;}
.cart-empty .empty-state-title{font-size:24px;}
.cart-empty .empty-state-text{max-width:520px;}
.search-empty-state{padding:16px;display:flex;flex-direction:column;gap:12px;}
.search-empty-top{display:flex;gap:12px;align-items:flex-start;}
.search-empty-icon{
  width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,179,0,.10);border:1px solid rgba(255,179,0,.16);font-size:21px;flex:0 0 auto;color:#ffd574;
}
.search-empty-title{font-size:15px;font-weight:900;color:#fff;margin:0 0 4px;}
.search-empty-text{font-size:13px;line-height:1.45;color:rgba(255,255,255,.68);margin:0;}
.search-empty-actions{display:flex;gap:8px;flex-wrap:wrap;}
.search-empty-link{
  display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:12px;
  text-decoration:none;font-size:13px;font-weight:800;background:rgba(255,255,255,.05);color:#fff;border:1px solid rgba(255,255,255,.10);
}
@media (max-width: 700px){
  .empty-state{padding:24px 16px;border-radius:20px;}
  .empty-state-icon{width:64px;height:64px;font-size:30px;}
  .empty-state-title{font-size:24px;}
  .empty-state-text{font-size:14px;}
  .empty-state-actions{flex-direction:column;}
  .empty-state-btn{width:100%;}
  .search-empty-actions{flex-direction:column;}
  .search-empty-link{width:100%;}
}
