/* Prevent any horizontal screen shifting/sliding on toast popups or validation errors */
html,
body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* ================================================================
   PAGE TRANSITIONS & UNIFIED AMBIENT GLOW
   ================================================================ */
@view-transition {
    navigation: auto;
}

/* Isolate fixed navbars from View Transition so they stay perfectly sticky.
   The fixed-top class has been moved to a wrapper in custom-navbar.php 
   to prevent Chromium bugs with fixed positioning and view-transition-name. */
.navbar-desktop {
    view-transition-name: site-header-desktop;
}

.navbar-mobile {
    view-transition-name: site-header-mobile;
}

/* Unified Global Ambient Background (hardware accelerated) */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background:
        radial-gradient(circle at 80% 25%, rgba(227, 164, 85, 0.06) 0%, transparent 25%),
        radial-gradient(circle at 15% 55%, rgba(227, 164, 85, 0.04) 0%, transparent 20%),
        radial-gradient(circle at 75% 85%, rgba(227, 164, 85, 0.05) 0%, transparent 25%),
        radial-gradient(circle at 50% 10%, rgba(227, 164, 85, 0.03) 0%, transparent 20%),
        radial-gradient(circle at 95% 50%, rgba(227, 164, 85, 0.04) 0%, transparent 20%),
        radial-gradient(circle at 30% 90%, rgba(227, 164, 85, 0.05) 0%, transparent 20%);
    pointer-events: none;
    z-index: -2;
    transform: translateZ(0);
    will-change: transform;
    view-transition-name: site-bg;
}

/* ================================================================
   LENIS SMOOTH SCROLL — Required classes (moved from inline PHP echo)
   ================================================================ */
html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

/* ================================================================
   .m-glass-select — Delivery selector (single product page)
   Styles moved from inline style="" in functions.php
   ================================================================ */
.m-glass-select {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    padding: 10px 15px !important;
    cursor: pointer;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

.m-glass-select:focus {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(229, 168, 89, 0.5) !important;
    box-shadow: 0 0 0 3px rgba(229, 168, 89, 0.15);
    outline: none;
    color: #fff !important;
}

.m-glass-select option {
    background-color: #1a1a1a;
    color: #000;
}

/* Shortcode slider styles */
.m-shortcode-slider {
    margin-bottom: 30px;
    padding: 0 40px;
}

.custom-arrow {
    position: absolute;
    top: 50%;
    bottom: unset;
    transform: translateY(-50%);
    z-index: 10;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    line-height: 1;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.02) 100%);
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.custom-arrow svg {
    width: 24px;
    height: 24px;
    color: white;
    opacity: 0.8;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.custom-arrow:hover {
    background: linear-gradient(135deg, rgba(227, 164, 85, 0.25) 0%, rgba(227, 164, 85, 0.05) 100%);
    border-color: rgba(227, 164, 85, 0.4);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 15px rgba(227, 164, 85, 0.2);
}

.custom-arrow:hover svg {
    opacity: 1;
    transform: scale(1.1);
}

.slick-prev {
    left: 0;
}

.slick-next {
    right: 0;
}

.slick-prev:before,
.slick-next:before {
    display: none;
}

.m-shortcode-slider .card {
    --bs-card-border-radius: var(--bs-border-radius-xl);
    --bs-card-inner-border-radius: calc(var(--bs-border-radius-xl) - 1px);
}

.m-shortcode-slider:not(.slick-initialized) {
    display: flex;
    overflow-x: scroll;
}

.m-shortcode-slider:not(.slick-initialized) .m-shortcode-slide-item {
    width: calc(100%/1);
    flex-shrink: 0;
    flex-grow: 0;
}

@media (min-width: 576px) {
    .m-shortcode-slider:not(.slick-initialized) .m-shortcode-slide-item {
        width: calc(100%/2);
    }

    .m-shortcode-slider:not(.slick-initialized)::-webkit-scrollbar {
        display: none;
    }

    .m-shortcode-slider:not(.slick-initialized) {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
}

@media (min-width: 768px) {
    .m-shortcode-slider:not(.slick-initialized) .m-shortcode-slide-item {
        width: calc(100%/2);
    }
}

@media (min-width: 992px) {
    .m-shortcode-slider:not(.slick-initialized) .m-shortcode-slide-item {
        width: calc(100%/3);
    }
}

@media (min-width: 1200px) {
    .m-shortcode-slider:not(.slick-initialized) .m-shortcode-slide-item {
        width: calc(100%/3);
    }
}

/* Liquid Consult Widget & Modal Styles */
.liquid-consult-widget {
    position: fixed;
    bottom: 100px;
    right: 20px;
    z-index: 999999;
    width: 360px;
    max-width: calc(100vw - 40px);

    /* Dark Liquid Glass Aesthetic */
    background: rgba(20, 20, 20, 0.65);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), inset 0 0 15px rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 35px 25px 25px 25px;
    text-align: center;
    color: #fff;

    /* Animation */
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(0.95);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.liquid-consult-widget.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.liquid-widget-close {
    position: absolute;
    top: 12px;
    right: 15px;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.4);
    font-size: 24px;
    cursor: pointer;
    transition: color 0.3s ease;
    line-height: 1;
    padding: 0;
}

.liquid-widget-close:hover {
    color: #fff;
}

.liquid-consult-widget h3 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #fff;
    line-height: 1.2;
    font-family: var(--bs-font-sans-serif, sans-serif);
}

.liquid-consult-widget p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 25px;
    line-height: 1.5;
}

.liquid-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 14px;
    border-radius: 100px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 10px;
    transition: all 0.3s ease;
    gap: 10px;
}

.liquid-btn:last-child {
    margin-bottom: 0;
}

/* Telegram: Deep blue liquid */
.btn-tg {
    background: rgba(42, 171, 238, 0.15);
    color: #fff;
    border: 1px solid rgba(42, 171, 238, 0.4);
}

.btn-tg:hover {
    background: rgba(42, 171, 238, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(42, 171, 238, 0.2);
    color: #fff;
}

/* Viber: Deep purple liquid */
.btn-vb {
    background: rgba(115, 96, 242, 0.15);
    color: #fff;
    border: 1px solid rgba(115, 96, 242, 0.4);
}

.btn-vb:hover {
    background: rgba(115, 96, 242, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(115, 96, 242, 0.2);
    color: #fff;
}

.popup-subtext {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 12px;
    text-align: center;
}

@media (max-width: 576px) {
    .liquid-consult-widget {
        bottom: 90px;
        left: 50%;
        right: auto;
        transform: translate(-50%, 20px) scale(0.95);
        width: calc(100vw - 30px);
        max-width: 100%;
    }

    .liquid-consult-widget.active {
        transform: translate(-50%, 0) scale(1);
    }
}

.btn-white-glass {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 100px;
    padding: 12px 20px;
    font-weight: 500;
    font-size: 14px;
    transition: all 0.3s;
    cursor: pointer;
    font-family: var(--bs-font-sans-serif, sans-serif);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-white-glass:hover {
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 5px 15px rgba(255, 255, 255, 0.1);
}

.btn-blue-glass {
    background: rgba(107, 138, 253, 0.15);
    color: #fff;
    border: 1px solid rgba(107, 138, 253, 0.4);
    border-radius: 100px;
    padding: 12px 20px;
    font-weight: 500;
    font-size: 14px;
    transition: all 0.3s;
    cursor: pointer;
    font-family: var(--bs-font-sans-serif, sans-serif);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-blue-glass:hover {
    background: rgba(107, 138, 253, 0.3);
    box-shadow: 0 5px 15px rgba(107, 138, 253, 0.2);
}

/* Modal Styles (Liquid Glass — Premium) */
.liquid-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    height: 100vh; /* fallback */
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s;
}

.liquid-popup-overlay.active {
    opacity: 1;
    visibility: visible;
}

.liquid-modal-content {
    background: rgba(14, 14, 18, 0.82);
    backdrop-filter: blur(32px) saturate(180%);
    -webkit-backdrop-filter: blur(32px) saturate(180%);
    border: 1px solid rgba(229, 168, 89, 0.22);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.04),
        0 30px 60px rgba(0, 0, 0, 0.6),
        inset 0 0 20px rgba(229, 168, 89, 0.04);
    border-radius: 24px;
    padding: 36px 32px 32px;
    width: 90%;
    max-width: 420px;
    color: #fff;
    position: relative;
    transform: translateY(24px) scale(0.97);
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
    text-align: left;
    font-family: "Outfit", sans-serif;
}

.liquid-popup-overlay.active .liquid-modal-content {
    transform: translateY(0) scale(1);
}

.modal-close-cross {
    position: absolute;
    top: 16px;
    right: 20px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 18px;
    cursor: pointer;
    font-weight: 300;
    line-height: 1;
    transition: background 0.2s, color 0.2s;
}

.modal-close-cross:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.liquid-modal-content h3 {
    font-size: 1.35rem;
    font-weight: 600;
    margin-bottom: 6px;
    color: #fff;
    text-align: center;
    font-family: "Outfit", sans-serif;
    letter-spacing: -0.01em;
}

/* Gold accent line under title */
.liquid-modal-content h3::after {
    content: '';
    display: block;
    width: 40px;
    height: 2px;
    background: linear-gradient(90deg, rgba(229, 168, 89, 0.8), rgba(229, 168, 89, 0.2));
    border-radius: 2px;
    margin: 10px auto 18px;
}

.liquid-form .form-group {
    margin-bottom: 13px;
}

.liquid-form label {
    display: block;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 7px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.liquid-form input[type="text"],
.liquid-form input[type="tel"],
.liquid-form input[type="email"],
.liquid-form textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    color: #fff;
    font-family: "Outfit", sans-serif;
}

.liquid-form input::placeholder,
.liquid-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.25);
}

.liquid-form input:focus,
.liquid-form textarea:focus {
    border-color: rgba(229, 168, 89, 0.7);
    background: rgba(255, 255, 255, 0.07);
    box-shadow: 0 0 0 3px rgba(229, 168, 89, 0.1);
}

.liquid-form .radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 13px;
}

.liquid-form .radio-label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.87rem;
    padding: 12px 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.04);
    transition: border-color 0.2s, background 0.2s, color 0.2s;
    font-family: "Outfit", sans-serif;
}

.liquid-form .radio-label:hover,
.liquid-form input[type="radio"]:checked+.radio-label {
    border-color: rgba(229, 168, 89, 0.5);
    background: rgba(229, 168, 89, 0.06);
    color: #fff;
}

.liquid-form input[type="radio"] {
    width: 16px;
    height: 16px;
    accent-color: rgba(229, 168, 89, 0.9);
    flex-shrink: 0;
}

.modal-submit-btn {
    background: linear-gradient(135deg, rgba(229, 168, 89, 0.18), rgba(229, 168, 89, 0.08));
    color: #fff;
    border: 1px solid rgba(229, 168, 89, 0.45);
    border-radius: 100px;
    padding: 14px;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    transition: background 0.25s, box-shadow 0.25s, border-color 0.25s;
    cursor: pointer;
    width: 100%;
    margin-top: 16px;
    font-family: "Outfit", sans-serif;
}

.modal-submit-btn:hover {
    background: linear-gradient(135deg, rgba(229, 168, 89, 0.28), rgba(229, 168, 89, 0.14));
    border-color: rgba(229, 168, 89, 0.7);
    box-shadow: 0 0 24px rgba(229, 168, 89, 0.2);
}

/* ════════════════════════════════════════════════
   LIQUID GLASS CATALOG + BREADCRUMBS
   ════════════════════════════════════════════════ */

/* View Transitions */
@view-transition {
    navigation: auto;
}

/* Smooth fade for the rest of the page */
::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: 0.35s;
}

/* Accordion */
#site-menu-category-accordion .accordion-button {
    width: initial;
    border-top-left-radius: 0;
}

#site-menu-category-accordion .accordion-button:not(:focus) {
    box-shadow: none;
}

#site-menu-category-accordion .m-accordion-link {
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
}

/* Lead Form */
.col-lead-img .col-content {
    min-height: 28rem;
}

@media (min-width: 768px) {
    .col-lead-img .col-content {
        min-height: 32rem;
    }
}

/* ── Взаимствуем фон с главной (амбиентное свечение) ── */
body.archive.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.single-product {
    background-color: var(--bs-dark) !important;
    background-image: none !important;
}

/* Moved background to global body::before */

/* ── Скрываем стандартный заголовок WooCommerce ── */
.m-product-archive .woocommerce-products-header,
.woocommerce-products-header__title,
.woocommerce-archive-description {
    display: none !important;
}

/* ── Убираем дублирующиеся нативные крошки ── */
.woocommerce-breadcrumb {
    display: none !important;
}

/* ════════ BREADCRUMB — LIQUID GLASS PILL ════════ */
.mgcat-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-bottom: 0.4rem;
    padding: 0.35rem 0.8rem;
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.08);
    /* backdrop-filter: blur(18px) saturate(130%); - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(18px) saturate(130%); - Disabled for Chrome Perf */
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-top: 1px solid rgba(255, 255, 255, 0.20);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    width: fit-content;
    max-width: 100%;
}

.mgcat-bc-item {
    font-family: "Outfit", sans-serif;
    font-size: 0.82rem;
    font-weight: 300;
    letter-spacing: 0.15px;
    text-decoration: none !important;
    transition: color 0.2s ease;
    white-space: nowrap;
}

a.mgcat-bc-item {
    color: rgba(255, 255, 255, 0.5) !important;
}

a.mgcat-bc-item:hover {
    color: rgba(255, 255, 255, 0.9) !important;
}

.mgcat-bc-item.current {
    color: rgba(255, 255, 255, 0.85);
}

.mgcat-bc-sep {
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.22);
    margin: 0 0.05rem;
    flex-shrink: 0;
}

/* ════════ CATALOG HEADER ════════ */
.mgcat-header {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0 0 0.3rem;
}

/* Title row */
.mgcat-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.mgcat-title-wrap {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    flex-wrap: wrap;
}

/* ── Белый заголовок (Bona Nova, как на главной) ── */
.mgcat-title {
    font-family: "Bona Nova", serif;
    font-size: clamp(1.65rem, 3.5vw, 2.4rem);
    font-weight: 400;
    line-height: 1.1;
    margin: 0;
    color: #ffffff;
    letter-spacing: -0.01em;
}

.mgcat-count {
    font-family: "Outfit", sans-serif;
    font-size: 0.85rem;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.35);
    white-space: nowrap;
}

/* ════════ SORT PILL (Liquid Glass, как navbar) ════════ */
.mgcat-sort-pill .woocommerce-ordering {
    margin: 0;
}

.mgcat-sort-pill select.orderby {
    appearance: none !important;
    -webkit-appearance: none !important;
    /* Glass background + arrow */
    background-color: rgba(255, 255, 255, 0.07) !important;
    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=\\'rgba(255,255,255,0.5)\\' stroke-width=\\'2\\' stroke-linecap=\\'round\\' stroke-linejoin=\\'round\\'%3E%3Cpolyline points=\\'6 9 12 15 18 9\\'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.9rem center !important;
    background-size: 0.9rem !important;
    /* backdrop-filter: blur(20px) saturate(120%) !important; - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(20px) saturate(120%) !important; - Disabled for Chrome Perf */
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: rgba(255, 255, 255, 0.80) !important;
    padding: 0.4rem 2.2rem 0.4rem 0.9rem !important;
    border-radius: 50px !important;
    font-family: "Outfit", sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 300 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    min-width: 150px;
}

.mgcat-sort-pill select.orderby:hover,
.mgcat-sort-pill select.orderby:focus {
    border-color: rgba(255, 255, 255, 0.28) !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.07), 0 4px 18px rgba(0, 0, 0, 0.22) !important;
    outline: none !important;
    color: #fff !important;
}

.mgcat-sort-pill select.orderby option {
    background: #1a1a1a !important;
    color: #fff !important;
}

/* ════════ CATEGORY CHIPS & FILTERS ROW ════════ */
.mgcat-filters-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.mgcat-filters-row .mgcat-chips-track {
    flex: 1;
    min-width: 0;
}

.mgcat-chips-track {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    overflow-x: auto;
    padding: 0.1rem 0 0.3rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

.mgcat-chips-track::-webkit-scrollbar {
    display: none;
}

/* Chip base — тонкий glassmorphism, точно как nav-badges на главной */
.mgcat-chip {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 0.42rem 1.05rem;
    border-radius: 50px;
    font-family: "Outfit", sans-serif;
    font-size: 0.86rem;
    font-weight: 300;
    letter-spacing: 0.1px;
    text-decoration: none !important;
    color: rgba(255, 255, 255, 0.60) !important;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.09);
    /* backdrop-filter: blur(14px); - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(14px); - Disabled for Chrome Perf */
    transition: background 0.24s ease, border-color 0.24s ease, color 0.24s ease, transform 0.24s ease, box-shadow 0.24s ease;
}

.mgcat-chip:hover {
    color: rgba(255, 255, 255, 0.92) !important;
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.22);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.20);
}

/* Активный chip — чистый белый glassmorphism */
.mgcat-chip.is-active {
    color: rgba(255, 255, 255, 0.95) !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.30) !important;
    border-top-color: rgba(255, 255, 255, 0.45) !important;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.14);
    font-weight: 400;
}

/* ════════ GRID ════════ */
.mgcat-products-grid {
    padding-top: 0 !important;
    row-gap: 16px !important;
}

/* 4 колонки xl */
@media (min-width: 1200px) {

    .mgcat-products-grid>li.product,
    .mgcat-products-grid>.m-products-item {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

/* ════════ RESPONSIVE ════════ */
@media (max-width: 991px) {
    .mgcat-title {
        font-size: clamp(1.4rem, 5vw, 2rem);
    }
}

@media (max-width: 767px) {
    .mgcat-breadcrumb {
        padding: 0.45rem 0.9rem;
    }

    .mgcat-bc-item {
        font-size: 0.78rem;
    }

    .mgcat-sort-pill select.orderby {
        font-size: 0.82rem !important;
        padding: 0.48rem 2.1rem 0.48rem 0.9rem !important;
        min-width: 130px;
    }

    .mgcat-chip {
        font-size: 0.8rem;
        padding: 0.36rem 0.82rem;
    }
}

/* Spacing fix */
.m-product-archive .products.row {
    margin-top: 0 !important;
}

/* Single product breadcrumb wrapper */
.mgcat-bc-single-wrap {
    padding-top: 1rem;
    padding-bottom: 1.5rem;
    margin-top: 0;
}

/* ── Отменяем горизонтальную карусель на мобильных для каталога ── */
@media (max-width: 767px) {

    .m-product-archive .products.row,
    .m-product-archive ul.products {
        flex-wrap: wrap !important;
        overflow-x: visible !important;
        overflow-y: visible !important;
        scroll-snap-type: none !important;
        margin-left: -0.5rem !important;
        margin-right: -0.5rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        row-gap: 16px !important;
        column-gap: 0 !important;
    }

    .m-product-archive .products.row>*,
    .m-product-archive ul.products>li.product {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        scroll-snap-align: none !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .m-product-archive .products.row>* .price {
        text-align: center !important;
        justify-content: center !important;
        display: flex !important;
        width: 100% !important;
    }

    .mgcat-top-bar-mobile {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 0.5rem !important;
        flex-wrap: nowrap !important;
        gap: 0.5rem;
    }

    .mgcat-top-bar-mobile .mgcat-breadcrumb {
        margin-bottom: 0 !important;
    }

    .mgcat-top-bar-mobile .mgcat-sort-pill {
        flex-shrink: 0;
    }

    .mgcat-top-bar-mobile .woocommerce-ordering {
        margin: 0 !important;
    }
}

@media (min-width: 768px) {
    .mgcat-top-bar-mobile {
        display: block;
    }
}

/* ==========================================================================
   DELIVERY & PAYMENT PAGE (Liquid Glass)
   ========================================================================== */

/* Premium "Liquid Glass" Styles + Catalog Vibe Tags Concept */
.delivery-page-container {
    padding: 80px 20px;
    max-width: 1000px;
    margin: 0 auto;
    color: #fff;
    font-family: 'Inter', 'Outfit', sans-serif;
    position: relative;
    z-index: 1;
}

/* Background Ambient Glow moved to unified body::before */

.delivery-header {
    margin-bottom: 60px;
    animation: fadeDown 0.8s ease-out;
}

.delivery-header h1 {
    font-size: 3.2rem;
    font-weight: 500;
    margin-bottom: 24px;
    color: #ffffff;
    letter-spacing: -0.02em;
    font-family: 'Bona Nova', serif;
}

.delivery-header p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.7);
    max-width: 750px;
    line-height: 1.6;
}

.delivery-sections {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* True Liquid Glass Card */
.delivery-section {
    background: rgba(15, 10, 5, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 24px;
    padding: 48px;
    /* backdrop-filter: blur(20px) saturate(120%); - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(20px) saturate(120%); - Disabled for Chrome Perf */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
    animation: fadeUp 0.8s ease-out backwards;
    contain: paint layout;
}

.delivery-section:nth-child(1) {
    animation-delay: 0.1s;
}

.delivery-section:nth-child(2) {
    animation-delay: 0.2s;
}

.delivery-section:nth-child(3) {
    animation-delay: 0.3s;
}

/* Watermark */
.delivery-watermark {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 180px;
    height: 180px;
    opacity: 0.03;
    pointer-events: none;
    color: #ffffff;
    transform: rotate(15deg);
}

.section-title-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    position: relative;
    z-index: 2;
}

/* Emblem Vibe Tag Style from Catalog */
.section-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

.section-icon-circle {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border-radius: 50% !important;
    aspect-ratio: 1 / 1 !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(229, 168, 89, 0.35) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #E5A859 !important;
    flex-shrink: 0 !important;
}

.section-icon-circle svg {
    width: 22px !important;
    height: 22px !important;
    stroke: #E5A859 !important;
    color: #E5A859 !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.section-title-wrap h2 {
    font-size: 2rem;
    font-weight: 400;
    margin: 0;
    color: #ffffff;
    letter-spacing: -0.01em;
    font-family: 'Bona Nova', serif;
}

.section-description {
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 32px;
    font-size: 1.05rem;
    line-height: 1.6;
    position: relative;
    z-index: 2;
}

.icon-list {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 2;
}

.icon-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    line-height: 1.6;
}

.icon-list li:last-child {
    margin-bottom: 0;
}

.list-icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    border-radius: 50% !important;
    aspect-ratio: 1 / 1 !important;
    background: rgba(229, 168, 89, 0.1) !important;
    border: 1px solid rgba(229, 168, 89, 0.25) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #E5A859 !important;
    flex-shrink: 0 !important;
    margin-top: 3px !important;
}

.list-icon svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #E5A859 !important;
    color: #E5A859 !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.icon-list li strong {
    color: #ffffff;
    font-weight: 500;
}

/* Service Grid Specifics */
.service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
    position: relative;
    z-index: 2;
}

.service-card {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 32px 24px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(227, 164, 85, 0.3);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.service-number {
    font-size: 2.2rem;
    color: #E3A455;
    font-weight: 300;
    margin-bottom: 12px;
    font-family: 'Outfit', sans-serif;
    line-height: 1;
}

.service-card h3 {
    font-size: 1.1rem;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 12px;
    line-height: 1.4;
}

.service-card p {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0;
}

/* ============================================================
   Legal Pages — shared semantic classes
   Used by: page-privacy-policy.php, page-returns.php, page-oferta.php
   ============================================================ */

/* .legal-page-container — page-level modifier for legal pages (no extra styles needed) */

/* H1 heading on legal pages — replaces all inline style="" on <h1> */
.legal-page-title {
    font-family: 'Bona Nova', serif;
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 500;
    margin: 0;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1.15;
}

/* Lead paragraph in the page header */
.legal-page-lead {
    margin-top: 16px;
}

/* Gold-tinted hyperlinks inside legal content — replaces style="color:#E3A455;text-decoration:none;" */
.legal-link {
    color: #E3A455;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.legal-link:hover,
.legal-link:focus-visible {
    border-bottom-color: #E3A455;
    outline: none;
}

/* Small note paragraph below lists — replaces inline style on <p> */
.legal-note {
    margin-top: 24px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
    line-height: 1.7;
}

/* Requisites box in the oferta page — replaces inline style on <p> */
.legal-requisites-box {
    margin-top: 28px;
    padding: 20px 24px;
    background: rgba(227, 164, 85, 0.06);
    border: 1px solid rgba(227, 164, 85, 0.15);
    border-radius: 14px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    line-height: 1.7;
}

.legal-requisites-label {
    color: #E3A455;
    display: block;
    margin-bottom: 4px;
}

/* service-number symbol variant (✦ instead of 01/02/03) */
.service-number--symbol {
    font-size: 1.4rem;
    line-height: 1;
}

/* Footer Section */
.legal-page-container .delivery-footer {
    margin-top: 40px;
    /* slightly tighter than delivery page */
}

/* Footer Section */

.delivery-footer {
    margin-top: 80px;
    text-align: center;
    padding: 60px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    animation: fadeUp 0.8s ease-out 0.4s backwards;
}

.delivery-footer h3 {
    font-size: 1.8rem;
    margin-bottom: 16px;
    color: #ffffff;
    font-weight: 500;
    font-family: 'Bona Nova', serif;
}

.delivery-footer p {
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 32px;
    line-height: 1.6;
    font-size: 1.05rem;
}

/* Exact button style from the homepage hero section */
.hero-glass-btn-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0.9rem 2.4rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.08) 100%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-top: 1px solid rgba(255, 255, 255, 0.45);
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    color: #ffffff;
    /* backdrop-filter: blur(30px) saturate(120%) brightness(1.1); - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(30px) saturate(120%) brightness(1.1); - Disabled for Chrome Perf */
    border-radius: 100px;
    text-transform: uppercase;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-decoration: none;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.hero-glass-btn-phone:hover {
    background: linear-gradient(135deg, rgba(229, 168, 89, 0.35) 0%, rgba(229, 168, 89, 0.08) 100%);
    border-color: rgba(229, 168, 89, 0.5);
    border-top-color: rgba(229, 168, 89, 0.8);
    color: #ffffff;
    box-shadow: 0 15px 45px rgba(229, 168, 89, 0.3),
        0 0 20px rgba(229, 168, 89, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transform: translateY(-2px);
}

.hero-glass-btn-phone svg {
    color: #ffffff;
    transition: color 0.3s;
}

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .delivery-page-container {
        padding: 40px 16px;
    }

    .delivery-section {
        padding: 32px 20px;
    }

    .delivery-header h1 {
        font-size: 2.4rem;
    }

    .section-title-wrap h2 {
        font-size: 1.5rem;
    }

    .service-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .delivery-watermark {
        width: 120px;
        height: 120px;
        right: -10px;
        top: -10px;
    }

    .delivery-footer {
        padding: 40px 16px;
        margin-top: 40px;
    }
}

/* ==========================================================================
   SINGLE PRODUCT PAGE (Liquid Glass UI)
   ========================================================================== */

/* Product Title */
.single-product .product_title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    color: #ffffff;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

/* Price styles handled in the typography section below for higher specificity */

/* Product Gallery Wrapper */
.single-product div.product .woocommerce-product-gallery {
    background: rgba(15, 10, 5, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 24px;
    padding: 24px;
    /* backdrop-filter: blur(20px) saturate(120%); - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(20px) saturate(120%); - Disabled for Chrome Perf */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    margin-bottom: 30px;
}

.single-product div.product .woocommerce-product-gallery img {
    border-radius: 12px;
}

/* ================================================================
   PURCHASE ZONE — Liquid Glass 2026
   Using body.single-product prefix for maximum cascade priority
   without relying purely on !important chains
   ================================================================ */

/* ── Form layout ─────────────────────────────────────────────── */
body.single-product form.cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    /* reset any WC margin */
    margin-top: 0 !important;
}

/* Megastrap parent theme wraps qty and add-to-cart in this div */
body.single-product form.cart .woocommerce-simple-add-to-cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    width: auto !important;
    /* Changed from 100% to let "One click" sit next to it */
    margin: 0 !important;
    padding: 0 !important;
}



/* ── Quantity capsule ─────────────────────────────────────────── */
body.single-product .quantity,
body.single-product .lg-qty-wrap {
    all: unset !important;
    /* nuke everything WC/Bootstrap set */
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    height: 38px !important;
    padding: 3px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 100px !important;
    /* backdrop-filter: blur(14px) !important; - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(14px) !important; - Disabled for Chrome Perf */
    box-shadow: none !important;
    transition: border-color 0.3s, background 0.3s !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

body.single-product .quantity:focus-within,
body.single-product .lg-qty-wrap:focus-within {
    border-color: rgba(227, 164, 85, 0.5) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

/* ── +/- buttons ─────────────────────────────────────────────── */
body.single-product .lg-qty-btn {
    all: unset !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 100px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: background 0.2s, color 0.2s, border-color 0.2s !important;
}

body.single-product .lg-qty-btn:hover {
    background: rgba(227, 164, 85, 0.22) !important;
    border-color: rgba(227, 164, 85, 0.45) !important;
    color: #F6DBA6 !important;
}

body.single-product .lg-qty-btn svg {
    pointer-events: none;
}

/* ── Qty number input ─────────────────────────────────────────── */
body.single-product .quantity input.qty,
body.single-product .lg-qty-wrap input.qty {
    all: unset !important;
    width: 32px !important;
    text-align: center !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    cursor: text !important;
}

body.single-product .quantity input.qty::-webkit-outer-spin-button,
body.single-product .quantity input.qty::-webkit-inner-spin-button,
body.single-product .lg-qty-wrap input.qty::-webkit-outer-spin-button,
body.single-product .lg-qty-wrap input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Kill old plugin button styles (m-price-control-*) */
body.single-product .quantity button.m-price-control-minus,
body.single-product .quantity button.m-price-control-plus,
body.single-product .quantity input.m-price-control-value {
    display: none !important;
}



/* ── Premium 2026 Buttons (Hero Glass Style) ─────────────────── */
body.single-product button.single_add_to_cart_button,
body.single-product button.single_add_to_cart_button.btn.btn-primary,
body.single-product button.m-buy-now-btn {
    all: unset !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.08) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
    /* backdrop-filter: blur(20px) saturate(120%) brightness(1.1) !important; - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(20px) saturate(120%) brightness(1.1) !important; - Disabled for Chrome Perf */
    border-radius: 100px !important;
    text-transform: uppercase !important;
    font-size: 0.8rem !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

body.single-product button.single_add_to_cart_button:hover,
body.single-product button.single_add_to_cart_button.btn.btn-primary:hover,
body.single-product button.m-buy-now-btn:hover {
    background: linear-gradient(135deg, rgba(229, 168, 89, 0.35) 0%, rgba(229, 168, 89, 0.1) 100%) !important;
    border-color: rgba(229, 168, 89, 0.5) !important;
    border-top-color: rgba(229, 168, 89, 0.8) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 30px rgba(229, 168, 89, 0.3), 0 0 15px rgba(229, 168, 89, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-2px) !important;
}

/* ================================================================
   TYPOGRAPHY — 2026 Product Title & Price
   ================================================================ */
body.single-product .product_title {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin-bottom: 15px !important;
    color: #ffffff !important;
    letter-spacing: -0.5px !important;
    background: none !important;
    -webkit-text-fill-color: initial !important;
    display: block;
}

body.single-product p.price,
body.single-product span.price {
    font-family: 'Outfit', sans-serif !important;
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    width: fit-content !important;
    /* Prevents stretching to full width */
    gap: 8px !important;
    margin-bottom: 30px !important;

    /* Premium Glass Pill */
    padding: 6px 16px !important;
    background: linear-gradient(135deg, rgba(227, 164, 85, 0.12) 0%, rgba(227, 164, 85, 0.03) 100%) !important;
    border: 1px solid rgba(227, 164, 85, 0.25) !important;
    border-radius: 12px !important;
    /* backdrop-filter: blur(12px) !important; - Disabled for Chrome Perf */
    /* -webkit-backdrop-filter: blur(12px) !important; - Disabled for Chrome Perf */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    text-shadow: none !important;
}

/* Base amount styling inside the pill */
body.single-product p.price .woocommerce-Price-amount {
    font-size: 1.6rem !important;
    /* Scaled down significantly */
    font-weight: 600 !important;
    color: #F6DBA6 !important;
    /* Premium Gold */
    line-height: 1 !important;
}

/* Sale price old amount styling */
body.single-product p.price del .woocommerce-Price-amount {
    font-size: 1.1rem !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.4) !important;
    text-decoration: line-through !important;
}

/* Remove default WC ins styling */
body.single-product p.price ins {
    text-decoration: none !important;
    background: transparent !important;
}

/* Currency symbol styling */
body.single-product p.price .woocommerce-Price-currencySymbol {
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: rgba(227, 164, 85, 0.8) !important;
    margin-left: 4px !important;
}

/* ================================================================
   SHORT DESCRIPTION — collapsed with "expand" toggle
   ================================================================ */
.woocommerce-product-details__short-description {
    position: relative;
}

.woocommerce-product-details__short-description.lg-desc-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0 !important;
    min-height: 44px;
    /* Forces equal height across all cards (matches 2 lines exactly) */
    /* Pull the 'Ще...' closer */
}

a.lg-desc-toggle-link {
    display: inline-block;
    color: #E3A455;
    font-family: 'Outfit', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none !important;
    margin-top: 4px;
    margin-bottom: 15px;
    transition: color 0.2s;
}

a.lg-desc-toggle-link:hover {
    color: #F6DBA6;
    text-decoration: none !important;
}

/* ================================================================
   LAYOUT — eliminate empty space under gallery image
   ================================================================ */

/* WooCommerce adds margin-bottom to the gallery column */
body.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 0 !important;
}

/* Disable click-to-view completely (desktop and mobile) */
body.single-product div.product .woocommerce-product-gallery__image>a {
    pointer-events: none !important;
    cursor: default !important;
}

/* Tighten the gap between gallery and summary columns */
body.single-product div.product {
    row-gap: 0 !important;
    align-items: flex-start !important;
}

/* Push summary column up to align with gallery top */
body.single-product div.product .summary.entry-summary {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Glass Select (Nova Poshta) */
.m-glass-select {
    background-color: rgba(255, 255, 255, 0.08) !important;
    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='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: rgba(255, 255, 255, 0.8) !important;
    border-radius: 12px !important;
    padding: 14px 15px !important;
    font-size: 0.95rem !important;
    transition: all 0.3s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.m-glass-select:focus {
    border-color: rgba(227, 164, 85, 0.5) !important;
    box-shadow: 0 0 0 2px rgba(227, 164, 85, 0.2) !important;
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
}

.m-glass-select option {
    background-color: #1a1a1a;
    color: #fff;
}

/* Mobile responsive for purchase zone & UI */
@media (max-width: 767px) {

    /* 1. Hide Breadcrumbs & Remove Empty Space Above Gallery */
    body.single-product .mgcat-bc-single-wrap,
    body.single-product .woocommerce-breadcrumb {
        display: none !important;
    }

    body.single-product .site-content,
    body.single-product #content {
        padding-top: 0 !important;
        margin-top: -1.5rem !important;
        /* Pull up to replace breadcrumb negative margin */
    }

    body.single-product div.product {
        margin-top: 0 !important;
    }

    /* Hide empty notices wrapper */
    body.single-product .woocommerce-notices-wrapper:empty {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 2. Purchase Zone Grid Layout */
    body.single-product form.cart .woocommerce-simple-add-to-cart {
        display: grid !important;
        grid-template-columns: 130px 1fr !important;
        gap: 12px !important;
        width: 100% !important;
    }

    body.single-product .quantity,
    body.single-product .lg-qty-wrap {
        width: 100% !important;
        height: 48px !important;
        justify-content: space-between !important;
        margin: 0 !important;
    }

    body.single-product button.single_add_to_cart_button {
        width: 100% !important;
        height: 48px !important;
        margin: 0 !important;
        font-size: 0.85rem !important;
    }

    body.single-product button.m-buy-now-btn {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        height: 48px !important;
        margin: 0 !important;
        background: transparent !important;
        border: 1px solid rgba(227, 164, 85, 0.4) !important;
        color: #F6DBA6 !important;
    }

    body.single-product button.m-buy-now-btn:hover {
        background: rgba(227, 164, 85, 0.1) !important;
    }

    /* 3. Price Pill Adjustments */
    body.single-product p.price,
    body.single-product span.price {
        width: 100% !important;
        justify-content: center !important;
        padding: 12px 16px !important;
        margin-bottom: 24px !important;
        border-radius: 14px !important;
    }

    body.single-product p.price .woocommerce-Price-amount {
        font-size: 1.8rem !important;
    }

    /* 4. Benefits Row Cards */
    .m-product-benefits-row {
        gap: 12px !important;
    }

    .m-product-benefits-row>.m-benefit-item {
        background: rgba(255, 255, 255, 0.03);
        padding: 16px;
        border-radius: 12px;
        border: 1px solid rgba(255, 255, 255, 0.08);
        align-items: center !important;
    }

    .m-benefit-icon {
        margin-top: 0 !important;
    }
}

/* ================================================================
   BENEFITS & DELIVERY BLOCK (SEO & Semantics Refactoring)
   ================================================================ */
.m-benefit-title {
    font-size: 0.9rem;
}

.m-benefit-desc {
    font-size: 0.75rem;
}

.m-delivery-title,
.m-delivery-time {
    font-size: 0.9rem;
}

/* Desktop layout for product benefits */
@media (min-width: 768px) {
    .m-product-benefits-row>.m-benefit-item {
        flex: 1 1 0 !important;
    }
}


/* Variations Glass Pills */
.single-product table.variations td.value {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Custom layout for variations to look like pills */
.single-product .variations select {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
    border-radius: 100px !important;
    padding: 10px 20px !important;
    font-size: 16px !important;
    touch-action: manipulation !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
}

.single-product .variations select option {
    background-color: #16161e !important;
    color: #ffffff !important;
    font-size: 16px !important;
    padding: 8px 12px !important;
}

/* Fix Single Product Background and Text Visibility */
body.single-product .site-main,
body.single-product .site-content,
body.single-product #content,
body.single-product #primary,
body.single-product .container {
    background-color: transparent !important;
    background: transparent !important;
}

body.single-product {
    color: #fff !important;
}

body.single-product h1,
body.single-product h2,
body.single-product h3,
body.single-product h4,
body.single-product p,
body.single-product span,
body.single-product div,
body.single-product label {
    color: inherit;
}

/* Related Products & Upsells Grid Fix */
.single-product section.related.products,
.single-product section.upsells.products {
    margin-top: 80px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 60px;
    overflow: visible !important;
}

.single-product section.related.products>h2,
.single-product section.upsells.products>h2 {
    font-family: 'Bona Nova', serif;
    font-size: 2.5rem;
    color: #fff;
    margin-bottom: 40px;
    text-align: center;
}

.single-product section.related.products .products.row,
.single-product section.upsells.products .products.row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    overflow: visible !important;
}

@media (max-width: 767px) {
    .single-product section.related.products,
    .single-product section.upsells.products {
        margin-top: 40px !important;
        padding-top: 30px !important;
        overflow: visible !important;
    }

    .single-product section.related.products>h2,
    .single-product section.upsells.products>h2 {
        font-size: 1.6rem !important;
        margin-bottom: 20px !important;
        text-align: left !important;
    }

    .single-product section.related.products .products.row,
    .single-product section.upsells.products .products.row {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x mandatory !important;
        gap: 14px !important;
        padding: 12px 14px 24px 14px !important;
        margin-left: -12px !important;
        margin-right: -12px !important;
        scrollbar-width: none !important;
    }

    .single-product section.related.products .products.row::-webkit-scrollbar,
    .single-product section.upsells.products .products.row::-webkit-scrollbar {
        display: none !important;
    }

    .single-product section.related.products .m-product-loop-col,
    .single-product section.upsells.products .m-product-loop-col {
        flex: 0 0 72% !important;
        max-width: 72% !important;
        min-width: 240px !important;
        scroll-snap-align: start !important;
        margin-bottom: 0 !important;
    }
}

.single-product section.related.products .m-product-loop-col,
.single-product section.upsells.products .m-product-loop-col {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 24px !important;
}

.single-product section.related.products .m-archive-product-item,
.single-product section.upsells.products .m-archive-product-item,
.single-product section.related.products .m-ambient-wrapper,
.single-product section.upsells.products .m-ambient-wrapper {
    height: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.single-product section.related.products .m-products-loop-card.woo-glass-card,
.single-product section.upsells.products .m-products-loop-card.woo-glass-card {
    height: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

.single-product section.related.products .m-products-loop-card .card-img-top,
.single-product section.upsells.products .m-products-loop-card .card-img-top {
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 20px 20px 0 0 !important;
}

.single-product section.related.products .m-products-loop-card-body,
.single-product section.upsells.products .m-products-loop-card-body {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 0 !important;
    border-radius: 0 0 20px 20px !important;
}

.single-product section.related.products .m-product-title,
.single-product section.upsells.products .m-product-title {
    padding: 0.8rem 1.25rem 0.2rem !important;
    margin: 0 !important;
    width: 100% !important;
    min-height: 2.8rem !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.single-product section.related.products .m-product-action-wrapper,
.single-product section.upsells.products .m-product-action-wrapper {
    padding: 0.3rem 1.25rem 1.2rem !important;
    margin-top: auto !important;
    border-radius: 0 0 20px 20px !important;
}

.single-product .quantity {
    width: 100% !important;
    justify-content: space-between !important;
}

.single-product button.single_add_to_cart_button,
.btn.btn-one-click-glass {
    width: 100% !important;
}

/* ================================================================
   MOBILE BOTTOM APP NAV BAR
   ================================================================ */

/* Single source of truth for the bar height — used throughout */
:root {
    --bottom-nav-h: 60px;
}

.m-bottom-nav-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: calc(58px + env(safe-area-inset-bottom, 0px));
    min-height: 58px;
    background: rgba(15, 15, 15, 0.82);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25);
    z-index: 1030;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 6px 8px;
    padding-bottom: max(6px, env(safe-area-inset-bottom, 6px));
    box-sizing: border-box;
    transition: transform 0.35s cubic-bezier(0.32, 0, 0.15, 1), opacity 0.3s ease;
}

.m-bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.2px;
    line-height: 1.2;
    gap: 3px;
    transition: color 0.2s ease;
    flex: 1;
    height: 100%;
    min-height: 44px;
    padding: 2px 0;
}

.m-bottom-nav-item:hover,
.m-bottom-nav-item.active {
    color: #E5A859;
}

.m-bottom-nav-item svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 1.8;
    transition: stroke-width 0.2s ease;
}

.m-bottom-nav-item.active svg {
    stroke-width: 2.2;
}

.m-nav-icon-wrap {
    position: relative;
    display: inline-flex;
}

.m-nav-cart-count {
    position: absolute;
    top: -5px;
    right: -7px;
    background: #E5A859;
    color: #000;
    font-size: 0.6rem;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 20px;
    line-height: 1;
    border: 2px solid #1a1a1a;
}

/* Add padding to footer to prevent content from being hidden behind the bar on mobile */
@media (max-width: 767px) {
    footer.custom-liquid-footer {
        padding-bottom: calc(var(--bottom-nav-h) + 15px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* ================================================================
   MOBILE BOTTOM NAV VISIBILITY (managed via body classes) set via JS
   ================================================================ */
@media (max-width: 768px) {

    /* Hide when side cart drawer is open */
    body.mgsc-cart-open .m-bottom-nav-bar,
    /* Hide when hamburger offcanvas menu is open */
    body.menu-open .m-bottom-nav-bar,
    /* Hide permanently when cart has items (replaced by stretched widget) */
    body.has-cart-items .m-bottom-nav-bar {
        transform: translateY(110%);
    }
}

/* ================================================================
   MOBILE CART WIDGET: Stretched full-width
   Permanently replaces bottom nav when cart has items
   ================================================================ */
@media (max-width: 768px) {

    /* Stretch the float widget to full width when cart has items */
    body.has-cart-items .mgsc-float-widget.show-mobile {
        left: 15px !important;
        right: 15px !important;
        min-width: 0 !important;
        border-radius: 100px !important;
        /* Position near the bottom (nav bar is hidden so there's space) */
        bottom: calc(20px + env(safe-area-inset-bottom)) !important;
        transition: left 0.4s cubic-bezier(0.16, 1, 0.3, 1),
            right 0.4s cubic-bezier(0.16, 1, 0.3, 1),
            bottom 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    /* Fallback/initial state (though it's hidden when empty anyway) */
    .mgsc-float-widget.show-mobile {
        transition: left 0.4s cubic-bezier(0.16, 1, 0.3, 1),
            right 0.4s cubic-bezier(0.16, 1, 0.3, 1),
            bottom 0.4s cubic-bezier(0.16, 1, 0.3, 1),
            opacity 0.4s ease,
            visibility 0.4s ease !important;
    }
}

/* --- MOBILE POLICY MENU — 2026 Glass Grid --- */

/* Separator with label above policy block */
.mnav-policy-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 1.25rem;
    margin-bottom: 0.85rem;
}

.mnav-policy-divider::before,
.mnav-policy-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
}

.mnav-policy-divider span {
    font-size: 0.65rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.28);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Glass container wrapping the policy grid */
.mnav-policy-wrap {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 6px;
    margin-bottom: 1.25rem;
}

/* 2-column pill grid */
ul.mobile-policy-menu {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent;
    border: none;
    border-radius: 0;
    list-style: none;
}

ul.mobile-policy-menu li.menu-item {
    margin-bottom: 0 !important;
    width: 100%;
}

ul.mobile-policy-menu li.menu-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 0.78rem;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 400;
    font-family: 'Outfit', sans-serif;
    text-decoration: none;
    padding: 10px 8px;
    border-radius: 10px;
    background: transparent;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: center;
    min-height: 52px;
}

ul.mobile-policy-menu li.menu-item a:hover {
    color: rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.05);
}

ul.mobile-policy-menu li.menu-item a:active {
    transform: scale(0.94);
    color: #E3A455;
    background: rgba(227, 164, 85, 0.08);
}

/* ========================================================
   2026 MOBILE UX: GLOBAL KINETIC TACTILE FEEDBACK 
   ======================================================== */
@media (max-width: 991px) {

    /* 1. Global Kinetic Scaling for Interactive Elements */
    a.nav-link,
    .btn,
    .mnav-promo,
    .footer-link,
    .mgsc-float-widget,
    .header-mobile-button,
    .mnav-promo-snake-wrap a {
        transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), color 0.25s ease, background-color 0.25s ease !important;
        transform-origin: center;
        will-change: transform;
    }

    a.nav-link:active,
    .btn:active,
    .mnav-promo:active,
    .footer-link:active,
    .mgsc-float-widget:active,
    .header-mobile-button:active,
    .mnav-promo-snake-wrap a:active {
        transform: scale(0.96) !important;
    }

    /* 2. Gold Flash on Active for Text Links */
    a.nav-link:active,
    .footer-link:active,
    .mnav-nav-scroll .elegant-menu .nav-link:active {
        color: #E3A455 !important;
    }
}

/* ========================================================
   MAIN MOBILE MENU TYPOGRAPHY (LIQUID GLASS ELEGANCE)
   ======================================================== */
.mnav-nav-scroll .elegant-menu .nav-link {
    font-size: 1.1rem !important;
    font-family: "Outfit", sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: -0.02em !important;
    padding: 0.6rem 0 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}

/* Add a subtle glow/glass effect to the phone promo banner */
.mnav-promo-snake-wrap a {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 1rem;
    padding: 1rem;
    display: flex;
    align-items: center;
    text-decoration: none;
    margin-bottom: 1rem;
}

/* --- 2026 PERFORMANCE FIXES --- */
/* content-visibility: auto for lazy rendering of heavy below-the-fold blocks */
.site-footer,
.delivery-footer,
.m-basic-section {
    content-visibility: auto;
    contain-intrinsic-size: 1px 1000px;
}

/* ================================================================
   LIQUID GLASS COOKIE CONSENT BANNER
   ================================================================ */
.liquid-cookie-banner {
    box-sizing: border-box;
    position: fixed;
    bottom: 20px;
    left: 20px;
    transform: translateY(100px);
    width: 90%;
    max-width: 420px;
    background: rgba(20, 20, 20, 0.85);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5), inset 0 0 15px rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 20px;
    z-index: 9999999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    color: #fff;
    font-family: var(--bs-font-sans-serif, sans-serif);
}

.liquid-cookie-banner.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cookie-banner-content {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cookie-text h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #fff;
    line-height: 1.2;
}

.cookie-text p {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
    line-height: 1.5;
}

.cookie-text a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: underline;
    transition: color 0.3s;
}

.cookie-text a:hover {
    color: #fff;
}

.cookie-buttons {
    display: flex;
    gap: 10px;
    width: 100%;
}

.cookie-buttons .liquid-btn {
    flex: 1;
    white-space: nowrap;
    padding: 10px;
    font-size: 13px;
    margin: 0;
}

@media (max-width: 768px) {
    .liquid-cookie-banner {
        bottom: calc(var(--bottom-nav-h, 75px) + 15px + env(safe-area-inset-bottom, 0px));
        left: 5%;
        width: 90%;
        max-width: none;
        padding: 15px;
    }

    .cookie-buttons {
        flex-direction: column;
    }
}

/* ================================================================
   LIQUID GLASS CHECKOUT (ОФОРМЛЕННЯ)
   ================================================================ */

.woocommerce-checkout {
    margin-top: 40px;
    margin-bottom: 20px;
}

.m-checkout-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.m-checkout-left {
    flex: 1 1 62%;
    width: 62%;
}

.m-checkout-right {
    flex: 1 1 calc(38% - 40px);
    width: calc(38% - 40px);
}

@media (max-width: 991px) {
    .m-checkout-layout {
        flex-direction: column;
    }

    .m-checkout-left,
    .m-checkout-right {
        flex: 1 1 100%;
        width: 100%;
    }
}

/* Steps Styling */
.m-checkout-step {
    margin-bottom: 40px;
}

.m-step-title {
    font-size: 1.25rem;
    font-weight: 500;
    margin-bottom: 20px;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
}

.m-step-title i {
    color: rgba(255, 255, 255, 0.6);
}

/* Fix WooCommerce Default Overrides */
.m-hide-default-title h3 {
    display: none !important;
}

.woocommerce-shipping-fields,
.woocommerce-additional-fields {
    display: none !important;
}

.m-customer-details {
    display: flex;
    flex-direction: column;
}

/* Form row flex adjustments */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.woocommerce-checkout .form-row {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
}

/* Side by side inputs (First/Last name & Phone) */
.woocommerce-checkout .form-row.form-row-first,
.woocommerce-checkout .form-row.form-row-last {
    width: calc(50% - 10px) !important;
}

.woocommerce-checkout label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 400;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    background: rgba(0, 0, 0, 0.2) !important;
    color: #fff !important;
    transition: all 0.3s;
    font-size: 16px !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: rgba(223, 156, 44, 0.8) !important;
    background: rgba(0, 0, 0, 0.4) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(223, 156, 44, 0.15) !important;
}

/* ── Select2 Dropdown — Glass Theme ─────────────────────────── */
.select2-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.select2-container--default .select2-selection--single {
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 12px !important;
    height: 52px !important;
    font-size: 16px !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
}



.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: rgba(229, 168, 89, 0.7) !important;
    box-shadow: 0 0 0 3px rgba(229, 168, 89, 0.12) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: rgba(255, 255, 255, 0.9) !important;
    line-height: 50px !important;
    padding-left: 16px !important;
    font-size: 16px !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: rgba(255, 255, 255, 0.4) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px !important;
    right: 12px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: rgba(255, 255, 255, 0.45) transparent transparent transparent !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent rgba(229, 168, 89, 0.9) transparent !important;
}

/* Dropdown panel */
.select2-dropdown {
    background: rgba(18, 18, 24, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.04) !important;
    overflow: hidden;
    margin-top: 4px;
    z-index: 9999999 !important;
}

.select2-container--open {
    z-index: 9999999 !important;
}

.select2-search--dropdown {
    padding: 10px 10px 6px !important;
}

.select2-search--dropdown .select2-search__field {
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 8px !important;
    color: #fff !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
    outline: none !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    touch-action: manipulation !important;
    pointer-events: auto !important;
}

.select2-search--dropdown .select2-search__field::placeholder {
    color: rgba(255, 255, 255, 0.35) !important;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: rgba(229, 168, 89, 0.6) !important;
    box-shadow: 0 0 0 2px rgba(229, 168, 89, 0.1) !important;
}

/* Options */
.select2-results__options {
    max-height: 260px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.select2-results__option {
    color: rgba(255, 255, 255, 0.8) !important;
    font-size: 16px !important;
    padding: 12px 16px !important;
    transition: background 0.15s, color 0.15s;
    border-radius: 0;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: rgba(229, 168, 89, 0.2) !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

.select2-results__option:first-child {
    border-radius: 6px 6px 0 0;
}

.select2-results__option:last-child {
    border-radius: 0 0 6px 6px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected]:hover {
    background: rgba(229, 168, 89, 0.2) !important;
    color: #fff !important;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    background: rgba(229, 168, 89, 0.15) !important;
    color: #E5A859 !important;
}

/* Visually hide Country, Street, Postcode, Company, City, Patronymics, Courier fields */
#p_billing_country_field,
#billing_country_field,
#billing_address_1_field,
#billing_address_2_field,
#billing_postcode_field,
#billing_company_field,
#billing_city_field,
#billing_state_field,
#billing_mrkvnp_street_field,
#billing_mrkvnp_house_field,
#billing_mrkvnp_flat_field,
#billing_mrkvnp_patronymics_field,
#mrkvnp_street_field,
#mrkvnp_house_field,
#mrkvnp_flat_field,
#mrkvnp_patronymics_field,
#shipping_country_field,
#shipping_address_1_field,
#shipping_address_2_field,
#shipping_postcode_field,
#shipping_company_field,
#shipping_city_field,
#shipping_state_field,
#shipping_mrkvnp_street_field,
#shipping_mrkvnp_house_field,
#shipping_mrkvnp_flat_field,
#shipping_mrkvnp_patronymics_field,
.woocommerce-additional-fields {
    display: none !important;
}

/* Payment Methods (Cards) */
#payment {
    background: transparent !important;
    border-radius: 0 !important;
}

#payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
    margin: 0 0 8px !important;
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    list-style: none !important;
}

#payment ul.payment_methods li {
    flex: 1 1 calc(50% - 6px) !important;
    min-width: 180px !important;
    display: flex !important;
    flex-direction: column !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    padding: 8px 12px !important;
    /* Уменьшена высота карточки */
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

#payment ul.payment_methods li:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
}

#payment ul.payment_methods li:has(input:checked) {
    border-color: rgba(229, 168, 89, 0.85) !important;
    background: rgba(229, 168, 89, 0.06) !important;
    box-shadow: 0 0 24px rgba(229, 168, 89, 0.15), inset 0 0 0 1px rgba(229, 168, 89, 0.5) !important;
}

#payment ul.payment_methods input[type="radio"] {
    display: none !important;
}

/* Label — block, title text only */
#payment ul.payment_methods li label {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    text-align: center !important;
    width: 100% !important;
    line-height: 1.3 !important;
}

/* Disable all pseudo-elements on label globally */
#payment ul.payment_methods li label::before,
#payment ul.payment_methods li label::after {
    display: none !important;
}

/* COD — activate ::after for cash icon */
#payment ul.payment_methods li.payment_method_cod label::after {
    content: "\F80D" !important;
    font-family: "bootstrap-icons" !important;
    font-size: 1.25rem !important;
    color: rgba(255, 255, 255, 0.55) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 26px !important;
    margin-top: 7px !important;
    transition: color 0.2s ease !important;
    line-height: 1 !important;
}

#payment ul.payment_methods li.payment_method_cod:has(input:checked) label::after {
    color: rgba(229, 168, 89, 0.9) !important;
}

/* COD — nuke ALL broken images: target every possible nesting */
.payment_method_cod img,
#payment li.payment_method_cod img,
#payment ul.payment_methods li.payment_method_cod img,
#payment ul.payment_methods li.payment_method_cod label img {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    font-size: 0 !important;
    border: none !important;
}

/* Monobank badge list */
.mono-gateway-badge-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    height: 26px !important;
    margin: 7px 0 0 0 !important;
}

.mono-gateway-badge-list img {
    display: inline-block !important;
    height: 20px !important;
    width: auto !important;
    max-width: 56px !important;
    object-fit: contain !important;
    vertical-align: middle !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Hide plata by mono (first logo) */
.mono-gateway-badge-list img:first-child {
    display: none !important;
}

/* Apple Pay is black logo — invert to white */
.mono-gateway-badge-list img[src*="apple" i],
.mono-gateway-badge-list img[alt*="apple" i],
.mono-gateway-badge-list img:nth-child(2) {
    filter: invert(1) brightness(1.2) !important;
}

/* Description box — auto-pushes to bottom equally in both flex cards */
#payment div.payment_box {
    display: block !important;
    background: rgba(0, 0, 0, 0.28) !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius: 8px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
    margin-top: auto !important;
    padding: 5px 8px !important;
    /* Уменьшены отступы внутри блока */
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35) !important;
}

#payment div.payment_box p {
    margin: 0 !important;
    padding: 0 !important;
}

#payment div.payment_box::before {
    display: none !important;
}

#payment ul.payment_methods li.payment_method_cod div.payment_box:empty::after {
    content: "Оплата готівкою при отриманні замовлення." !important;
    display: block !important;
}



/* Hide the real place order block visually in the left column */
.m-payment-step-wrap .place-order {
    display: none !important;
}

/* ================================================================
   RIGHT COLUMN: ORDER REVIEW (DARK LIQUID GLASS)
   ================================================================ */
.m-checkout-review-card {
    background: rgba(20, 20, 20, 0.65);
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 20px;
    position: sticky;
    top: 100px;
}

.m-review-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 15px;
}

.m-review-card-header h3 {
    margin: 0;
    font-size: 1.2rem;
    color: #fff;
    font-weight: 600;
}

.m-edit-cart-link {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none;
    transition: color 0.3s;
}

.m-edit-cart-link:hover {
    color: #fff;
}

/* Order Review Table */
.woocommerce-checkout-review-order-table {
    width: 100%;
    margin-bottom: 25px;
    border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.9);
}

.woocommerce-checkout-review-order-table th {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.6);
}

.woocommerce-checkout-review-order-table thead th {
    display: none !important;
}

/* Custom Product Row styling */
.woocommerce-checkout-review-order-table .cart_item td.product-name {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    font-weight: 500;
}

.woocommerce-checkout-review-order-table .cart_item td.product-total {
    border-bottom: none !important;
    vertical-align: middle;
    text-align: right;
    font-weight: 600;
}

.woocommerce-checkout-review-order-table .cart_item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

/* Real Product Thumbnail styling */
.m-checkout-item-wrap {
    display: flex;
    align-items: flex-start;
}

.m-checkout-item-img {
    position: relative;
    width: 54px;
    height: 54px;
    margin-right: 15px;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
}

.m-checkout-item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
}

.m-qty-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: rgba(255, 255, 255, 0.9);
    color: #1a1a1a;
    font-size: 0.75rem;
    font-weight: 700;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.m-item-name {
    font-size: 0.95rem;
    font-weight: 400;
    color: #fff;
}

/* Subtotals */
.woocommerce-checkout-review-order-table .cart-subtotal {
    display: none !important;
}

.woocommerce-checkout-review-order-table .shipping th,
.woocommerce-checkout-review-order-table .order-total th {
    padding-top: 20px !important;
    padding-bottom: 15px !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-weight: 500;
    font-size: 0.9rem;
    border-bottom: none !important;
}

.woocommerce-checkout-review-order-table .shipping td,
.woocommerce-checkout-review-order-table .order-total td {
    text-align: right;
    padding-top: 20px !important;
    padding-bottom: 15px !important;
    font-size: 0.9rem;
    font-weight: 600;
    border-bottom: none !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: #fff !important;
    border-bottom: none !important;
}

/* Fake Place Order Button */
.m-fake-place-order-btn {
    background: linear-gradient(135deg, rgba(229, 168, 89, 0.9) 0%, rgba(184, 115, 51, 0.9) 100%) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    width: 100% !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    margin-bottom: 15px;
    box-shadow: 0 4px 15px rgba(229, 168, 89, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    font-family: var(--bs-font-sans-serif, sans-serif) !important;
}

.m-fake-place-order-btn:hover {
    background: linear-gradient(135deg, rgba(229, 168, 89, 1) 0%, rgba(184, 115, 51, 1) 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(229, 168, 89, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

.m-fake-place-order-btn.loading {
    opacity: 0.7;
    pointer-events: none;
    position: relative;
}

/* Perfectly aligned SSL text */
.m-secure-text-wrap {
    text-align: center;
    margin-top: 15px;
}

.m-secure-text {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 0;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    padding: 8px 16px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.m-secure-text strong {
    color: #fff;
    font-weight: 600;
}

.m-ssl-icon {
    flex-shrink: 0;
}

/* Inline Quantity Controls Checkout */
.m-chk-qty-controls {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    background: rgba(255, 255, 255, 0.05);
    padding: 4px 6px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.m-chk-qty-btn {
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    transition: all 0.2s;
}

.m-chk-qty-btn:hover {
    background: rgba(229, 168, 89, 0.8);
}

.m-chk-qty-num {
    font-size: 0.85rem;
    color: #fff;
    min-width: 30px;
    text-align: center;
}

.m-chk-remove {
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    font-size: 1.15rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    margin-left: 4px;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    transition: color 0.2s ease, transform 0.2s ease;
}

.m-chk-remove i {
    display: block;
    line-height: 1;
}

.m-chk-remove:hover {
    color: #ff5555;
    transform: scale(1.15);
}

/* Hide ugly inline field error text & error navigation links under inputs & Nova Poshta select boxes */
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .wc-field-error,
.woocommerce-checkout .field-error,
.woocommerce-checkout .form-row .woocommerce-error,
.woocommerce-checkout .form-row .wc-field-error,
.woocommerce-checkout .form-row span.woocommerce-error,
.woocommerce-checkout #m-np-delivery-mount .woocommerce-error,
.woocommerce-checkout #m-np-delivery-mount .wc-field-error,
.woocommerce-checkout #billing_nova_poshta_city_field .woocommerce-error,
.woocommerce-checkout #billing_nova_poshta_warehouse_field .woocommerce-error,
.woocommerce-checkout #billing_nova_poshta_region_field .woocommerce-error,
.woocommerce-checkout a.woocommerce-error-navigate,
.woocommerce-checkout a[href*="_field"],
.woocommerce-checkout #m-np-delivery-mount a,
.woocommerce-invalid-required-field label .required+span {
    display: none !important;
}

/* Remove red border/outline on invalid required fields — WooCommerce adds these automatically */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea,
.woocommerce-checkout .woocommerce-invalid .select2-selection,
.woocommerce-checkout .woocommerce-invalid-required-field input,
.woocommerce-checkout .woocommerce-invalid-required-field select,
.woocommerce-checkout .woocommerce-invalid-required-field textarea,
.woocommerce-checkout .woocommerce-invalid-required-field .select2-selection,
.woocommerce-checkout .woocommerce-invalid-required-field .select2-container--default .select2-selection--single,
.woocommerce-checkout .woocommerce-invalid .select2-container--default .select2-selection--single {
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: none !important;
    outline: none !important;
}



/* Coupon Notice Styling */
.woocommerce-form-coupon-toggle {
    margin-bottom: 20px;
    background: rgba(255, 255, 255, 0.05);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
}

.woocommerce-form-coupon-toggle .woocommerce-info {
    border: none;
    background: transparent;
    color: #fff;
    padding: 0;
    margin: 0;
}

.woocommerce-form-coupon-toggle .woocommerce-info a {
    color: #6b8afd;
    text-decoration: none;
    font-weight: 500;
}

form.checkout_coupon {
    background: rgba(255, 255, 255, 0.05);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin-bottom: 30px;
    display: flex;
    gap: 15px;
}

form.checkout_coupon p {
    margin: 0;
    flex: 1;
}

form.checkout_coupon button {
    background: rgba(107, 138, 253, 0.2);
    border: 1px solid rgba(107, 138, 253, 0.4);
    color: #fff;
    padding: 10px 20px;
    border-radius: 8px;
    transition: all 0.3s;
}

form.checkout_coupon button:hover {
    background: rgba(107, 138, 253, 0.4);
}

/* Quick Checkout Info */
.m-quick-checkout-info {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.m-quick-icon-small {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.4);
    line-height: 1;
    margin-top: 2px;
}

.m-quick-text-small {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.5;
}

.m-quick-text-small strong {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
}

.m-item-details {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    padding-top: 2px;
}

/* Nova Poshta Placeholders */
.m-np-placeholders {
    margin-bottom: 20px;
}

.m-np-fields {
    display: flex;
}

.m-np-fields label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 400;
}

.m-np-select {
    width: 100%;
    padding: 14px 16px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: #fff;
    font-size: 0.95rem;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 16px top 50%;
    background-size: 12px auto;
}

/* ── Morkva Delivery Section Styles ────────────────────────────── */
#m-np-delivery-mount {
    margin-bottom: 20px;
}

#m-np-delivery-mount .form-row {
    margin-bottom: 15px;
}

#m-np-delivery-mount label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 400;
}

/* Shipping Methods Selector Styling */
.m-shipping-methods-wrapper {
    margin-bottom: 20px;
}

.m-shipping-methods-wrapper .m-np-field-label {
    display: block;
    margin-bottom: 12px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}

ul#shipping_method {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

ul#shipping_method li {
    flex: 1;
    min-width: 150px;
    margin: 0 !important;
    padding: 0 !important;
}

ul#shipping_method li input[type="radio"] {
    display: none;
}

ul#shipping_method li label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.88rem;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.25s ease;
    text-align: center;
    margin: 0 !important;
    width: 100%;
}

ul#shipping_method li label:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.8);
}

ul#shipping_method li input[type="radio"]:checked+label {
    background: rgba(107, 138, 253, 0.12);
    border-color: rgba(107, 138, 253, 0.55);
    color: #fff;
    box-shadow: 0 0 0 1px rgba(107, 138, 253, 0.3);
}

/* Hide standard "shipping" row in review table just in case */
.woocommerce-checkout-review-order-table .shipping {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   NOVA POSHTA DELIVERY SECTION — COMPLETE STYLES
   ═══════════════════════════════════════════════════════════════ */

/* ── Hide email field (optional for UA stores) ─────────────── */
#billing_email_field.m-field-hidden {
    display: none !important;
}

/* ── "Доставка Нова Пошта" title badge ─────────────────────── */
.m-np-title-badge {
    display: inline-block;
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.65);
    background: rgba(255, 255, 255, 0.08);
    padding: 4px 12px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    letter-spacing: 0.02em;
    white-space: nowrap;
}

/* ── Delivery type selector: Відділення / Поштомат ─────────── */
.m-np-type-selector {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.m-np-type-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.82rem;
    font-weight: 400;
    cursor: pointer;
    transition: background 0.25s, border-color 0.25s, color 0.25s, box-shadow 0.25s;
    font-family: inherit;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.m-np-type-btn:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.8);
}

/* Active state: luxury gold glass glow — matching site theme accent */
.m-np-type-btn.active {
    background: rgba(229, 168, 89, 0.06) !important;
    border-color: rgba(229, 168, 89, 0.85) !important;
    color: #fff !important;
    font-weight: 600;
    box-shadow: 0 0 24px rgba(229, 168, 89, 0.15), inset 0 0 0 1px rgba(229, 168, 89, 0.5) !important;
}

.m-np-type-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    opacity: 0.65;
    transition: opacity 0.25s, color 0.25s;
}

.m-np-type-btn.active .m-np-type-icon {
    opacity: 1;
    color: rgba(229, 168, 89, 0.9) !important;
}

/* ── Loading dots indicator ────────────────────────────────── */
.m-np-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 24px;
}

.m-np-loading-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    animation: npDotPulse 1.4s ease-in-out infinite;
}

.m-np-loading-dot:nth-child(2) {
    animation-delay: 0.2s;
}

.m-np-loading-dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes npDotPulse {

    0%,
    80%,
    100% {
        transform: scale(0.7);
        opacity: 0.4;
    }

    40% {
        transform: scale(1);
        opacity: 1;
    }
}

/* ── Morkva field wrappers ─────────────────────────────────── */
#billing_nova_poshta_region_field,
#billing_nova_poshta_city_field,
#billing_nova_poshta_warehouse_field {
    margin-bottom: 14px !important;
}

#billing_nova_poshta_region_field label,
#billing_nova_poshta_city_field label,
#billing_nova_poshta_warehouse_field label {
    display: block;
    margin-bottom: 7px !important;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Force red asterisk for Nova Poshta required fields */
#billing_nova_poshta_region_field label .required,
#billing_nova_poshta_city_field label .required,
#billing_nova_poshta_warehouse_field label .required {
    color: #ff4d4d !important;
    font-weight: 700;
    text-decoration: none !important;
    border: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   CHECKOUT — CUSTOM LAYOUT
   ═══════════════════════════════════════════════════════════════ */

/* Anti-FOUC: show billing fields — they're always visible */
/* NOTE: opacity:0 was causing fields to be unclickable on Safari if JS init was delayed */
.woocommerce-billing-fields {
    opacity: 1;
    transition: none;
}

.woocommerce-billing-fields.m-fields-ready {
    opacity: 1;
}

/* ── Style Morkva <select> fields (when native fallback is active) ─── */
#billing_nova_poshta_region:not(.select2-hidden-accessible),
#billing_nova_poshta_city:not(.select2-hidden-accessible),
#billing_nova_poshta_warehouse:not(.select2-hidden-accessible) {
    width: 100%;
    padding: 13px 40px 13px 16px;
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-size: 16px !important;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='rgba(255,255,255,0.45)' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 10px !important;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    cursor: pointer;
}

#billing_nova_poshta_region:not(.select2-hidden-accessible):focus,
#billing_nova_poshta_city:not(.select2-hidden-accessible):focus,
#billing_nova_poshta_warehouse:not(.select2-hidden-accessible):focus {
    border-color: rgba(255, 149, 0, 0.5) !important;
    box-shadow: 0 0 0 3px rgba(255, 149, 0, 0.12) !important;
    outline: none !important;
}

/* Ensure select2-hidden-accessible never intercepts touch events or expands */
select.select2-hidden-accessible,
#billing_nova_poshta_region.select2-hidden-accessible,
#billing_nova_poshta_city.select2-hidden-accessible,
#billing_nova_poshta_warehouse.select2-hidden-accessible {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ── Hide WC default duplicate address fields ──────────────── */
#billing_address_1_field,
#billing_address_2_field,
#billing_city_field,
#billing_state_field,
#billing_postcode_field,
#billing_country_field {
    display: none !important;
}

/* ── Hide shipping methods UL (controlled via our buttons) ─── */
.m-np-shipping-hidden,
ul#shipping_method {
    display: none !important;
}

/* ── Hide shipping row in order review right sidebar ────────── */
.woocommerce-checkout-review-order-table .shipping,
.woocommerce-shipping-totals {
    display: none !important;
}

/* ── Delivery wrap container ───────────────────────────────── */
#m-np-delivery-mount {
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — CHECKOUT
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 900px) {
    .m-checkout-layout {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .m-checkout-left,
    .m-checkout-right {
        width: 100% !important;
        min-width: unset !important;
        max-width: 100% !important;
    }

    .m-checkout-right {
        position: static !important;
    }
}

@media (max-width: 600px) {

    /* Stack name fields on mobile */
    .woocommerce-billing-fields .form-row-first,
    .woocommerce-billing-fields .form-row-last {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin-right: 0 !important;
    }

    /* Delivery type buttons stack */
    .m-np-type-selector {
        flex-direction: column;
        gap: 10px;
    }

    .m-np-brand-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .m-np-type-btn {
        padding: 12px 14px;
        font-size: 0.85rem;
    }

    .m-step-title {
        font-size: 1rem !important;
    }

    .m-checkout-review-card {
        padding: 18px !important;
    }

    .m-fake-place-order-btn,
    .m-fake-place-order-btn.button {
        padding: 16px 20px !important;
        font-size: 1rem !important;
    }
}

@media (max-width: 480px) {
    .m-checkout-layout {
        padding: 0 4px !important;
    }

    .m-checkout-step {
        padding: 18px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   WOOCOMMERCE NOTICES — LIQUID GLASS THEME OVERRIDES
   ═══════════════════════════════════════════════════════════════ */

/* Errors (Red Glass) */
body .woocommerce-error,
body .woocommerce-page .woocommerce-error,
body .woocommerce-notices-wrapper .woocommerce-error,
body .woocommerce-NoticeGroup .woocommerce-error,
body .woocommerce-NoticeGroup-checkout .woocommerce-error,
body div.woocommerce-error,
body ul.woocommerce-error,
body .alert-danger,
body .wc-block-components-notice-banner.is-error {
    background: rgba(24, 14, 16, 0.92) !important;
    background-color: rgba(24, 14, 16, 0.92) !important;
    backdrop-filter: blur(24px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
    border: 1px solid rgba(220, 55, 55, 0.6) !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 0 24px rgba(220, 55, 55, 0.15), 0 10px 30px rgba(0, 0, 0, 0.45) !important;
    font-family: "Outfit", sans-serif !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
}

/* Info & Messages (Gold / Neutral Glass) */
body .woocommerce-info,
body .woocommerce-message,
body .woocommerce-page .woocommerce-info,
body .woocommerce-page .woocommerce-message,
body .woocommerce-notices-wrapper .woocommerce-info,
body .woocommerce-notices-wrapper .woocommerce-message,
body .woocommerce-NoticeGroup .woocommerce-info,
body .woocommerce-NoticeGroup .woocommerce-message,
body div.woocommerce-info,
body div.woocommerce-message,
body ul.woocommerce-info,
body ul.woocommerce-message,
body .alert-info,
body .alert-warning {
    background: rgba(18, 16, 14, 0.92) !important;
    background-color: rgba(18, 16, 14, 0.92) !important;
    backdrop-filter: blur(24px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
    border: 1px solid rgba(229, 168, 89, 0.5) !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
    box-shadow: 0 0 24px rgba(229, 168, 89, 0.12), 0 10px 30px rgba(0, 0, 0, 0.45) !important;
    font-family: "Outfit", sans-serif !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
}

/* List items inside notices */
body .woocommerce-error li,
body .woocommerce-info li,
body .woocommerce-message li {
    color: #ffffff !important;
    font-size: 0.92rem !important;
    list-style: none !important;
    margin-bottom: 0.25rem !important;
}

body .woocommerce-error li:last-child,
body .woocommerce-info li:last-child,
body .woocommerce-message li:last-child {
    margin-bottom: 0 !important;
}

/* Icons */
body .woocommerce-error::before {
    color: #ff5555 !important;
    content: "❌" !important;
    font-size: 1rem !important;
    margin-right: 8px !important;
}

body .woocommerce-info::before,
body .woocommerce-message::before {
    color: #e5a859 !important;
    content: "ℹ️" !important;
    font-size: 1rem !important;
    margin-right: 8px !important;
}

/* Links inside notices (e.g. "Повернутися на головну сторінку") */
body .woocommerce-error a,
body .woocommerce-info a,
body .woocommerce-message a,
body .woocommerce-notices-wrapper a {
    color: #e5a859 !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}

body .woocommerce-error a:hover,
body .woocommerce-info a:hover,
body .woocommerce-message a:hover,
body .woocommerce-notices-wrapper a:hover {
    color: #ffffff !important;
}

/* ══════════════════════════════════════════════════
   ORENDA PAGE CUSTOM STYLES
   ══════════════════════════════════════════════════ */

/* ── Hero Glass Panel ── */
.hero-glass-panel {
    background: rgba(255, 255, 255, 0.03);
    max-width: 800px;
    border-radius: 20px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    z-index: 1;
    transform: translateZ(0);
    margin-left: 5%;
}

.hero-badge {
    font-size: 0.8rem;
    padding: 6px 16px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: inline-block;
}

/* ── SVG Lines Background for Cards ── */
.orenda-svg-bg-feature {
    background-size: 90% auto;
    background-position: right 0% top 0%;
    background-repeat: no-repeat;
    background-color: rgba(255, 255, 255, 0.03);
}

.orenda-svg-bg-condition {
    background-size: 70% auto;
    background-position: right 0% top 0%;
    background-repeat: no-repeat;
    background-color: rgba(255, 255, 255, 0.03);
}

/* ── Step Card Text Sizes ── */
.orenda-step-text {
    font-size: 1.15rem;
    line-height: 1.5;
}

/* ── Condition Card Text ── */
.orenda-condition-text {
    font-size: 1.15rem;
    opacity: 0.8;
    line-height: 1.5;
}

/* ── Feature Card Text ── */
.orenda-feature-text {
    font-size: 1.1rem;
}

/* ── Feature Icon ── */
.orenda-feature-icon {
    width: 62px;
}

/* ── "Як почати працювати" Cards ── */
.orenda-step-card {
    position: relative;
    border-radius: 20px;
    padding: 32px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
    color: inherit;
}

.orenda-step-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(227, 164, 85, 0.1) 0%, transparent 100%);
    opacity: 0;
    transition: all 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 0;
}

.orenda-step-card:hover::before {
    opacity: 1;
}

.orenda-step-card:hover {
    transform: translateY(-8px);
    border-color: rgba(227, 164, 85, 0.3);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

.orenda-step-card>* {
    position: relative;
    z-index: 1;
}

.orenda-step-card .step-num {
    font-size: 3rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.2) !important;
    line-height: 1;
    transition: all 0.5s;
    font-family: 'Outfit', sans-serif;
}

.orenda-step-card:hover .step-num {
    color: var(--bs-primary) !important;
}

.orenda-step-card .step-title {
    font-weight: 600;
    transition: all 0.3s ease;
}

.orenda-step-card:hover .step-title {
    color: #fff !important;
}

.orenda-step-card i {
    color: rgba(255, 255, 255, 0.4);
    font-size: 2rem;
    transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.orenda-step-card:hover i {
    color: var(--bs-primary) !important;
    transform: rotate(-45deg);
}

/* ── Conditions cards — glass (Умови та переваги) ── */
.orenda-condition-card {
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 24px;
    padding: 32px;
    min-height: 10rem;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.orenda-condition-card:hover {
    border-color: rgba(227, 164, 85, 0.4);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 30px rgba(227, 164, 85, 0.1);
}

/* ── Feature cards top row (4 cards) ── */
.orenda-feature-card .col-content {
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.orenda-feature-card .col-content:hover {
    border-color: rgba(227, 164, 85, 0.4);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 30px rgba(227, 164, 85, 0.1);
}

.hover-gold-text {
    color: #fff;
    transition: all 0.4s ease;
}

.orenda-condition-card:hover .hover-gold-text,
.orenda-feature-card .col-content:hover .hover-gold-text {
    background: linear-gradient(90deg, #e3a455, #f5d796);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Tab toggle for Rent/Buy ── */
.orenda-tabs {
    display: inline-flex;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    padding: 8px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.btn-tab-liquid {
    background: transparent;
    color: rgba(255, 255, 255, 0.6);
    border: 1px solid transparent;
    border-radius: 100px;
    padding: 12px 40px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
    font-family: 'Outfit', sans-serif;
}

.btn-tab-liquid:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

.btn-tab-liquid.active {
    background: linear-gradient(135deg, rgba(227, 164, 85, 0.3) 0%, rgba(227, 164, 85, 0.05) 100%);
    color: #fff;
    border: 1px solid rgba(227, 164, 85, 0.4);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.2), 0 0 25px rgba(227, 164, 85, 0.2);
}

/* ── Product Cards (Rent & Buy) ── */
.m-shortcode-slider .slick-track {
    display: flex !important;
}

.m-shortcode-slider .slick-slide {
    height: inherit !important;
    display: flex !important;
}

.m-shortcode-slide-item {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.glass-product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.02) 50%, rgba(255, 255, 255, 0.05) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 24px;
    backdrop-filter: blur(40px) saturate(180%);
    -webkit-backdrop-filter: blur(40px) saturate(180%);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 0 40px rgba(227, 164, 85, 0.1);
    overflow: hidden;
}

.glass-product-card:hover {
    border-color: rgba(227, 164, 85, 0.3);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), 0 0 25px rgba(227, 164, 85, 0.15);
}

.glass-product-card .card-title {
    font-family: 'Outfit', sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.3px;
    min-height: 2.8rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.25;
    margin-bottom: 0.5rem;
    color: #ffffff;
}

.rent-card-img-wrap {
    width: 100%;
    height: 260px;
    overflow: hidden;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 16px 8px;
    flex-shrink: 0;
    border-top-left-radius: 23px;
    border-top-right-radius: 23px;
}

.rent-card-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    display: block;
}

/* Card text: concise short description clamped to 3 lines */
.glass-product-card .card-text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.82rem !important;
    line-height: 1.45;
    min-height: 3.6em;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 0.75rem;
}

/* Features Grid (Short Specs with SVG icons) */
.rent-card-features-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    padding: 7px 10px;
    margin-bottom: 0.75rem;
    text-align: left;
}

.rent-feature-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.rent-feature-item svg {
    flex-shrink: 0;
    stroke: #e5a859;
}

.rent-feature-item span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Compact modern specs pill badge */
.rent-card-specs-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    font-size: 0.76rem;
    color: rgba(255, 255, 255, 0.85);
    width: 100%;
    min-height: 34px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.rent-spec-dot {
    opacity: 0.4;
    font-size: 0.8rem;
    line-height: 1;
}

/* Hidden specs block — stored in DOM for SEO/bots, not shown */
.rent-card-hidden-specs {
    display: none;
}

.m-shortcode-slider {
    position: relative;
}

.product-select-btn {
    display: block;
    width: 100%;
    padding: 10px 20px;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Outfit', sans-serif;
    text-align: center;
    text-decoration: none;
}

.product-select-btn:hover {
    background: linear-gradient(135deg, rgba(227, 164, 85, 0.3) 0%, rgba(227, 164, 85, 0.05) 100%);
    border-color: rgba(227, 164, 85, 0.4);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.2), 0 0 25px rgba(227, 164, 85, 0.2);
    color: #fff;
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
    animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Quiz Lead Collector ── */
.quiz-wrapper {
    background: #1a1918;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.quiz-step-btn {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 14px 20px;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 12px;
    font-family: 'Outfit', sans-serif;
    font-size: 15px;
}

.quiz-step-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

.quiz-step-btn:hover i {
    color: #fff;
}

/* ── Fix Theme Gap Under Header ── */
/* Removed conflicting margin-top: 0 !important override to allow top-bar offset (32px desktop / 44px mobile) from style.css */


/* ── Mobile Responsiveness ── */
@media (max-width: 767px) {
    .hero-glass-section>.m-basic-section-container {
        margin-top: 0 !important;
    }

    /* Prevent lower hero sections (like "Свіжообсмажена кава") from being pulled up */
    .hero-glass-section.lower-hero-section,
    .hero-glass-section.lower-hero-section>.m-basic-section-container {
        margin-top: 0 !important;
        padding-top: 1.5rem !important;
    }

    .hero-glass-section>.m-basic-section-container>.m-wrapper,
    .hero-glass-section>.m-wrapper {
        min-height: 90vh;
        background-position: center top !important;
        background-size: cover !important;
        justify-content: flex-end !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Hide glimmer/overlay pseudo-elements on mobile */
    .hero-glass-section .wrap-ed1bba4e-e426-408d-b655-9792f794e39d::before,
    .hero-glass-section .wrap-ed1bba4e-e426-408d-b655-9792f794e39d::after,
    .hero-glass-section .wrap-28ad9105-3ddd-4059-b254-33a22c8f7b5a::before,
    .hero-glass-section .wrap-28ad9105-3ddd-4059-b254-33a22c8f7b5a::after {
        display: none !important;
        content: none !important;
    }

    /* Hide badge on mobile (if still present in HTML) */
    .hero-glass-section .hero-badge {
        display: none !important;
    }

    .hero-glass-section .wrap-28ad9105-3ddd-4059-b254-33a22c8f7b5a,
    .hero-glass-section .hero-glass-panel {
        margin: 0 !important;
        padding: 20px 20px 60px 20px !important;
        border-radius: 0 !important;
        width: 100% !important;
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border: none !important;
        box-shadow: none !important;
        text-align: center !important;
        align-items: center !important;
    }

    .hero-glass-section h1.display-4,
    .hero-glass-section h1.display-3 {
        font-size: 2.5rem !important;
        text-align: center !important;
        margin-bottom: 20px !important;
    }

    .hero-glass-section .hero-glass-panel p,
    .hero-glass-section .wrap-28ad9105-3ddd-4059-b254-33a22c8f7b5a p {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-glass-section .m-bootstrap-buttons {
        justify-content: center !important;
    }

    .orenda-tabs {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        border-radius: 100px;
        padding: 8px;
    }

    .btn-tab-liquid {
        width: auto;
        flex: 1;
        padding: 10px 15px;
        font-size: 1rem;
    }

    /* Hide slider arrows on mobile */
    .custom-arrow,
    .slick-arrow,
    .m-carousel-arrow {
        display: none !important;
    }

    .orenda-step-card,
    .orenda-condition-card,
    .orenda-feature-card .col-content {
        padding: 24px;
    }

    .m-shortcode-slider {
        padding: 0 10px;
    }

    .mobile-swipe-row {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        padding-bottom: 20px;
        margin-left: -15px !important;
        margin-right: -15px !important;
        padding-left: 15px;
        padding-right: 15px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .mobile-swipe-row::-webkit-scrollbar {
        display: none;
    }

    .mobile-swipe-row>.col,
    .mobile-swipe-row>.wp-block-m-bootstrap-column-megastrap {
        flex: 0 0 85% !important;
        max-width: 85% !important;
        scroll-snap-align: center;
    }
}

/* ================================================================
   PARTNERSHIP PAGE STYLES
   ================================================================ */

.partner-hero-section {
    position: relative;
    width: 100%;
    min-height: 70vh;
}

.partner-hero-bg {
    width: 100%;
}

.partner-glass-panel {
    background: rgba(255, 255, 255, 0.03);
    max-width: 800px;
    border-radius: 20px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    z-index: 1;
    transform: translateZ(0);
}

.partner-badge {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.partner-feature-card {
    background-color: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(24px) saturate(120%);
    -webkit-backdrop-filter: blur(24px) saturate(120%);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    background-repeat: no-repeat;
    transition: all 0.3s ease;
}

.partner-feature-card:hover {
    background-color: rgba(255, 255, 255, 0.04);
    border-color: rgba(229, 168, 89, 0.4);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.partner-badge-sm {
    display: inline-block;
    padding: 3px 10px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

@media (max-width: 768px) {
    .partner-hero-section {
        min-height: auto;
        padding-top: 0;
        padding-bottom: 0;
    }

    .partner-hero-bg {
        min-height: 82vh;
        background-position: center 95px !important;
        justify-content: flex-end !important;
        /* Smooth fade to black at the bottom to blend with the rest of the page */
        background: linear-gradient(to bottom, rgba(23, 23, 23, 0) 0%, rgba(23, 23, 23, 0.4) 50%, #171717 100%), var(--bg-url) center 95px / cover no-repeat scroll #171717 !important;
    }

    /* Hide glimmer and overlay effects from native theme wraps on mobile */
    .partner-hero-bg::before,
    .partner-hero-bg::after,
    .wrap-ed1bba4e-e426-408d-b655-9792f794e39d::before,
    .wrap-ed1bba4e-e426-408d-b655-9792f794e39d::after,
    .wrap-28ad9105-3ddd-4059-b254-33a22c8f7b5a::before,
    .wrap-28ad9105-3ddd-4059-b254-33a22c8f7b5a::after {
        display: none !important;
        content: none !important;
    }

    .partner-glass-panel {
        padding: 20px 20px 60px 20px !important;
        margin: 0 !important;
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border: none !important;
        width: 100%;
        text-align: center !important;
    }

    .partner-glass-panel h1 {
        font-size: 2.5rem;
        text-align: center !important;
        margin-bottom: 20px !important;
    }

    .partner-glass-panel p {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    .partner-glass-panel .m-bootstrap-buttons {
        justify-content: center !important;
    }
}

/* ================================================================
   INSTAGRAM FEED — Minimal Layout + Premium Glass Buttons
   ================================================================ */

/* Remove plugin background animations */
#sb_instagram .sbi_photo_wrap::before,
#sb_instagram .sbi_photo_wrap::after {
    animation: none !important;
    background-image: none !important;
}

#sb_instagram .sbi_loader {
    display: none !important;
}

/* Header text readable on white */
#sb_instagram .sb_instagram_header h3,
#sb_instagram .sb_instagram_header h3 a {
    color: #212529 !important;
}

#sb_instagram .sb_instagram_header p,
#sb_instagram .sb_instagram_header .sbi_bio {
    color: #6c757d !important;
}

/* ── CENTER BOTH INSTAGRAM BUTTONS SIDE BY SIDE ── */
#sb_instagram #sbi_load {
    float: none !important;
    clear: both !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Ensure sbi_load_btn does not inherit plugin's margin: auto which pushes buttons apart */
#sb_instagram #sbi_load .sbi_load_btn {
    float: none !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

/* sbi_follow_btn is a wrapper div/span — make it inline-flex so it fits in the flex row */
#sb_instagram #sbi_load .sbi_follow_btn {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
}

#sb_instagram #sbi_load .sbi_follow_btn a {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

/* Reset plugin inset hover shadows */
#sb_instagram #sbi_load .sbi_load_btn:focus,
#sb_instagram #sbi_load .sbi_load_btn:hover,
#sb_instagram #sbi_load .sbi_load_btn:active,
#sb_instagram .sbi_follow_btn a:focus,
#sb_instagram .sbi_follow_btn a:hover,
#sb_instagram .sbi_follow_btn a:active {
    outline: none !important;
}

/* Base shape — same border-radius & font as site */
#sb_instagram #sbi_load .sbi_load_btn,
#sb_instagram .sbi_follow_btn a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 26px !important;
    border-radius: 50px !important;
    font-family: "Outfit", sans-serif !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition:
        box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        filter 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        background 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: none !important;
}

/* ──────────────────────────────────────────────────────────────
   "ЗАВАНТАЖИТИ ЩЕ" — Dark Smoked Glass
   Завжди видно на білому тлі. Смоговий ефект через темну напівпрозорість.
   Спектральний highlight зверху — скляна ілюзія.
   ────────────────────────────────────────────────────────────── */
#sb_instagram #sbi_load .sbi_load_btn {
    background: rgba(18, 18, 20, 0.90) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
    /* Prevent white flash when plugin resets button after AJAX load */
    background-color: rgba(18, 18, 20, 0.90) !important;
    box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

#sb_instagram #sbi_load .sbi_load_btn:hover {
    background: rgba(24, 18, 8, 0.93) !important;
    border-color: rgba(229, 168, 89, 0.35) !important;
    border-top-color: rgba(229, 168, 89, 0.6) !important;
    color: #ffffff !important;
    box-shadow:
        0 8px 28px rgba(0, 0, 0, 0.22),
        0 0 0 1px rgba(229, 168, 89, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

#sb_instagram #sbi_load .sbi_load_btn .sbi_btn_text {
    color: #ffffff !important;
}

/* ──────────────────────────────────────────────────────────────
   "ПІДПИСАТИСЯ" — Gold Liquid Glass
   Золото завжди читабельне на білому.
   Specular border-top + inset glow = glass глибина.
   ────────────────────────────────────────────────────────────── */
#sb_instagram .sbi_follow_btn a {
    background: linear-gradient(150deg, #E8AA57 0%, #C88A38 55%, #B5791F 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.55) !important;
    color: #1a0f00 !important;
    box-shadow:
        0 4px 18px rgba(200, 138, 56, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

#sb_instagram .sbi_follow_btn a:hover {
    filter: brightness(1.08) !important;
    box-shadow:
        0 8px 28px rgba(200, 138, 56, 0.5),
        inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
    color: #1a0f00 !important;
}

#sb_instagram .sbi_follow_btn svg,
#sb_instagram .sbi_follow_btn i {
    fill: #1a0f00 !important;
    color: #1a0f00 !important;
    margin-right: 8px !important;
}


/* Mobile: horizontal swipe grid (перекриває grid плагіну на 640px і 480px) */
@media (max-width: 640px) {

    /* Примусово flex замість grid */
    #sb_instagram #sbi_images,
    #sb_instagram.sbi_col_1 #sbi_images,
    #sb_instagram.sbi_col_2 #sbi_images,
    #sb_instagram.sbi_col_3 #sbi_images,
    #sb_instagram.sbi_col_4 #sbi_images,
    #sb_instagram.sbi_col_5 #sbi_images,
    #sb_instagram.sbi_col_6 #sbi_images,
    #sb_instagram.sbi_col_7 #sbi_images,
    #sb_instagram.sbi_col_8 #sbi_images,
    #sb_instagram.sbi_col_9 #sbi_images,
    #sb_instagram.sbi_col_10 #sbi_images {
        display: flex !important;
        grid-template-columns: unset !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 10px !important;
        padding-bottom: 10px !important;
        flex-wrap: nowrap !important;
        scrollbar-width: none !important;
    }

    #sb_instagram #sbi_images::-webkit-scrollbar {
        display: none !important;
    }

    #sb_instagram #sbi_images .sbi_item {
        flex: 0 0 70% !important;
        width: 70% !important;
        max-width: 70% !important;
        min-width: 70% !important;
        scroll-snap-align: start !important;
    }

    #sb_instagram #sbi_load {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 0 10px !important;
        gap: 10px !important;
    }

    #sb_instagram #sbi_load .sbi_load_btn,
    #sb_instagram .sbi_follow_btn,
    #sb_instagram .sbi_follow_btn a {
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }
}

/* Перекриваємо окремо 480px — плагін тут ставить 1fr примусово */
@media (max-width: 480px) {

    #sb_instagram #sbi_images,
    #sb_instagram.sbi_col_3 #sbi_images,
    #sb_instagram.sbi_col_4 #sbi_images,
    #sb_instagram.sbi_col_5 #sbi_images,
    #sb_instagram.sbi_col_6 #sbi_images,
    #sb_instagram.sbi_col_7 #sbi_images,
    #sb_instagram.sbi_col_8 #sbi_images,
    #sb_instagram.sbi_col_9 #sbi_images,
    #sb_instagram.sbi_col_10 #sbi_images,
    #sb_instagram.sbi_mob_col_1 #sbi_images,
    #sb_instagram.sbi_mob_col_2 #sbi_images,
    #sb_instagram.sbi_mob_col_3 #sbi_images {
        display: flex !important;
        grid-template-columns: unset !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* ── Mobile Instagram: hide Load More, keep Follow button centered ── */
@media (max-width: 768px) {
    /* Footer becomes a centered single-button row */
    #sb_instagram #sbi_load {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 16px 8px !important;
        gap: 0 !important;
        margin-top: 16px !important;
    }

    /* Swipe replaces pagination — hide "Load More" */
    #sb_instagram #sbi_load .sbi_load_btn {
        display: none !important;
    }

    /* Follow button: full-width up to 320px, centered */
    #sb_instagram #sbi_load .sbi_follow_btn {
        display: inline-flex !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 320px !important;
        flex: 0 0 auto !important;
    }

    #sb_instagram #sbi_load .sbi_follow_btn a {
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}

/* ── CATALOG BUTTON SHADOW OVERFLOW FIX ── */

.m-slider-catalog-btn-wrap {
    transform: none !important;
    margin-top: 40px !important;
    margin-bottom: -20px !important;
    padding-top: 10px !important;
    padding-bottom: 20px !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 10 !important;
}

/* ── LIMIT INSTAGRAM FEED TO 12 PHOTOS ── */
#sb_instagram #sbi_images .sbi_item:nth-child(n+13) {
    display: none !important;
}

/* ── Hero Glass Section Spacing & Positioning (Orenda & Partnerstvo) ── */
.orenda-page-container .hero-glass-section,
.partner-page-container .hero-glass-section {
    position: relative;
    z-index: 1;
}

/* Desktop (min-width: 992px): Seamless glass header pull-up (-103px) with safe inner padding (+125px) */
@media (min-width: 992px) {
    .orenda-page-container .hero-glass-section,
    .partner-page-container .hero-glass-section {
        margin-top: -103px !important;
    }

    .orenda-hero-bg,
    .partner-hero-bg {
        padding-top: 125px !important;
        padding-bottom: 50px !important;
        min-height: 72vh !important;
    }

    .orenda-hero-bg {
        background-position: right 4% calc(50% + 40px) !important;
        background-size: auto 75% !important;
    }

    .partner-hero-bg {
        background-position: center calc(50% + 25px) !important;
        background-size: cover !important;
    }
}

/* Tablet (768px - 991px): Mobile header pull-up (-94px) with safe inner padding (+110px) */
@media (min-width: 768px) and (max-width: 991px) {
    .orenda-page-container .hero-glass-section,
    .partner-page-container .hero-glass-section {
        margin-top: -94px !important;
    }

    .orenda-hero-bg,
    .partner-hero-bg {
        padding-top: 110px !important;
        padding-bottom: 40px !important;
        min-height: 540px !important;
    }

    .orenda-hero-bg {
        background-position: right 2% calc(50% + 30px) !important;
        background-size: auto 65% !important;
    }

    .partner-hero-bg {
        background-position: center center !important;
        background-size: cover !important;
    }
}

/* Mobile (<= 767px): Mobile header pull-up (-94px), image positioned safely below header, content in lower half */
@media (max-width: 767px) {
    .orenda-page-container .hero-glass-section,
    .partner-page-container .hero-glass-section {
        margin-top: -94px !important;
    }

    .orenda-hero-bg,
    .partner-hero-bg {
        min-height: 82vh !important;
        padding-top: 100px !important;
        padding-bottom: 30px !important;
        justify-content: flex-end !important;
    }

    .orenda-hero-bg {
        background-position: center 95px !important;
        background-size: auto 42% !important;
    }

    .partner-hero-bg {
        background-position: center 95px !important;
        background-size: cover !important;
    }
}

/* ── STICKY FOOTER FIX (Prevents footer from detaching on short pages like checkout) ── */
body {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100dvh !important;
    min-height: 100vh !important; /* fallback */
    margin: 0 !important;
}

#page.site {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
}

#site-content {
    flex: 1 0 auto !important;
    width: 100% !important;
}

#site-footer.custom-liquid-footer {
    flex-shrink: 0 !important;
    width: 100% !important;
}

/* ═══════════════════════════════════════════════════════════════
   PAYMENT FAILED — TOAST NOTIFICATION
   ═══════════════════════════════════════════════════════════════ */

#m-payment-toast {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 99999;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    min-width: 300px;
    max-width: 380px;
    background: rgba(18, 12, 12, 0.92);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border: 1px solid rgba(220, 55, 55, 0.6);
    border-radius: 14px;
    box-shadow: 0 0 30px rgba(220, 55, 55, 0.2), 0 12px 40px rgba(0, 0, 0, 0.55);
    transform: translateY(20px);
    opacity: 0;
    transition: opacity 0.35s ease, transform 0.35s ease;
    pointer-events: auto;
}

#m-payment-toast.m-toast-visible {
    opacity: 1;
    transform: translateY(0);
}

.m-toast-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(220, 55, 55, 0.2);
    border: 1px solid rgba(220, 55, 55, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #ff6b6b;
    font-weight: 700;
}

.m-toast-body {
    flex: 1;
    min-width: 0;
}

.m-toast-title {
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 3px;
    font-family: "Outfit", sans-serif;
}

.m-toast-text {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.6);
    font-family: "Outfit", sans-serif;
    line-height: 1.4;
}

.m-toast-close {
    flex-shrink: 0;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.35);
    font-size: 14px;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    transition: color 0.2s;
}

.m-toast-close:hover {
    color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 480px) {
    #m-payment-toast {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        right: 16px;
        left: 16px;
        max-width: 380px;
        margin: 0 auto;
        min-width: unset;
        width: auto;
    }
}

/* ================================================================
   TELEGRAM IN-APP BROWSER & CROSS-DEVICE RESPONSIVE OPTIMIZATION
   ================================================================ */
:root {
    --tg-viewport-height: 100dvh;
    --safe-area-bottom: env(safe-area-inset-bottom, 0px);
    --safe-area-top: env(safe-area-inset-top, 0px);
}

/* Elastic bounce & smooth momentum touch scrolling for Webviews */
html,
body {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: auto;
}

/* Hero section full dynamic viewport support */
.hero-glass-section {
    min-height: clamp(500px, 75dvh, 850px);
}

/* Safe area padding for mobile modals, bottom nav and drawers */
.m-bottom-nav-bar {
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
}

/* Ensure Telegram Webview & mobile viewports do not produce bottom gap below footer */
@media (max-width: 767px) {
    body {
        padding-bottom: 0 !important;
    }

    footer.custom-liquid-footer {
        padding-bottom: max(30px, calc(20px + env(safe-area-inset-bottom, 0px))) !important;
    }

    /* Prevent iOS Safari 16px auto-zoom on input focus which causes side-panel clipping */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    select,
    textarea,
    .form-control,
    .select2-container .select2-selection--single {
        font-size: 16px !important;
    }

    .socials-left {
        bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 1040 !important;
    }

    /* Fluid typography scaling across small & medium mobile screens */
    h1.display-3,
    .display-3 {
        font-size: clamp(1.85rem, 6.5vw, 3rem) !important;
        line-height: 1.15 !important;
        word-break: normal;
    }

    h1.display-4,
    .display-4 {
        font-size: clamp(1.65rem, 5.5vw, 2.5rem) !important;
        line-height: 1.15 !important;
        word-break: normal;
    }

    .partner-glass-panel,
    .hero-glass-panel {
        padding: 1.75rem 1.25rem !important;
        margin: 1rem 0 !important;
    }

    /* Mobile Header Centering & Balance */
    .navbar-mobile {
        width: 100% !important;
        padding-left: max(16px, env(safe-area-inset-left)) !important;
        padding-right: max(16px, env(safe-area-inset-right)) !important;
    }

    .navbar-mobile .container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        position: relative !important;
    }

    .header-mobile-center {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 28px !important;
        line-height: 1 !important;
    }

    .header-mobile-center a,
    .header-mobile-center .logo-mobile-link,
    .header-mobile-center img,
    .header-mobile-center svg {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        height: 28px !important;
        max-height: 28px !important;
        width: auto !important;
        line-height: 1 !important;
    }

    /* Hero / Lead Section Top Spacing on Mobile (Prevents navbar overlap) */
    .m-column-section-edit:has(.lead-quiz-funnel),
    .m-column-section-half:has(.lead-quiz-funnel),
    .hero-glass-section {
        padding-top: 25px !important;
    }

    .m-column-section-edit:has(.lead-quiz-funnel) h1,
    .m-column-section-edit:has(.lead-quiz-funnel) h2 {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
    }

    /* Lead Quiz Funnel — Soft Rounded Cards and Capsule Pill Buttons */
    .lead-quiz-funnel {
        width: 100% !important;
    }

    .lead-quiz-funnel .quiz-option {
        width: 100% !important;
        display: block !important;
        margin-bottom: 10px !important;
        border-radius: 14px !important;
    }

    .lead-quiz-funnel .quiz-option-content {
        display: flex !important;
        width: 100% !important;
        min-height: 52px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 14px 20px !important;
        font-size: 1rem !important;
        border-radius: 14px !important;
        border: 1px solid rgba(255, 255, 255, 0.14) !important;
        background: rgba(255, 255, 255, 0.06) !important;
        box-sizing: border-box !important;
        text-align: left !important;
        transition: all 0.25s ease !important;
    }

    .lead-quiz-funnel .quiz-option input[type="radio"]:checked + .quiz-option-content {
        border-radius: 14px !important;
        border-color: rgba(229, 168, 89, 0.85) !important;
        background: rgba(229, 168, 89, 0.18) !important;
        box-shadow: 0 0 16px rgba(229, 168, 89, 0.25) !important;
    }

    .lead-quiz-funnel .d-flex.gap-3 {
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 10px !important;
        margin-top: 15px !important;
        width: 100% !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
    }

    .lead-quiz-funnel .quiz-step > .btn,
    .lead-quiz-funnel .quiz-next-btn,
    .lead-quiz-funnel .quiz-submit-btn,
    .lead-quiz-funnel .premium-submit-btn,
    .lead-quiz-funnel .quiz-prev-btn,
    .lead-quiz-funnel .btn-primary,
    .lead-quiz-funnel .btn-outline-light {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 14px 28px !important;
        font-size: 0.95rem !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
        border-radius: 100px !important;
        min-height: 48px !important;
        margin-top: 0 !important;
        line-height: 1 !important;
    }

    /* Product Loop Buttons — Compact & Sleek (Replaces bulky button) */
    .m-archive-loop-buttons-wrapper .btn,
    .m-archive-loop-buttons-wrapper a.button,
    .woocommerce ul.products li.product a.button,
    .woocommerce-page ul.products li.product a.button,
    .glass-product-card a.button,
    .glass-product-card .btn {
        all: unset !important;
        box-sizing: border-box !important;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        padding: 0 16px !important;
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.05) 100%) !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.35) !important;
        color: #ffffff !important;
        border-radius: 100px !important;
        font-size: 0.75rem !important;
        font-family: 'Outfit', sans-serif !important;
        font-weight: 700 !important;
        letter-spacing: 0.8px !important;
        text-transform: uppercase !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        line-height: 1 !important;
        transition: all 0.3s ease !important;
        width: 100% !important;
    }

    .m-archive-loop-buttons-wrapper .btn:hover,
    .m-archive-loop-buttons-wrapper a.button:hover,
    .glass-product-card a.button:hover {
        background: linear-gradient(135deg, rgba(229, 168, 89, 0.3) 0%, rgba(229, 168, 89, 0.1) 100%) !important;
        border-color: rgba(229, 168, 89, 0.6) !important;
        color: #fff !important;
    }

    /* Fixed Bottom Nav Stability on iOS Safari */
    .m-bottom-nav-bar {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
        min-height: 58px !important;
        z-index: 1030 !important;
        background: rgba(15, 15, 15, 0.82) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25) !important;
        padding: 6px 8px !important;
        padding-bottom: max(6px, env(safe-area-inset-bottom, 6px)) !important;
        box-sizing: border-box !important;
        transition: transform 0.35s cubic-bezier(0.32, 0, 0.15, 1), opacity 0.3s ease !important;
    }

    /* Hide bottom nav bar when cart drawer, popup, offcanvas, or modal is open */
    body.mgsc-cart-open .m-bottom-nav-bar,
    body.modal-open .m-bottom-nav-bar,
    body.menu-open .m-bottom-nav-bar,
    body.offcanvas-active .m-bottom-nav-bar,
    body.has-cart-items .m-bottom-nav-bar {
        transform: translateY(120%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    footer.custom-liquid-footer {
        padding-bottom: calc(75px + env(safe-area-inset-bottom, 15px)) !important;
    }

    /* Checkout Layout & Rounded Aesthetic */
    .woocommerce-checkout .m-checkout-layout,
    .woocommerce-checkout form.checkout,
    .woocommerce-checkout #site-content {
        padding-bottom: 25px !important;
    }

    .m-checkout-panel,
    .m-checkout-left,
    .m-checkout-right {
        border-radius: 20px !important;
    }

    .m-checkout-layout input[type="text"],
    .m-checkout-layout input[type="email"],
    .m-checkout-layout input[type="tel"],
    .m-checkout-layout input[type="number"],
    .m-checkout-layout select,
    .m-checkout-layout textarea,
    .m-checkout-layout .form-control,
    .m-checkout-layout .select2-container--default .select2-selection--single {
        border-radius: 14px !important;
    }

    .m-np-btn-wrap {
        border-radius: 14px !important;
        overflow: hidden !important;
        padding: 3px !important;
    }

    .m-np-btn-wrap button {
        border-radius: 11px !important;
    }

    #payment ul.payment_methods li {
        border-radius: 16px !important;
    }

    #place_order,
    .woocommerce-checkout #place_order {
        border-radius: 100px !important;
    }

    .m-chk-qty-wrap {
        border-radius: 100px !important;
    }

    /* Monobank Payment Badges (Apple Pay, Google Pay, Visa, Mastercard) contained */
    .mono-gateway-badge-list {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 4px 6px !important;
        margin: 6px auto 4px !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .mono-gateway-badge-list img {
        height: 14px !important;
        max-height: 14px !important;
        width: auto !important;
        max-width: 32px !important;
        object-fit: contain !important;
        flex-shrink: 0 !important;
        display: inline-block !important;
    }

    /* Prevent Marquee Overflow shifting footer to the right */
    section.mega-headline,
    div.mega-headline,
    .mega-headline {
        max-width: 100vw !important;
        width: 100% !important;
        overflow: hidden !important;
        contain: paint !important;
    }

    section.mega-headline .scroll,
    div.mega-headline .scroll {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
}

/* ── Nova Poshta Fields Force Visible in Delivery Mount ── */
#m-np-delivery-mount #billing_nova_poshta_region_field,
#m-np-delivery-mount #billing_nova_poshta_city_field,
#m-np-delivery-mount #billing_nova_poshta_warehouse_field,
#m-np-delivery-mount .form-row {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Tablet Layout Enhancements (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {

    .partner-feature-card,
    .orenda-feature-card .col-content,
    .glass-product-card,
    .orenda-step-card {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        height: 100% !important;
    }

    .partner-hero-bg,
    .hero-glass-section {
        min-height: 550px !important;
    }
}