/* ==========================================================================
   GRAND MOTORS — WOOCOMMERCE
   Стилизация ТОЛЬКО для: cart, checkout, thankyou, my account.
   Каталог/single product не трогаем — у проекта свой шаблон.
   Все правила скоупятся body-классами WC, чтобы ничего не утекало
   на другие страницы (включая страницу-каталог на шорткоде).
   ========================================================================== */

/* ОБЩИЕ ТОКЕНЫ — только на наших страницах */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-order-received,
body.single-product {
    --wc-radius: var(--gm-radius, 4px);
    --wc-red:    var(--gm-red, #D41111);
    --wc-red-d:  var(--gm-red-dark, #A71212);
    --wc-dark:   var(--gm-dark, #323232);
    --wc-grey:   var(--gm-grey, #F7F7F7);
    --wc-grey-2: var(--gm-grey-2, #ECF0F0);
    --wc-grey-3: var(--gm-grey-3, #6D6D6D);
    --wc-fh:     var(--gm-font-heading, 'Oswald', sans-serif);
    --wc-fb:     var(--gm-font-body, 'Onest', sans-serif);
}

/* ==========================================================================
   ШИРИНА КОНТЕНТА + ОТСТУПЫ — выравниваем под основной .container (1280px)
   На hello-elementor контент зажат в <main class="site-main"> ~1140px.
   !important нужен потому что Elementor / hello-elementor грузят свои
   правила после нашего CSS и перебивают.
   ========================================================================== */
body.woocommerce-cart #content,
body.woocommerce-cart main#content,
body.woocommerce-cart .site-main,
body.woocommerce-cart main.site-main,
body.woocommerce-cart > main,
body.woocommerce-cart .page-content,
body.woocommerce-cart .entry-content,
body.woocommerce-cart article.page,
body.woocommerce-checkout #content,
body.woocommerce-checkout main#content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout main.site-main,
body.woocommerce-checkout > main,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout article.page,
body.woocommerce-account #content,
body.woocommerce-account main#content,
body.woocommerce-account .site-main,
body.woocommerce-account main.site-main,
body.woocommerce-account > main,
body.woocommerce-account .page-content,
body.woocommerce-account .entry-content,
body.woocommerce-account article.page,
body.woocommerce-order-received #content,
body.woocommerce-order-received main#content,
body.woocommerce-order-received .site-main,
body.woocommerce-order-received main.site-main,
body.woocommerce-order-received > main,
body.woocommerce-order-received .page-content,
body.woocommerce-order-received .entry-content,
body.woocommerce-order-received article.page,
body.single-product #content,
body.single-product main#content,
body.single-product .site-main,
body.single-product main.site-main,
body.single-product > main,
body.single-product .page-content,
body.single-product .entry-content,
body.single-product article.product,
body.woocommerce-cart .entry-header,
body.woocommerce-cart header.entry-header,
body.woocommerce-cart header.page-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout header.entry-header,
body.woocommerce-checkout header.page-header,
body.woocommerce-account .entry-header,
body.woocommerce-account header.entry-header,
body.woocommerce-account header.page-header,
body.woocommerce-order-received .entry-header,
body.woocommerce-order-received header.entry-header,
body.woocommerce-order-received header.page-header,
body.single-product .entry-header,
body.single-product header.entry-header,
body.single-product header.page-header {
    max-width: 1280px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* Внешний отступ сверху/снизу — для всей области WC-страниц */
body.woocommerce-cart #content,
body.woocommerce-cart main.site-main,
body.woocommerce-cart > main,
body.woocommerce-checkout #content,
body.woocommerce-checkout main.site-main,
body.woocommerce-checkout > main,
body.woocommerce-account #content,
body.woocommerce-account main.site-main,
body.woocommerce-account > main,
body.woocommerce-order-received #content,
body.woocommerce-order-received main.site-main,
body.woocommerce-order-received > main,
body.single-product #content,
body.single-product main.site-main,
body.single-product > main {
    padding-top: 56px !important;
    padding-bottom: 80px !important;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce,
body.woocommerce-order-received .woocommerce,
body.single-product .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

@media (max-width: 768px) {
    body.woocommerce-cart #content,
    body.woocommerce-cart main.site-main,
    body.woocommerce-cart > main,
    body.woocommerce-checkout #content,
    body.woocommerce-checkout main.site-main,
    body.woocommerce-checkout > main,
    body.woocommerce-account #content,
    body.woocommerce-account main.site-main,
    body.woocommerce-account > main,
    body.woocommerce-order-received #content,
    body.woocommerce-order-received main.site-main,
    body.woocommerce-order-received > main,
    body.single-product #content,
    body.single-product main.site-main,
    body.single-product > main {
        padding-top: 32px !important;
        padding-bottom: 48px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ==========================================================================
   КНОПКИ — только на корзине/чекауте/кабинете
   ========================================================================== */
.woocommerce-cart .woocommerce a.button,
.woocommerce-cart .woocommerce button.button,
.woocommerce-cart .woocommerce input.button,
.woocommerce-checkout .woocommerce a.button,
.woocommerce-checkout .woocommerce button.button,
.woocommerce-checkout .woocommerce input.button,
.woocommerce-checkout #place_order,
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce input.button,
.woocommerce-order-received .woocommerce a.button {
    background: var(--wc-red);
    color: #fff;
    border: 0;
    border-radius: var(--wc-radius);
    padding: 13px 28px;
    font-family: var(--wc-fb);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: none;
    text-shadow: none;
    box-shadow: none;
    cursor: pointer;
    transition: background 0.22s ease;
    text-decoration: none;
    display: inline-block;
}
.woocommerce-cart .woocommerce a.button:hover,
.woocommerce-cart .woocommerce button.button:hover,
.woocommerce-cart .woocommerce input.button:hover,
.woocommerce-checkout .woocommerce a.button:hover,
.woocommerce-checkout .woocommerce button.button:hover,
.woocommerce-checkout .woocommerce input.button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-account .woocommerce a.button:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce input.button:hover,
.woocommerce-order-received .woocommerce a.button:hover {
    background: var(--wc-red-d);
    color: #fff;
}

.woocommerce-cart .woocommerce a.button.wc-backward,
.woocommerce-cart .woocommerce button[name="update_cart"] {
    background: #fff;
    color: var(--wc-dark);
    border: 1px solid var(--wc-grey-2);
}
.woocommerce-cart .woocommerce a.button.wc-backward:hover,
.woocommerce-cart .woocommerce button[name="update_cart"]:hover:not(:disabled) {
    background: var(--wc-grey);
    color: var(--wc-dark);
    border-color: var(--wc-grey-3);
}
.woocommerce-cart .woocommerce button[name="update_cart"]:disabled { opacity: 0.5; cursor: not-allowed; }

/* ==========================================================================
   ФОРМЫ
   ========================================================================== */
.woocommerce-cart .woocommerce input[type="text"],
.woocommerce-cart .woocommerce input[type="number"],
.woocommerce-checkout .woocommerce input[type="text"],
.woocommerce-checkout .woocommerce input[type="email"],
.woocommerce-checkout .woocommerce input[type="tel"],
.woocommerce-checkout .woocommerce input[type="password"],
.woocommerce-checkout .woocommerce input[type="number"],
.woocommerce-checkout .woocommerce select,
.woocommerce-checkout .woocommerce textarea,
.woocommerce-account .woocommerce input[type="text"],
.woocommerce-account .woocommerce input[type="email"],
.woocommerce-account .woocommerce input[type="tel"],
.woocommerce-account .woocommerce input[type="password"],
.woocommerce-account .woocommerce select,
.woocommerce-account .woocommerce textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius);
    font-family: var(--wc-fb);
    font-size: 14px;
    color: var(--wc-dark);
    background: #fff;
    transition: border-color 0.18s, box-shadow 0.18s;
    box-shadow: none;
    line-height: 1.4;
}
.woocommerce-cart .woocommerce input:focus,
.woocommerce-checkout .woocommerce input:focus,
.woocommerce-checkout .woocommerce select:focus,
.woocommerce-checkout .woocommerce textarea:focus,
.woocommerce-account .woocommerce input:focus,
.woocommerce-account .woocommerce select:focus,
.woocommerce-account .woocommerce textarea:focus {
    border-color: var(--wc-red);
    box-shadow: 0 0 0 3px rgba(212, 17, 17, 0.08);
    outline: 0;
}

.woocommerce-checkout .woocommerce form .form-row label,
.woocommerce-account .woocommerce form .form-row label {
    font-size: 13px;
    font-weight: 500;
    color: var(--wc-dark);
    margin-bottom: 6px;
    display: block;
}
.woocommerce-checkout .woocommerce form .form-row .required,
.woocommerce-account .woocommerce form .form-row .required {
    color: var(--wc-red);
    text-decoration: none;
    border: 0;
}
.woocommerce-checkout .woocommerce form .form-row,
.woocommerce-account .woocommerce form .form-row { margin-bottom: 14px; }

.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-account .select2-container--default .select2-selection--single {
    border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius);
    height: 44px;
    padding: 6px 10px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 30px;
    color: var(--wc-dark);
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }

.woocommerce-cart .woocommerce .quantity .qty {
    width: 70px;
    text-align: center;
    padding: 10px 6px;
    border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius);
    font-size: 14px;
    height: 44px;
}

/* ==========================================================================
   НОТИФИКАЦИИ — на наших страницах
   ========================================================================== */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-order-received .woocommerce-message,
.woocommerce-order-received .woocommerce-info {
    background: #fff;
    border-left: 4px solid var(--wc-red);
    border-radius: var(--wc-radius);
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    padding: 16px 20px;
    margin: 0 0 24px;
    color: var(--wc-dark);
    font-size: 14px;
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before,
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before { display: none; }

.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
.woocommerce-order-received .woocommerce-message { border-left-color: #2BB673; }
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-account .woocommerce-info,
.woocommerce-order-received .woocommerce-info { border-left-color: #2196F3; }

/* ==========================================================================
   КОРЗИНА
   ========================================================================== */
.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.woocommerce-cart .woocommerce-cart-form { margin: 0; }
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }

.woocommerce-cart .woocommerce table.shop_table {
    background: #fff;
    border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    margin: 0;
    width: 100%;
}
.woocommerce-cart .woocommerce table.shop_table th {
    background: var(--wc-grey);
    color: var(--wc-dark);
    font-family: var(--wc-fb);
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 14px 16px;
    border: 0;
    border-bottom: 1px solid var(--wc-grey-2);
}
.woocommerce-cart .woocommerce table.shop_table td {
    padding: 18px 16px;
    border-top: 1px solid var(--wc-grey-2);
    color: var(--wc-dark);
    font-size: 14px;
    vertical-align: middle;
}
.woocommerce-cart .woocommerce table.shop_table tr:first-child td { border-top: 0; }
.woocommerce-cart .woocommerce table.shop_table .product-thumbnail img { width: 72px; height: auto; border-radius: var(--wc-radius); }
.woocommerce-cart .woocommerce table.shop_table .product-name a { color: var(--wc-dark); text-decoration: none; font-weight: 500; }
.woocommerce-cart .woocommerce table.shop_table .product-name a:hover { color: var(--wc-red); }

.woocommerce-cart .woocommerce a.remove {
    width: 24px; height: 24px; line-height: 22px; font-size: 18px;
    color: var(--wc-grey-3) !important;
    background: var(--wc-grey);
    border-radius: 50%;
    text-align: center; text-decoration: none;
    transition: all 0.2s;
}
.woocommerce-cart .woocommerce a.remove:hover { background: var(--wc-red) !important; color: #fff !important; }

.woocommerce-cart .woocommerce table.cart td.actions { background: var(--wc-grey); padding: 16px; }
.woocommerce-cart .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap; }
.woocommerce-cart .woocommerce table.cart td.actions .coupon input { width: 220px; }

.woocommerce-cart .woocommerce .cart-collaterals { width: 100%; margin: 0; }
.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce-cart .woocommerce .cart_totals h2 {
    font-family: var(--wc-fh); font-size: 22px; font-weight: 600;
    color: var(--wc-dark); margin: 0 0 16px; text-transform: uppercase;
}
.woocommerce-cart .woocommerce .cart_totals table {
    background: #fff; border: 1px solid var(--wc-grey-2); border-radius: var(--wc-radius); overflow: hidden;
}
.woocommerce-cart .woocommerce .cart_totals table th,
.woocommerce-cart .woocommerce .cart_totals table td {
    padding: 14px 16px; border-top: 1px solid var(--wc-grey-2); background: #fff;
}
.woocommerce-cart .woocommerce .cart_totals table tr:first-child th,
.woocommerce-cart .woocommerce .cart_totals table tr:first-child td { border-top: 0; }
.woocommerce-cart .woocommerce .cart_totals .order-total td,
.woocommerce-cart .woocommerce .cart_totals .order-total th {
    background: var(--wc-grey); font-size: 18px; color: var(--wc-red); font-weight: 600;
}
.woocommerce-cart .woocommerce .wc-proceed-to-checkout { padding: 16px 0 0; }
.woocommerce-cart .woocommerce .wc-proceed-to-checkout a.checkout-button {
    display: block; text-align: center; padding: 16px; font-size: 15px; font-weight: 600;
}

/* ==========================================================================
   ОФОРМЛЕНИЕ ЗАКАЗА (CHECKOUT)
   ========================================================================== */
.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
}
.woocommerce-checkout #customer_details { margin: 0; }
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100%; max-width: none; margin: 0; float: none; }

.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2 {
    background: #fff;
    border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius);
    padding: 24px;
    margin-bottom: 16px;
}
.woocommerce-checkout h3 {
    font-family: var(--wc-fh); font-size: 22px; font-weight: 600;
    text-transform: uppercase; color: var(--wc-dark); margin: 0 0 16px;
}

.woocommerce-checkout #order_review_heading { margin-top: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: #fff;
    border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius);
    overflow: hidden;
    margin: 0 0 20px;
}

.woocommerce-checkout #payment {
    background: #fff;
    border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius);
    padding: 24px;
}
.woocommerce-checkout #payment ul.payment_methods {
    background: transparent; padding: 0; border: 0; margin: 0 0 16px; list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 14px 0; border-top: 1px solid var(--wc-grey-2); list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li:first-child { border-top: 0; padding-top: 0; }
.woocommerce-checkout #payment ul.payment_methods label {
    font-weight: 500; color: var(--wc-dark); font-size: 14px; margin-left: 6px;
}
.woocommerce-checkout #payment div.payment_box {
    background: var(--wc-grey);
    border-radius: var(--wc-radius);
    padding: 14px 16px; margin: 12px 0 0;
    color: var(--wc-grey-3); font-size: 13px; line-height: 1.65;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .form-row.place-order { padding: 16px 0 0; margin: 0; }
.woocommerce-checkout #payment #place_order { width: 100%; padding: 16px; font-size: 15px; }

/* ==========================================================================
   КАРТОЧКА ТОВАРА (single product) — !important чтобы перебить hello-elementor
   ========================================================================== */
body.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 48px !important;
    margin-bottom: 56px !important;
}

/* ─── ГАЛЕРЕЯ ─── */
body.single-product div.product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    opacity: 1 !important;
}
body.single-product div.product .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}
body.single-product div.product .woocommerce-product-gallery__image img {
    border-radius: 4px !important;
    background: #F7F7F7 !important;
    width: 100% !important;
    height: auto !important;
}
body.single-product div.product .flex-control-thumbs {
    margin: 12px 0 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 8px !important;
    padding: 0 !important;
    list-style: none !important;
}
body.single-product div.product .flex-control-thumbs li {
    width: auto !important;
    margin: 0 !important;
    list-style: none !important;
}
body.single-product div.product .flex-control-thumbs img {
    border-radius: 4px !important;
    opacity: 0.65 !important;
    transition: opacity 0.2s, border-color 0.2s !important;
    border: 2px solid transparent !important;
    cursor: pointer !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}
body.single-product div.product .flex-control-thumbs img:hover,
body.single-product div.product .flex-control-thumbs img.flex-active {
    opacity: 1 !important;
    border-color: #D41111 !important;
}

/* ─── SUMMARY (правая колонка) ─── */
body.single-product div.product .summary {
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
}
body.single-product div.product .product_title {
    font-family: 'Oswald', sans-serif !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    color: #323232 !important;
    margin: 0 0 16px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}
body.single-product div.product p.price,
body.single-product div.product .summary > .price,
body.single-product div.product span.price {
    color: #D41111 !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    margin: 0 0 20px !important;
    line-height: 1.2 !important;
}
body.single-product div.product p.price del,
body.single-product div.product span.price del {
    color: #6D6D6D !important;
    font-size: 18px !important;
    opacity: 0.7 !important;
    margin-right: 10px !important;
}
body.single-product div.product p.price ins,
body.single-product div.product span.price ins {
    background: transparent !important;
    color: #D41111 !important;
    text-decoration: none !important;
}

body.single-product div.product .woocommerce-product-details__short-description {
    color: #6D6D6D !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 24px !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid #ECF0F0 !important;
}

/* ─── CTA «СВЯЖИТЕСЬ С НАМИ» — главная кнопка (корзина отключена) ─── */
body.single-product .gm-single-cta-wrap {
    margin: 0 0 24px !important;
    padding: 20px 0 0 !important;
}
body.single-product .gm-single-contact-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0 36px !important;
    background: #D41111 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 4px !important;
    font-family: 'Onest', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    height: 52px !important;
    text-decoration: none !important;
    transition: background 0.22s ease, transform 0.1s ease !important;
    box-sizing: border-box !important;
    text-transform: none !important;
    letter-spacing: 0.2px !important;
    box-shadow: none !important;
}
body.single-product .gm-single-contact-btn:hover {
    background: #A71212 !important;
    color: #fff !important;
    box-shadow: none !important;
}
body.single-product .gm-single-contact-btn:active { transform: translateY(1px) !important; }
body.single-product .gm-single-contact-btn i { font-size: 17px !important; }

/* ─── PRODUCT META ─── */
body.single-product div.product .product_meta {
    font-size: 13px !important;
    color: #6D6D6D !important;
    border-top: 1px solid #ECF0F0 !important;
    padding-top: 18px !important;
    margin-top: 18px !important;
}
body.single-product div.product .product_meta > span {
    display: block !important;
    margin-bottom: 6px !important;
}
body.single-product div.product .product_meta a {
    color: #323232 !important;
    text-decoration: none !important;
}
body.single-product div.product .product_meta a:hover { color: #D41111 !important; }

/* ─── ТАБЫ описание / детали / отзывы ─── */
body.single-product div.product .woocommerce-tabs {
    margin-top: 56px !important;
    grid-column: 1 / -1 !important;
    background: #fff !important;
    border: 1px solid #ECF0F0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
body.single-product div.product .woocommerce-tabs ul.tabs {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #ECF0F0 !important;
    background: #F7F7F7 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    list-style: none !important;
}
body.single-product div.product .woocommerce-tabs ul.tabs::before,
body.single-product div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
body.single-product div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-shadow: none !important;
}
body.single-product div.product .woocommerce-tabs ul.tabs li::before,
body.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.single-product div.product .woocommerce-tabs ul.tabs li a {
    padding: 16px 26px !important;
    font-family: 'Onest', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #6D6D6D !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    text-decoration: none !important;
    display: block !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    margin-bottom: -1px !important;
    transition: color 0.2s, border-color 0.2s, background 0.2s !important;
    background: transparent !important;
}
body.single-product div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #323232 !important;
    background: #fff !important;
}
body.single-product div.product .woocommerce-tabs ul.tabs li.active a {
    color: #D41111 !important;
    border-bottom-color: #D41111 !important;
    background: #fff !important;
}
body.single-product div.product .woocommerce-tabs .panel,
body.single-product div.product .woocommerce-tabs .wc-tab {
    padding: 28px 32px !important;
    margin: 0 !important;
    background: #fff !important;
    color: #323232 !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}
body.single-product div.product .woocommerce-tabs .panel h2,
body.single-product div.product .woocommerce-tabs .wc-tab h2 {
    font-family: 'Oswald', sans-serif !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #323232 !important;
    margin: 0 0 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}
body.single-product div.product .woocommerce-tabs .panel p,
body.single-product div.product .woocommerce-tabs .wc-tab p {
    margin: 0 0 12px !important;
    color: #323232 !important;
}

/* ─── ТАБЛИЦА ХАРАКТЕРИСТИК (Доп. информация) ─── */
body.single-product .woocommerce-product-attributes,
body.single-product table.shop_attributes {
    width: 100% !important;
    border: 1px solid #ECF0F0 !important;
    border-radius: 6px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    background: #fff !important;
}
body.single-product .woocommerce-product-attributes tbody,
body.single-product table.shop_attributes tbody { border: 0 !important; }
body.single-product .woocommerce-product-attributes tr,
body.single-product table.shop_attributes tr { border: 0 !important; }
body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes td,
body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td {
    padding: 14px 20px !important;
    border: 0 !important;
    border-top: 1px solid #ECF0F0 !important;
    font-size: 14px !important;
    text-align: left !important;
    line-height: 1.5 !important;
    font-style: normal !important;
    vertical-align: middle !important;
}
body.single-product .woocommerce-product-attributes tr:first-child th,
body.single-product .woocommerce-product-attributes tr:first-child td,
body.single-product table.shop_attributes tr:first-child th,
body.single-product table.shop_attributes tr:first-child td {
    border-top: 0 !important;
}
body.single-product .woocommerce-product-attributes th,
body.single-product table.shop_attributes th {
    background: #F7F7F7 !important;
    color: #323232 !important;
    font-weight: 600 !important;
    font-family: 'Onest', sans-serif !important;
    width: 38% !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
body.single-product .woocommerce-product-attributes td,
body.single-product table.shop_attributes td {
    background: #fff !important;
    color: #323232 !important;
    font-weight: 400 !important;
}
body.single-product .woocommerce-product-attributes td p,
body.single-product table.shop_attributes td p { margin: 0 !important; }
body.single-product .woocommerce-product-attributes td a,
body.single-product table.shop_attributes td a {
    color: #D41111 !important;
    text-decoration: none !important;
}
body.single-product .woocommerce-product-attributes td a:hover,
body.single-product table.shop_attributes td a:hover { text-decoration: underline !important; }

/* ─── RELATED / UPSELLS ─── */
body.single-product .related,
body.single-product .upsells {
    grid-column: 1 / -1 !important;
    margin-top: 56px !important;
}
body.single-product .related > h2,
body.single-product .upsells > h2 {
    font-family: 'Oswald', sans-serif !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    color: #323232 !important;
    margin: 0 0 20px !important;
    text-transform: uppercase !important;
}

/* ─── АДАПТИВ ─── */
@media (max-width: 768px) {
    body.single-product div.product {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    body.single-product div.product .product_title { font-size: 24px !important; }
    body.single-product div.product p.price,
    body.single-product div.product .summary > .price,
    body.single-product div.product span.price { font-size: 22px !important; }
    body.single-product .gm-single-contact-btn {
        width: 100% !important;
        height: 50px !important;
        font-size: 14px !important;
    }
    body.single-product .gm-single-cta-wrap { padding-top: 16px !important; }

    body.single-product div.product .woocommerce-tabs ul.tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
    }
    body.single-product div.product .woocommerce-tabs ul.tabs li a {
        padding: 14px 18px !important;
        white-space: nowrap !important;
    }
    body.single-product div.product .woocommerce-tabs .panel,
    body.single-product div.product .woocommerce-tabs .wc-tab {
        padding: 20px 18px !important;
    }
    body.single-product .woocommerce-product-attributes th,
    body.single-product table.shop_attributes th { width: 45% !important; padding: 12px 14px !important; }
    body.single-product .woocommerce-product-attributes td,
    body.single-product table.shop_attributes td { padding: 12px 14px !important; }
}

/* ==========================================================================
   THANK YOU
   ========================================================================== */
.woocommerce-order-received .woocommerce .woocommerce-notice {
    background: #fff; border: 1px solid var(--wc-grey-2);
    border-left: 4px solid #2BB673; border-radius: var(--wc-radius);
    padding: 24px; font-size: 16px; color: var(--wc-dark); margin-bottom: 24px;
}
.woocommerce-order-received .woocommerce .woocommerce-order-overview {
    list-style: none; margin: 0 0 32px; padding: 24px;
    background: var(--wc-grey); border-radius: var(--wc-radius);
    display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px;
}
.woocommerce-order-received .woocommerce .woocommerce-order-overview li {
    border: 0; padding: 0; font-size: 13px; color: var(--wc-grey-3);
    text-transform: uppercase; letter-spacing: 0.3px;
}
.woocommerce-order-received .woocommerce .woocommerce-order-overview li strong {
    display: block; margin-top: 4px; font-size: 16px; color: var(--wc-dark);
    text-transform: none; letter-spacing: 0; font-weight: 600;
}
.woocommerce-order-received .woocommerce h2 {
    font-family: var(--wc-fh); font-size: 22px; font-weight: 600;
    color: var(--wc-dark); margin: 32px 0 14px; text-transform: uppercase;
}
.woocommerce-order-received .woocommerce-customer-details address {
    background: #fff; border: 1px solid var(--wc-grey-2); border-radius: var(--wc-radius);
    padding: 18px 20px; font-style: normal; font-size: 14px; line-height: 1.7; color: var(--wc-dark);
}

/* ==========================================================================
   МОЙ АККАУНТ
   ========================================================================== */
.woocommerce-account .woocommerce { display: flex; gap: 32px; align-items: start; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { flex: 1 0 100%; }

.woocommerce-account .woocommerce-MyAccount-navigation { width: 240px; float: none; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none; margin: 0; padding: 0;
    background: #fff; border: 1px solid var(--wc-grey-2); border-radius: var(--wc-radius); overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0; padding: 0; border-top: 1px solid var(--wc-grey-2);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:first-child { border-top: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block; padding: 14px 18px; color: var(--wc-dark); text-decoration: none;
    font-size: 14px; font-weight: 500; transition: background 0.2s, color 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--wc-grey); color: var(--wc-red); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--wc-red); color: #fff; }

.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    background: #fff; border: 1px solid var(--wc-grey-2); border-radius: var(--wc-radius); padding: 28px;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    font-family: var(--wc-fh); font-size: 22px; font-weight: 600;
    color: var(--wc-dark); margin: 0 0 14px; text-transform: uppercase;
}
.woocommerce-account .woocommerce-MyAccount-content p { color: var(--wc-grey-3); font-size: 14px; line-height: 1.7; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: var(--wc-red); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { text-decoration: underline; }

/* Login / Register */
body.woocommerce-account:not(.logged-in) .woocommerce {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px;
}
body.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
    margin: 0; background: #fff; border: 1px solid var(--wc-grey-2);
    border-radius: var(--wc-radius); padding: 24px;
}
.woocommerce-account .woocommerce form.login h2,
.woocommerce-account .woocommerce form.register h2 {
    margin-top: 0; font-family: var(--wc-fh); font-size: 22px; font-weight: 600;
    text-transform: uppercase; color: var(--wc-dark);
}

/* Адреса */
.woocommerce-account .woocommerce .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-account .addresses .title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.woocommerce-account .addresses .title h3 { margin: 0; }
.woocommerce-account .addresses address {
    background: var(--wc-grey); border-radius: var(--wc-radius);
    padding: 18px; font-style: normal; font-size: 14px; line-height: 1.7; color: var(--wc-dark);
}

/* ==========================================================================
   АДАПТИВ
   ========================================================================== */
@media (max-width: 1024px) {
    .woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
    .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
    .woocommerce-account .woocommerce { flex-direction: column; }
    .woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; }
}

@media (max-width: 768px) {
    body.woocommerce-account:not(.logged-in) .woocommerce { grid-template-columns: 1fr; }
    .woocommerce-account .woocommerce .col2-set { grid-template-columns: 1fr; }

    .woocommerce-cart .woocommerce table.shop_table thead { display: none; }
    .woocommerce-cart .woocommerce table.shop_table tbody tr {
        display: block; border-bottom: 1px solid var(--wc-grey-2); padding: 12px 0;
    }
    .woocommerce-cart .woocommerce table.shop_table tbody tr:last-child { border-bottom: 0; }
    .woocommerce-cart .woocommerce table.shop_table tbody td {
        display: flex; justify-content: space-between; align-items: center;
        padding: 8px 16px; border: 0; text-align: right;
    }
    .woocommerce-cart .woocommerce table.shop_table tbody td::before {
        content: attr(data-title);
        font-weight: 600; font-size: 12px; text-transform: uppercase;
        color: var(--wc-grey-3); letter-spacing: 0.3px; margin-right: 12px;
    }
    .woocommerce-cart .woocommerce table.shop_table .product-thumbnail { justify-content: flex-start; }
    .woocommerce-cart .woocommerce table.shop_table .product-thumbnail img { width: 60px; }
    .woocommerce-cart .woocommerce table.cart td.actions { padding: 12px; }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon { width: 100%; }
    .woocommerce-cart .woocommerce table.cart td.actions .coupon input { flex: 1; width: auto; }
}
