/* 01-hero.css */
/* ============================================================================
   PRODUCT DETAIL · HERO V3 «баннер-сверху»  (01-hero.css — ПОЛНАЯ ЗАМЕНА)
   ----------------------------------------------------------------------------
   Greenfield-подход: этот файл ЗАМЕНЯЕТ старый 01-hero.css целиком.
   Стилизует реальные классы из hero.php (V3). Ноль !important —
   двухклассовые селекторы .product-hero-v3 .X естественно побеждают
   одноклассовые глобальные правила из 02-layout.css.
   ============================================================================ */

/* токены шапки */
.product-hero-v3{
  --h-ink:#1e293b; --h-ink2:#475569; --h-muted:#64748b; --h-light:#94a3b8;
  --h-acc:#8ff451; --h-acc-deep:#16a34a; --h-acc-tint:#eafcdd;
  --h-line:#e7e9e7; --h-banner:linear-gradient(135deg,#e9fbdc 0%,#f5fbee 100%);
  --h-star:#f4b740; --h-fire:#f0820f; --h-danger:#ef4444;
}

/* секция: светлая, без тени и разделителя, плотный верхний отступ */
.product-hero-v3{
  background:transparent;
  border-bottom:0;
  padding:14px 0 0;
}
.product-hero-v3 .container{position:relative}

/* ── хлебные крошки ──────────────────────────────────────────────────── */
.product-hero-v3 .breadcrumb-modern{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  margin-bottom:14px;font-size:13px;font-weight:600;color:var(--h-muted);
}
.product-hero-v3 .breadcrumb-modern a{color:var(--h-muted);display:inline-flex;align-items:center;gap:6px;transition:color .15s}
.product-hero-v3 .breadcrumb-modern a:hover{color:var(--h-ink)}
.product-hero-v3 .breadcrumb-modern .separator{color:var(--h-light);opacity:.7}
.product-hero-v3 .breadcrumb-modern .current{color:var(--h-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46ch}

/* ── единая карточка: пастель сверху + белый низ ─────────────────────── */
.product-hero-v3 .product-hero-main{
  display:block;
  background:#fff;border:0;border-radius:20px;overflow:hidden;
  /* same soft shadow as the other content cards (reviews/order/tabs) for a
     consistent card look across the page */
  box-shadow:0 4px 36px rgba(0,0,0,.07);
}

/* банер */
.product-hero-v3 .product-hero-banner{
  position:relative;overflow:hidden;
  background:var(--h-banner);
  padding:22px 24px;min-height:128px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.product-hero-v3 .product-hero-watermark{
  position:absolute;right:-12px;bottom:-78px;
  font-size:200px;font-weight:900;letter-spacing:-.05em;line-height:.8;
  color:var(--h-acc-deep);opacity:.10;transform:rotate(-12deg);pointer-events:none;user-select:none;
  /* не статичный: лёгкое «дыхание» */
  animation:heroWatermarkFloat 7s ease-in-out infinite;
}
/* watermark как изображение иконки категории — выглядывает снизу (как в каталоге), крупнее и ниже */
.product-hero-v3 img.product-hero-watermark{
  width:230px;height:230px;font-size:0;object-fit:contain;opacity:.13;top:auto;bottom:-82px;right:-26px;
}
@keyframes heroWatermarkFloat{0%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(-12deg) translateY(-9px)}100%{transform:rotate(-12deg) translateY(0)}}
@media (prefers-reduced-motion:reduce){.product-hero-v3 .product-hero-watermark{animation:none}}
.product-hero-v3 .product-hero-discount{
  position:absolute;z-index:3;top:14px;left:14px;
  display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:7px;
  background:#ffe4e4;color:var(--h-danger);font-size:12px;font-weight:900;
}

/* tile — белый квадрат слева */
.product-hero-v3 .product-hero-image{position:relative;z-index:2;order:1;flex:0 0 auto;margin:0;max-width:none;display:block}
.product-hero-v3 .product-image-wrapper{
  width:80px;height:80px;border-radius:16px;overflow:hidden;background:#fff;
  display:grid;place-items:center;border:0;box-shadow:0 10px 22px rgba(15,23,42,.14);
}
.product-hero-v3 .product-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block}
.product-hero-v3 .product-image-wrapper .product-image-placeholder,
.product-hero-v3 .product-image-placeholder{
  position:static;width:80px;height:80px;border-radius:16px;display:grid;place-items:center;
  background:#fff;color:var(--h-acc-deep);font-size:28px;font-weight:900;letter-spacing:-.04em;aspect-ratio:auto;
}
.product-hero-v3 .product-image-placeholder i{display:none}
/* tile как иконка категории (img) */
.product-hero-v3 .product-hero-tile-icon{width:80px;height:80px;border-radius:16px;background:#fff;display:grid;place-items:center;box-shadow:0 10px 22px rgba(15,23,42,.14)}
.product-hero-v3 .product-hero-tile-icon img{width:54%;height:54%;object-fit:contain}
.product-hero-v3 .product-hero-tile-icon--custom img{width:auto;height:auto;max-width:64%;max-height:64%;border-radius:11px}
.product-hero-v3 .product-hero-tile-icon i{font-size:34px;color:var(--h-acc-deep)}
.product-hero-v3 i.product-hero-watermark{width:auto;height:auto;font-size:150px;display:flex;align-items:center;justify-content:center;color:var(--h-acc-deep);opacity:.12;top:auto;bottom:-34px;right:-10px}

/* действия в баннере (иконки) — тёмные на белых пилюлях */
.product-hero-v3 .product-header-actions{position:absolute;z-index:4;top:14px;right:14px;display:flex;gap:8px;flex-shrink:0}
.product-hero-v3 .product-hero-action{
  width:40px;height:40px;border-radius:11px;
  background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08);
  color:#1f2937;display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 2px 8px rgba(15,23,42,.1);opacity:1;position:static;
  transition:transform .16s,background-color .16s,border-color .16s,color .16s;
}
.product-hero-v3 .product-hero-action i{color:#1f2937;transition:transform .16s}
.product-hero-v3 .product-hero-action:hover{background:#fff;transform:translateY(-2px)}
.product-hero-v3 .product-hero-action:active{transform:translateY(0) scale(.94)}
/* состояния */
.product-hero-v3 .product-api-doc-btn:hover{background:var(--h-acc);border-color:var(--h-acc)}
.product-hero-v3 .product-api-doc-btn:hover i{color:#0d1f06}
.product-hero-v3 .product-restock-btn:hover{background:var(--h-acc);border-color:var(--h-acc)}
.product-hero-v3 .product-restock-btn:hover i{color:#0d1f06}
/* Уведомления включены → колокольчик залит зелёным (по аналогии с сердцем:
   solid-фон + белая иконка). Hover остаётся светло-лаймовым (превью). */
.product-hero-v3 .product-restock-btn.is-subscribed{background:var(--h-acc-deep);border-color:var(--h-acc-deep)}
.product-hero-v3 .product-restock-btn.is-subscribed i{color:#fff}
.product-hero-v3 .product-favorite-btn:hover{background:#fdeaea;border-color:rgba(239,68,68,.5)}
.product-hero-v3 .product-favorite-btn:hover i{color:var(--h-danger)}
.product-hero-v3 .product-favorite-btn.active{background:var(--h-danger);border-color:var(--h-danger)}
.product-hero-v3 .product-favorite-btn.active i{color:#fff}
.product-hero-v3 .product-affiliate-share-btn{position:relative;width:40px;padding:0;gap:0}
.product-hero-v3 .product-affiliate-share-btn:hover{background:var(--h-acc);border-color:var(--h-acc)}
.product-hero-v3 .product-affiliate-share-btn:hover i{color:#0d1f06}
.product-hero-v3 .affiliate-rate-badge-small{
  position:absolute;top:-7px;right:-7px;min-width:20px;padding:2px 5px;border-radius:999px;
  background:var(--h-acc);color:#0d1f06;font-size:9px;font-weight:900;line-height:1;text-align:center;border:2px solid #eef7e3;
}

/* Guard: the catalog-card rule `.storefront-autoreg .product-favorite-btn`
   (autoreg-theme.css) loads after this file and turns the hero heart into a 28px
   circle with a heavy shadow. Re-assert the pill look at higher specificity so
   every hero action button stays a 40px rounded square. Position is left alone —
   the affiliate button needs position:relative for its rate badge. */
.product-hero-v3 .product-header-actions .product-hero-action{
  width:40px;height:40px;border-radius:11px;
  background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(15,23,42,.1);
}
/* ROOT CAUSE of the "smaller heart": the catalog rule `.product-favorite-btn`
   (product.css) sets `transform:scale(.8)` for its hover-reveal effect on cards.
   01-hero reset opacity but not transform, so the hero heart rendered at 40px*.8
   = 32px. Reset it here at (0,2,0) — beats the catalog (0,1,0) default but stays
   below the :hover/:active rules (0,3,0) so the hover lift still works. */
.product-hero-v3 .product-favorite-btn{transform:none}
.product-hero-v3 .product-header-actions .product-favorite-btn.active{
  background:var(--h-danger);border-color:var(--h-danger);
}
/* Heart matches the other actions: thin outline (fa-regular) by default,
   filled (solid weight) only when favorited. Works with favorite.js, which
   toggles only the .active class — no icon-class swap needed. */
.product-hero-v3 .product-header-actions .product-favorite-btn i{
  font-weight:400;
  filter:none;
  -webkit-filter:none;
  text-shadow:none;
  box-shadow:none;
}
.product-hero-v3 .product-header-actions .product-favorite-btn.active i{
  color:#fff;
  font-weight:900;
  filter:none;
  -webkit-filter:none;
  text-shadow:none;
  box-shadow:none;
}
/* Колокольчик «уведомления включены» — то же поведение, что у сердца:
   solid-зелёный фон + белая залитая иконка (re-assert на той же
   специфичности, чтобы тема каталога не перебивала). */
.product-hero-v3 .product-header-actions .product-restock-btn.is-subscribed{
  background:var(--h-acc-deep);border-color:var(--h-acc-deep);
}
.product-hero-v3 .product-header-actions .product-restock-btn.is-subscribed i{
  color:#fff;
  font-weight:900;
  filter:none;
  -webkit-filter:none;
  text-shadow:none;
  box-shadow:none;
}

/* чипы категория → подкатегория (стекло на пастели) */
.product-hero-v3 .product-hero-banner .product-hero-meta{
  position:relative;z-index:2;order:2;margin:0;display:flex;flex-wrap:wrap;gap:8px;
}
.product-hero-v3 .product-hero-banner .product-meta-item{
  display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:9px;
  background:rgba(255,255,255,.82);border:0;color:#1f2937;font-size:12.5px;font-weight:700;
  box-shadow:0 2px 8px rgba(15,23,42,.08);
}
.product-hero-v3 .product-hero-banner .product-meta-item i{color:var(--h-acc-deep);font-size:11px}
.product-hero-v3 .product-hero-banner .product-meta-item.subcategory{color:#475467}
.product-hero-v3 .product-hero-banner .product-meta-item.subcategory i{color:#9aa6b6;font-size:9px}
.product-hero-v3 .product-hero-banner .product-meta-item .meta-icon-img{width:16px;height:16px;border-radius:4px;object-fit:contain}

/* инфо (заголовок + статы) на белом низе */
.product-hero-v3 .product-hero-info{color:var(--h-ink);display:block;padding:20px 24px 22px}
.product-hero-v3 .product-hero-title{
  color:var(--h-ink);font-size:clamp(20px,2.3vw,27px);font-weight:800;
  line-height:1.2;letter-spacing:-.015em;margin:0;text-shadow:none;text-wrap:pretty;
}
.product-hero-v3 .product-hero-stats{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:13.5px;font-weight:600;color:var(--h-muted)}
.product-hero-v3 .product-hero-stats strong{color:var(--h-ink);font-weight:800}

/* рейтинг — тёмная тема */
.product-hero-v3 .product-rating-light{display:inline-flex;align-items:center;gap:8px;margin:0}
.product-hero-v3 .product-rating-light .product-rating-stars i{color:var(--h-star)}
.product-hero-v3 .product-rating-light .product-rating-stars i.fa-regular{color:#d8dee6}
.product-hero-v3 .product-rating-light .product-rating-value{color:var(--h-ink);font-weight:800}
.product-hero-v3 .product-rating-light .product-rating-count{color:var(--h-muted);text-decoration:underline;text-underline-offset:2px}
.product-hero-v3 .product-rating-light .product-rating-count:hover{color:var(--h-ink)}

.product-hero-v3 .product-hero-stat{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:none;border:0;padding:0}
.product-hero-v3 .product-hero-stat .stat-stock{color:var(--h-acc-deep)}
.product-hero-v3 .product-hero-stat .stat-fire{color:var(--h-fire)}

/* убрать остаток дубликата короткого описания (если отрендерится) */
.product-hero-v3 .product-hero-short-desc{display:none}

/* ── responsive ──────────────────────────────────────────────────────── */
@media (max-width:880px){
  .product-hero-v3 .product-hero-banner{min-height:0}
}
@media (max-width:560px){
  /* The absolute desktop action strip collides with category chips once the
     banner becomes a single mobile column. Give actions their own first row;
     the service tile and taxonomy stay together on the second row. */
  .product-hero-v3 .product-hero-banner{
    padding:14px;column-gap:12px;row-gap:10px;align-content:flex-start;
  }
  .product-hero-v3 .product-header-actions{
    position:relative;top:auto;right:auto;order:0;
    flex:1 0 100%;width:100%;min-height:47px;
    justify-content:flex-end;flex-wrap:nowrap;
    padding:7px 7px 0 0;box-sizing:border-box;
  }
  .product-hero-v3 .product-hero-image{order:1}
  .product-hero-v3 .product-hero-banner .product-hero-meta{
    order:2;flex:1 1 0;min-width:0;gap:6px;
  }
  .product-hero-v3 .product-image-wrapper,
  .product-hero-v3 .product-hero-tile-icon,
  .product-hero-v3 .product-image-wrapper .product-image-placeholder,
  .product-hero-v3 .product-image-placeholder{
    width:64px;height:64px;border-radius:14px;
  }
  .product-hero-v3 .product-hero-banner .product-meta-item{
    height:26px;padding:0 9px;font-size:12px;
  }
  .product-hero-v3 .product-hero-watermark{font-size:110px}
}

/* 02-layout.css */
/* === Page Container === */

.product-detail-page {
    padding: 1.5rem 0 3rem;
    min-height: 60vh;
}

.product-detail-page .product-image-wrapper {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: #f8fafc;
}

.product-detail-page .product-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.product-detail-page .product-image-wrapper .product-image-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #667eea;
}

.product-detail-page .product-image-wrapper .product-image-placeholder i {
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.5);
}

.product-detail-page .product-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}


/* === Favorite Button === */

.product-detail-page .product-favorite-btn:not(.product-hero-action) {
    width: 32px;
    height: 32px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.15s ease-out, background-color 0.15s ease-out, color 0.15s ease-out, transform 0.15s ease-out;
    flex-shrink: 0;
    color: #9ca3af;
}

.product-detail-page .product-favorite-btn:not(.product-hero-action):hover {
    border-color: #fca5a5;
    background: #fef2f2;
    color: #f87171;
    transform: translateY(-1px);
}

.product-detail-page .product-favorite-btn:not(.product-hero-action).active {
    border-color: #ef4444;
    background: #ef4444;
    color: #ffffff;
}

.product-detail-page .product-favorite-btn:not(.product-hero-action).active:hover {
    background: #dc2626;
    transform: translateY(-1px);
}

.product-detail-page .product-favorite-btn:not(.product-hero-action) i {
    font-size: 0.85rem;
    transition: transform 0.12s ease-out;
}

.product-detail-page .product-favorite-btn:not(.product-hero-action):hover i {
    transform: scale(1.05);
}


/* === Rating Section === */

.product-detail-page .product-rating-section {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

.product-detail-page .product-rating-stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

.product-detail-page .product-rating-stars i {
    font-size: 1rem;
    color: #fbbf24;
}

.product-detail-page .product-rating-stars i.fa-regular {
    color: #d1d5db;
}

.product-detail-page .product-rating-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: #1f2937;
}

.product-detail-page .product-rating-count {
    font-size: 0.85rem;
    color: #6b7280;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.12s ease-out;
}

.product-detail-page .product-rating-count:hover {
    color: var(--primary);
    text-decoration: underline;
}

.product-detail-page .product-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    color: #6b7280;
    background: #f3f4f6;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
}

.product-detail-page .product-meta-item i {
    font-size: 0.8rem;
}

.product-detail-page .product-meta-item .meta-icon-img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.product-detail-page .product-meta-item.delivery-type.instant {
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
}

.product-detail-page .product-meta-item.delivery-type.order {
    color: #06b6d4;
    background: rgba(6, 182, 212, 0.1);
}

.product-detail-page .product-meta-item.sold-count {
    color: #edf3f6;
    background: rgba(249, 115, 22, 0.1);
}

.product-detail-page .product-meta-item.sold-count i {
    color: #ef4444;
}


/* === Content Section (Plans + Order Form) === */

.product-detail-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: stretch;
}


/* Desktop: Grid layout for 2 columns */

@media (min-width: 993px) {
    .product-detail-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 340px;
        /* Последняя строка — 1fr: когда правая колонка (форма заказа, span 1/4)
           выше левого контента, лишняя высота уходит в ЭТУ строку (под отзывами),
           а не распределяется между plans/tabs/reviews. Иначе при коротком тексте
           вкладки между блоками появлялись пустые «дыры», и отзывы не подтягивались. */
        grid-template-rows: auto auto 1fr;
        align-items: flex-start;
        gap: 1.5rem;
    }


/* Plans section - column 1, row 1 */

    .product-plans-section {
        grid-column: 1;
        grid-row: 1;
    }


/* Content tabs section - column 1, row 2 */

    .product-content-tabs {
        grid-column: 1;
        grid-row: 2;
    }


/* Reviews section - column 1, row 3 */

    .product-reviews-section {
        grid-column: 1;
        grid-row: 3;
    }


/* Order section - column 2, spans all rows */

    .product-order-section {
        grid-column: 2;
        grid-row: 1 / 4;
    }


/* Single package: the plans block is hidden, so collapse the empty first row —
   pull tabs/reviews up and let the order card span the remaining rows. */

    .product-detail-content.no-plan-selector {
        grid-template-rows: auto 1fr;
    }

    .product-detail-content.no-plan-selector .product-content-tabs {
        grid-row: 1;
    }

    .product-detail-content.no-plan-selector .product-reviews-section {
        grid-row: 2;
    }

    .product-detail-content.no-plan-selector .product-order-section {
        grid-row: 1 / 3;
    }
}

/* 03-plans-description.css */
/* ============================================================================
   PRODUCT DETAIL · PLANS (03-plans-description.css — ПОЛНАЯ ЗАМЕНА, greenfield)
   ----------------------------------------------------------------------------
   Карточки-пакеты (вертикальный стек) + заголовок секции + описание выбранного
   плана (collapse сохранён). Язык корзины. Ноль !important.
   Старый блок .product-description-section НЕ стилизуется — описание ушло в табы.
   Хук-классы/ID сохранены (product-plan-card, plan-card-check, selected-plan-description…).
   ============================================================================ */

.product-plans-section{
  --cr-ink:#1e293b;--cr-ink2:#475569;--cr-muted:#64748b;--cr-light:#94a3b8;
  --cr-line:#eef1f5;--cr-line2:#e6eaf0;--cr-soft:#f4f6f9;
  --cr-acc:#8ff451;--cr-acc-deep:#16a34a;--cr-acc-tint:#eafcdd;--cr-red:#ff3b3b;
  --cr-r:18px;--cr-r-md:13px;--cr-r-sm:10px;
  display:block;
  background:#fff;border-radius:var(--cr-r);
  box-shadow:0 1px 2px rgba(15,23,42,.05),0 12px 28px rgba(15,23,42,.045);
  overflow:visible;
}

/* заголовок секции */
.product-plans-section .plans-section-header{display:flex;align-items:center;gap:9px;padding:16px 20px 13px;border-bottom:1px solid var(--cr-line)}
.product-plans-section .plans-section-header .header-left{display:flex;align-items:center;gap:9px}
.product-plans-section .plans-section-header i{color:var(--cr-acc-deep);font-size:14px}
.product-plans-section .plans-section-header h3{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--cr-light);margin:0}

/* ── сетка пакетов ───────────────────────────────────────────────────── */
.product-plans-section .product-plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;padding:20px;margin:0}

.product-plans-section .product-plan-card{
  position:relative;display:flex;flex-direction:column;align-items:stretch;gap:11px;
  background:#fff;border:1.5px solid var(--cr-line2);border-radius:var(--cr-r-md);padding:15px;cursor:pointer;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.product-plans-section .product-plan-card:hover{transform:translateY(-2px);border-color:rgba(143,244,81,.6);box-shadow:none}
.product-plans-section .product-plan-card.active{border-color:var(--cr-acc);box-shadow:0 0 0 3px rgba(143,244,81,.18)}

/* картинка плана не нужна в компактной карточке */
.product-plans-section .plan-card-image{display:none}

.product-plans-section .plan-card-content{display:flex;flex-direction:column;gap:9px;min-width:0}
.product-plans-section .plan-card-title{font-size:14px;font-weight:800;color:var(--cr-ink);margin:0;line-height:1.25;padding-right:30px}
.product-plans-section .plan-card-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.product-plans-section .plan-card-badges .product-delivery,
.product-plans-section .plan-card-badges .out-of-stock-badge,
.product-plans-section .plan-card-badges .flash-sale-badge-inline{
  display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;
}
.product-plans-section .plan-card-badges .product-delivery i,
.product-plans-section .plan-card-badges .out-of-stock-badge i{font-size:9px}
.product-plans-section .plan-card-badges .product-delivery.delivery-instant{background:var(--cr-acc-tint);color:var(--cr-acc-deep)}
.product-plans-section .plan-card-badges .product-delivery.delivery-order{background:#e0f2fe;color:#0369a1}
.product-plans-section .plan-card-badges .flash-sale-badge-inline{background:#fee2e2;color:#dc2626}

/* цена */
.product-plans-section .plan-card-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0}
.product-plans-section .plan-price-main{display:inline-flex;align-items:baseline}
.product-plans-section .plan-current-price{font-size:19px;font-weight:900;color:var(--cr-ink);letter-spacing:-.01em;white-space:nowrap}
.product-plans-section .plan-current-price.flash-price{color:#dc2626}
.product-plans-section .plan-current-price.free-price{color:var(--cr-acc-deep)}
.product-plans-section .plan-price-extra{display:inline-flex;align-items:baseline;gap:8px}
.product-plans-section .plan-original-price{font-size:13px;font-weight:600;color:var(--cr-light);text-decoration:line-through;white-space:nowrap}
.product-plans-section .plan-discount-badge{background:var(--cr-red);color:#fff;padding:2px 6px;border-radius:6px;font-size:11px;font-weight:800;white-space:nowrap}

/* чек-кружок (верх-право) */
.product-plans-section .plan-card-check{position:absolute;top:15px;right:15px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--cr-line2);display:grid;place-items:center;color:transparent;font-size:10px;background:transparent;transition:.15s}
.product-plans-section .plan-card-check i{font-size:10px;color:transparent;transition:color .15s}
.product-plans-section .product-plan-card.active .plan-card-check{background:var(--cr-acc);border-color:var(--cr-acc)}
.product-plans-section .product-plan-card.active .plan-card-check i{color:#0c1c03}

/* нет в наличии */
.product-plans-section .out-of-stock-badge{background:#fee2e2;color:var(--cr-red)}
.product-plans-section .product-plan-card.out-of-stock{opacity:.55;cursor:not-allowed}
.product-plans-section .product-plan-card.out-of-stock:hover{transform:none;border-color:var(--cr-line2);box-shadow:none}
.product-plans-section .product-plan-card.out-of-stock .plan-card-check{border-color:var(--cr-line2);background:var(--cr-soft)}

/* ── описание выбранного плана (collapse сохранён) ───────────────────── */
.product-plans-section .selected-plan-description{
  background:#fff;border:1px solid var(--cr-line2);border-radius:var(--cr-r-md);overflow:hidden;margin:0 20px 20px;
  animation:planSlideUp .3s ease-out;box-shadow:none;position:relative;
}
@keyframes planSlideUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.product-plans-section .plan-desc-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:transparent;cursor:pointer;user-select:none;transition:background-color .2s}
.product-plans-section .plan-desc-header:hover{background:var(--cr-soft)}
.product-plans-section .plan-desc-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.product-plans-section .plan-desc-icon-wrapper{width:38px;height:38px;border-radius:11px;background:var(--cr-acc-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:none}
.product-plans-section .plan-desc-icon-wrapper i{font-size:15px;color:var(--cr-acc-deep)}
.product-plans-section .plan-desc-title-group{display:flex;flex-direction:column;gap:2px;min-width:0}
.product-plans-section .plan-desc-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cr-light)}
.product-plans-section .selected-plan-name{font-size:14px;font-weight:800;color:var(--cr-ink);line-height:1.3}
.product-plans-section .plan-desc-toggle-btn{width:30px;height:30px;border-radius:50%;background:var(--cr-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.2s}
.product-plans-section .plan-desc-header:hover .plan-desc-toggle-btn{background:var(--cr-line2)}
.product-plans-section .plan-desc-toggle-btn .collapse-icon{font-size:12px;color:var(--cr-muted);transition:transform .25s}
.product-plans-section .plan-desc-header.collapsed .plan-desc-toggle-btn .collapse-icon{transform:rotate(-90deg)}
.product-plans-section .plan-desc-content{overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out;max-height:99999px;opacity:1}
.product-plans-section .plan-desc-content.collapsed{max-height:0;opacity:0}
.product-plans-section .plan-desc-inner{padding:12px 15px 15px;font-size:13.5px;color:var(--cr-ink2);line-height:1.7;border-top:1px dashed var(--cr-line2);white-space:pre-line}
.product-plans-section .plan-desc-inner p{margin:0}
.product-plans-section .plan-desc-inner p:not(:last-child){margin-bottom:.75rem}
.product-plans-section .plan-desc-inner ul,.product-plans-section .plan-desc-inner ol{margin:.5rem 0;padding-left:1.5rem}
.product-plans-section .plan-desc-inner li{margin-bottom:.35rem}

/* ── табличный вариант (если активен .plan-layout-table) ─────────────── */
@media (min-width:769px){
  .product-plans-section .plan-layout-table.product-plans-grid{display:flex;flex-direction:column;gap:10px}
}

/* 04-order-form.css */
/* ============================================================================
   PRODUCT DETAIL · ORDER FORM (04-order-form.css — ПОЛНАЯ ЗАМЕНА, greenfield)
   ----------------------------------------------------------------------------
   3 карточки: ВАШ ЗАКАЗ / ПРОМОКОД / ИТОГО. Язык корзины. Ноль !important.
   Размечено под order-form.php (3-card). Сохранены ВСЕ состояния:
   скелетон, купон show/hide, applied-coupon, no-plans, no-fields, OOS, гость.
   Все хук-классы/ID не тронуты (orderQuantity, couponToggle, btnSubmitOrder…).
   ============================================================================ */

.product-order-form{
  --cr-ink:#1e293b;--cr-ink2:#475569;--cr-muted:#64748b;--cr-light:#94a3b8;
  --cr-line:#eef1f5;--cr-line2:#e6eaf0;--cr-soft:#f4f6f9;
  --cr-acc:#8ff451;--cr-acc-deep:#16a34a;--cr-acc-tint:#eafcdd;
  --cr-red:#ff3b3b;--cr-r:18px;--cr-r-md:13px;--cr-r-sm:10px;
  --cr-shadow:0 1px 2px rgba(15,23,42,.05),0 12px 28px rgba(15,23,42,.045);
  display:flex;flex-direction:column;gap:14px;
}
.product-order-form-hook{display:contents}
.product-order-section{position:sticky;top:18px}

/* ── карточка ──────────────────────────────────────────────────────────── */
.product-order-form .order-form-card{
  background:#fff;border:0;border-radius:var(--cr-r);box-shadow:var(--cr-shadow);
  padding:0;display:block;overflow:hidden;
}
.product-order-form .order-card-body{padding:18px;display:flex;flex-direction:column;gap:16px}

/* заголовок карточки */
.product-order-form .order-form-heading{
  display:flex;align-items:center;gap:9px;padding:16px 18px 13px;font-size:13px;font-weight:800;
  letter-spacing:.03em;text-transform:uppercase;color:var(--cr-light);border-bottom:1px solid var(--cr-line);margin:0;
}
.product-order-form .order-form-heading>span:first-child{display:inline-flex;align-items:center;gap:9px}
.product-order-form .order-form-heading i{color:var(--cr-acc-deep)}
.product-order-form .order-from-price{margin-left:auto;display:flex;align-items:baseline;gap:6px;text-transform:none;letter-spacing:0}
.product-order-form .order-from-price>span{font-size:11px;font-weight:600;color:var(--cr-muted)}
.product-order-form .order-from-price b{font-size:18px;font-weight:800;color:var(--cr-ink);letter-spacing:-.01em}

/* ── группы ────────────────────────────────────────────────────────────── */
.product-order-form .order-form-group{display:flex;flex-direction:column;gap:9px}
.product-order-form .order-form-group-quantity{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}
.product-order-form .order-form-group label{font-size:12px;font-weight:700;color:var(--cr-ink2);display:inline-flex;align-items:center;gap:7px;margin:0}
.product-order-form .order-form-group label i{color:var(--cr-acc-deep);font-size:12px}

/* количество — мягкая пилюля */
.product-order-form .quantity-selector{display:flex;align-items:center;background:var(--cr-soft);border:0;border-radius:var(--cr-r-md);overflow:hidden;padding:4px;width:auto;max-width:none;flex-shrink:0}
.product-order-form .qty-btn{width:40px;min-width:40px;height:40px;min-height:40px;border:0;border-radius:10px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--cr-ink2);transition:background-color .15s,color .15s;padding:0}
.product-order-form .qty-btn:hover{background:#fff;color:var(--cr-acc-deep);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.product-order-form .qty-btn i{font-size:13px;pointer-events:none}
.product-order-form .qty-input{flex:none;width:52px;min-width:0;height:auto;min-height:0;border:0;background:transparent;text-align:center;font-size:17px;font-weight:800;color:var(--cr-ink);appearance:textfield;-moz-appearance:textfield;padding:0;margin:0}
.product-order-form .qty-input:focus{outline:none;box-shadow:none}
/* превышение лимита склада — 1:1 как в корзине (cart-redesign): is-error + is-shaking */
.product-order-form .quantity-selector.is-error{box-shadow:inset 0 0 0 1.5px var(--cr-red)}
.product-order-form .quantity-selector.is-shaking{animation:cr-shake 280ms linear}
@keyframes cr-shake{
  0%     {transform:translateX(0);   animation-timing-function:cubic-bezier(.22,1,.36,1)}
  28.57% {transform:translateX(6px); animation-timing-function:cubic-bezier(.22,1,.36,1)}
  57.14% {transform:translateX(-6px);animation-timing-function:cubic-bezier(.22,1,.36,1)}
  78.57% {transform:translateX(4px); animation-timing-function:cubic-bezier(.22,1,.36,1)}
  100%   {transform:translateX(0)}
}
.product-order-form .qty-input::-webkit-outer-spin-button,.product-order-form .qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* поля заказа */
.product-order-form .order-fields-container{display:flex;flex-direction:column;gap:10px}
.product-order-form .order-field{width:100%}
.product-order-form .order-input{width:100%;height:50px;border:0;background:var(--cr-soft);border-radius:var(--cr-r-md);padding:0 16px;font-size:14px;font-weight:600;color:var(--cr-ink);transition:box-shadow .15s}
.product-order-form textarea.order-input{height:auto;padding:13px 16px;min-height:80px;resize:vertical}
.product-order-form .order-input:focus{outline:none;box-shadow:0 0 0 2px rgba(140,255,63,.45)}
.product-order-form .order-input::placeholder{color:var(--cr-light);font-weight:500}
.product-order-form .no-fields-message{font-size:13px;color:var(--cr-muted);background:var(--cr-soft);border-radius:var(--cr-r-md);padding:13px;text-align:center;font-style:normal}

/* скелетон загрузки */
.product-order-form .order-fields-skeleton{display:flex;flex-direction:column;gap:10px}
.product-order-form .skeleton-field{width:100%}
.product-order-form .skeleton-input{height:50px;border-radius:var(--cr-r-md);background:linear-gradient(90deg,#f0f2f5 25%,#e7eaef 50%,#f0f2f5 75%);background-size:200% 100%}
.product-order-form .skeleton-input.shimmer{animation:ofShimmer 1.5s infinite ease-in-out}
@keyframes ofShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── промокод (отдельная карточка) ───────────────────────────────────── */
.product-order-form .order-coupon-section{border:0;border-radius:var(--cr-r);overflow:hidden;width:100%;box-sizing:border-box}
/* no hover background on the toggle (the grey hover was unwanted); only the arrow reacts */
.product-order-form .coupon-toggle{display:flex;align-items:center;gap:9px;padding:16px 18px;background:transparent;cursor:pointer;user-select:none}
.product-order-form .coupon-toggle i:first-child{color:var(--cr-acc-deep);font-size:15px}
.product-order-form .coupon-toggle span{flex:1;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--cr-light)}
.product-order-form .coupon-toggle-arrow{font-size:12px;color:var(--cr-light);transition:transform .2s cubic-bezier(.22,1,.36,1)}
.product-order-form .coupon-toggle.active .coupon-toggle-arrow{transform:rotate(180deg)}
/* smoother open: realistic max-height (no 400px reserve that caused the jerky reveal) + soft easing */
.product-order-form .order-coupon-section .coupon-form-wrapper{max-height:0;opacity:0;overflow:hidden;padding:0 18px;background:#fff;box-sizing:border-box;transition:max-height .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,padding .3s cubic-bezier(.22,1,.36,1)}
.product-order-form .order-coupon-section .coupon-form-wrapper.show{max-height:220px;opacity:1;padding:16px 18px;border-top:1px solid var(--cr-line)}
.product-order-form .coupon-input-group{display:flex;gap:8px;align-items:stretch;width:100%}
.product-order-form .coupon-input{flex:1;min-width:0;height:48px;padding:0 14px;border:0;background:var(--cr-soft);border-radius:var(--cr-r-md);font-size:14px;font-weight:600;color:var(--cr-ink);transition:box-shadow .15s;text-transform:uppercase}
.product-order-form .coupon-input:focus{outline:none;box-shadow:0 0 0 2px rgba(140,255,63,.45)}
.product-order-form .coupon-input::placeholder{text-transform:none;color:var(--cr-light);font-weight:500}
.product-order-form .btn-apply-coupon{flex-shrink:0;padding:0 18px;border:0;border-radius:var(--cr-r-md);font-size:14px;font-weight:700;color:#fff;background:var(--cr-ink);cursor:pointer;transition:background-color .15s;white-space:nowrap}
.product-order-form .btn-apply-coupon:hover{background:#0f172a}
.product-order-form .btn-apply-coupon:disabled{opacity:.6;cursor:not-allowed}
.product-order-form .coupon-message{margin-top:8px;font-size:12.5px;min-height:1.2em;font-weight:700}
.product-order-form .coupon-message.success{color:var(--cr-acc-deep)}
.product-order-form .coupon-message.error{color:var(--cr-red)}
.product-order-form .applied-coupon{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;margin-top:12px;background:var(--cr-acc-tint);border:0;border-radius:var(--cr-r-md)}
.product-order-form .applied-coupon-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.product-order-form .applied-coupon-info i{color:var(--cr-acc-deep);font-size:15px;flex-shrink:0}
.product-order-form .applied-coupon-code{font-weight:800;color:var(--cr-acc-deep);font-size:13.5px;text-transform:uppercase}
.product-order-form .applied-coupon-desc{font-size:12.5px;color:var(--cr-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-order-form .btn-remove-coupon{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:rgba(255,255,255,.7);color:var(--cr-acc-deep);cursor:pointer;transition:.15s;flex-shrink:0}
.product-order-form .btn-remove-coupon:hover{background:#fff;color:var(--cr-red)}

/* ── сводка цены ──────────────────────────────────────────────────────── */
.product-order-form .order-price-summary{display:flex;flex-direction:column;gap:0;padding:0;background:transparent;border-radius:0}
.product-order-form .price-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:14px;color:var(--cr-ink2)}
.product-order-form .price-row .price-value{font-weight:700;color:var(--cr-ink)}
.product-order-form .price-row .discount-label{display:flex;align-items:center;gap:7px;font-weight:600}
/* персональная скидка (amber) */
.product-order-form .price-row.member-discount-row .discount-label.member-discount-label,
.product-order-form .price-row.member-discount-row .discount-label.member-discount-label i{color:#d97706}
.product-order-form .price-row.member-discount-row .price-value.discount{color:#d97706}
/* flash (red) */
.product-order-form .price-row.flash-sale-row .discount-label.flash-sale-label,
.product-order-form .price-row.flash-sale-row .discount-label.flash-sale-label i{color:#dc2626}
.product-order-form .price-row.flash-sale-row .price-value.discount{color:#dc2626}
/* скидка товара (green) */
.product-order-form .price-row.sale-row .discount-label.sale-label,
.product-order-form .price-row.sale-row .discount-label.sale-label i{color:#0369a1}
.product-order-form .price-row.sale-row .price-value.discount{color:#0369a1}
/* промокод (green) */
.product-order-form .price-row.coupon-discount-row .discount-label.coupon-label,
.product-order-form .price-row.coupon-discount-row .discount-label.coupon-label i{color:var(--cr-acc-deep)}
.product-order-form .price-row.coupon-discount-row .price-value.coupon-discount{color:var(--cr-acc-deep);font-weight:700}
/* итог */
.product-order-form .price-row.total-row{padding-top:12px;margin-top:6px;border-top:2px dashed var(--cr-line2);font-size:16px;font-weight:800;color:var(--cr-ink)}
.product-order-form .price-row.total-row .price-value.total{font-size:24px;font-weight:800;color:var(--cr-ink);letter-spacing:-.02em}

/* наличие */
.product-order-form .order-stock-info{display:flex;align-items:center;gap:9px;padding:0;background:transparent;font-size:13px;color:var(--cr-acc-deep);font-weight:700}
.product-order-form .order-stock-info i{color:var(--cr-acc-deep)}
.product-order-form .order-stock-info strong{font-weight:800}

/* ── кнопки — в столбик, обе на всю ширину ───────────────────────────── */
.product-order-form .order-buttons-row{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.product-order-form .btn-order{width:100%;height:54px;padding:0;border:0;border-radius:var(--cr-r-md);font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s,background-color .15s;background:var(--cr-acc);color:#0c1c03;text-decoration:none;box-shadow:0 8px 18px rgba(143,244,81,.32)}
.product-order-form .btn-order:hover{background:#a1f86a;color:#0c1c03;transform:translateY(-1px)}
.product-order-form .btn-order:disabled{background:#e2e8f0;color:#94a3b8;box-shadow:none;cursor:not-allowed;transform:none}
.product-order-form .btn-order.btn-login-required{background:var(--cr-acc);color:#0c1c03}
.product-order-form .btn-order.btn-login-required:hover{background:#a1f86a}
.product-order-form .btn-add-cart{width:100%;height:48px;flex-shrink:0;padding:0;border:0;box-shadow:inset 0 0 0 1px var(--cr-line2);border-radius:var(--cr-r-md);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:background-color .15s,color .15s;background:#fff;color:var(--cr-ink2)}
.product-order-form .btn-add-cart:hover{background:var(--cr-soft);color:var(--cr-ink)}
.product-order-form .btn-add-cart:disabled{opacity:.5;cursor:not-allowed}

/* футер безопасности */
.product-order-form .order-safe{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;color:var(--cr-muted)}
.product-order-form .order-safe i{color:var(--cr-acc-deep)}

/* ── состояние «нет в наличии / нет планов» ─────────────────────────── */
.product-order-form .order-unavailable{display:grid;justify-items:center;gap:7px;text-align:center;padding:6px 4px 2px}
.product-order-form .order-unavailable-head{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:800;color:var(--cr-ink)}
.product-order-form .order-unavailable-head i{color:var(--cr-muted)}
.product-order-form .order-unavailable-sub{margin:0;font-size:12.5px;color:var(--cr-muted);line-height:1.5;max-width:34ch}
.product-order-form .btn-order-notify{margin-top:8px;width:100%;height:50px;border:1.5px solid var(--cr-acc-deep);border-radius:var(--cr-r-md);background:var(--cr-acc-tint);color:var(--cr-acc-deep);font-family:inherit;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:background-color .15s,transform .15s}
.product-order-form .btn-order-notify:hover{background:#dff7c8;transform:translateY(-1px)}
.product-order-form .btn-order-notify.is-subscribed{background:var(--cr-acc);color:#0c1c03;border-color:var(--cr-acc)}

/* ── нет планов ──────────────────────────────────────────────────────── */
.no-plans-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:#fff;border-radius:var(--cr-r,18px);text-align:center;border:1px dashed #cbd5e1;box-shadow:0 1px 2px rgba(15,23,42,.05),0 12px 28px rgba(15,23,42,.045)}
.no-plans-message i{font-size:3rem;color:#d1d5db;margin-bottom:1rem}
.no-plans-message p{font-size:1rem;color:#64748b;margin:0}

/* dark add-cart (как в оригинале) */
[data-theme="dark"] .product-order-form .btn-add-cart{background:#374151;box-shadow:inset 0 0 0 1px #ffffff;color:#fff}
[data-theme="dark"] .product-order-form .btn-add-cart:hover{background:#4b5563;color:#fff}

/* 05-responsive.css */
/* ========================================
   Product Detail - Responsive
   ======================================== */

@media (max-width: 1200px) {
    .product-detail-content {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

.product-plans-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 992px) {
/* Mobile: Reorder sections - Plans -> Order -> Reviews */

    .product-plans-section {
        order: 1;
    }

.product-content-tabs {
        order: 2;
    }

.product-order-section {
        order: 3;
        position: relative;
        top: 0;
    }

.product-reviews-section {
        order: 4;
    }

.product-plans-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {.product-detail-page {
        padding: 1rem 0 2rem;
    }

.product-detail-page .product-image-wrapper {
        max-width: 100%;
    }

.product-plans-grid {
        grid-template-columns: 1fr;
    }

.product-plan-card {
        grid-template-columns: 48px 1fr auto;
        gap: 0.2rem 0.625rem;
        padding: 0.75rem;
    }

.plan-card-image {
        width: 48px;
        height: 48px;
    }

.plan-card-check {
        display: none;
    }

.plan-card-title {
        font-size: 0.82rem;
    }

.coupon-input-group {
        flex-direction: column;
        gap: 0.75rem;
    }

.btn-apply-coupon {
        width: 100%;
    }


/* Modern Description Sections - Mobile */

    .plan-desc-header,
.desc-section-header {
        padding: 1rem;
    }

.plan-desc-icon-wrapper {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

.plan-desc-icon-wrapper i {
        font-size: 0.95rem;
    }

.desc-icon-wrapper {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

.desc-icon-wrapper i {
        font-size: 1rem;
    }

.plan-desc-label,
.desc-label {
        font-size: 0.65rem;
    }

.selected-plan-name {
        font-size: 0.9rem;
    }

.desc-title {
        font-size: 1rem;
    }

.desc-toggle-btn .toggle-text {
        display: none;
    }

.desc-toggle-btn {
        padding: 0.5rem;
        border-radius: 50%;
        width: 32px;
        height: 32px;
    }

.plan-desc-inner,
.desc-content-wrapper {
        padding: 1rem;
    }
}

@media (max-width: 480px) {.product-detail-page .product-meta-item {
        font-size: 0.8rem;
        padding: 0.3rem 0.6rem;
    }

.plan-card-title {
        font-size: 0.85rem;
    }

.plan-current-price {
        font-size: 0.9rem;
    }

.order-form-card {
        padding: 1rem;
    }

.order-form-group-quantity {
        flex-direction: row;
        align-items: center;
        gap: 0.75rem;
    }

.quantity-selector {
        max-width: 100%;
        flex: 1;
        justify-content: center;
    }

.qty-btn {
        width: 40px;
        min-width: 40px;
        min-height: 40px;
    }

.qty-input {
        height: 40px;
        min-height: 40px;
        font-size: 0.95rem;
    }
}

/* 06-dark-core.css */
[data-theme="dark"] .product-detail-page .product-favorite-btn:not(.product-hero-action) {
    background: #1f2937;
    border-color: #374151;
    color: #6b7280;
}[data-theme="dark"] .product-detail-page .product-favorite-btn:not(.product-hero-action):hover {
    border-color: #fca5a5;
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}[data-theme="dark"] .product-detail-page .product-favorite-btn:not(.product-hero-action).active {
    background: #ef4444;
    border-color: #ef4444;
    color: #ffffff;
}[data-theme="dark"] .product-detail-page .product-favorite-btn:not(.product-hero-action).active:hover {
    background: #dc2626;
}[data-theme="dark"] .product-detail-page .product-affiliate-share-btn:not(.product-hero-action) {
    background: #1f2937;
    border-color: #374151;
    color: #10b981;
}[data-theme="dark"] .product-detail-page .product-affiliate-share-btn:not(.product-hero-action):hover {
    border-color: #10b981;
    background: rgba(16, 185, 129, 0.15);
    color: #34d399;
}[data-theme="dark"] .product-detail-page .product-rating-value {
    color: #f3f4f6;
}[data-theme="dark"] .product-detail-page .product-rating-count {
    color: #9ca3af;
}[data-theme="dark"] .product-detail-page .product-rating-count:hover {
    color: var(--primary);
}[data-theme="dark"] .product-detail-page .product-meta-item {
    background: #374151;
    color: #d1d5db;
}[data-theme="dark"] .product-plan-card {
    background: #1f2937;
    border-color: #374151;
}[data-theme="dark"] .product-plan-card:hover,
[data-theme="dark"] .product-plan-card.active {
    border-color: var(--primary);
}[data-theme="dark"] .plan-card-title {
    color: #f1f5f9;
}[data-theme="dark"] .plan-card-image {
    background: #374151;
}[data-theme="dark"] .plan-card-check {
    border-color: #4b5563;
}


/* Dark theme - Table layout (desktop only) */

@media (min-width: 769px) {
    [data-theme="dark"] .plan-layout-table.product-plans-grid {
        background: #1a1f2e;
        border-color: #2d3548;
    }

    [data-theme="dark"] .plan-layout-table .product-plan-card {
        border-bottom-color: #252d3d;
        border-left: none;
        border-right: none;
        border-top: none;
        background: transparent;
    }

    [data-theme="dark"] .plan-layout-table .product-plan-card:hover {
        background: rgba(255, 255, 255, 0.03);
    }

    [data-theme="dark"] .plan-layout-table .product-plan-card.active {
        background: rgba(var(--primary-rgb), 0.06);
    }

    [data-theme="dark"] .plan-layout-table .plan-card-check {
        background: #1f2937;
    }
}[data-theme="dark"] .selected-plan-description {
    background: linear-gradient(135deg, #1f2937 0%, #111827 100%);
    border-color: #374151;
}[data-theme="dark"] .selected-plan-description::before {
    opacity: 0.9;
}[data-theme="dark"] .plan-desc-header:hover {
    background: rgba(139, 92, 246, 0.05);
}[data-theme="dark"] .plan-desc-label {
    opacity: 1;
}[data-theme="dark"] .selected-plan-name {
    color: #f1f5f9;
}[data-theme="dark"] .plan-desc-toggle-btn {
    background: #374151;
}[data-theme="dark"] .plan-desc-header:hover .plan-desc-toggle-btn {
    background: #4b5563;
}[data-theme="dark"] .plan-desc-toggle-btn .collapse-icon {
    color: #94a3b8;
}[data-theme="dark"] .plan-desc-inner {
    border-color: #374151;
    color: #cbd5e1;
}[data-theme="dark"] .collapse-icon {
    color: #9ca3af;
}[data-theme="dark"] .product-description-section {
    background: linear-gradient(180deg, #1f2937 0%, #111827 100%);
    border-color: #374151;
}[data-theme="dark"] .product-description-section::before {
    opacity: 0.9;
}[data-theme="dark"] .desc-section-header:hover {
    background: rgba(59, 130, 246, 0.05);
}[data-theme="dark"] .desc-title {
    color: #f1f5f9;
}[data-theme="dark"] .desc-toggle-btn {
    background: linear-gradient(135deg, #374151 0%, #1f2937 100%);
    border-color: #4b5563;
}[data-theme="dark"] .desc-section-header:hover .desc-toggle-btn {
    background: linear-gradient(135deg, #4b5563 0%, #374151 100%);
    border-color: #6b7280;
}[data-theme="dark"] .desc-toggle-btn .toggle-text,
[data-theme="dark"] .desc-toggle-btn .collapse-icon {
    color: #94a3b8;
}[data-theme="dark"] .desc-content-wrapper {
    border-color: #374151;
}[data-theme="dark"] .product-description-section .section-header {
    background: #111827;
    border-color: #374151;
}[data-theme="dark"] .product-description-section .section-header.collapse-toggle:hover {
    background: #1f2937;
}[data-theme="dark"] .product-description-section .section-header h3 {
    color: #f3f4f6;
}[data-theme="dark"] .product-description-content h4 {
    color: #f3f4f6;
}[data-theme="dark"] .description-text {
    color: #cbd5e1;
}[data-theme="dark"] .order-form-card {
    background: #1f2937;
    border-color: #374151;
}[data-theme="dark"] .order-form-group label {
    color: #d1d5db;
}[data-theme="dark"] .quantity-selector {
    background: #374151;
    border-color: #4b5563;
}[data-theme="dark"] .qty-btn {
    color: #d1d5db;
}[data-theme="dark"] .qty-btn:hover {
    background: #4b5563;
    color: var(--primary);
}[data-theme="dark"] .qty-btn:active {
    background: #4b5563;
}[data-theme="dark"] .qty-input {
    background: #1f2937;
    color: #f3f4f6;
    border-left-color: #4b5563;
    border-right-color: #4b5563;
}[data-theme="dark"] .qty-input:focus {
    background: #1f2937;
    box-shadow: inset 0 0 0 2px rgba(var(--primary-rgb), 0.2);
}[data-theme="dark"] .order-input {
    background: #374151;
    border-color: #4b5563;
    color: #f3f4f6;
}[data-theme="dark"] .order-input::placeholder {
    color: #9ca3af;
}[data-theme="dark"] .order-coupon-section {
    border-color: #374151;
}[data-theme="dark"] .coupon-toggle {
    background: #111827;
}[data-theme="dark"] .coupon-toggle:hover {
    background: #1f2937;
}[data-theme="dark"] .coupon-form-wrapper {
    background: #1f2937;
    border-color: #374151;
}[data-theme="dark"] .coupon-input {
    background: #374151;
    border-color: #4b5563;
    color: #f3f4f6;
}[data-theme="dark"] .coupon-input::placeholder {
    color: #9ca3af;
}[data-theme="dark"] .applied-coupon {
    background: rgba(16, 185, 129, 0.15);
    border-color: rgba(16, 185, 129, 0.3);
}[data-theme="dark"] .applied-coupon-desc {
    color: #9ca3af;
}[data-theme="dark"] .order-price-summary {
    background: #111827;
}[data-theme="dark"] .price-row {
    color: #9ca3af;
}[data-theme="dark"] .price-row .price-value {
    color: #d1d5db;
}[data-theme="dark"] .price-row.total-row {
    border-color: #374151;
    color: #f3f4f6;
}[data-theme="dark"] .price-row.flash-sale-row .discount-label.flash-sale-label,
[data-theme="dark"] .price-row.flash-sale-row .discount-label.flash-sale-label i,
[data-theme="dark"] .price-row.flash-sale-row .price-value.discount {
    color: #ef4444;
}[data-theme="dark"] .price-row.sale-row .discount-label.sale-label,
[data-theme="dark"] .price-row.sale-row .discount-label.sale-label i,
[data-theme="dark"] .price-row.sale-row .price-value.discount {
    color: #34d399;
}[data-theme="dark"] .price-row.member-discount-row .discount-label.member-discount-label,
[data-theme="dark"] .price-row.member-discount-row .discount-label.member-discount-label i,
[data-theme="dark"] .price-row.member-discount-row .price-value.discount {
    color: #fbbf24;
}[data-theme="dark"] .price-row.coupon-discount-row .discount-label.coupon-label,
[data-theme="dark"] .price-row.coupon-discount-row .discount-label.coupon-label i,
[data-theme="dark"] .price-row.coupon-discount-row .price-value.coupon-discount {
    color: #a78bfa;
}[data-theme="dark"] .order-stock-info {
    background: rgba(16, 185, 129, 0.15);
}[data-theme="dark"] .no-plans-message {
    background: #111827;
    border-color: #374151;
}[data-theme="dark"] .no-plans-message i {
    color: #4b5563;
}[data-theme="dark"] .no-plans-message p {
    color: #9ca3af;
}

/* 07-reviews.css */
/* ============================================================================
   PRODUCT DETAIL · REVIEWS (07-reviews.css — ПОЛНАЯ ЗАМЕНА, greenfield)
   ----------------------------------------------------------------------------
   Заголовок «Отзывы · N», чистые карточки (аватар-инициалы, имя+дата, звёзды).
   Скрыты: пакет в отзыве и «Полезно». Пагинация вместо «Показать ещё».
   Сохранены: модалка написания отзыва, rating-input, admin-reply, no-reviews,
   review-images, состояния hidden-review. Ноль !important.
   ============================================================================ */

.product-reviews-section{
  --cr-ink:#1e293b;--cr-ink2:#475569;--cr-muted:#64748b;--cr-light:#94a3b8;
  --cr-line:#eef1f5;--cr-line2:#e6eaf0;--cr-soft:#f4f6f9;
  --cr-acc:#8ff451;--cr-acc-deep:#16a34a;--cr-acc-tint:#eafcdd;--cr-red:#ff3b3b;--cr-star:#f4b740;
  --cr-r:18px;--cr-r-md:13px;--cr-r-sm:10px;
  background:#fff;border:0;border-radius:var(--cr-r);overflow:hidden;margin-top:0;
  box-shadow:0 1px 2px rgba(15,23,42,.05),0 12px 28px rgba(15,23,42,.045);
}

/* заголовок */
.product-reviews-section .section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 13px;background:#fff;border-bottom:1px solid var(--cr-line)}
.product-reviews-section .section-header .header-left{display:flex;align-items:center;gap:9px}
.product-reviews-section .section-header .header-left i{color:var(--cr-star);font-size:14px}
.product-reviews-section .section-header h3{margin:0;font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--cr-light)}
.product-reviews-section .review-count-badge{font-size:12px;color:var(--cr-ink2);background:var(--cr-soft);padding:6px 12px;border-radius:999px;font-weight:700}

/* обзор рейтинга */
/* line-height:normal — гасит глобальный body line-height:26px, который раздувал
   мелкие лейблы рейтинга (12px → строки 26px). В оригинале (preview) фон без него. */
.product-reviews-section .reviews-overview{padding:16px 20px;border-bottom:1px solid var(--cr-line);line-height:normal}
.product-reviews-section .reviews-summary{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.product-reviews-section .rating-big{display:grid;justify-items:center;gap:10px;min-width:128px}
.product-reviews-section .rating-big .rating-number{font-size:44px;font-weight:900;color:var(--cr-ink);line-height:1;letter-spacing:-.02em}
.product-reviews-section .rating-stars-big{display:flex;gap:4px}
.product-reviews-section .rating-stars-big i{font-size:15px;color:var(--cr-star)}
.product-reviews-section .rating-stars-big i.fa-regular{color:#d8dee6}
.product-reviews-section .rating-big .rating-label{font-size:12.5px;color:var(--cr-muted);font-weight:600;line-height:1.3}
.product-reviews-section .btn-write-review-inline{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;margin-top:4px;background:#fff;border:1.5px solid var(--cr-acc-deep);border-radius:10px;font-size:12.5px;font-weight:700;color:var(--cr-acc-deep);cursor:pointer;transition:.15s}
.product-reviews-section .btn-write-review-inline:hover{background:var(--cr-acc-tint)}
.product-reviews-section .btn-write-review-inline i{font-size:11px}
.product-reviews-section .rating-bars{display:grid;gap:7px}
.product-reviews-section .rating-bar-row{display:grid;grid-template-columns:54px 1fr 26px;align-items:center;gap:12px}
.product-reviews-section .rating-bar-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--cr-muted);font-weight:700}
.product-reviews-section .rating-bar-label i{font-size:10px;color:var(--cr-star)}
.product-reviews-section .rating-bar-track{height:8px;background:var(--cr-soft);border-radius:999px;overflow:hidden}
.product-reviews-section .rating-bar-fill{height:100%;background:var(--cr-acc);border-radius:999px;transition:width .2s}
.product-reviews-section .rating-bar-count{font-size:12px;color:var(--cr-ink);font-weight:700;text-align:right}

/* список отзывов */
.product-reviews-section .reviews-list{display:grid;gap:14px;padding:20px}
.product-reviews-section .review-item{display:grid;gap:12px;padding:18px;border:1px solid var(--cr-line2);border-radius:var(--cr-r-md);background:#fff}
.product-reviews-section .review-item.hidden-review{display:none}
.product-reviews-section .review-item:last-child{border-bottom:1px solid var(--cr-line2)}
.product-reviews-section .review-header{display:flex;align-items:center;gap:12px;margin:0}
.product-reviews-section .review-user{display:flex;align-items:center;gap:12px;min-width:0}
.product-reviews-section .review-avatar{width:46px;height:46px;border-radius:50%;background:var(--cr-acc-tint);color:var(--cr-acc-deep);display:grid;place-items:center;overflow:hidden;flex-shrink:0;font-weight:800;font-size:15px}
.product-reviews-section .review-avatar img{width:100%;height:100%;object-fit:cover}
.product-reviews-section .review-avatar i{font-size:16px;color:var(--cr-acc-deep)}
.product-reviews-section .review-user-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.product-reviews-section .review-username{font-weight:800;color:var(--cr-ink);font-size:14px}
.product-reviews-section .review-user-info .review-date{font-size:12px;color:var(--cr-muted);font-weight:600}
.product-reviews-section .verified-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--cr-acc-deep);font-weight:700}
.product-reviews-section .verified-badge i{font-size:11px}
.product-reviews-section .review-meta{margin-left:auto;display:flex;align-items:center}
.product-reviews-section .review-rating-stars{display:flex;gap:2px}
.product-reviews-section .review-rating-stars i{font-size:14px;color:var(--cr-star)}
.product-reviews-section .review-rating-stars i.fa-regular{color:#d8dee6}
.product-reviews-section .review-date{font-size:12px;color:var(--cr-muted)}
.product-reviews-section .review-title{font-size:14px;font-weight:800;color:var(--cr-ink);margin:0}
.product-reviews-section .review-content{font-size:14px;color:var(--cr-ink2);line-height:1.6;font-weight:500}

/* СКРЫТО по требованию: пакет в отзыве и кнопка «Полезно» */
.product-reviews-section .review-plan{display:none}
.product-reviews-section .review-actions{display:none}

/* картинки в отзыве */
.product-reviews-section .review-images{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.product-reviews-section .review-image-item{width:60px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .12s}
.product-reviews-section .review-image-item:hover{transform:scale(1.03)}
.product-reviews-section .review-image-item img{width:100%;height:100%;object-fit:cover}

/* ответ админа */
.product-reviews-section .review-admin-reply{margin-top:2px;padding:12px 14px;background:var(--cr-soft);border-radius:var(--cr-r-sm);border:0}
.product-reviews-section .admin-reply-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.product-reviews-section .admin-reply-header i{color:var(--cr-acc-deep);font-size:12px}
.product-reviews-section .admin-reply-label{font-weight:800;color:var(--cr-acc-deep);font-size:12px}
.product-reviews-section .admin-reply-date{font-size:11px;color:var(--cr-light);margin-left:auto}
.product-reviews-section .admin-reply-content{font-size:13px;color:var(--cr-ink2);line-height:1.55}

/* ── пагинация (вместо «Показать ещё») ───────────────────────────────── */
.product-reviews-section .reviews-pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 20px 20px}
.product-reviews-section .reviews-pagination button,
.product-reviews-section .reviews-pagination a{min-width:38px;height:38px;padding:0 11px;border:0;border-radius:10px;background:var(--cr-soft);color:var(--cr-ink2);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.product-reviews-section .reviews-pagination button:hover:not(:disabled),
.product-reviews-section .reviews-pagination a:hover{background:var(--cr-acc-tint);color:var(--cr-acc-deep)}
.product-reviews-section .reviews-pagination .is-active,
.product-reviews-section .reviews-pagination a.active{background:var(--cr-acc);color:#0c1c03}
.product-reviews-section .reviews-pagination button:disabled{opacity:.4;cursor:not-allowed}

/* fallback «Показать ещё», если используется */
.product-reviews-section .reviews-load-more{display:flex;justify-content:center;padding:4px 20px 20px}
.product-reviews-section .btn-load-more-reviews{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--cr-soft);color:var(--cr-ink2);font-family:inherit;font-size:13px;font-weight:700;padding:11px 20px;border-radius:11px;cursor:pointer;transition:.15s}
.product-reviews-section .btn-load-more-reviews:hover{background:var(--cr-acc-tint);color:var(--cr-acc-deep)}

/* нет отзывов */
.product-reviews-section .no-reviews-message{display:grid;justify-items:center;gap:5px;padding:48px 20px;text-align:center}
.product-reviews-section .no-reviews-badge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--cr-acc-tint);margin-bottom:10px}
.product-reviews-section .no-reviews-badge i{font-size:26px;color:var(--cr-acc-deep);margin:0}
.product-reviews-section .no-reviews-message p{font-size:15.5px;color:var(--cr-ink);margin:0;font-weight:800}
.product-reviews-section .no-reviews-message > span{font-size:13px;color:var(--cr-muted);font-weight:500}
.product-reviews-section .no-reviews-message .btn-write-review-inline{margin-top:14px}

/* приглашение войти */
.product-reviews-section .write-review-login-prompt{display:flex;align-items:center;gap:9px;margin:16px 20px;padding:13px 15px;border-radius:var(--cr-r-md);background:var(--cr-soft);border:0;font-size:13px;font-weight:600;color:var(--cr-muted)}
.product-reviews-section .write-review-login-prompt i{color:var(--cr-acc-deep)}
.product-reviews-section .write-review-login-prompt a{color:var(--cr-acc-deep);font-weight:800;text-decoration:underline}

/* ── модалка написания отзыва (зелёный акцент) ───────────────────────── */
.review-modal{display:none;position:fixed;inset:0;z-index:9999;align-items:center;justify-content:center}
.review-modal.active{display:flex}
.review-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(3px)}
.review-modal-content{position:relative;background:#fff;border-radius:var(--cr-r,18px);width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 30px 80px -20px rgba(15,23,42,.5);animation:revModalIn .24s ease-out}
@keyframes revModalIn{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
/* анимация закрытия (класс .closing ставится из reviews.js перед снятием .active) */
.review-modal.closing{pointer-events:none}
.review-modal.closing .review-modal-backdrop{animation:revBackdropOut .2s ease forwards}
.review-modal.closing .review-modal-content{animation:revModalOut .2s ease-in forwards}
@keyframes revModalOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(12px) scale(.97)}}
@keyframes revBackdropOut{from{opacity:1}to{opacity:0}}
.review-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #eef1f5}
.review-modal-header h3{display:flex;align-items:center;gap:9px;margin:0;font-size:16px;font-weight:800;color:#1e293b}
.review-modal-header h3 i{color:#16a34a}
.review-modal-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:10px;background:#f4f6f9;color:#64748b;cursor:pointer;transition:.15s}
.review-modal-close:hover{background:#e9edf2;color:#1e293b}
.review-modal-body{padding:20px;overflow-y:auto;max-height:calc(90vh - 64px)}
.write-review-form{display:flex;flex-direction:column;gap:14px}
.review-form-group{display:flex;flex-direction:column;gap:8px}
.review-form-group label{font-size:12px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.02em}
.review-form-group label .required{color:#ff3b3b}
.review-select,.review-textarea,.review-input{padding:12px 14px;border:0;background:#f4f6f9;border-radius:13px;font-size:14px;font-weight:600;color:#1e293b;transition:box-shadow .15s}
.review-select:focus,.review-textarea:focus,.review-input:focus{outline:none;box-shadow:0 0 0 2px rgba(140,255,63,.45)}
.review-input{height:46px}
/* кастомная стрелка вместо нативной (та была «кривая»); ровная высота.
   Высокая специфичность (+ :hover/:focus) — чтобы autoreg-theme не перетирал
   background шорткатом #f6f6f6 и стрелка не пропадала при фокусе/наведении. */
.product-reviews-section .review-modal .review-select,
.product-reviews-section .review-modal .review-select:hover,
.product-reviews-section .review-modal .review-select:focus{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  height:46px;padding:0 42px 0 14px;cursor:pointer;line-height:normal;
  background-color:#f4f6f9;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:14px;
  text-overflow:ellipsis;
}
.review-textarea{resize:vertical;min-height:80px}
.review-char-count{font-size:11px;color:#94a3b8;text-align:right}
.rating-input{display:flex;align-items:center;gap:6px}
.rating-input i{font-size:24px;color:#d8dee6;cursor:pointer;transition:color .12s,transform .12s}
.rating-input i:hover,.rating-input i.fa-solid{color:#f4b740;transform:scale(1.05)}
.rating-text{font-size:13px;color:#64748b;margin-left:6px}
.btn-submit-review{display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border:0;border-radius:13px;font-size:14.5px;font-weight:800;color:#0c1c03;background:#8ff451;cursor:pointer;transition:.15s;box-shadow:0 8px 18px rgba(143,244,81,.32)}
.btn-submit-review:hover{background:#a1f86a}
.btn-submit-review:disabled{opacity:.6;cursor:not-allowed}

/* ── responsive ──────────────────────────────────────────────────────── */
@media (max-width:768px){
  .product-reviews-section .reviews-summary{grid-template-columns:1fr;gap:18px}
  .product-reviews-section .rating-big{justify-items:start}
}

/* ── dark ────────────────────────────────────────────────────────────── */
[data-theme="dark"] .product-reviews-section{background:#282828;box-shadow:0 12px 28px rgba(0,0,0,.3)}
[data-theme="dark"] .product-reviews-section .section-header{background:#282828;border-color:#3a3a3a}
[data-theme="dark"] .product-reviews-section .review-item{background:#222;border-color:#3a3a3a}
[data-theme="dark"] .product-reviews-section .review-username,
[data-theme="dark"] .product-reviews-section .rating-big .rating-number{color:#fff}
[data-theme="dark"] .product-reviews-section .review-content{color:#cfcfcf}
[data-theme="dark"] .product-reviews-section .rating-bar-track,
[data-theme="dark"] .product-reviews-section .review-count-badge{background:#3a3a3a}

/* 08-header-actions-affiliate.css */
/* ========================================
   AFFILIATE SHARE BUTTON & MODAL
   ======================================== */


/* === Affiliate Share Button (Legacy, outside Hero V3) === */

.product-detail-page .product-affiliate-share-btn:not(.product-hero-action) {
    width: 32px;
    height: 32px;
    border: 1.5px solid #e5e7eb;
    border-radius: 8px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.15s ease-out, background-color 0.15s ease-out, color 0.15s ease-out;
    flex-shrink: 0;
    color: #10b981;
    position: relative;
    padding: 0;
}

.product-detail-page .product-affiliate-share-btn:not(.product-hero-action):hover {
    border-color: #10b981;
    background: #f0fdf4;
    color: #059669;
}

.product-detail-page .product-affiliate-share-btn:not(.product-hero-action) i {
    font-size: 0.85rem;
    transition: transform 0.12s ease-out;
}

.product-detail-page .product-affiliate-share-btn:not(.product-hero-action):hover i {
    transform: scale(1.05);
}

.product-detail-page .product-affiliate-share-btn:not(.product-hero-action) .affiliate-rate-badge-small {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #10b981;
    color: #ffffff;
    font-size: 0.6rem;
    font-weight: 700;
    padding: 0.1rem 0.3rem;
    border-radius: 8px;
    border: 1.5px solid #ffffff;
    line-height: 1;
    min-width: 20px;
    text-align: center;
}


/* === Affiliate Modal === */

.affiliate-share-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.affiliate-share-modal.show {
    display: flex;
}

.affiliate-share-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    animation: fadeIn 0.15s ease-out;
}

.affiliate-share-modal-content {
    position: relative;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    animation: slideUp 0.2s ease-out;
}

@keyframes slideUp {from {
        opacity: 0;
        transform: translateY(20px);
    }to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Modal Header */

.affiliate-share-modal-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1.25rem 1.5rem;
    background: #10b981;
    color: #ffffff;
}

.affiliate-share-modal-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.affiliate-share-modal-header h3 {
    flex: 1;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: #ffffff;
}

.affiliate-share-modal-close {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.15);
    border: none;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.12s ease-out;
}

.affiliate-share-modal-close:hover {
    background: rgba(255, 255, 255, 0.25);
}


/* Modal Body */

.affiliate-share-modal-body {
    padding: 1.5rem;
    overflow-y: auto;
    max-height: calc(90vh - 180px);
}


/* Info Section */

.affiliate-info-section {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(5, 150, 105, 0.05) 100%);
    border: 1px solid rgba(16, 185, 129, 0.2);
    border-radius: 12px;
    margin-bottom: 1.25rem;
}

.affiliate-info-icon {
    width: 36px;
    height: 36px;
    background: #10b981;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1rem;
    flex-shrink: 0;
}

.affiliate-info-text {
    flex: 1;
}

.affiliate-info-text p {
    margin: 0;
    font-size: 0.9rem;
    color: #374151;
    line-height: 1.5;
}

.affiliate-info-text .text-success {
    color: #059669;
    font-size: 1.1rem;
}


/* Commission Preview */

.affiliate-commission-preview {
    margin-bottom: 1.25rem;
}

.affiliate-commission-preview h4 {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #374151;
}

.affiliate-commission-preview h4 i {
    color: var(--primary);
}

.affiliate-commission-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 180px;
    overflow-y: auto;
    padding-right: 0.5rem;
}

.affiliate-commission-list::-webkit-scrollbar {
    width: 4px;
}

.affiliate-commission-list::-webkit-scrollbar-track {
    background: #f3f4f6;
    border-radius: 2px;
}

.affiliate-commission-list::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 2px;
}

.affiliate-commission-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    transition: background-color 0.12s ease-out;
}

.affiliate-commission-item:hover {
    background: #f3f4f6;
}

.commission-plan-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 0.5rem;
}

.commission-values {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
}

.commission-price {
    font-size: 0.8rem;
    color: #6b7280;
}

.commission-values i {
    font-size: 0.65rem;
    color: #9ca3af;
}

.commission-amount {
    font-size: 0.9rem;
    font-weight: 700;
    color: #059669;
}


/* Affiliate Link Section */

.affiliate-link-section {
    margin-bottom: 1.25rem;
}

.affiliate-link-section label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
}

.affiliate-link-section label i {
    color: var(--primary);
}

.affiliate-link-box {
    display: flex;
    align-items: stretch;
    gap: 0.5rem;
}

.affiliate-link-box input {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #374151;
    background: #f9fafb;
    min-width: 0;
    line-height: 1.5;
    box-sizing: border-box;
}

.affiliate-link-box input:focus {
    outline: none;
    border-color: var(--primary);
    background: #ffffff;
}

.btn-copy-affiliate {
    min-width: 44px;
    padding: 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #ffffff;
    color: #6b7280;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.12s ease-out, border-color 0.12s ease-out, color 0.12s ease-out;
    flex-shrink: 0;
    box-sizing: border-box;
}

.btn-copy-affiliate:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
}

.btn-copy-affiliate.copied {
    background: #10b981;
    border-color: #10b981;
    color: #ffffff;
}

.affiliate-link-hint {
    display: block;
    font-size: 0.75rem;
    color: #9ca3af;
    margin-top: 0.4rem;
}


/* Social Share */

.affiliate-social-share {
    margin-bottom: 0;
}

.affiliate-social-share label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.75rem;
}

.affiliate-social-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.affiliate-social-buttons .social-btn {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.1rem;
    text-decoration: none;
    transition: transform 0.12s ease-out, opacity 0.12s ease-out;
}

.affiliate-social-buttons .social-btn:hover {
    transform: translateY(-1px);
    opacity: 0.9;
}

.social-btn.facebook {
    background: #1877f2;
}

.social-btn.twitter {
    background: #1da1f2;
}

.social-btn.telegram {
    background: #0088cc;
}

.social-btn.whatsapp {
    background: #25d366;
}

.social-btn.messenger {
    background: #00b2ff;
}

.social-btn.zalo {
    background: #0068ff;
}

.social-btn .zalo-icon {
    font-size: 1rem;
    font-weight: 800;
    font-family: Arial, sans-serif;
}


/* Modal Footer */

.affiliate-share-modal-footer {
    padding: 1rem 1.5rem;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
}

.btn-view-affiliate {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: var(--primary);
    border: none;
    border-radius: 8px;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.12s ease-out;
}

.btn-view-affiliate:hover {
    opacity: 0.9;
}


/* ========================================
   Affiliate Modal - Dark Mode
   ======================================== */

[data-theme="dark"] .affiliate-share-modal-content {
    background: #1f2937;
}[data-theme="dark"] .affiliate-info-section {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15) 0%, rgba(5, 150, 105, 0.08) 100%);
    border-color: rgba(16, 185, 129, 0.25);
}[data-theme="dark"] .affiliate-info-text p {
    color: #d1d5db;
}[data-theme="dark"] .affiliate-commission-preview h4 {
    color: #f3f4f6;
}[data-theme="dark"] .affiliate-commission-item {
    background: #111827;
    border-color: #374151;
}[data-theme="dark"] .affiliate-commission-item:hover {
    background: #1f2937;
    border-color: #4b5563;
}[data-theme="dark"] .commission-plan-name {
    color: #f3f4f6;
}[data-theme="dark"] .commission-price {
    color: #9ca3af;
}[data-theme="dark"] .affiliate-commission-list::-webkit-scrollbar-track {
    background: #374151;
}[data-theme="dark"] .affiliate-commission-list::-webkit-scrollbar-thumb {
    background: #4b5563;
}[data-theme="dark"] .affiliate-link-section label,
[data-theme="dark"] .affiliate-social-share label {
    color: #f3f4f6;
}[data-theme="dark"] .affiliate-link-box input {
    background: #111827;
    border-color: #374151;
    color: #f3f4f6;
}[data-theme="dark"] .affiliate-link-box input:focus {
    background: #1f2937;
}[data-theme="dark"] .btn-copy-affiliate {
    background: #374151;
    border-color: #4b5563;
    color: #d1d5db;
}[data-theme="dark"] .btn-copy-affiliate:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
}[data-theme="dark"] .affiliate-link-hint {
    color: #6b7280;
}[data-theme="dark"] .affiliate-share-modal-footer {
    background: #111827;
    border-color: #374151;
}


/* ========================================
   Affiliate Modal - Responsive
   ======================================== */

@media (max-width: 480px) {
    .affiliate-share-modal-content {
        max-height: 95vh;
        border-radius: 12px;
    }

.affiliate-share-modal-header {
        padding: 1rem 1.25rem;
    }

.affiliate-share-modal-body {
        padding: 1.25rem;
    }

.affiliate-commission-list {
        max-height: 150px;
    }

.affiliate-social-buttons .social-btn {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

}

/* 15-share-modal.css */
/* ============================================================================
   PRODUCT DETAIL · SHARE / AFFILIATE MODAL (15-share-modal.css — РЕДИЗАЙН .sh-*)
   ----------------------------------------------------------------------------
   Стили модалки «Поделитесь и заработайте» (.sh-*) из product-redesign.
   Размечено под affiliate-modal.php (.sh-*). Ноль !important.
   ВКЛЮЧИТЬ в $product_detail_css_files как '15-share-modal.css?v=1' ПОСЛЕ 08.
   ============================================================================ */

/* токены (дублируем на .sh-ov, чтобы модалка не зависела от scope) */
.sh-ov{
  --cr-ink:#1e293b;--cr-ink2:#475569;--cr-muted:#64748b;--cr-light:#94a3b8;
  --cr-line:#eef1f5;--cr-line2:#e6eaf0;--cr-soft:#f4f6f9;
  --cr-acc:#8ff451;--cr-acc-deep:#16a34a;--cr-acc-tint:#eafcdd;--cr-acc-ink:#143a07;
  --cr-r:18px;--cr-r-md:13px;
}

.sh-ov{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.5);backdrop-filter:blur(4px)}
.sh-ov.open{display:flex;animation:shfade .18s ease}
@keyframes shfade{from{opacity:0}to{opacity:1}}
.sh{width:100%;max-width:480px;max-height:calc(100vh - 60px);display:flex;flex-direction:column;background:#fff;border-radius:var(--cr-r);overflow:hidden;box-shadow:0 40px 90px -24px rgba(15,23,42,.6);animation:shin .24s cubic-bezier(.2,.85,.25,1)}
@keyframes shin{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}

.sh__hd{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--cr-line)}
.sh__hd .ic{width:42px;height:42px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:var(--cr-acc-tint);color:var(--cr-acc-deep);font-size:17px}
.sh__hd h3{flex:1;font-size:16px;font-weight:800;color:var(--cr-ink);line-height:1.25;margin:0}
.sh__x{width:34px;height:34px;border:0;border-radius:10px;background:var(--cr-soft);color:var(--cr-muted);cursor:pointer;display:grid;place-items:center;font-size:14px;transition:.15s}
.sh__x:hover{background:#e9edf2;color:var(--cr-ink)}

.sh__bd{padding:18px 20px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}
.sh__promo{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:var(--cr-r-md);background:var(--cr-acc-tint);border:1px solid rgba(22,163,74,.2)}
.sh__promo .gift{width:40px;height:40px;flex:0 0 auto;border-radius:11px;background:var(--cr-acc-deep);color:#fff;display:grid;place-items:center;font-size:16px}
.sh__promo p{font-size:13.5px;font-weight:600;color:var(--cr-acc-ink);line-height:1.45;margin:0}
.sh__promo b{font-weight:800;color:var(--cr-acc-deep)}

.sh__lbl{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--cr-light)}
.sh__lbl i{color:var(--cr-acc-deep);font-size:12px}

.sh__est{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-radius:var(--cr-r-md);background:var(--cr-soft);margin-top:9px}
.sh__est .nm{font-size:13.5px;font-weight:700;color:var(--cr-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh__est .vals{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.sh__est .base{font-size:13px;font-weight:600;color:var(--cr-muted)}
.sh__est .arr{color:var(--cr-light);font-size:11px}
.sh__est .earn{font-size:14px;font-weight:800;color:var(--cr-acc-deep)}

.sh__link{display:flex;gap:8px;margin-top:9px}
.sh__link input{flex:1;min-width:0;height:50px;border:0;background:var(--cr-soft);border-radius:var(--cr-r-md);padding:0 16px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--cr-ink2)}
.sh__link input:focus{outline:none;box-shadow:0 0 0 2px rgba(140,255,63,.45)}
.sh__copy{width:50px;flex:0 0 auto;border:0;border-radius:var(--cr-r-md);background:var(--cr-ink);color:#fff;cursor:pointer;font-size:15px;transition:.15s}
.sh__copy:hover{background:#0f172a}
.sh__copy.done{background:var(--cr-acc-deep)}
.sh__hint{font-size:12px;font-weight:500;color:var(--cr-muted);margin-top:8px}

.sh__social{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}
.sh__soc{width:46px;height:46px;border:0;border-radius:50%;color:#fff;cursor:pointer;display:grid;place-items:center;font-size:18px;text-decoration:none;transition:transform .15s,filter .15s}
.sh__soc:hover{transform:translateY(-2px);filter:brightness(1.06)}
.sh__soc.fb{background:#1877f2}.sh__soc.tw{background:#1d9bf0}.sh__soc.tg{background:#229ed9}.sh__soc.wa{background:#25d366}.sh__soc.li{background:#0a66c2}.sh__soc.rd{background:#ff4500}.sh__soc.pin{background:#bd081c}.sh__soc.em{background:#64748b}

.sh__guestnote{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border-radius:var(--cr-r-md);background:var(--cr-soft);border:1px dashed var(--cr-line2);font-size:13px;font-weight:600;color:var(--cr-muted);line-height:1.45}
.sh__guestnote i{color:var(--cr-acc-deep);font-size:14px;margin-top:1px}

.sh__ft{padding:16px 20px;border-top:1px solid var(--cr-line)}
.sh__stat{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;height:52px;border:0;border-radius:var(--cr-r-md);background:var(--cr-acc);color:#0c1c03;font-family:inherit;font-size:14.5px;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 8px 18px rgba(143,244,81,.32);transition:.18s}
.sh__stat:hover{background:#a1f86a;transform:translateY(-1px)}

/* dark */
[data-theme="dark"] .sh{background:#1f2937}
[data-theme="dark"] .sh__hd,
[data-theme="dark"] .sh__ft{border-color:#374151}
[data-theme="dark"] .sh__hd h3{color:#fff}
[data-theme="dark"] .sh__x{background:#374151;color:#cbd5e1}
[data-theme="dark"] .sh__est,
[data-theme="dark"] .sh__link input,
[data-theme="dark"] .sh__guestnote{background:#111827}
[data-theme="dark"] .sh__est .nm{color:#fff}

@media (max-width:480px){
  .sh{max-height:95vh}
  .sh__soc{width:42px;height:42px;font-size:16px}
}

/* 09-dark-overrides.css */
/* ========================================
   ADDITIONAL DARK MODE STYLES
   ======================================== */


/* === Page Container === */

[data-theme="dark"] .product-detail-page {
    background: transparent;
}


/* === Product Image === */

[data-theme="dark"] .product-detail-page .product-image-wrapper {
    background: #374151;
}


/* === Rating Stars Empty === */

[data-theme="dark"] .product-detail-page .product-rating-stars i.fa-regular {
    color: #4b5563;
}


/* === Meta Items Special Types === */

[data-theme="dark"] .product-detail-page .product-meta-item.delivery-type.instant {
    color: #34d399;
    background: rgba(16, 185, 129, 0.15);
}[data-theme="dark"] .product-detail-page .product-meta-item.delivery-type.order {
    color: #22d3ee;
    background: rgba(6, 182, 212, 0.15);
}[data-theme="dark"] .product-detail-page .product-meta-item.sold-count {
    color: #fb923c;
    background: rgba(249, 115, 22, 0.15);
}[data-theme="dark"] .product-detail-page .product-meta-item.sold-count i {
    color: #f87171;
}


/* === Plan Card Badges === */

[data-theme="dark"] .plan-card-badges .product-delivery {
    background: rgba(var(--primary-rgb), 0.15);
}


/* === Plan Price === */

[data-theme="dark"] .plan-original-price {
    color: #6b7280;
}[data-theme="dark"] .plan-current-price {
    color: var(--dm-text-primary);
}[data-theme="dark"] .plan-discount-badge {
    background: #ef4444;
    color: #ffffff;
}


/* === Plan Card Check === */

[data-theme="dark"] .plan-card-check {
    border-color: #4b5563;
    background: transparent;
}[data-theme="dark"] .plan-card-check i {
    color: transparent;
}[data-theme="dark"] .product-plan-card.active .plan-card-check {
    background: var(--dm-btn-primary-bg);
    border-color: var(--dm-border-hover);
}[data-theme="dark"] .product-plan-card.active .plan-card-check i {
    color: #ffffff;
}


/* === Order Fields === */

[data-theme="dark"] .no-fields-message {
    color: #6b7280;
}


/* === Order Buttons === */

[data-theme="dark"] .btn-order {
    background: var(--dm-btn-primary-bg) !important;
    background-image: none !important;
    border-color: var(--dm-btn-primary-border) !important;
    color: var(--dm-btn-primary-text) !important;
}[data-theme="dark"] .btn-order:hover {
    background: var(--dm-btn-primary-hover-bg) !important;
    border-color: var(--dm-btn-primary-hover-border) !important;
    color: var(--dm-btn-primary-hover-text) !important;
}[data-theme="dark"] .btn-order.btn-login-required {
    background: var(--dm-btn-primary-bg) !important;
}[data-theme="dark"] .btn-order.btn-login-required:hover {
    background: var(--dm-btn-primary-hover-bg) !important;
}[data-theme="dark"] .btn-submit-review {
    background: var(--dm-btn-primary-bg) !important;
    background-image: none !important;
    border-color: var(--dm-btn-primary-border) !important;
    color: var(--dm-btn-primary-text) !important;
}[data-theme="dark"] .btn-submit-review:hover {
    background: var(--dm-btn-primary-hover-bg) !important;
    border-color: var(--dm-btn-primary-hover-border) !important;
    color: var(--dm-btn-primary-hover-text) !important;
}


/* === Price Summary Additional === */

[data-theme="dark"] .price-row.discount-row .price-value.discount {
    color: #34d399;
}[data-theme="dark"] .price-row.coupon-discount-row .price-value.coupon-discount {
    color: #34d399;
}[data-theme="dark"] .price-row.total-row .price-value.total {
    color: #f87171;
}


/* === Review Form Additional === */

[data-theme="dark"] .review-char-count {
    color: #6b7280;
}[data-theme="dark"] .review-select option {
    background: #374151;
    color: #f3f4f6;
}


/* === Rating Stars in Reviews === */

[data-theme="dark"] .rating-stars-big i.fa-regular {
    color: #4b5563;
}[data-theme="dark"] .review-rating-stars i.fa-regular {
    color: #4b5563;
}[data-theme="dark"] .rating-bar-label {
    color: #9ca3af;
}[data-theme="dark"] .rating-bar-count {
    color: #9ca3af;
}


/* === Verified Badge === */

[data-theme="dark"] .verified-badge {
    color: #34d399;
}


/* === Review Date === */

[data-theme="dark"] .review-date {
    color: #6b7280;
}


/* === Plans Grid Header === */

[data-theme="dark"] .product-plans-section h3 {
    color: #f3f4f6;
}


/* === Coupon Message === */

[data-theme="dark"] .coupon-message.success {
    color: #34d399;
}[data-theme="dark"] .coupon-message.error {
    color: #f87171;
}


/* === Applied Coupon === */

[data-theme="dark"] .applied-coupon-code {
    color: #34d399;
}[data-theme="dark"] .btn-remove-coupon {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}[data-theme="dark"] .btn-remove-coupon:hover {
    background: rgba(239, 68, 68, 0.25);
}


/* === Coupon Toggle === */

[data-theme="dark"] .coupon-toggle i:first-child {
    color: var(--dm-text-secondary);
}[data-theme="dark"] .coupon-toggle span {
    color: var(--dm-text-secondary);
}[data-theme="dark"] .coupon-toggle-arrow {
    color: #6b7280;
}


/* === Admin Reply === */

[data-theme="dark"] .admin-reply-date {
    color: #6b7280;
}


/* === Review Images === */

[data-theme="dark"] .review-image-item {
    border: 1px solid #374151;
}


/* === Affiliate Rate Badge === */

[data-theme="dark"] .product-detail-page .product-affiliate-share-btn:not(.product-hero-action) .affiliate-rate-badge-small {
    border-color: #1f2937;
}


/* === Stock Info Variations === */

[data-theme="dark"] .order-stock-info.out-of-stock {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}[data-theme="dark"] .order-stock-info.low-stock {
    background: rgba(245, 158, 11, 0.15);
    color: #fbbf24;
}


/* === Section Headers General === */

[data-theme="dark"] .section-header .header-left i {
    color: var(--primary);
}


/* === Review Form Labels === */

[data-theme="dark"] .review-form-group label .required {
    color: #f87171;
}


/* === Social Buttons Dark Mode Adjustments === */

[data-theme="dark"] .affiliate-social-buttons .social-btn {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}


/* === Modal Backdrop === */

[data-theme="dark"] .affiliate-share-modal-backdrop {
    background: rgba(0, 0, 0, 0.75);
}


/* === Input Placeholders === */

[data-theme="dark"] .order-input::placeholder,
[data-theme="dark"] .coupon-input::placeholder,
[data-theme="dark"] .review-textarea::placeholder {
    color: #6b7280;
}[data-theme="dark"] .order-input:focus,
[data-theme="dark"] .coupon-input:focus,
[data-theme="dark"] .review-select:focus,
[data-theme="dark"] .review-textarea:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.15);
}

/* 10-flash-sale.css */
@keyframes boltFlash {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.62;
    }
}

/* Flash Sale plan price */
.plan-current-price.flash-price {
    color: #ba1a1a !important;
}

.product-detail-page .plan-discount-badge.flash-discount {
    align-items: center;
    background: #ffdad6 !important;
    border: 1px solid rgba(186, 26, 26, 0.16) !important;
    border-radius: 999px !important;
    color: #ba1a1a !important;
    display: inline-flex;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    min-height: 24px;
    padding: 5px 9px !important;
    white-space: nowrap;
}

.flash-sale-badge-inline {
    align-items: center;
    background: #fff3cd;
    border: 1px solid rgba(255, 159, 28, 0.18);
    border-radius: 999px;
    color: #a15c00;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    gap: 5px;
    line-height: 1;
    min-height: 26px;
    padding: 6px 10px;
    white-space: nowrap;
}

.flash-sale-badge-inline i {
    color: #ff9f1c;
    font-size: 0.75rem;
    line-height: 1;
}

/* Reused Flash Sale countdown visual language from the home page widget */
.product-flash-sale-countdown {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 22px;
}

.product-flash-sale-countdown .flashsale-timer {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: inline-flex;
    gap: 12px;
    max-width: 100%;
    min-height: 66px;
    padding: 9px 12px;
    white-space: nowrap;
}

.product-flash-sale-countdown .timer-label {
    color: #5f6670;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    max-width: 124px;
    min-width: 116px;
}

.product-flash-sale-countdown .timer-countdown {
    align-items: center;
    display: flex;
    gap: 7px;
}

.product-flash-sale-countdown .timer-block {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    min-height: 48px;
    min-width: 76px;
    padding: 7px 9px;
    text-align: center;
}

.product-flash-sale-countdown .timer-number {
    align-items: center;
    color: #111315;
    display: inline-flex;
    font-size: 20px;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0;
    line-height: 1;
    min-height: 21px;
    min-width: 2ch;
    overflow: visible;
    width: 2ch;
}

.product-flash-sale-countdown .timer-text {
    color: #858c96;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1.15;
    margin-top: 5px;
    min-height: 12px;
    text-transform: none;
}

.product-flash-sale-countdown .timer-colon {
    color: #111315;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    margin: 0;
}

[data-theme="dark"] .product-plan-card.has-flash-sale {
    /* same card surface as regular plans */
}

[data-theme="dark"] .product-flash-sale-countdown .flashsale-timer {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

[data-theme="dark"] .product-flash-sale-countdown .timer-label {
    color: rgba(244, 247, 242, 0.76);
}

[data-theme="dark"] .product-flash-sale-countdown .timer-block {
    background: transparent;
}

[data-theme="dark"] .product-flash-sale-countdown .timer-number,
[data-theme="dark"] .product-flash-sale-countdown .timer-colon {
    color: #f4f7f2;
}

[data-theme="dark"] .product-flash-sale-countdown .timer-text {
    color: rgba(244, 247, 242, 0.58);
}

[data-theme="dark"] .product-detail-page .plan-discount-badge.flash-discount {
    background: rgba(255, 218, 214, 0.12) !important;
    border-color: rgba(255, 180, 171, 0.24) !important;
    color: #ffb4ab !important;
}

[data-theme="dark"] .flash-sale-badge-inline {
    background: rgba(255, 159, 28, 0.14);
    border-color: rgba(255, 159, 28, 0.24);
    color: #ffd392;
}

@media (max-width: 768px) {
    .product-flash-sale-countdown {
        justify-content: stretch;
    }

    .product-flash-sale-countdown .flashsale-timer {
        width: 100%;
    }

    .product-flash-sale-countdown .timer-countdown {
        flex: 1;
        justify-content: center;
    }

    .product-flash-sale-countdown .timer-block {
        align-items: center;
        flex: 1;
        justify-content: center;
        min-width: 0;
        text-align: center;
    }

    .product-flash-sale-countdown .timer-number {
        justify-content: center;
        margin: 0 auto;
        min-width: 0;
        text-align: center;
        width: 100%;
    }

    .product-flash-sale-countdown .t-digit-group {
        margin: 0 auto;
    }
}

@media (max-width: 480px) {
    .product-flash-sale-countdown .flashsale-timer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .product-flash-sale-countdown .timer-label {
        max-width: none;
        min-width: 0;
    }

    .product-flash-sale-countdown .timer-countdown {
        width: 100%;
    }

    .product-flash-sale-countdown .timer-block {
        padding: 7px 6px;
    }
}

/* 13-content-tabs.css */
/* ============================================================
   Datamoll · Product Content Tabs (13-content-tabs.css) — REDESIGN
   Блок: Описание / Правила / Возврат / FAQ
   Разметка: views/client/product/content-tabs.php
   --------------------------------------------------------------
   Что изменилось vs старой версии:
   1) Чек-лист: голая зелёная «птичка» → ВАРИАНТ D · минимал-рейл
      (маркер-точка с лаймовым кольцом, компактный ритм, без жирных меток).
   2) Шапка табов: добавлен «бегущий» индикатор .pct-runner (едет под
      активный таб). Статичный border-bottom больше не используется.
   3) Переходы: панель — fade+slide, пункты появляются каскадом (stagger),
      всё под @media (prefers-reduced-motion: no-preference).
   Тёмная тема сохранена нашим блоком в конце файла (редизайн её не трогает).
   ============================================================ */

.storefront-autoreg .product-content-tabs {
    background: #fff;
    padding: 6px 0 0;
}

/* ── лента табов (шапка остаётся) ── */
.storefront-autoreg .pct-tablist {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    padding: 14px 22px 0;
    position: relative;            /* якорь для бегущего индикатора */
}
.storefront-autoreg .pct-tab {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 16px 13px;
    border-radius: 11px 11px 0 0;
    position: relative;
    transition: color .18s, background-color .18s;
}
.storefront-autoreg .pct-tab i { font-size: 13px; opacity: .85; transition: color .18s, opacity .18s; }
.storefront-autoreg .pct-tab:hover { color: #1e293b; background: #f4f6f9; }
.storefront-autoreg .pct-tab.is-active { color: #1e293b; }
.storefront-autoreg .pct-tab.is-active i { color: #16a34a; opacity: 1; }

/* бегущий индикатор (позиция/ширина задаётся из JS) */
.storefront-autoreg .pct-runner {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #16a34a, #8ff451);
    transition: left .34s cubic-bezier(.22,1,.36,1), width .34s cubic-bezier(.22,1,.36,1);
    pointer-events: none;
}
.storefront-autoreg .pct-runner.is-init { transition: none; }  /* без «прыжка» при первой раскладке */

.storefront-autoreg .pct-rule { height: 1px; background: #eef1f5; margin-top: -1px; }

/* ── панель ── */
.storefront-autoreg .pct-panel { padding: 22px; }
.storefront-autoreg .pct-panel[hidden] { display: none; }

@media (prefers-reduced-motion: no-preference) {
    .storefront-autoreg .pct-panel.is-active { animation: pctPaneIn .42s cubic-bezier(.22,1,.36,1) both; }
    @keyframes pctPaneIn {
        from { opacity: 0; transform: translateY(8px); }
        to   { opacity: 1; transform: none; }
    }
    /* каскад пунктов — база видима, эффект только как «плюс» */
    .storefront-autoreg .pct-panel.is-active .product-info-checklist li { animation: pctItemIn .5s cubic-bezier(.22,1,.36,1) both; }
    @keyframes pctItemIn {
        from { opacity: 0; transform: translateY(10px); }
        to   { opacity: 1; transform: none; }
    }
    .storefront-autoreg .product-info-checklist li:nth-child(1){animation-delay:.04s}
    .storefront-autoreg .product-info-checklist li:nth-child(2){animation-delay:.09s}
    .storefront-autoreg .product-info-checklist li:nth-child(3){animation-delay:.14s}
    .storefront-autoreg .product-info-checklist li:nth-child(4){animation-delay:.19s}
    .storefront-autoreg .product-info-checklist li:nth-child(5){animation-delay:.24s}
    .storefront-autoreg .product-info-checklist li:nth-child(6){animation-delay:.29s}
    .storefront-autoreg .product-info-checklist li:nth-child(7){animation-delay:.34s}
    .storefront-autoreg .product-info-checklist li:nth-child(8){animation-delay:.39s}
    .storefront-autoreg .product-info-checklist li:nth-child(n+9){animation-delay:.42s}
}

.storefront-autoreg .pct-content {
    color: #334155;
    font-size: 14.5px;
    line-height: 1.7;
}
.storefront-autoreg .pct-content > *:first-child { margin-top: 0; }
.storefront-autoreg .pct-content > *:last-child { margin-bottom: 0; }
.storefront-autoreg .pct-content p { margin: 0 0 12px; }
.storefront-autoreg .pct-content strong, .storefront-autoreg .pct-content b { font-weight: 500; color: #334155; }
.storefront-autoreg .pct-content a { color: #16a34a; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.storefront-autoreg .pct-content h3, .storefront-autoreg .pct-content h4 { font-size: 16px; font-weight: 800; margin: 18px 0 10px; color: #1e293b; }
/* «Формат: …» — value оборачивается в <span class="product-format-value">
   (см. datamoll_product_content_tab_render_line_html). Зелёный код-чип. */
.storefront-autoreg .product-format-value {
    display: inline;
    font-family: "SF Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
    font-size: 13px;
    font-weight: 700;
    color: #16a34a;
    background: #eafcdd;
    border: 1px solid rgba(22, 163, 74, .22);
    border-radius: 7px;
    padding: 3px 9px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

/* ── чек-лист: ВАРИАНТ D · минимал-рейл (маркер-точка + хейрлайны) ── */
.storefront-autoreg .pct-content ul,
.storefront-autoreg .product-info-checklist {
    list-style: none;
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
}
.storefront-autoreg .pct-content li,
.storefront-autoreg .product-info-checklist li {
    position: relative;
    padding: 5px 0 5px 26px;
    font-weight: 500;
    color: #334155;
    line-height: 1.5;
}
/* маркер-точка с лаймовым кольцом */
.storefront-autoreg .pct-content li::before,
.storefront-autoreg .product-info-checklist li::before {
    content: "";
    position: absolute;
    left: 1px;
    top: 12px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #16a34a;
    box-shadow: 0 0 0 4px #eafcdd;
}
.storefront-autoreg .pct-content li::after,
.storefront-autoreg .product-info-checklist li::after { content: none; }

/* нумерованные списки — без маркеров-точек */
.storefront-autoreg .pct-content ol {
    display: block;
    margin: 0 0 12px 20px;
    padding-left: 18px;
    list-style: decimal;
}
.storefront-autoreg .pct-content ol li { padding: 0 0 6px; border-bottom: 0; color: #334155; }
.storefront-autoreg .pct-content ol li:last-child { padding-bottom: 0; }
.storefront-autoreg .pct-content ol li::before,
.storefront-autoreg .pct-content ol li::after { content: none; }

/* инлайн-код формата выдачи (login:password:...) */
.storefront-autoreg .pct-content code {
    font-family: "SF Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
    font-size: 13px;
    font-weight: 700;
    color: #16a34a;
    background: #eafcdd;
    padding: 3px 9px;
    border-radius: 7px;
    border: 1px solid rgba(22, 163, 74, .22);
    white-space: nowrap;
}
.storefront-autoreg .pct-content pre {
    background: #f4f6f9;
    border: 1px solid #e6eaf0;
    border-radius: 12px;
    padding: 14px 16px;
    overflow-x: auto;
    margin: 0 0 12px;
}
.storefront-autoreg .pct-content pre code { background: none; border: 0; padding: 0; white-space: pre; color: #1e293b; }

/* FAQ как пары вопрос/ответ */
.storefront-autoreg .pct-panel[data-panel="faq"] .pct-content p strong:first-child {
    display: inline-block;
    color: #0f172a;
}

/* mobile */
@media (max-width: 680px) {
    .storefront-autoreg .pct-tablist { padding: 12px 14px 0; gap: 2px; }
    .storefront-autoreg .pct-tab { padding: 10px 12px 12px; font-size: 13px; }
    .storefront-autoreg .pct-panel { padding: 18px 16px; }
    .storefront-autoreg .pct-content li,
    .storefront-autoreg .product-info-checklist li { padding-left: 24px; }
}

/* ── тёмная тема (редизайн её не трогает — сохраняем наши правила, + маркер-точка) ── */
[data-theme="dark"] .storefront-autoreg .product-content-tabs,
.storefront-autoreg[data-theme="dark"] .product-content-tabs { background: #282828; box-shadow: 0 12px 28px rgba(0,0,0,.3); }
[data-theme="dark"] .storefront-autoreg .pct-tab { color: #afafaf; }
[data-theme="dark"] .storefront-autoreg .pct-tab:hover { background: #333; color: #fff; }
[data-theme="dark"] .storefront-autoreg .pct-tab.is-active { color: #fff; }
[data-theme="dark"] .storefront-autoreg .pct-tab.is-active i { color: #8ff451; }
[data-theme="dark"] .storefront-autoreg .pct-rule { background: #3a3a3a; }
[data-theme="dark"] .storefront-autoreg .pct-content { color: #e8e8e8; }
[data-theme="dark"] .storefront-autoreg .pct-content li,
[data-theme="dark"] .storefront-autoreg .product-info-checklist li { color: #cfcfcf; }
[data-theme="dark"] .storefront-autoreg .pct-content li::before,
[data-theme="dark"] .storefront-autoreg .product-info-checklist li::before { background: #8ff451; box-shadow: 0 0 0 4px rgba(143,244,81,.16); }
[data-theme="dark"] .storefront-autoreg .pct-content code { background: rgba(143,244,81,.14); color: #9ff35e; }
[data-theme="dark"] .storefront-autoreg .product-format-value { background: rgba(143,244,81,.14); color: #9ff35e; border-color: rgba(143,244,81,.25); }
[data-theme="dark"] .storefront-autoreg .pct-content pre { background: #1f1f1f; border-color: #3a3a3a; }

/* 14-restock-notify.css */
/* ============================================================
   Datamoll — Restock Notify (Telegram-only), redesign
   Файл: mod/css/product-detail/14-restock-notify.css
   Подключается из product.php (уже в списке стилей).
   Самодостаточный — токены с фолбэками, не зависит от profile-redesign.
   ============================================================ */
.restock-scope{
  --rn-ink:#14210d; --rn-slate:#475569; --rn-muted:#64748b; --rn-light:#94a3b8;
  --rn-line:#e6eaf0; --rn-line2:#dfe5ec; --rn-surface:#fff; --rn-soft2:#eef1f5; --rn-soft:#f4f6f9;
  --rn-green:#16a34a; --rn-green-deep:#15803d; --rn-acc:#8cff3f; --rn-acc-press:#7bef2a;
  --rn-green-tint:#e9f7df; --rn-green-tint2:#f1fbe9; --rn-green-border:#cdeeb8;
  --rn-tg:#229ED9; --rn-tg-tint:#e7f4fb; --rn-red:#dc2626;
  --rn-r:18px; --rn-r-sm:12px;
}

/* ---- trigger buttons (hero / order form) ---- */
.restock-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;
  border-radius:14px;font-family:inherit;font-size:15px;font-weight:800;cursor:pointer;border:2px solid transparent;
  transition:.16s ease;}
.restock-cta i{font-size:16px}
.restock-cta--solid{background:var(--rn-acc);color:var(--rn-ink);box-shadow:0 10px 22px rgba(123,239,42,.4);}
.restock-cta--solid:hover{background:var(--rn-acc-press);transform:translateY(-1px)}
.restock-cta--soft{background:var(--rn-green-tint2);color:var(--rn-green);border-color:var(--rn-green-border);}
.restock-cta--soft:hover{background:var(--rn-green-tint);transform:translateY(-1px)}
.restock-cta--subscribed{background:var(--rn-green-tint2);color:var(--rn-green);border-color:var(--rn-green-border);}
.restock-cta--subscribed .dot{width:8px;height:8px;border-radius:50%;background:var(--rn-green);box-shadow:0 0 0 4px rgba(22,163,74,.18)}

/* ---- overlay + modal ---- */
.restock-overlay{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(30,41,59,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.restock-overlay.is-open{display:flex}
.restock-modal{width:100%;max-width:520px;background:var(--rn-surface);border-radius:var(--rn-r);
  box-shadow:0 30px 70px -20px rgba(15,30,12,.4);overflow:hidden;
  animation:rnPop .34s cubic-bezier(.22,1,.36,1);}
@keyframes rnPop{from{transform:translateY(14px) scale(.97)}to{transform:none}}
@media (prefers-reduced-motion: reduce){.restock-modal{animation:none}}

.restock-head{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--rn-line);}
.restock-ic{flex:0 0 50px;width:50px;height:50px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:21px;}
.restock-ic--bell{background:var(--rn-green-tint);color:var(--rn-green)}
.restock-ic--tg{background:linear-gradient(180deg,#2AABEE,#229ED9);color:#fff}
.restock-head h3{flex:1;margin:0;font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--rn-ink);}
.restock-x{flex:0 0 auto;width:42px;height:42px;border:0;border-radius:12px;background:var(--rn-soft2);color:var(--rn-muted);
  font-size:16px;cursor:pointer;transition:.15s ease;}
.restock-x:hover{background:#fdeaea;color:var(--rn-red)}

.restock-body{padding:22px;}
.restock-lead{margin:0 0 18px;font-size:16px;font-weight:600;line-height:1.55;color:var(--rn-slate);}

.restock-info{display:flex;gap:13px;align-items:flex-start;padding:16px 18px;border-radius:var(--rn-r-sm);font-weight:700;line-height:1.5;font-size:15px;margin-bottom:18px;}
.restock-info i{margin-top:2px;font-size:17px;flex:0 0 auto}
.restock-info--green{background:var(--rn-green-tint2);color:var(--rn-green-deep)}
.restock-info--green i{color:var(--rn-green)}
.restock-info--tg{background:var(--rn-tg-tint);color:#0f6c97}
.restock-info--tg i{color:var(--rn-tg)}
.restock-info .u{font-weight:800}

.restock-btn{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;height:58px;border:0;border-radius:14px;
  font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:.16s ease;text-decoration:none;}
.restock-btn i{font-size:17px}
.restock-btn--green{background:var(--rn-acc);color:var(--rn-ink);box-shadow:0 12px 26px rgba(123,239,42,.42);}
.restock-btn--green:hover{background:var(--rn-acc-press);transform:translateY(-1px)}
.restock-btn--tg{background:linear-gradient(180deg,#2AABEE,#229ED9);color:#fff;box-shadow:0 12px 26px rgba(34,158,217,.4);}
.restock-btn--tg:hover{filter:brightness(1.05);transform:translateY(-1px)}
.restock-btn--ghost{background:var(--rn-soft2);color:var(--rn-ink);}
.restock-btn--ghost:hover{background:#e3e8ef}
.restock-btn--wide{width:100%}
.restock-sub{margin:14px 0 0;text-align:center;font-size:13px;font-weight:600;color:var(--rn-muted);}
.restock-sub a{color:var(--rn-green);font-weight:800;text-decoration:none;cursor:pointer;transition:color .15s ease}
.restock-sub a:hover,.restock-sub a:focus-visible{color:var(--rn-green-deep);text-decoration:none}

/* ---- toggle item (manage state) ---- */
.restock-item{display:flex;align-items:center;gap:13px;padding:18px;border:1.5px solid var(--rn-green-border);
  border-radius:var(--rn-r-sm);background:var(--rn-green-tint2);margin-bottom:18px;}
.restock-item__ic{flex:0 0 46px;width:46px;height:46px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;
  font-size:18px;color:#fff;transition:background .28s ease;}
.restock-item__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.restock-item__t{display:block;font-size:14.5px;font-weight:800;color:var(--rn-ink)}
.restock-item__s{display:block;font-size:12.5px;font-weight:600;color:var(--rn-muted)}
.restock-sw{flex:0 0 auto;position:relative;width:46px;height:27px;border-radius:999px;background:#cbd5e1;cursor:pointer;
  transition:background .28s cubic-bezier(.4,0,.2,1);}
.restock-sw::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;
  box-shadow:0 2px 5px rgba(0,0,0,.2);transition:transform .28s cubic-bezier(.34,1.4,.5,1);}
.restock-sw.on{background:var(--rn-green)}
.restock-sw.on::after{transform:translateX(19px)}
.restock-sw.is-busy{opacity:.6;pointer-events:none}

/* ---- success ---- */
.restock-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 0 6px;}
.restock-success__ic{width:64px;height:64px;border-radius:50%;background:var(--rn-green-tint);color:var(--rn-green);
  display:flex;align-items:center;justify-content:center;font-size:30px;animation:rnPop2 .4s cubic-bezier(.34,1.56,.64,1);}
@keyframes rnPop2{from{transform:scale(.4)}to{transform:scale(1)}}
.restock-success__t{font-size:19px;font-weight:800;margin:6px 0 0;color:var(--rn-ink)}
.restock-success__s{font-size:14.5px;color:var(--rn-muted);font-weight:600;line-height:1.5;max-width:360px}

.restock-msg{font-size:13.5px;font-weight:700;padding:11px 14px;border-radius:var(--rn-r-sm);margin-bottom:14px;}
.restock-msg.is-error{background:#fdeaea;color:var(--rn-red)}

.restock-hidden{display:none!important}
@media (max-width:560px){.restock-head h3{font-size:19px}.restock-modal{max-width:none}}
