.pdp-gallery-main {
        max-height: 420px;
        object-fit: contain;
        background: #fff;
        border: 1px solid var(--shop-border);
        border-radius: 12px;
      }
      .pdp-thumb {
        width: 64px;
        height: 64px;
        object-fit: contain;
        border: 2px solid transparent;
        border-radius: 8px;
        cursor: pointer;
        background: #fff;
      }
      .pdp-thumb.active {
        border-color: var(--shop-accent);
      }
      .product-gallery-main {
        position: relative;
      }
      .gallery-nav-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 38px;
        height: 38px;
        border-radius: 999px;
        border: 1px solid rgba(15, 23, 42, 0.08);
        background: rgba(255, 255, 255, 0.86);
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 3;
        color: #0f172a;
        padding: 0;
        transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
      }
      .gallery-nav-btn:hover {
        background: #fff;
        transform: translateY(-50%) scale(1.04);
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
      }
      .gallery-nav-prev {
        left: 14px;
      }
      .gallery-nav-next {
        right: 14px;
      }
      @media (max-width: 768px) {
        .gallery-nav-btn {
          width: 32px;
          height: 32px;
          opacity: 0.82;
        }
        .gallery-nav-prev {
          left: 10px;
        }
        .gallery-nav-next {
          right: 10px;
        }
      }
      .spec-table {
        font-size: 0.9rem;
      }
      .prose {
        line-height: 1.6;
      }
      .prose p {
        margin-bottom: 0.75rem;
      }
      .pdp-callouts-list {
        padding-left: 1.2rem;
        margin: 0;
        line-height: 1.7;
        color: #198754;
      }
      .pdp-callouts-list li {
        margin-bottom: 2px;
        font-weight: 500;
      }
      /* ── Скидка badge ── */
      .pdp-discount-badge {
        display: inline-block;
        background: #dc3545;
        color: #fff;
        font-size: 0.78rem;
        font-weight: 700;
        padding: 2px 7px;
        border-radius: 4px;
        margin-left: 8px;
        vertical-align: middle;
        letter-spacing: 0.01em;
      }
      /* ── Promo стикеры ── */
      .pdp-promo-badges {
        display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px;
      }
      .pdp-promo-badge {
        display: inline-block;
        background: #fd7e14;
        color: #fff;
        font-size: 0.72rem;
        font-weight: 700;
        padding: 2px 8px;
        border-radius: 12px;
        text-transform: uppercase;
        letter-spacing: 0.03em;
      }
      .pdp-promo-badge.promo-sale { background: #dc3545; }
      .pdp-promo-badge.promo-new  { background: #198754; }
      .pdp-promo-badge.promo-trial { background: #6f42c1; }
      /* ── Сертификаты с иконками ── */
      .pdp-certs-row {
        display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px;
      }
      .pdp-cert-chip {
        display: inline-flex; align-items: center; gap: 5px;
        background: #f1f5f9; border: 1px solid #e2e8f0;
        border-radius: 20px; padding: 3px 10px 3px 6px;
        font-size: 0.75rem; font-weight: 500; color: #374151;
        white-space: nowrap;
      }
      .pdp-cert-chip svg { flex-shrink: 0; }
      /* ── Хлебные крошки из категорий ── */
      .pdp-category-crumbs {
        font-size: 0.78rem; color: #6b7280; margin-bottom: 6px;
      }
      .pdp-category-crumbs a { color: #198754; text-decoration: none; }
      .pdp-category-crumbs a:hover { text-decoration: underline; }
      .pdp-category-crumbs .sep { margin: 0 4px; color: #9ca3af; }
      /* ── Вариации товара ── */
      .pdp-variants-row {
        display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px;
      }
      .pdp-variant-btn {
        display: inline-block; padding: 5px 12px;
        border: 1.5px solid #d1d5db; border-radius: 6px;
        background: #fff; color: #374151;
        font-size: 0.78rem; font-weight: 500;
        cursor: pointer; text-decoration: none;
        transition: border-color 0.15s, background 0.15s;
      }
      .pdp-variant-btn:hover { border-color: #198754; color: #198754; }
      .pdp-variant-btn.active {
        border-color: #198754; background: #f0fdf4; color: #198754; font-weight: 700;
      }
      /* ── Похожие товары ── */
      .pdp-related-section { margin-top: 32px; }
      .pdp-related-section h2 { font-size: 1.05rem; font-weight: 600; }
      .pdp-related-strip { position: relative; }
      .pdp-related-grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 2px;
        padding: 2px 0 10px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
      }
      .pdp-related-grid::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
      }
      .pdp-related-card {
        flex: 0 0 clamp(130px, 42vw, 182px);
        min-width: 0;
        scroll-snap-align: start;
        background: #fff; border: 1px solid #e5e7eb; border-radius: 8px;
        padding: 10px; text-decoration: none; color: inherit;
        display: flex; flex-direction: column; gap: 6px;
        transition: border-color 0.15s;
      }
      .pdp-related-card:hover { border-color: #198754; }
      .pdp-related-card img {
        width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 4px;
      }
      .pdp-related-card .rc-title {
        font-size: 0.78rem; font-weight: 500; line-height: 1.35;
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
      }
      .pdp-related-card .rc-price {
        font-size: 0.82rem; font-weight: 600; color: #198754;
      }
      .pdp-related-card .rc-brand {
        font-size: 0.7rem; color: #9ca3af;
      }
      /* ── Supplement Facts таблица из iHerb ── */
      .supp-facts-wrap table,
      .supp-facts-wrap [class*="supplement"] table,
      .supp-facts-wrap [class*="facts"] table {
        width: 100%; max-width: 480px; border-collapse: collapse;
        font-size: 0.82rem; line-height: 1.4; border: 2px solid #111;
      }
      .supp-facts-wrap td, .supp-facts-wrap th {
        padding: 2px 6px; border: 1px solid #555; text-align: left; vertical-align: top;
      }
      .supp-facts-wrap [class*="header"], .supp-facts-wrap thead tr:first-child td,
      .supp-facts-wrap thead { background: #111; color: #fff; font-weight: 700; }
      .supp-facts-wrap [class*="divider"] td { border-top: 6px solid #111; }
      .supp-facts-wrap [class*="sub-row"] td:first-child { padding-left: 16px; }
      /* Если HTML пришёл как текст без таблицы — форматируем как preformatted */
      .supp-facts-wrap pre, .supp-facts-wrap .supp-text {
        font-family: inherit; font-size: 0.82rem; white-space: pre-wrap;
        background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 6px;
        padding: 10px 14px; max-width: 480px;
      }
      .nav-cart-icon {
        width: 1.35rem;
        height: 1.35rem;
        vertical-align: -0.15em;
      }
      .pdp-breadcrumb {
        --bs-breadcrumb-divider: "›";
      }
      .pdp-breadcrumb .breadcrumb-item,
      .pdp-breadcrumb .breadcrumb-item a {
        color: #6b7280;
        text-decoration: none;
      }
      .pdp-breadcrumb .breadcrumb-item a:hover {
        color: #111827;
      }
      .pdp-breadcrumb .breadcrumb-item.active {
        color: #111827;
      }
      .pdp-breadcrumb .breadcrumb-item span {
        display: inline-block;
        max-width: min(56vw, 420px);
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        vertical-align: bottom;
      }
      .pdp-brand-link {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border: 1px solid #d1d5db;
        border-radius: 999px;
        padding: 0.2rem 0.65rem;
        font-size: 0.8rem;
        font-weight: 600;
        color: #065f46;
        background: #f0fdf4;
        text-decoration: none;
      }
      .pdp-brand-link:hover {
        color: #064e3b;
        background: #dcfce7;
      }
      .pdp-price-row {
        display: flex;
        align-items: baseline;
        gap: 0.5rem;
      }
      .pdp-purchase-box {
        border: 1px solid var(--shop-border);
        border-radius: 12px;
        background: #fff;
        padding: 0.9rem;
      }
      .vitacart-qty-stepper {
        display: inline-flex;
        align-items: stretch;
        border: 1px solid #d1d5db;
        border-radius: 10px;
        overflow: hidden;
        background: #fff;
      }
      .vitacart-qty-step {
        border: 0;
        margin: 0;
        background: #fff;
        color: #15803d;
        font-weight: 600;
        min-width: 2.1rem;
        padding: 0.2rem 0.4rem;
        line-height: 1.1;
      }
      .vitacart-qty-step:hover {
        background: #f0fdf4;
        color: #166534;
      }
      .vitacart-qty-step:focus-visible {
        outline: 0;
        box-shadow: inset 0 0 0 2px #15803d;
      }
      .vitacart-qty-step-input {
        width: 3.1rem !important;
        min-width: 3.1rem;
        border: 0 !important;
        border-left: 1px solid #d1d5db !important;
        border-right: 1px solid #d1d5db !important;
        border-radius: 0 !important;
        text-align: center;
        appearance: textfield;
      }
      .vitacart-qty-step-input::-webkit-outer-spin-button,
      .vitacart-qty-step-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
      }
      .vitacart-qty-step-input:focus {
        box-shadow: none !important;
      }
      .pdp-add-btn {
        min-height: 2.7rem;
        font-weight: 700;
        flex: 1 1 auto;
      }
      .pdp-secondary-links {
        display: flex;
        gap: 0.5rem;
        flex-wrap: wrap;
      }
      .pdp-secondary-links .btn {
        min-height: 2.35rem;
      }
      .pdp-summary-card {
        border: 1px solid var(--shop-border);
        border-radius: 12px;
        background: #fff;
        padding: 1rem;
      }
      .pdp-key-facts {
        margin: 0;
        padding-left: 1rem;
        color: #374151;
      }
      .pdp-key-facts li {
        margin-bottom: 0.35rem;
      }
      .pdp-buy-sticky {
        position: sticky;
        top: 88px;
      }
      .pdp-description-card {
        border: 1px solid var(--shop-border);
        border-radius: 12px;
        background: #fff;
        padding: 1.1rem;
      }
      .pdp-trust-card {
        border: 1px solid var(--shop-border);
        border-radius: 12px;
        background: #fff;
        padding: 0.9rem;
      }
      .pdp-trust-list {
        margin: 0;
        padding-left: 1rem;
        color: #374151;
      }
      .pdp-trust-list li {
        margin-bottom: 0.35rem;
      }
      .pdp-tabs .nav-link {
        color: #374151;
        font-weight: 600;
      }
      .pdp-tabs .nav-link.active {
        color: #14532d;
      }
      .pdp-mobile-cta {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1050;
        background: rgba(255, 255, 255, 0.97);
        border-top: 1px solid var(--shop-border);
        box-shadow: 0 -8px 24px rgba(17, 24, 39, 0.08);
        padding: 0.5rem 0.75rem calc(0.5rem + env(safe-area-inset-bottom));
        opacity: 0;
        transform: translateY(10px);
        pointer-events: none;
        transition: opacity 0.18s ease, transform 0.18s ease;
      }
      .pdp-mobile-cta.is-visible {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
      }
      .pdp-mobile-cta .btn {
        min-height: 2.75rem;
        font-weight: 700;
      }
      .pdp-tag {
        display: inline-flex;
        align-items: center;
        border: 1px solid #e5e7eb;
        border-radius: 999px;
        background: #f9fafb;
        color: #374151;
        font-size: 0.74rem;
        font-weight: 600;
        padding: 0.18rem 0.48rem;
      }
      @media (max-width: 575.98px) {
        main.container.py-4 {
          padding-top: 1rem !important;
        }
        .pdp-gallery-main {
          max-height: 320px;
          border-radius: 10px;
        }
        .pdp-price-row .fs-4 {
          font-size: 1.7rem !important;
        }
        .pdp-purchase-box {
          padding: 0.75rem;
        }
        .pdp-purchase-box .d-flex {
          gap: 0.6rem !important;
        }
        .vitacart-qty-stepper {
          margin-left: auto;
        }
        .pdp-add-btn {
          width: 100%;
          min-height: 2.85rem;
        }
        .pdp-secondary-links .btn {
          flex: 1 1 auto;
        }
        .pdp-summary-card,
        .pdp-description-card {
          padding: 0.8rem;
        }
        .pdp-bottom-spacer {
          height: 86px;
        }
      }
      @media (min-width: 576px) {
        .pdp-mobile-cta,
        .pdp-bottom-spacer {
          display: none !important;
        }
      }
      @media (max-width: 991.98px) {
        .pdp-buy-sticky {
          position: static;
        }
      }
      /* ── Рейтинг отдельным блоком ── */
      .pdp-rating-row {
        display: flex; align-items: center; gap: 6px;
        margin-bottom: 0.65rem; font-size: 0.88rem;
      }
      .pdp-stars { color: #f59e0b; letter-spacing: 2px; font-size: 1rem; }
      .pdp-rating-val { font-weight: 700; }
      .pdp-rating-count { color: #6b7280; font-size: 0.8rem; }
      /* ── Доверительные бейджи в центральной колонке ── */
      .pdp-trust-badges {
        display: flex; flex-direction: column; gap: 3px;
        margin-bottom: 0.8rem;
      }
      .pdp-trust-badge-row {
        font-size: 0.78rem; color: #374151;
        display: flex; align-items: flex-start; gap: 6px;
        line-height: 1.45;
      }
      .pdp-trust-badge-row::before {
        content: "✓"; color: #198754; font-weight: 700;
        flex-shrink: 0; margin-top: 0.05rem;
      }
      /* ── Мини-трест внутри блока покупки ── */
      .pdp-purchase-trust {
        padding-top: 0.6rem;
        border-top: 1px solid var(--shop-border);
        margin-top: 0.75rem;
      }
      .pdp-purchase-trust-list {
        margin: 0; padding: 0; list-style: none;
        display: flex; flex-direction: column; gap: 4px;
      }
      .pdp-purchase-trust-list li {
        font-size: 0.75rem; color: #374151;
        display: flex; align-items: flex-start; gap: 5px; line-height: 1.35;
      }
      .pdp-purchase-trust-list li::before {
        content: "✓"; color: #198754; font-weight: 700;
        flex-shrink: 0; margin-top: 0.05rem;
      }
      /* ── Warning-блок (предупреждения) ── */
      .pdp-warning-block {
        background: #fffbeb;
        border-left: 3px solid #f59e0b;
        border-radius: 0 8px 8px 0;
        padding: 0.75rem 1rem;
        margin-bottom: 0.75rem;
      }
      .pdp-warning-title {
        font-size: 0.83rem; font-weight: 700; color: #92400e;
        margin-bottom: 0.35rem;
        display: flex; align-items: center; gap: 6px;
      }
      .pdp-warning-body { font-size: 0.8rem; color: #374151; }
      .pdp-warning-body,
      .pdp-warning-body p,
      .pdp-warning-body li {
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      .pdp-warning-disclaimer {
        margin-top: 0.5rem; font-size: 0.72rem;
        color: #78716c; font-style: italic; line-height: 1.4;
        border-top: 1px solid #fde68a; padding-top: 0.4rem;
      }
      /* ── Секции внутри вкладки «Состав и применение» ── */
      .pdp-section-card {
        padding: 0.85rem 1rem;
        border: 1px solid var(--shop-border);
        border-radius: 10px; background: #fff;
        margin-bottom: 0.75rem;
        max-width: 100%;
        box-sizing: border-box;
      }
      .pdp-section-card:last-child { margin-bottom: 0; }
      .pdp-section-card p,
      .pdp-section-card li,
      .pdp-section-card .pdp-expandable-target,
      .pdp-ssr-description,
      .pdp-ssr-composition-text,
      .pdp-info-text,
      .pdp-composition,
      .pdp-description,
      .pdp-suggested-use,
      .pdp-ingredients,
      .pdp-warning {
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      .pdp-section-title {
        font-size: 0.85rem; font-weight: 700; color: #111827;
        margin-bottom: 0.5rem;
        display: flex; align-items: center; gap: 6px;
      }
      /* ── Supplement Facts ── */
      .pdp-supp-facts {
        max-width: 520px; border-radius: 8px; overflow: hidden;
        border: 1px solid #e5e7eb; margin-bottom: 0.4rem;
      }
      .pdp-supp-facts .supp-facts-table { margin-bottom: 0 !important; }
      .pdp-supp-facts .supp-facts-table td:first-child,
      .pdp-supp-facts .supp-facts-table th:first-child,
      .pdp-supp-footnote,
      .pdp-supp-facts .supp-text {
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      .pdp-supp-facts .supp-facts-table td:not(:first-child),
      .pdp-supp-facts .supp-facts-table th:not(:first-child) {
        word-break: normal;
        overflow-wrap: normal;
      }
      .pdp-supp-facts .table-light th {
        background-color: #f0fdf4 !important; color: #166534;
      }
      .pdp-meta-facts {
        font-size: 0.79rem; color: #374151;
        margin-bottom: 0.55rem;
        display: flex; flex-wrap: wrap; gap: 0.3rem 0.75rem;
      }
      .pdp-meta-facts strong { font-weight: 600; }
      .pdp-supp-footnote {
        font-size: 0.71rem; color: #6b7280;
        margin-top: 0.3rem; font-style: italic;
      }
      /* ── Пометка «оригинал» для EN-текстов ── */
      .pdp-original-note {
        display: inline-block; font-size: 0.68rem; color: #6b7280;
        background: #f3f4f6; border-radius: 4px;
        padding: 1px 6px; font-style: italic; font-weight: 400;
        vertical-align: middle;
      }
      /* ── Ссылка на iHerb как trust/source ── */
      .pdp-source-link {
        display: inline-flex; align-items: center; gap: 3px;
        font-size: 0.75rem; color: #198754; text-decoration: none;
        border-bottom: 1px solid transparent; transition: border-color 0.15s;
      }
      .pdp-source-link:hover { color: #166534; border-bottom-color: #166534; }
      .pdp-source-link::before { content: "↗"; font-size: 0.68rem; opacity: 0.75; }
      /* ── Desktop tabs / mobile accordion ── */
      .pdp-mobile-accordion { display: none; }
      @media (max-width: 767.98px) {
        .pdp-desktop-tabs  { display: none !important; }
        .pdp-mobile-accordion { display: block; }
      }
      .pdp-accordion-item {
        border: 1px solid var(--shop-border); border-radius: 10px;
        background: #fff; overflow: hidden; margin-bottom: 8px;
      }
      .pdp-accordion-button {
        width: 100%; display: flex; align-items: center;
        justify-content: space-between; background: #fff; border: none;
        padding: 0.85rem 1rem; font-size: 0.9rem; font-weight: 600;
        color: #111827; cursor: pointer; text-align: left; transition: color 0.15s;
      }
      .pdp-accordion-button.is-open { color: #166534; border-bottom: 1px solid var(--shop-border); }
      .pdp-accordion-chevron {
        display: inline-block; width: 16px; height: 16px; flex-shrink: 0;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23374151' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-position: center; transition: transform 0.2s;
      }
      .pdp-accordion-button.is-open .pdp-accordion-chevron { transform: rotate(180deg); }
      .pdp-accordion-body { display: none; padding: 1rem; }
      .pdp-accordion-body.is-open { display: block; }
      /* ── Разворачиваемые длинные тексты ── */
      .pdp-expandable {
        overflow: hidden;
        max-height: calc(var(--pdp-max-lines, 5) * 2.0625em);
      }
      .pdp-expandable.is-expanded { max-height: 9999em; }
      .pdp-expand-toggle {
        display: inline-block; margin-top: 6px;
        background: none; border: none; padding: 0;
        font-size: 0.78rem; color: #198754; cursor: pointer;
        font-weight: 600; text-decoration: underline; text-underline-offset: 2px;
      }
      .pdp-expand-toggle:hover { color: #166534; }
      /* ── Mobile sticky CTA цена ── */
      .pdp-mobile-cta-price {
        font-size: 0.95rem; font-weight: 700; color: #111827; white-space: nowrap;
      }
