/*
Theme Name: LuckyHats Child
Theme URI: https://luckyhats.ru
Author: LuckyHats Dev Team
Description: Child theme for luckyhats-v2.2.4 with shop enhancements: toolbar, Load More, product names
Template: luckyhats-v2.2.4
Version: 1.3.7
Text Domain: luckyhats-child
*/

/* ===== ПРЕМИАЛЬНАЯ ДИЗАЙН-СИСТЕМА (МАСТЕРСКАЯ) ===== */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    /* Тёмный фон и поверхности (Dark Theme - Default) */
    --bg-dark: #1A1612;
    --surface: #221E18;

    /* Текст */
    --text: #E8DFD3;
    --text-muted: #9B8E7E;

    /* Акцент (Тёплая терракота) */
    --accent: #C4885A;
    --accent-hover: #D9A070;

    /* Границы и оверлей */
    --border: rgba(255, 255, 255, 0.05);
    --bg-overlay: rgba(26, 22, 18, 0.6);

    /* Шрифты */
    --font-heading: 'DM Serif Display', Georgia, serif;
    --font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

    /* Дополнительные переменные для анимированного фона */
    --orb-1: rgba(196, 136, 90, 0.06);
    --orb-2: rgba(155, 142, 126, 0.04);
    --accent-glow: rgba(196, 136, 90, 0.2);
    --shadow: rgba(0, 0, 0, 0.3);
}

[data-theme="light"] {
    /* Светлый фон и поверхности (Light Theme) */
    --bg-dark: #F5F0EB;
    --surface: #FFFFFF;

    /* Текст для светлой темы */
    --text: #2C2418;
    --text-muted: #8B7D6B;

    /* Акцент для светлой темы */
    --accent: #B8703F;
    --accent-hover: #9A5C33;

    /* Светлые границы и оверлей */
    --border: rgba(44, 36, 24, 0.08);
    --bg-overlay: rgba(245, 240, 235, 0.6);

    /* Orb-ы для светлой темы */
    --orb-1: rgba(184, 112, 63, 0.08);
    --orb-2: rgba(139, 125, 107, 0.06);
    --accent-glow: rgba(184, 112, 63, 0.15);
    --shadow: rgba(44, 36, 24, 0.08);
}

/* ===== ДИНАМИЧЕСКИЙ ФОН: ORB-Ы (облегчённая версия) ===== */
.lh-orb {
    position: fixed;
    border-radius: 50%;
    filter: blur(40px);
    pointer-events: none;
    z-index: -1;
    contain: layout style;
    transition: background 0.8s ease;
}
.lh-orb-1 {
    width: 450px; height: 450px;
    background: var(--orb-1);
    top: -100px; right: -100px;
    animation: lhOrbFloat1 30s linear infinite;
}
.lh-orb-2 {
    width: 350px; height: 350px;
    background: var(--orb-2);
    bottom: -50px; left: -80px;
    animation: lhOrbFloat2 35s linear infinite;
}
@keyframes lhOrbFloat1 {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-60px, 90px); }
}
@keyframes lhOrbFloat2 {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(70px, -60px); }
}

/* ===== ПЕРЕХОДЫ СТРАНИЦ (transition overlay) ===== */
.lh-page-transition {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    display: flex;
}
.lh-page-transition .lh-trans-col {
    flex: 1;
    background: var(--accent);
    transform: scaleY(0);
    transform-origin: bottom;
}

/* Убираем orb-ы на мобильных (производительность) */
@media (max-width: 768px) {
    .lh-orb { display: none; }
}

/* ===== КНОПКА «НАВЕРХ» (слева, не конфликтует с чат-виджетом) ===== */
.lh-scroll-top {
    position: fixed;
    bottom: 32px;
    left: 24px;
    z-index: 900;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(16px);
    pointer-events: none;
    transition: opacity 0.3s, transform 0.3s, background 0.2s;
    box-shadow: 0 2px 12px var(--shadow);
}
.lh-scroll-top.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.lh-scroll-top:hover {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}
.lh-scroll-top:hover svg {
    stroke: #fff;
}
@media (max-width: 768px) {
    .lh-scroll-top {
        bottom: 20px;
        left: 16px;
        width: 40px;
        height: 40px;
    }
}

/* ===== THEME TOGGLE BUTTON ===== */
.lh-theme-toggle {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 24px;
    height: 24px;
    padding: 0;
    margin-right: 16px;
    transition: color 0.3s ease, transform 0.3s ease;
}

.lh-theme-toggle:hover {
    transform: scale(1.1);
    color: var(--accent);
}

.lh-theme-toggle svg {
    width: 20px;
    height: 20px;
    position: absolute;
    transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Light Theme Toggle State */
[data-theme="light"] .lh-theme-toggle .sun-icon {
    opacity: 0;
    transform: rotate(90deg) scale(0);
}

[data-theme="light"] .lh-theme-toggle .moon-icon {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

/* Dark Theme Toggle State (Default) */
:root:not([data-theme="light"]) .lh-theme-toggle .sun-icon {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

:root:not([data-theme="light"]) .lh-theme-toggle .moon-icon {
    opacity: 0;
    transform: rotate(-90deg) scale(0);
}

body {
    background-color: var(--bg-dark);
    color: var(--text);
    font-family: var(--font);
}

h1,
h2,
h3,
h4,
h5,
h6,
.product-name a,
.woocommerce-loop-product__title {
    font-family: var(--font-heading) !important;
    color: #ffffff !important;
}

/* ===== СКРЫТЬ ПАГИНАЦИЮ И ДУБЛИКАТЫ ===== */
.woocommerce-pagination {
    display: none !important;
}
/* Скрыть дубликат Load More (если parent theme добавляет второй) */
.lh-load-more-wrapper ~ .lh-load-more-wrapper {
    display: none !important;
}
.lh-all-loaded ~ .lh-all-loaded {
    display: none !important;
}

/* ===== ТУЛБАР ===== */
.lh-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.lh-toolbar-left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.lh-toolbar-right {
    display: flex;
    align-items: center;
}

/* Сортировка */
.lh-sort-select {
    appearance: none;
    -webkit-appearance: none;
    background: var(--surface, #fff);
    border: 1px solid var(--border, #d2d2d7);
    border-radius: var(--radius-sm, 10px);
    padding: 8px 36px 8px 14px;
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 14px;
    font-weight: 500;
    color: var(--text, #1d1d1f);
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    min-width: 200px;
}

.lh-sort-select:hover {
    border-color: var(--primary, #1d1d1f);
}

.lh-sort-select:focus {
    outline: none;
    border-color: var(--accent, #0071e3);
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.15);
}

/* Фильтр по цвету */
.lh-color-filter {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.lh-color-swatch {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid transparent;
    padding: 2px;
    cursor: pointer;
    transition: border-color 0.2s, transform 0.15s;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lh-color-swatch:hover {
    transform: scale(1.15);
}

.lh-color-swatch.active {
    border-color: var(--primary, #1d1d1f);
}

.lh-swatch-inner {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
}

/* Счётчик товаров */
.lh-product-count {
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 14px;
    color: var(--text);
    opacity: 0.7;
    font-weight: 500;
}

.lh-count-number {
    font-weight: 700;
    color: var(--text, #1d1d1f);
}

/* ===== LOAD MORE ===== */
.lh-load-more-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 32px 0 16px;
}

.lh-shown-counter {
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 14px;
    color: var(--text);
    opacity: 0.75;
    font-weight: 400;
}

.lh-shown-counter .lh-shown-count,
.lh-shown-counter .lh-total-count {
    font-weight: 600;
    color: var(--text, #1d1d1f);
}

/* Прогресс-бар */
.lh-progress-bar {
    width: 200px;
    height: 3px;
    background: var(--border, #d2d2d7);
    border-radius: 2px;
    overflow: hidden;
}

.lh-progress-fill {
    height: 100%;
    background: var(--accent);
    border-radius: 2px;
    transition: width 0.5s ease;
}

/* Кнопка Load More */
.lh-load-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 32px;
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: var(--accent);
    border: none;
    border-radius: var(--radius-sm, 10px);
    cursor: pointer;
    transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    min-width: 180px;
}

.lh-load-more-btn:hover {
    background: var(--accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 8px 32px rgba(196, 136, 90, 0.25);
}

.lh-load-more-btn:active {
    transform: translateY(0);
}

.lh-load-more-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.lh-btn-spinner {
    animation: lh-spin 1s linear infinite;
}

@keyframes lh-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Все товары загружены */
.lh-all-loaded {
    padding: 24px;
    text-align: center;
    color: var(--text);
    opacity: 0.65;
    font-size: 14px;
    font-family: var(--font, 'Inter', sans-serif);
}

/* ===== НАЗВАНИЕ ТОВАРА В КАРТОЧКЕ ===== */
.product-name {
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 500;
    color: var(--text, #1d1d1f);
    padding: 8px 10px 4px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
}

.product-name a {
    color: inherit;
    text-decoration: none;
}

/* ===== УЛУЧШЕНИЯ КАРТОЧЕК ===== */

/* Улучшение цены */
.product-card .product-price {
    font-size: 16px;
    font-weight: 700;
    color: var(--text, #1d1d1f);
}

/* Кнопка корзины — улучшенный hover */
.product-card .add-to-cart-btn {
    transition: background 0.2s, transform 0.15s;
}

.product-card .add-to-cart-btn:hover {
    background: var(--accent);
    transform: scale(1.1);
}

.product-card .add-to-cart-btn:hover svg {
    stroke: #fff;
}

/* ===== АНИМАЦИЯ ПОЯВЛЕНИЯ (Load More) ===== */
.product-card.lh-fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.product-card.lh-fade-in.lh-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered animation */
.product-card.lh-fade-in:nth-child(5n+1) {
    transition-delay: 0.05s;
}

.product-card.lh-fade-in:nth-child(5n+2) {
    transition-delay: 0.1s;
}

.product-card.lh-fade-in:nth-child(5n+3) {
    transition-delay: 0.15s;
}

.product-card.lh-fade-in:nth-child(5n+4) {
    transition-delay: 0.2s;
}

.product-card.lh-fade-in:nth-child(5n+5) {
    transition-delay: 0.25s;
}

/* ===== УЛУЧШЕНИЯ СТРАНИЦЫ ===== */
.catalog-page .container {
    padding-top: 16px;
}

.categories-carousel {
    margin-bottom: 8px;
}

.products {
    gap: var(--gap, 12px);
}

/* ===== МОБИЛЬНАЯ АДАПТАЦИЯ ===== */
@media (max-width: 900px) {
    .lh-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .lh-toolbar-left {
        width: 100%;
    }

    .lh-sort-select {
        width: 100%;
        min-width: unset;
    }

    .lh-color-filter {
        gap: 4px;
    }

    .lh-color-swatch {
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 600px) {
    .lh-toolbar {
        padding: 8px 0;
    }

    .lh-load-more-btn {
        width: 100%;
    }

    .lh-progress-bar {
        width: 100%;
        max-width: 250px;
    }

    .product-name {
        font-size: 12px;
    }
}

/* ========================================
   СТРАНИЦА КОНТАКТОВ
======================================== */
.lh-contacts {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 32px 16px 48px;
}

.lh-contacts__wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
}

.lh-contacts__card {
    background: var(--surface, #fff);
    border-radius: var(--radius, 16px);
    padding: 32px;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.04), 0 4px 24px rgba(0, 0, 0, 0.06));
}

.lh-contacts__intro {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 24px;
}

.lh-contacts__grid {
    display: grid;
    gap: 20px;
}

.lh-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.lh-contact-item--full {
    grid-column: 1 / -1;
}

.lh-icon {
    font-size: 20px;
    flex-shrink: 0;
    width: 32px;
    text-align: center;
    line-height: 1.4;
}

.lh-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
    margin-bottom: 4px;
}

.lh-contact-item a {
    color: var(--text, #1d1d1f);
    font-size: 15px;
    font-weight: 500;
    transition: color 0.2s;
}

.lh-contact-item a:hover {
    color: var(--accent, #0071e3);
}

.lh-sub {
    font-size: 13px !important;
    color: var(--text-muted) !important;
}

.lh-sub:hover {
    color: var(--accent, #0071e3) !important;
}

/* Соцсети */
.lh-contacts__socials {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--border, #d2d2d7);
}

.lh-socials__label {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 500;
    margin-right: 4px;
}

.lh-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    transition: transform 0.2s, box-shadow 0.2s;
}

.lh-social-btn svg {
    width: 20px;
    height: 20px;
    fill: #fff;
}

.lh-social-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.lh-social-btn.tg {
    background: #229ED9;
}

.lh-social-btn.ig {
    background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.lh-social-btn.yt {
    background: #FF0000;
}

/* CTA кнопки */
.lh-contacts__cta {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.lh-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: var(--radius-sm, 10px);
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s;
    background: var(--primary, #1d1d1f);
    color: #fff;
    text-decoration: none;
}

.lh-cta-btn:hover {
    background: var(--accent, #0071e3);
    transform: translateY(-1px);
    color: #fff;
}

.lh-cta-btn.ghost {
    background: transparent;
    color: var(--text, #1d1d1f);
    border: 1px solid var(--border, #d2d2d7);
}

.lh-cta-btn.ghost:hover {
    border-color: var(--primary, #1d1d1f);
    background: var(--primary, #1d1d1f);
    color: #fff;
}

/* Карта */
.lh-map {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lh-map__frame {
    background: var(--surface, #fff);
    border-radius: var(--radius, 16px);
    overflow: hidden;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.04), 0 4px 24px rgba(0, 0, 0, 0.06));
    aspect-ratio: 1 / 1;
}

.lh-map__frame iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.lh-map__route {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--accent, #0071e3);
    transition: color 0.2s;
    align-self: flex-start;
}

.lh-map__route:hover {
    color: var(--text, #1d1d1f);
}

/* Контакты: responsive */
@media (max-width: 768px) {
    .lh-contacts__wrap {
        grid-template-columns: 1fr;
    }

    .lh-contacts__card {
        padding: 24px;
    }

    .lh-contacts__cta {
        flex-direction: column;
    }

    .lh-map__frame {
        aspect-ratio: 4 / 3;
    }
}

@media (max-width: 480px) {
    .lh-contacts {
        padding: 16px 12px 32px;
    }

    .lh-contacts__socials {
        flex-wrap: wrap;
    }

    .lh-social-btn {
        width: 38px;
        height: 38px;
    }
}

/* ========================================
   СКРЫТЬ FUNNELKIT CART ВИДЖЕТ
======================================== */
.fkcart-panel,
.fkcart-modal,
.fkcart-checkout-wrap,
.fkcart-side-cart-wrap,
.fkcart-side-cart-modal,
#fkcart-floating-toggler,
#fkcart-modal,
.fkcart-toggler,
.fkcart-modal-container,
[class*="fkcart"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: fixed !important;
    left: -9999px !important;
}

/* ========================================
   КНОПКА «КУПИТЬ СЕЙЧАС» В КАРТОЧКЕ
======================================== */
.product-bottom {
    flex-wrap: wrap;
    gap: 6px;
}

.product-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.buy-now-btn {
    padding: 8px 14px;
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 12px;
    font-weight: 600;
    color: var(--surface, #fff);
    background: var(--accent, #0071e3);
    border: none;
    border-radius: var(--radius-sm, 10px);
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    white-space: nowrap;
}

.buy-now-btn:hover {
    background: #005bb5;
    transform: scale(1.05);
}

.buy-now-btn.loading {
    pointer-events: none;
    opacity: 0.7;
}

@media (max-width: 600px) {
    .buy-now-btn {
        font-size: 11px;
        padding: 6px 10px;
    }
}

/* ========================================
   СТРАНИЦА CHECKOUT
======================================== */
/* Сужаем и центрируем .container на checkout */
.woocommerce-checkout .container {
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Убираем grid с .woocommerce — он задаётся дублирующим style.css (ver=2.0.0) */
.woocommerce-checkout .woocommerce {
    display: block !important;
}

/* Grid на <form> — col2-set и #order_review являются прямыми дочерними */
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 1fr 420px;
    gap: 24px;
    align-items: start;
}

/* Явные позиции в гриде — чтобы скрытые WC-элементы не ломали раскладку */
.woocommerce-checkout form.checkout>#customer_details {
    grid-column: 1;
    grid-row: 1;
}

.woocommerce-checkout form.checkout>#order_review {
    grid-column: 2;
    grid-row: 1;
}

/* Скрытые/служебные элементы WC не должны занимать ячейки грида */
.woocommerce-checkout form.checkout>#order_review_heading,
.woocommerce-checkout form.checkout>wc-order-attribution-inputs {
    display: none !important;
}

/* Блок с формой */
.woocommerce-checkout .col2-set {
    background: var(--surface, #fff);
    border-radius: var(--radius, 16px);
    padding: 32px;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.04), 0 4px 24px rgba(0, 0, 0, 0.06));
}

.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: 100%;
    float: none;
    margin-bottom: 24px;
}

.woocommerce-checkout h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--text, #1d1d1f);
}

/* Поля формы */
.woocommerce-checkout .form-row {
    margin-bottom: 16px;
}

.woocommerce-checkout .form-row label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--border, #d2d2d7);
    border-radius: var(--radius-sm, 10px);
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 15px;
    color: var(--text, #1d1d1f);
    background: var(--surface, #fff);
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    outline: none;
    border-color: var(--accent, #0071e3);
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.15);
}

/* Итоговый блок (правая панель) */
.woocommerce-checkout #order_review_heading {
    display: none;
}

.woocommerce-checkout #order_review {
    background: var(--surface, #fff);
    border-radius: var(--radius, 16px);
    padding: 24px;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.04), 0 4px 24px rgba(0, 0, 0, 0.06));
    position: sticky;
    top: calc(var(--header-h, 56px) + 16px);
}

/* --- Сводка заказа: обёртка --- */
.lh-checkout-review {
    margin-bottom: 16px;
}

/* Заголовок «Ваш заказ» + badge кол-ва */
.lh-checkout-review__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--border, #d2d2d7);
}

.lh-checkout-review__title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text, #1d1d1f);
}

.lh-checkout-review__count {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    background: var(--bg, #f5f5f7);
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted);
}

/* --- Товары --- */
.lh-checkout-review__items {
    padding: 4px 0;
}

.lh-checkout-item {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 0 12px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border, #d2d2d7);
}

.lh-checkout-item:last-child {
    border-bottom: none;
}

/* Миниатюра */
.lh-checkout-item__thumb {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    overflow: visible;
    background: var(--bg, #f5f5f7);
}

.lh-checkout-item__thumb img,
.lh-checkout-item__thumb .lh-checkout-item__img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}

/* Бейдж количества */
.lh-checkout-item__qty-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: var(--primary, #1d1d1f);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    min-width: 20px;
    height: 20px;
    padding: 0 4px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-sizing: border-box;
}

/* Название товара и кол-во */
.lh-checkout-item__info {
    min-width: 0;
}

.lh-checkout-item__name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--text, #1d1d1f);
    line-height: 1.3;
}

.lh-checkout-item__qty {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 400;
}

/* Вариации */
.lh-checkout-item__info dl.variation {
    font-size: 12px;
    color: var(--text-muted);
    margin: 2px 0 0;
}

.lh-checkout-item__info dl.variation dt {
    display: inline;
    font-weight: 500;
}

.lh-checkout-item__info dl.variation dd {
    display: inline;
    margin: 0;
}

/* Цена товара */
.lh-checkout-item__price {
    font-size: 14px;
    font-weight: 600;
    color: var(--text, #1d1d1f);
    white-space: nowrap;
    text-align: right;
}

/* --- Итоги: table --- */
.lh-checkout-review__totals {
    width: 100%;
    border-collapse: collapse;
    margin-top: 4px;
}

.lh-checkout-review__totals th,
.lh-checkout-review__totals td {
    padding: 10px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--border, #d2d2d7);
    vertical-align: top;
}

.lh-checkout-review__totals th {
    font-weight: 500;
    color: var(--text-muted);
    text-align: left;
    width: 40%;
}

.lh-checkout-review__totals td {
    text-align: right;
    font-weight: 600;
    color: var(--text, #1d1d1f);
    white-space: nowrap;
}

/* Доставка — разрешить перенос длинного текста */
.lh-checkout-review__totals .shipping td {
    white-space: normal;
    font-size: 13px;
    font-weight: 400;
}

.lh-checkout-review__totals .shipping td ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lh-checkout-review__totals .shipping td li {
    margin-bottom: 4px;
}

/* Итого: крупный, жирный */
.lh-checkout-review__totals .order-total th,
.lh-checkout-review__totals .order-total td {
    font-size: 18px;
    font-weight: 700;
    color: var(--text, #1d1d1f);
    padding-top: 16px;
    border-top: 2px solid var(--text, #1d1d1f);
    border-bottom: none;
    white-space: nowrap;
}

/* Способы оплаты */
.woocommerce-checkout-payment {
    margin-top: 20px;
}

.woocommerce-checkout-payment ul.payment_methods {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-checkout-payment ul.payment_methods li {
    padding: 16px;
    background: var(--bg, #f5f5f7);
    border-radius: var(--radius-sm, 10px);
    margin-bottom: 8px;
    overflow: hidden;
}

.woocommerce-checkout-payment ul.payment_methods li label {
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* Иконки платёжных систем: не выходить за блок */
.woocommerce-checkout-payment ul.payment_methods li label img {
    max-height: 24px;
    width: auto;
    object-fit: contain;
    flex-shrink: 1;
}

.woocommerce-checkout-payment .payment_box {
    padding: 12px 0 0 28px;
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.5;
    overflow: hidden;
    word-wrap: break-word;
}

.woocommerce-checkout-payment .payment_box img {
    max-width: 100%;
    height: auto;
}

/* Кнопка «Оформить заказ» */
.woocommerce-checkout #place_order {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 16px 24px;
    background: var(--primary, #1d1d1f);
    color: #fff;
    border: none;
    border-radius: var(--radius-sm, 10px);
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: 16px;
}

.woocommerce-checkout #place_order:hover {
    background: var(--accent, #0071e3);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 113, 227, 0.3);
}

/* Условия оферты */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    margin-top: 12px;
    font-size: 13px;
    color: var(--text-muted);
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--accent, #0071e3);
}

/* Уведомления WooCommerce */
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    background: var(--surface, #fff);
    border-radius: var(--radius-sm, 10px);
    padding: 16px 20px;
    margin-bottom: 16px;
    font-size: 14px;
    border: none;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.04));
}

.woocommerce-error {
    border-left: 4px solid var(--error, #ff3b30);
}

.woocommerce-message {
    border-left: 4px solid var(--success, #34c759);
}

.woocommerce-info {
    border-left: 4px solid var(--accent, #0071e3);
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
    display: none;
}

/* Info-уведомления на checkout: auto-fade через 3 сек */
.woocommerce-checkout .woocommerce-info {
    animation: lh-notice-fade 0.5s ease 3s forwards;
}

@keyframes lh-notice-fade {
    from {
        opacity: 1;
        max-height: 100px;
        margin-bottom: 16px;
        padding: 16px 20px;
    }

    to {
        opacity: 0;
        max-height: 0;
        margin-bottom: 0;
        padding: 0 20px;
        overflow: hidden;
        pointer-events: none;
    }
}

/* СДЭК виджет */
.official_cdek_widget_wrap {
    border-radius: var(--radius-sm, 10px);
    overflow: hidden;
    margin-top: 8px;
}

/* Checkout: responsive */
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr;
    }

    .woocommerce-checkout #order_review {
        position: static;
    }

    .woocommerce-checkout .col2-set {
        padding: 20px;
    }
}

@media (max-width: 600px) {
    .woocommerce-checkout .col2-set {
        padding: 16px;
    }

    .woocommerce-checkout #order_review {
        padding: 16px;
    }

    .woocommerce-checkout .form-row input.input-text,
    .woocommerce-checkout .form-row select {
        padding: 10px 14px;
        font-size: 14px;
    }

    /* Checkout review: компактнее на мобильных */
    .lh-checkout-item {
        grid-template-columns: 40px 1fr auto;
        gap: 0 10px;
        padding: 10px 0;
    }

    .lh-checkout-item__thumb,
    .lh-checkout-item__thumb img,
    .lh-checkout-item__thumb .lh-checkout-item__img {
        width: 40px;
        height: 40px;
    }

    .lh-checkout-item__name {
        font-size: 13px;
    }

    .lh-checkout-item__price {
        font-size: 13px;
    }

    .lh-checkout-review__totals th,
    .lh-checkout-review__totals td {
        font-size: 13px;
        padding: 8px 0;
    }

    .lh-checkout-review__totals .order-total th,
    .lh-checkout-review__totals .order-total td {
        font-size: 16px;
    }
}

/* ========================================
   СТРАНИЦА КОРЗИНЫ — LuckyHats Custom Layout
   Кастомный div-based шаблон (cart.php).
   Все классы с lh- префиксом — изоляция
   от parent theme CSS.
======================================== */

/* Обёртка: 2-колоночный grid */
.woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: 1fr 420px !important;
    gap: 24px;
    align-items: start;
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 24px 16px;
}

/* Уведомления — span на всю ширину */
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper {
    grid-column: 1 / -1;
}

/* Форма — левая (широкая) колонка */
.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1;
    background: var(--surface, #fff);
    border-radius: var(--radius, 16px);
    padding: 0;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.04), 0 4px 24px rgba(0, 0, 0, 0.06));
    overflow: hidden;
}

/* Сайдбар итогов — правая (узкая) колонка */
.woocommerce-cart .lh-cart-summary {
    grid-column: 2;
    position: sticky;
    top: calc(var(--header-h, 56px) + 16px);
}

.woocommerce-cart .lh-cart-summary .cart_totals {
    background: var(--surface, #fff);
    border-radius: var(--radius, 16px);
    padding: 24px;
    box-shadow: var(--shadow, 0 2px 8px rgba(0, 0, 0, 0.04), 0 4px 24px rgba(0, 0, 0, 0.06));
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Shipping calculator text — не переполнять */
.woocommerce-cart .lh-cart-summary .woocommerce-shipping-destination,
.woocommerce-cart .lh-cart-summary .shipping-calculator-button {
    font-size: 13px;
    word-wrap: break-word;
}

.woocommerce-cart .lh-cart-summary .cart_totals h2 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--text, #1d1d1f);
}

.woocommerce-cart .lh-cart-summary .cart_totals table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.woocommerce-cart .lh-cart-summary .cart_totals th,
.woocommerce-cart .lh-cart-summary .cart_totals td {
    padding: 12px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--border, #d2d2d7);
    vertical-align: top;
}

.woocommerce-cart .lh-cart-summary .cart_totals th {
    font-weight: 500;
    color: var(--text-muted);
    text-align: left;
    width: 40%;
}

.woocommerce-cart .lh-cart-summary .cart_totals td {
    text-align: right;
    font-weight: 600;
    color: var(--text, #1d1d1f);
    white-space: nowrap;
}

/* Ячейка доставки — разрешить перенос (длинный текст) */
.woocommerce-cart .lh-cart-summary .cart_totals .shipping td {
    white-space: normal;
    font-size: 13px;
    font-weight: 400;
}

.woocommerce-cart .lh-cart-summary .cart_totals .shipping td ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.woocommerce-cart .lh-cart-summary .cart_totals .shipping td li {
    margin-bottom: 4px;
}

.woocommerce-cart .lh-cart-summary .cart_totals .order-total th,
.woocommerce-cart .lh-cart-summary .cart_totals .order-total td {
    font-size: 18px;
    font-weight: 700;
    color: var(--text, #1d1d1f);
    padding-top: 16px;
    border-top: 2px solid var(--text, #1d1d1f);
    border-bottom: none;
    white-space: nowrap;
}

/* Кнопка «Оформить заказ» */
.woocommerce-cart .lh-cart-summary .wc-proceed-to-checkout {
    margin-top: 16px;
}

.woocommerce-cart .lh-cart-summary .wc-proceed-to-checkout .checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 16px 24px;
    background: var(--primary, #1d1d1f);
    color: #fff;
    border: none;
    border-radius: var(--radius-sm, 10px);
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    box-sizing: border-box;
}

.woocommerce-cart .lh-cart-summary .wc-proceed-to-checkout .checkout-button:hover {
    background: var(--accent, #0071e3);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 113, 227, 0.3);
}

/* --- Строки товаров --- */
.lh-cart-items {
    padding: 0;
}

.lh-cart-item {
    display: grid;
    grid-template-columns: 80px 1fr auto auto auto;
    grid-template-areas: "thumb info qty subtotal remove";
    gap: 0 16px;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--border, #d2d2d7);
    transition: opacity 0.4s, transform 0.4s;
}

.lh-cart-item:last-child {
    border-bottom: none;
}

.lh-cart-item--updating {
    opacity: 0.5;
}

.lh-cart-item--removing {
    opacity: 0;
    transform: translateX(-20px);
}

.lh-cart-item__thumb {
    grid-area: thumb;
}

.lh-cart-item__info {
    grid-area: info;
}

.lh-cart-item__qty {
    grid-area: qty;
}

.lh-cart-item__subtotal {
    grid-area: subtotal;
}

.lh-cart-item__remove {
    grid-area: remove;
}

/* Миниатюра */
.lh-cart-item__thumb a {
    display: block;
    width: 80px;
    height: 80px;
    border-radius: var(--radius-sm, 10px);
    overflow: hidden;
    background: var(--bg, #f5f5f7);
}

.lh-cart-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Информация о товаре */
.lh-cart-item__info .lh-item-name a {
    font-size: 15px;
    font-weight: 500;
    color: var(--text, #1d1d1f);
    text-decoration: none;
    transition: color 0.2s;
}

.lh-cart-item__info .lh-item-name a:hover {
    color: var(--accent, #0071e3);
}

.lh-cart-item__info .lh-item-price {
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 4px;
}

/* Вариации и метаданные */
.lh-cart-item__info dl.variation {
    font-size: 13px;
    color: var(--text-muted);
    margin: 4px 0 0;
}

/* Количество: −/input/+ */
.lh-qty-control {
    display: flex;
    align-items: center;
    background: var(--bg, #f5f5f7);
    border-radius: var(--radius-sm, 10px);
    overflow: hidden;
}

.lh-qty-btn {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text, #1d1d1f);
    transition: background 0.2s;
    padding: 0;
    line-height: 1;
}

.lh-qty-btn:hover {
    background: var(--border, #d2d2d7);
}

.lh-qty-input,
.lh-cart-item__qty input.qty {
    width: 44px;
    height: 36px;
    border: none;
    background: transparent;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    font-family: var(--font, 'Inter', sans-serif);
    color: var(--text, #1d1d1f);
    -moz-appearance: textfield;
}

.lh-qty-input::-webkit-outer-spin-button,
.lh-qty-input::-webkit-inner-spin-button,
.lh-cart-item__qty input.qty::-webkit-outer-spin-button,
.lh-cart-item__qty input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.lh-qty-input:focus,
.lh-cart-item__qty input.qty:focus {
    outline: none;
}

/* Подытог */
.lh-cart-item__subtotal {
    font-size: 15px;
    font-weight: 600;
    color: var(--text, #1d1d1f);
    white-space: nowrap;
}

/* Кнопка удаления */
.lh-cart-item__remove a,
a.lh-remove-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--bg, #f5f5f7);
    border-radius: 50%;
    color: var(--text-muted);
    font-size: 20px;
    text-decoration: none;
    transition: all 0.2s;
    line-height: 1;
}

.lh-cart-item__remove a:hover,
a.lh-remove-btn:hover {
    background: var(--error, #ff3b30);
    color: #fff;
}

/* --- Действия: промокод + обновить --- */
.lh-cart-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    background: var(--bg, #f5f5f7);
    flex-wrap: wrap;
    gap: 12px;
}

/* ========================================
   CATEGORY ICONS (Premium Dark Orbs)
======================================== */

.categories-carousel a,
.cat-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 6px;
    border-radius: var(--radius, 16px);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    text-decoration: none;
    background: transparent;
    min-width: 80px;
}

.cat-item:hover {
    transform: translateY(-4px);
}

.cat-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    border: 1px solid var(--border);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    color: var(--text-muted);
}

.cat-icon svg {
    width: 32px;
    height: 32px;
    stroke: currentColor;
    stroke-width: 1.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: color 0.3s ease;
}

/* Ховер состояние */
.cat-item:hover .cat-icon {
    transform: scale(1.1) translateY(-2px);
    background: var(--bg-dark);
    border-color: var(--accent);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.05);
    /* Легкая тень вместо неона */
    color: var(--accent);
}

.sidebar-cat-name {
    font-size: 14px;
    font-weight: 500;
}

/* ========================================
   PHASE 5: UI/UX USER FEEDBACK FIXES
======================================== */

/* 1 & 2 & 3. Category Buttons and Text Readability */
.cat-item.active {
    background: transparent !important;
}

[data-theme="light"] .cat-item.active .cat-icon {
    background: var(--surface) !important;
    border-color: var(--accent) !important;
}

[data-theme="light"] .cat-item:hover .cat-icon {
    background: var(--surface) !important;
}

.cat-name,
.cat-item.active .cat-name,
.cat-item:hover .cat-name {
    color: var(--text) !important;
}

/* 4. Toolbar Select (По умолчанию) */
[data-theme="light"] .lh-sort-select {
    background-color: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

/* 5. Main Menu Glass Effect (for both themes) */
.lh-menu .menu>li>a {
    padding: 8px 16px !important;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.lh-menu .menu>li>a:hover,
.lh-menu .menu>li.current-menu-item>a {
    background: rgba(159, 184, 173, 0.15) !important;
    /* var(--accent) with opacity */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--accent) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* 6. Footer Text in Light Mode */
[data-theme="light"] .site-footer,
[data-theme="light"] .lh-footer-col h4,
[data-theme="light"] .lh-footer-menu a,
[data-theme="light"] .lh-footer-text,
[data-theme="light"] .lh-footer p {
    color: var(--text) !important;
}

[data-theme="light"] .lh-footer-menu a:hover {
    color: var(--accent) !important;
}

/* 7. Modernize WooCommerce Account / Login Page */
.woocommerce-account .woocommerce {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 60px;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    max-width: 450px;
    width: 100%;
}

.woocommerce-account form .form-row {
    margin-bottom: 20px;
}

.woocommerce-account form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--text);
    font-size: 14px;
}

.woocommerce-account form .input-text {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text);
    font-family: inherit;
    font-size: 15px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.woocommerce-account form .input-text:focus {
    border-color: var(--accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(159, 184, 173, 0.2);
}

.woocommerce-account form .button {
    width: 100%;
    padding: 16px;
    border-radius: 12px;
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    border: none;
    cursor: pointer;
    transition: transform 0.2s, background 0.2s, box-shadow 0.2s;
}

.woocommerce-account form .button:hover {
    transform: translateY(-2px);
    background: var(--accent-hover);
    box-shadow: 0 8px 24px rgba(159, 184, 173, 0.4);
}

.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
    margin-bottom: 24px;
    font-weight: 700;
    font-size: 24px;
    color: var(--text);
    text-align: center;
}

.cat-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted);
    transition: color 0.3s ease;
    text-align: center;
}

.cat-item:hover .cat-name {
    color: var(--text);
}

/* Состояние Active */
.cat-item.active .cat-icon {
    transform: scale(1.05);
    background: var(--bg-dark);
    border: 2px solid var(--accent);
    color: var(--accent);
}

.cat-item.active .cat-name {
    color: var(--text);
    font-weight: 600;
}

.lh-coupon {
    display: flex;
    gap: 8px;
}

.lh-coupon__input {
    padding: 10px 14px;
    border: 1px solid var(--border, #d2d2d7);
    border-radius: var(--radius-sm, 10px);
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 14px;
    color: var(--text, #1d1d1f);
    width: 200px;
    background: var(--surface, #fff);
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.lh-coupon__input:focus {
    outline: none;
    border-color: var(--accent, #0071e3);
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.15);
}

.lh-coupon__btn {
    padding: 10px 20px;
    background: var(--primary, #1d1d1f);
    color: #fff;
    border: none;
    border-radius: var(--radius-sm, 10px);
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.lh-coupon__btn:hover {
    background: var(--accent, #0071e3);
}

.lh-update-cart-btn {
    padding: 10px 20px;
    background: transparent;
    color: var(--text, #1d1d1f);
    border: 1px solid var(--border, #d2d2d7);
    border-radius: var(--radius-sm, 10px);
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.lh-update-cart-btn:hover {
    border-color: var(--primary, #1d1d1f);
    background: var(--primary, #1d1d1f);
    color: #fff;
}

.lh-update-cart-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* --- Пустая корзина --- */
.lh-cart-empty {
    text-align: center;
    padding: 80px 24px;
    max-width: 400px;
    margin: 0 auto;
}

.lh-cart-empty__icon {
    color: var(--text-muted);
    margin-bottom: 16px;
}

.lh-cart-empty__icon svg {
    width: 64px;
    height: 64px;
}

.lh-cart-empty__title {
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 22px;
    font-weight: 600;
    color: var(--text, #1d1d1f);
    margin: 0 0 8px;
}

.lh-cart-empty__text {
    font-size: 15px;
    color: var(--text);
    opacity: 0.7;
    margin-bottom: 24px;
}

.lh-cart-empty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    background: var(--primary, #1d1d1f);
    color: #fff;
    border-radius: var(--radius-sm, 10px);
    font-family: var(--font, 'Inter', sans-serif);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.lh-cart-empty__btn:hover {
    background: var(--accent, #0071e3);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 113, 227, 0.3);
    color: #fff;
}

/* Скрыть стандартное WC сообщение о пустой корзине (у нас своё) */
.woocommerce-cart .cart-empty.woocommerce-info {
    display: none;
}

.woocommerce-cart .return-to-shop {
    display: none;
}

/* --- Корзина: responsive <900px — одна колонка --- */
@media (max-width: 900px) {
    .woocommerce-cart .woocommerce {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-cart .woocommerce-cart-form {
        grid-column: 1;
    }

    .woocommerce-cart .lh-cart-summary {
        grid-column: 1;
        position: static;
    }
}

/* --- Корзина: responsive <768px — компактные строки --- */
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce {
        padding: 16px 12px;
        gap: 16px;
    }

    .lh-cart-item {
        grid-template-columns: 72px 1fr auto;
        grid-template-areas:
            "thumb info    remove"
            "thumb qty     subtotal";
        gap: 8px 12px;
        padding: 16px;
    }

    .lh-cart-item__thumb a {
        width: 72px;
        height: 72px;
    }

    .lh-cart-item__info .lh-item-price {
        display: none;
    }

    .lh-cart-actions {
        padding: 12px 16px;
    }

    .lh-coupon__input {
        width: 140px;
    }
}

/* --- Корзина: responsive <480px --- */
@media (max-width: 480px) {
    .lh-cart-item {
        padding: 12px;
    }

    .lh-cart-actions {
        flex-direction: column;
    }

    .lh-coupon {
        width: 100%;
    }

    .lh-coupon__input {
        flex: 1;
        width: auto;
    }

    .lh-update-cart-btn {
        width: 100%;
        text-align: center;
    }
}

/* ========================================
   SINGLE PRODUCT: МОБИЛЬНАЯ КАРТИНКА
======================================== */

/* Гарантировать видимость WC галереи */
.woocommerce-product-gallery {
    opacity: 1 !important;
}

/* Гарантировать видимость изображения в галерее */
.woocommerce-product-gallery .woocommerce-product-gallery__image img,
.product-main-image img,
.product-gallery-section img {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Мобильная версия: показать полное изображение */
@media (max-width: 768px) {
    .single-product-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .product-gallery-section {
        position: static !important;
        width: 100% !important;
        min-width: 0;
        max-width: 100%;
        overflow: visible !important;
        display: block !important;
    }

    .product-main-image {
        aspect-ratio: auto !important;
        max-height: 70vh;
        overflow: hidden;
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }

    .product-main-image img {
        width: 100% !important;
        height: auto !important;
        max-height: 70vh;
        object-fit: contain !important;
        object-position: center center !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* WC product gallery (если используется) */
    .woocommerce-product-gallery {
        width: 100% !important;
        display: block !important;
    }

    .woocommerce-product-gallery__wrapper {
        display: block !important;
    }

    .woocommerce-product-gallery__image {
        display: block !important;
    }

    .woocommerce-product-gallery__image img {
        width: 100% !important;
        height: auto !important;
        opacity: 1 !important;
        display: block !important;
    }

    .product-thumbnails {
        grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
        gap: 6px;
    }
}

/* ========================================
   GLOBAL BACKGROUND (Dark Liquid Glass)
======================================== */
body::before {
    content: "";
    position: fixed;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    /* Глубокий темный радиальный градиент с едва уловимым медным/золотым оттенком */
    background: radial-gradient(circle at 50% 50%, rgba(20, 20, 20, 1) 0%, rgba(10, 10, 10, 1) 50%, rgba(212, 175, 55, 0.05) 100%);
    animation: dark-liquid 30s infinite alternate ease-in-out;
    z-index: -2;
    pointer-events: none;
}

@keyframes dark-liquid {
    0% {
        transform: translate(0, 0) scale(1);
    }

    33% {
        transform: translate(-2%, 3%) scale(1.05);
    }

    66% {
        transform: translate(3%, -2%) scale(0.95);
    }

    100% {
        transform: translate(-1%, -4%) scale(1.02);
    }
}

body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(60px);
    -webkit-backdrop-filter: blur(60px);
    z-index: -2;
    pointer-events: none;
    background: var(--bg-overlay);
    transition: background 0.3s ease;
}

/* ========================================
   HEADER REDESIGN (NEON GLASS)
======================================== */
.lh-header {
    background: var(--surface) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    transition: background 0.3s ease, border-color 0.3s ease;
    z-index: 100;
}

.lh-header .lh-logo a {
    color: var(--text) !important;
    font-family: var(--font-heading);
    font-weight: 700;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
}

.lh-menu .menu>li>a {
    color: var(--text-muted) !important;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

.lh-menu .menu>li>a:hover,
.lh-menu .menu>li.current-menu-item>a {
    color: var(--accent) !important;
}

.lh-actions .lh-icon-btn {
    color: var(--text) !important;
    transition: color 0.3s ease, transform 0.3s ease;
}

.lh-actions .lh-icon-btn:hover {
    color: var(--accent) !important;
    transform: scale(1.1);
}

.lh-search-bar {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: var(--border) !important;
    color: #ffffff !important;
}

.lh-search-bar input {
    color: #ffffff !important;
}

/* ========================================
   PRODUCT CARDS (Dark Luxury)
======================================== */
/* Задаем темный полупрозрачный фон для карточек товаров */
.woocommerce ul.products li.product,
.product-card {
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius, 16px) !important;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.woocommerce ul.products li.product:hover,
.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.5);
    border-color: rgba(212, 175, 55, 0.3) !important;
    /* Легкое золото при наведении */
}

/* Название товара */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.product-name a {
    color: var(--text) !important;
    font-family: var(--font-heading) !important;
    font-size: 1.2rem !important;
    transition: color 0.3s;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.product-name a:hover {
    color: var(--accent) !important;
}

/* Цена золотом */
.woocommerce ul.products li.product .price,
.product-price .amount {
    color: var(--accent) !important;
    font-weight: 600 !important;
}

/* Кнопки В корзину / Избранное на карточках */
.woocommerce ul.products li.product .button,
.product-actions button {
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--text-muted) !important;
    transition: all 0.3s ease;
}

.woocommerce ul.products li.product .button:hover,
.product-actions button:hover {
    background: var(--accent) !important;
    color: #fff !important;
    border-color: var(--accent) !important;
}

.woocommerce ul.products li.product .button svg,
.product-actions button svg {
    stroke: var(--text);
}

.woocommerce ul.products li.product .button:hover svg,
.product-actions button:hover svg {
    stroke: #fff;
}

.wishlist-btn svg {
    stroke: var(--text);
}

.wishlist-btn:hover svg {
    stroke: #fff;
}

/* Задний фон картинок в карточках (немного затемнить, чтобы не били по глазам) */
.product-image img,
.product-img {
    filter: brightness(0.9) contrast(1.1);
    transition: filter 0.4s ease;
}

.woocommerce ul.products li.product:hover .product-image img,
.woocommerce ul.products li.product:hover .product-img {
    filter: brightness(1) contrast(1.1);
}

/* ========================================
   TOOLBAR & FORMS (Dark Luxury)
======================================== */
.lh-sort-select {
    background: rgba(18, 18, 18, 0.8) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
    backdrop-filter: blur(10px);
}

.lh-sort-select option {
    background: var(--bg-dark) !important;
    color: var(--text) !important;
}

.lh-filter-color {
    border-color: var(--border) !important;
    transition: transform 0.2s, border-color 0.2s;
}

.lh-filter-color:hover {
    border-color: var(--accent) !important;
    transform: scale(1.1);
}

.lh-filter-color.active {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 2px var(--bg-dark), 0 0 0 4px var(--accent) !important;
}

.product-count {
    color: var(--text) !important;
    opacity: 0.7;
}