/*
Theme Name: Uplyli Custom
Theme URI: https://u-plyli.com
Description: Custom theme for U-Plyli e-commerce
Author: Custom Development
Version: 1.9
Template: rhodes
Text Domain: uplyli-custom
*/

/* Imports */

/* Typography */
/* Typography - MSCHN-M */
@font-face {
    font-family: 'MSCHN-M';
    src: url('fonts/MSCHN-M.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Typography - Inter 28pt */
@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-ThinItalic.ttf') format('truetype');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-ExtraLightItalic.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter_28pt-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}




/* Base Styles */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: #000 !important;
    background: #fff !important;
    font-size: 16px !important;
    font-weight: 400;
    letter-spacing: -1px !important;
}

/* Reset & Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ============================================
   HEADER STYLES
   ============================================ */
.hidden {
    display: none;
}

.uplyli-header {
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
    padding: 20px 40px;
    top: 0;
    z-index: 1000;
    position: relative;
}

.uplyli-header-container {
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.uplyli-header-nav-left ul,
.uplyli-header-nav-right ul {
    display: flex;
    align-items: center;
    gap: 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.uplyli-header-nav-left a,
.uplyli-header-nav-right a {
    color: #000;
    text-decoration: none;
    font-family: 'MSCHN-M', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    transition: opacity 0.3s;
}

/* Dropdown Menu Styles */
@media (min-width: 769px) {

    .uplyli-header-nav-right {
        display: flex;
        align-items: center;
        gap: 40px;
    }

    .uplyli-header-nav-left li,
    .uplyli-header-nav-right li {
        position: relative;
        list-style: none;
    }

    .uplyli-header-nav-left .sub-menu,
    .uplyli-header-nav-right .sub-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        background: #fff;
        min-width: 220px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        padding: 10px 0;
        z-index: 1000;
        border: 1px solid #f0f0f0;
    }

    .uplyli-header-nav-left li:hover>.sub-menu,
    .uplyli-header-nav-right li:hover>.sub-menu {
        display: block;
        animation: fadeIn 0.2s ease-in-out;
    }

    .uplyli-header-nav-left .sub-menu ul,
    .uplyli-header-nav-right .sub-menu ul {
        display: block;
        /* Ensure the sub-menu ul itself is block to contain list items */
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .uplyli-header-nav-left .sub-menu li,
    .uplyli-header-nav-right .sub-menu li {
        display: block;
        margin: 0;
    }

    .uplyli-header-nav-left .sub-menu a,
    .uplyli-header-nav-right .sub-menu a {
        display: block;
        padding: 8px 20px;
        font-family: 'MSCHN-M', sans-serif;
        font-size: 13px;
        text-transform: uppercase;
        color: #333;
        white-space: nowrap;
    }

    .uplyli-header-nav-left .sub-menu a:hover,
    .uplyli-header-nav-right .sub-menu a:hover {
        background: #f9f9f9;
        color: #000;
    }
    
    /* Вложенные подменю (2-й уровень) */
    .uplyli-header-nav-left .sub-menu .sub-menu,
    .uplyli-header-nav-right .sub-menu .sub-menu {
        display: none;
        position: absolute;
        top: 0;
        left: 100%;
        background: #fff;
        min-width: 200px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        padding: 10px 0;
        z-index: 1001;
        border: 1px solid #f0f0f0;
    }
    
    .uplyli-header-nav-left .sub-menu li:hover > .sub-menu,
    .uplyli-header-nav-right .sub-menu li:hover > .sub-menu {
        display: block;
        animation: fadeIn 0.2s ease-in-out;
    }
    
    /* Стрелка для пунктов с подменю */
    .uplyli-header-nav-left .sub-menu .menu-item-has-children > a,
    .uplyli-header-nav-right .sub-menu .menu-item-has-children > a {
        position: relative;
        padding-right: 30px;
    }
    
    .uplyli-header-nav-left .sub-menu .menu-item-has-children > a::after,
    .uplyli-header-nav-right .sub-menu .menu-item-has-children > a::after {
        content: "›";
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 16px;
        color: #999;
    }
    
    .uplyli-header-nav-left .sub-menu .menu-item-has-children:hover > a::after,
    .uplyli-header-nav-right .sub-menu .menu-item-has-children:hover > a::after {
        color: #000;
    }
}

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

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


.uplyli-header-logo {
    flex: 0 0 auto;
}

.uplyli-header-logo a {
    display: block;
}

.uplyli-header-logo .site-title {
    font-size: 28px;
    font-weight: 500;
    color: #000;
    text-decoration: none;
}

.uplyli-search-icon,
.uplyli-account-icon,
.uplyli-cart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 28px;
    height: 28px;
}

.uplyli-search-icon svg,
.uplyli-account-icon svg,
.uplyli-cart-icon svg {
    width: 24px;
    height: 24px;
}

.uplyli-cart-icon .cart-count {
    position: absolute;
    top: 4.5px;
    right: 7px;
    color: #000;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 500;
    transition: transform 0.2s ease;
}

/* Notification style */
.uplyli-cart-notification {
    position: fixed !important;
    bottom: 30px !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(100px) !important;
    background: #000 !important;
    color: #fff !important;
    padding: 12px 24px !important;
    border-radius: 30px !important;
    font-size: 14px !important;
    z-index: 999999 !important;
    opacity: 0 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
    pointer-events: none !important;
    text-align: center;
}

.uplyli-cart-notification.show {
    transform: translateX(-50%) translateY(0) !important;
    opacity: 1 !important;
}

/* Animation when cart count updates */
.uplyli-cart-icon .cart-count.updated {
    animation: cart-count-pulse 0.3s ease;
}

@keyframes cart-count-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

/* Mobile Menu - Hidden by default */
/* Hide mobile elements on desktop */
.uplyli-mobile-menu-toggle,
.uplyli-mobile-menu,
.uplyli-menu-overlay {
    display: none;
}




/* ============================================
   PRODUCT PAGE STYLES
   ============================================ */

.uplyli-product-page {
    padding: 60px 0;
    background: #fff;
}

.uplyli-product-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

/* Gallery */
.uplyli-product-gallery {
    display: flex;
    gap: 20px;
}

.uplyli-product-thumbnails {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.uplyli-thumbnail {
    width: 95px;
    height: 95px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid #e5e5e5;
    border-radius: 11px;
    transition: border-color 0.3s;
}

.uplyli-thumbnail.active {
    border-color: #000;
}

.uplyli-thumbnail:hover {
    border-color: #000;
}

.uplyli-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Zoom Icon */
.uplyli-zoom-icon {
    position: absolute;
    bottom: 30px;
    right: 30px;
    z-index: 10;
    background: #fff;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    opacity: 0.8;
}

.uplyli-zoom-icon:hover {
    opacity: 1;
    transform: scale(1.1);
}

.uplyli-zoom-icon svg {
    width: 20px;
    height: 20px;
}

@media (max-width: 768px) {
    .uplyli-zoom-icon {
        bottom: 20px;
        right: 20px;
        width: 38px;
        height: 38px;
    }
    
    .uplyli-zoom-icon svg {
        width: 18px;
        height: 18px;
    }
}

/* Product Image Wrapper - container for positioning dots outside scroll */
.uplyli-product-image-wrapper {
    position: relative;
    flex: 0 0 559px;
    width: 559px;
    height: 746px;
}

/* Back Button - top left corner (mobile only) */
.uplyli-back-btn {
    display: none;
}

@media (max-width: 768px) {
    .uplyli-back-btn {
        position: absolute;
        top: 20px;
        left: 20px;
        z-index: 15;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .uplyli-back-btn::before {
        content: '‹';
        font-size: 32px;
        line-height: 1;
        color: #000;
        font-weight: 300;
    }
}

/* Product Main Image - Native Scroll Snap */
.uplyli-product-main-image {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 25px;
    overflow: hidden;
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.uplyli-product-main-image img {
    border-radius: 25px;
}

.uplyli-product-main-image::-webkit-scrollbar {
    display: none;
}

.uplyli-product-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    flex-shrink: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

/* Lightbox links for product gallery */
.uplyli-lightbox-link {
    display: block;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    cursor: zoom-in;
}

.uplyli-lightbox-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Navigation arrows - positioned on wrapper */
.uplyli-product-image-wrapper .uplyli-card-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    display: none; /* Hidden by default, show on hover */
}

.uplyli-product-image-wrapper .uplyli-card-nav.prev {
    left: 15px;
}

.uplyli-product-image-wrapper .uplyli-card-nav.next {
    right: 15px;
}

.uplyli-product-image-wrapper .uplyli-card-nav::before {
    content: '‹';
    font-size: 32px;
    color: #000;
    font-weight: 300;
}

.uplyli-product-image-wrapper .uplyli-card-nav.next::before {
    content: '›';
}

/* Product page progress bars - positioned on wrapper, OUTSIDE scroll container */
.uplyli-product-image-wrapper .uplyli-product-dots {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    display: flex;
    gap: 4px;
    z-index: 10;
}

/* Product Info - Updated */
.uplyli-product-info {
    padding: 25px 20px !important;
    background: #fff !important;
    font-family: 'Inter', sans-serif !important;
}

.uplyli-product-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 450 !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    margin-bottom: 0 !important;
    color: #000 !important;
}

.uplyli-product-price {
    margin-bottom: 0 !important;
    align-items: center !important;
    gap: 10px !important;
}

.uplyli-product-price .price {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 450 !important;
    color: #000 !important;
    margin: 0 !important;
}

.uplyli-product-price .price ins {
    text-decoration: none !important;
    color: #000 !important;
}

.uplyli-product-price .price del {
    font-size: 24px !important;
    color: #999 !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
}

.uplyli-product-add-to-cart {
    margin-top: 20px !important;
}

.uplyli-product-add-to-cart .single_add_to_cart_button,
.uplyli-product-add-to-cart button[type="submit"] {
    width: 100% !important;
    padding: 18px 20px !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    margin-bottom: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background 0.3s ease, opacity 0.3s ease !important;
}

/* Loading state for add to cart button */
.uplyli-product-add-to-cart .single_add_to_cart_button.loading,
.uplyli-product-add-to-cart button[type="submit"].loading {
    opacity: 0.7 !important;
    pointer-events: none !important;
    position: relative !important;
}

/* Added state for add to cart button */
.uplyli-product-add-to-cart .single_add_to_cart_button.added,
.uplyli-product-add-to-cart button[type="submit"].added {
    background: #2e7d32 !important;
}

.uplyli-product-meta {
    margin-bottom: 25px !important;
    padding: 0 !important;
}

.uplyli-meta-item {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    padding: 0 !important;
    font-size: 16px !important;
    border-bottom: none !important;
}

.uplyli-meta-label {
    color: #666 !important;
    font-weight: 400 !important;
}

.uplyli-meta-value {
    color: #000 !important;
    font-weight: 400 !important;
}

/* О товаре section */
.uplyli-product-about {
    margin-top: 30px;
    margin-bottom: 30px;
    padding-bottom: 0;
    border-bottom: none;
}

.uplyli-product-about-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
    color: #000;
    text-align: left;
}

.uplyli-product-description {
    font-size: 14px;
    line-height: 1.7;
    color: #333;
    text-align: left;
    margin: 0 !important;
    padding: 0 !important;
}

.uplyli-product-description p {
    margin: 0;
    text-align: left;
}

.uplyli-product-description p + p {
    margin-top: 0;
}

.uplyli-product-description ul,
.uplyli-product-description ol {
    margin: 0;
    padding-left: 0;
    list-style: none;
    text-align: left;
}

.uplyli-product-description li {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
    font-weight: 400;
}

/* Accordions */
.uplyli-product-accordions {
    border-top: 1px solid #000;
}

.uplyli-accordion {
    border-bottom: 1px solid #000;
}

.uplyli-accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 20px 0;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0px;
	color:#000 !important;
    transition: opacity 0.3s;
}

.uplyli-accordion-header:hover {
    opacity: 0.7;
}

.uplyli-accordion-icon {
    font-size: 20px;
    font-weight: 500;
    transition: transform 0.3s;
}

.uplyli-accordion.active .uplyli-accordion-icon {
    transform: rotate(45deg);
}

.uplyli-accordion-content {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    font-size: 14px;
    line-height: 1.8;
    color: #666;
	text-align: start;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}

.uplyli-accordion-content p {
    font-weight: 400;
}

.uplyli-accordion.active .uplyli-accordion-content {
    max-height: 3000px;
    padding: 0 0 25px 0;
}

/* Шкала оценки состояния */
.uplyli-condition-scale {
    text-align: left !important;
}

.uplyli-condition-scale p {
    text-align: left !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.5 !important;
    color: #333 !important;
}

.uplyli-condition-scale p strong {
    font-weight: 700;
}

.uplyli-composition-custom {
    text-align: left !important;
    margin-bottom: 10px;
}

.uplyli-composition-custom p {
    text-align: left !important;
    margin: 0 0 8px 0 !important;
}

/* ============================================
   SIZE GUIDE - Как замерять изделие
   ============================================ */
.uplyli-size-guide {
    margin-top: 20px;
    border-top: 1px solid #e5e5e5;
    padding-top: 15px;
}

.uplyli-size-guide-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 10px 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #000;
}

.uplyli-size-guide-toggle:hover {
    opacity: 0.7;
}

.uplyli-size-guide-icon {
    width: 20px;
    height: 20px;
    position: relative;
    transition: transform 0.3s;
}

.uplyli-size-guide-icon::before,
.uplyli-size-guide-icon::after {
    content: '';
    position: absolute;
    background: #000;
    transition: transform 0.3s;
}

.uplyli-size-guide-icon::before {
    width: 12px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.uplyli-size-guide-icon::after {
    width: 2px;
    height: 12px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.uplyli-size-guide-toggle[aria-expanded="true"] .uplyli-size-guide-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

.uplyli-size-guide-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
}

.uplyli-size-guide.active .uplyli-size-guide-content {
    max-height: 3000px;
}

.uplyli-size-guide-section {
    padding: 25px 0;
    border-bottom: 1px solid #e5e5e5;
}

.uplyli-size-guide-section:last-child {
    border-bottom: none;
}

.uplyli-size-guide-section h4 {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 15px 0;
    text-transform: uppercase;
}

.uplyli-size-guide-row {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.uplyli-size-guide-text {
    flex: 1;
    min-width: 200px;
}

.uplyli-size-guide-text ol {
    margin: 0 0 15px 0;
    padding-left: 20px;
}

.uplyli-size-guide-text ol li {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
}

.uplyli-size-guide-note {
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
    line-height: 1.5;
    margin: 10px 0 0 0;
}

.uplyli-size-guide-asterisk {
    font-size: 12px;
    color: #666;
    font-style: italic;
    margin: 5px 0;
}

.uplyli-size-guide-image {
    flex: 1.2;
    max-width: 350px;
}

.uplyli-size-guide-image img {
    width: 100%;
    height: auto;
}

/* Size Guide Mobile - ТОЧНО как в референсе */
@media (max-width: 768px) {
    .uplyli-size-guide-section {
        padding: 20px 0;
        display: flex;
        flex-direction: column;
    }
    
    /* Заголовок - слева, крупный, жирный */
    .uplyli-size-guide-section h4 {
        font-size: 22px;
        font-weight: 700;
        font-family: 'MSCHN-M', sans-serif;
        width: fit-content;
        margin: 0 0 15px 0;
        text-transform: uppercase;
        text-align: left;
    }
    
    /* Контейнер: текст слева, картинка справа */
    .uplyli-size-guide-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 15px;
        align-items: flex-start;
    }
    
    /* Текст слева - 40% */
    .uplyli-size-guide-text {
        flex: 0 0 38%;
        min-width: 0;
        order: 1;
        text-align: left;
    }
    
    .uplyli-size-guide-text ol {
        padding-left: 20px;
        margin: 0 0 15px 0;
        list-style-position: outside;
    }
    
    .uplyli-size-guide-text ol li {
        font-size: 12px;
        line-height: 1.7;
        font-weight: 500;
        color: #000;
        text-align: left;
    }
    
    /* Примечание внизу - мелкий текст, капс */
    .uplyli-size-guide-note {
        font-size: 8px;
        line-height: 1.4;
        margin-top: 15px;
        text-transform: uppercase;
        color: #666;
        text-align: left;
        letter-spacing: 0.3px;
    }
    
    .uplyli-size-guide-asterisk {
        font-size: 11px;
        margin: 8px 0;
        font-style: italic;
        text-align: left;
    }
    
    /* Картинка справа - 60% */
    .uplyli-size-guide-image {
        flex: 0 0 60%;
        max-width: 60%;
        order: 2;
    }
    
    .uplyli-size-guide-image img {
        width: 100%;
        height: auto;
    }
    
    .uplyli-size-guide-toggle {
        font-size: 14px;
        font-weight: 600;
    }
}

/* Stock Badge */
.uplyli-stock-badge {
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-block;
    padding: 8px 16px;
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    font-size: 12px;
    font-weight: 400;
}


/* ============================================
   HOMEPAGE STYLES
   ============================================ */

/* ============================================
   HERO BANNER SECTION
   Consolidated styles for hero slider
   ============================================ */

/* ============================================
   HERO SLIDER - CLEAN IMPLEMENTATION
   ============================================ */

/* Hero Section Container */
.uplyli-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #f5f5f5;
}

/* Hero Slider - Flexbox Carousel */
.uplyli-hero-slider {
    display: flex;
    width: 100%;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* Individual Slide */
.uplyli-hero-slide {
    flex: 0 0 100%;
    min-width: 100%;
    position: relative;
    display: block;
    text-decoration: none;
    color: inherit;
}

/* Picture Element - Responsive Images */
.uplyli-hero-picture {
    display: block;
    width: 100%;
    line-height: 0;
}

.uplyli-hero-picture img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

/* Hero Content Overlay */
.uplyli-hero-content {
    position: absolute;
    bottom: 80px;
    left: 40px;
    z-index: 5;
}

.uplyli-hero-title {
	font-family:MSCHN-M, sans-serif !important;
    font-size: 36px;
    font-weight: 400;
    text-transform: uppercase;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    margin: 0;
}

/* Navigation Bars */
.uplyli-hero-nav {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: 40px;
    display: flex;
    gap: 4px;
    z-index: 10;
}

.uplyli-hero-dot {
    flex: 1;
    height: 4px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.uplyli-hero-dot:hover {
    background: rgba(255, 255, 255, 0.8);
}

.uplyli-hero-dot.active {
    background: #000;
}

/* ============================================
   HERO MOBILE STYLES
   ============================================ */
@media (max-width: 768px) {
    /* iOS fix: prevent content bleeding on homepage */
    .uplyli-homepage {
        overflow-x: hidden !important;
    }
    
    /* Mobile: Fixed aspect ratio container */
    .uplyli-hero {
        position: relative;
        width: 100%;
        aspect-ratio: 3 / 4;
        max-height: 100svh;
        overflow: hidden;
    }

    /* Slider fills hero container absolutely */
    .uplyli-hero-slider {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        flex-wrap: nowrap;
    }

    /* Each slide takes full width/height */
    .uplyli-hero-slide {
        flex: 0 0 100%;
        min-width: 100%;
        height: 100%;
        position: relative;
    }

    /* Picture fills the slide */
    .uplyli-hero-picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    /* Image fills picture container */
    .uplyli-hero-picture img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
    }

    /* Mobile content positioning */
    .uplyli-hero-content {
        position: absolute;
        bottom: 60px;
        left: 20px;
        right: 20px;
        z-index: 5;
    }

    .uplyli-hero-title {
        font-size: 28px;
        line-height: 1.1;
    }

    /* Mobile navigation */
    .uplyli-hero-nav {
        bottom: 24px;
        left: 20px;
        right: 20px;
        gap: 4px;
    }

    .uplyli-hero-dot {
        flex: 1;
        height: 3px;
        border-radius: 0;
    }

    .uplyli-hero-dot.active {
        background: #000;
    }
}

/* ============================================
   END HERO BANNER SECTION
   ============================================ */

/* Category Banners */
.uplyli-category-banners {
    padding: 40px 0;
}


/* Fix category banners alignment */
.uplyli-banners-grid {
    padding: 0 !important;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    max-width: 100%;
    margin: 0 auto;
    align-items: start;
    /* Выравнивание по верху */
}

.uplyli-banner {
    position: relative;
    overflow: hidden;
    height: 100%;
    /* Одинаковая высота */
    min-height: 600px;
    /* Минимальная высота */
    cursor: pointer;
}

.uplyli-banner img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}

.uplyli-banner-overlay {
    position: absolute;
    bottom: 40px;
    left: 40px;
}

.uplyli-banner-title {
    font-family: 'MSCHN-M', sans-serif;
    font-size: 26px;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
}

/* Featured Products Section */
.uplyli-featured-products {
    padding: 80px 0 0px 0;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
}

.uplyli-section-header {
    display: flex;
    justify-content: space-between;
    align-items: self-start;
}

.uplyli-section-title {
    font-family: 'MSCHN-M', sans-serif;
    font-size: 21px;
    text-transform: uppercase;
    font-weight: 500;
}

.uplyli-section-nav {
    display: flex;
    gap: 40px;
}

.uplyli-section-nav a {
    font-family: 'MSCHN-M', sans-serif;
    color: #ccc;
    text-decoration: none;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.3s;

    border-bottom: 2px solid transparent;
    position: relative;
}

.uplyli-section-nav a:hover {
    color: #666;
}

.uplyli-section-nav a.active {
    color: rgb(0, 0, 0);
    border-bottom-color: rgb(0, 0, 0);
}

.uplyli-products-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
}

/* Featured Products Carousel on Homepage */
.uplyli-featured-carousel {
    position: relative;
    margin-top: 30px;
}

.uplyli-featured-carousel .uplyli-products-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 25px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    scrollbar-width: none !important;
}

.uplyli-featured-carousel .uplyli-products-slider::-webkit-scrollbar {
    display: none !important;
}

.uplyli-featured-carousel .uplyli-product-card {
    flex: 0 0 calc(25% - 19px) !important;
    min-width: 220px !important;
    max-width: 280px !important;
    scroll-snap-align: start !important;
    text-align: left;
    list-style: none;
}

/* Navigation arrows for featured carousel */
.uplyli-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-100%);
    z-index: 20;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #ddd;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.uplyli-carousel-nav:hover {
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.uplyli-carousel-nav.prev {
    left: -24px;
}

.uplyli-carousel-nav.next {
    right: -24px;
}

.uplyli-carousel-nav::before {
    content: '‹';
    font-size: 28px;
    line-height: 1;
    color: #000;
    font-weight: 300;
}

.uplyli-carousel-nav.next::before {
    content: '›';
}

.uplyli-carousel-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.uplyli-featured-carousel .uplyli-product-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 30px;
}

.uplyli-featured-carousel .uplyli-dot {
    width: 40px;
    height: 3px;
    border-radius: 0;
    background: rgba(0, 0, 0, 0.2);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background 0.3s;
}

.uplyli-featured-carousel .uplyli-dot.active {
    background: #000;
}

.uplyli-product-card {
    text-align: left;
}

.uplyli-product-image {
    display: block;
    overflow: hidden;
    margin-bottom: 15px;
    aspect-ratio: 3/4;
    border-radius: 15px;
}

.uplyli-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

/* ОТКЛЮЧЕНО: zoom эффект при наведении на карточку товара */
.uplyli-product-card:hover .uplyli-product-image img {
    transform: none;
}

.uplyli-product-name {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 8px;
    text-align: left;
    line-height: 1.3;
}

.uplyli-product-name a {
    color: #000;
    text-decoration: none;
}

.ci-item-product .woocommerce-loop-category__title,
.ci-item-product .woocommerce-loop-product__title,
li.product .woocommerce-loop-category__title,
li.product .woocommerce-loop-product__title {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
}

/* Hide quantity +/- buttons */
.quantity-wrap {
    display: none !important;
}

.uplyli-product-size {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 8px;
    text-align: left;
}

.uplyli-product-price {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 450 !important;
    text-align: left !important;
    color: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.uplyli-product-price .woocommerce-Price-amount.amount {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    margin: 0 !important;
}

.uplyli-product-price .woocommerce-Price-amount.amount bdi {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 450 !important;
}



/* Accessories Banner */
.uplyli-accessories-banner {
    position: relative;
    height: 60vh;
    min-height: 500px;
    overflow: hidden;
}

.uplyli-accessories-image {
    width: 100%;
    height: 100%;
}

.uplyli-accessories-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.uplyli-accessories-content {
    position: absolute;
    bottom: 80px;
    left: 60px;
    color: #fff;
}

.uplyli-accessories-title {
    font-size: 64px;
    font-weight: 500;
    margin-bottom: 15px;
    text-transform: uppercase;
}

.uplyli-accessories-text {
    font-family: 'MSCHN-M', sans-serif;
    font-size: 16px;
    text-transform: uppercase;
}

/* Customers Section - HIDDEN until real photos are available */
.uplyli-customers {
    display: none !important; /* TODO: Remove when real customer photos are ready */
    padding: 80px 40px;
    max-width: 100%;
    margin: 0 auto;
}

.uplyli-customers-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.uplyli-customer-photo {
    aspect-ratio: 3/4;
    overflow: hidden;
}

.uplyli-customer-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.uplyli-customer-photo:hover img {
    transform: scale(1.05);
}


/* ============================================
   FOOTER - REFACTORED
   CSS Variables & Consolidated Styles
   ============================================ */

:root {
    --footer-bg: #f5f3ee;
    --footer-text: #000;
    --footer-link-hover: 0.6;
    --footer-border: #ddd;
    --footer-padding-desktop: 60px 40px 0 40px;
    --footer-padding-mobile: 40px 20px 0 20px;
    --footer-menu-gap: 40px;
    --footer-transition: 0.3s ease;
}

/* 2.2.1 Base Footer Styles */
.uplyli-footer {
    background: var(--footer-bg);
    padding: var(--footer-padding-desktop);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

.uplyli-footer__container {
    max-width: 100%;
    margin: 0 auto;
}

/* 2.2.2 Desktop Layout (min-width: 769px) */
@media (min-width: 769px) {
    .uplyli-footer__container {
        display: grid;
        grid-template-columns: 1.2fr 3fr;
        grid-template-rows: auto auto;
        gap: var(--footer-menu-gap);
    }

    .uplyli-footer__info {
        grid-column: 1;
        grid-row: 1;
    }

    .uplyli-footer__menus {
        grid-column: 2;
        grid-row: 1;
        display: grid;
        grid-template-columns: repeat(2, auto);
        gap: var(--footer-menu-gap);
        justify-content: flex-end;
    }

    .uplyli-footer__bottom {
        grid-column: 1 / -1;
        grid-row: 2;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 16px;
        padding-top: 20px;
    }

    .uplyli-footer__logo {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    /* Hide mobile-only elements on desktop */
    .mobile-only {
        display: none !important;
    }

    .desktop-only {
        display: flex !important;
    }

    /* Hide accordion titles on desktop */
    .uplyli-footer__menu-title {
        display: none;
    }

    /* Show menus on desktop */
    .uplyli-footer__menu {
        display: block;
    }
}

/* Info Section */
.uplyli-footer__info {
    display: flex;
    flex-direction: column;
}

.uplyli-footer__worktime,
.uplyli-footer__copyright {
    font-size: 14px;
    font-weight: 400;
    color: var(--footer-text);
}

.uplyli-footer__worktime {
    margin-bottom: 0;
}

.uplyli-footer__copyright {
    margin-bottom: 8px;
    text-transform: uppercase;
}

/* Social Icons */
.uplyli-footer__social {
    display: flex;
    gap: 16px;
    margin-top: 12px;
}

.uplyli-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity var(--footer-transition);
}

.uplyli-footer__social-link:hover {
    opacity: var(--footer-link-hover);
}

.uplyli-footer__social-link img {
    width: 48px;
    height: 48px;
    display: block;
}

/* Company Details */
.uplyli-footer__company-details {
    margin-top: 20px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--footer-text);
}

.uplyli-footer__company-details p {
    margin: 0 0 4px 0;
}

.uplyli-footer__company-details a {
    color: var(--footer-text);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.uplyli-footer__company-details a:hover {
    opacity: var(--footer-link-hover);
}

/* Menu Columns */
.uplyli-footer__menu-col {
    position: relative;
}

.uplyli-footer__menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.uplyli-footer__menu li {
    margin-bottom: 10px;
}

.uplyli-footer__menu a {
    color: var(--footer-text);
    text-decoration: none;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    transition: opacity var(--footer-transition);
}

.uplyli-footer__menu a:hover {
    opacity: var(--footer-link-hover);
}

.uplyli-footer__menu a:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Chat Button */
.uplyli-footer__chat-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 99px;
    height: 53px;
    background: #000;
    color: #fff;
    border-radius: 11px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    transition: all var(--footer-transition);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.uplyli-footer__chat-btn:hover {
    background: #333;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
    transform: translateY(-2px);
}

.uplyli-footer__chat-btn:focus {
    outline: 2px solid #000;
    outline-offset: 2px;
}

/* Footer Logo */
.uplyli-footer__logo {
    text-align: center;
    padding-top: 40px;
    margin-top: 30px;
    border-top: none;
}

.uplyli-footer__logo-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* 2.2.3 Mobile Layout (max-width: 768px) */
@media (max-width: 768px) {
    .uplyli-footer {
        padding: var(--footer-padding-mobile);
    }

    .uplyli-footer__container {
        display: block;
    }

    /* Hide desktop-only elements on mobile */
    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }
    
    .uplyli-footer__social.mobile-only {
        display: flex !important;
    }

    /* Info Section - Mobile */
    .uplyli-footer__info {
        text-align: left;
        margin-bottom: 30px;
    }

    .uplyli-footer__worktime,
    .uplyli-footer__copyright {
        font-size: 14px;
    }

    .uplyli-footer__copyright {
        margin-bottom: 10px;
    }

    /* Menus Grid - Mobile */
    .uplyli-footer__menus {
        display: block;
    }

    /* Menu Column - Accordion Style */
    .uplyli-footer__menu-col {
        border-bottom: 1px solid #000000;
    }

    /* Accordion Title Button */
    .uplyli-footer__menu-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 15px 0;
        background: transparent;
        border: none;
        cursor: pointer;
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
        text-transform: uppercase;
        color: var(--footer-text);
        text-align: left;
    }

    .uplyli-footer__menu-title:focus {
        outline: none;
    }

    /* Menu Link (non-accordion, styled like title) */
    .uplyli-footer__menu-link {
        display: block;
        padding: 15px 0;
        font-size: 14px;
        font-weight: 600;
        text-transform: uppercase;
        color: #000000;
        text-decoration: none;
    }

    .uplyli-footer__menu-link:visited {
        color: #000000;
    }

    .uplyli-footer__menu-link:hover {
        opacity: var(--footer-link-hover);
    }

    .uplyli-footer__menu-col--link {
        border-bottom: 1px solid #000000;
    }

    /* Plus/Minus Icon */
    .uplyli-footer__menu-title::after {
        content: '+';
        font-size: 24px;
        font-weight: 300;
        line-height: 1;
        transition: transform var(--footer-transition);
    }

    .uplyli-footer__menu-col.is-active .uplyli-footer__menu-title::after {
        content: '−';
    }

    /* Menu - Hidden by default on mobile */
    /* max-height is controlled dynamically via JS using scrollHeight for smooth animation */
    .uplyli-footer__menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height var(--footer-transition);
    }

    /* Fallback for no-JS: show menu if is-active class is present */
    .uplyli-footer__menu-col.is-active .uplyli-footer__menu {
        /* JS sets exact max-height via scrollHeight; this is a fallback */
    }

    .uplyli-footer__menu li {
        padding: 10px 0;
        margin-bottom: 0;
    }

    .uplyli-footer__menu li a {
        font-size: 13px;
        color: #333;
    }

    /* Bottom Section - Mobile */
    .uplyli-footer__bottom {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        margin-top: 30px;
    }

    /* Social Icons - Mobile */
    .uplyli-footer__social.mobile-only {
        justify-content: flex-start;
    }

    .uplyli-footer__social-link img {
        width: 48px;
        height: 48px;
    }

    /* Chat Button - Mobile */
    .uplyli-footer__chat-btn {
        width: auto;
        min-width: 99px;
    }

    /* Logo - Mobile */
    .uplyli-footer__logo {
        width: 100%;
        margin-top: 40px;
        padding-top: 0;
        border-top: none;
    }

    .uplyli-footer__logo-img {
        width: 100%;
        max-width: 100%;
    }
}

/* Logo Styles (Header) */
.uplyli-logo-svg {
    height: 35px;
    width: auto;
    display: block;
}

.uplyli-header-logo img {
    max-height: 35px;
    width: auto;
}

/* Homepage Container Fix */
.uplyli-homepage {
    padding: 0;
}

/* Global max-width fix */
.uplyli-hero,
.uplyli-category-banners,
.uplyli-featured-products,
.uplyli-accessories-banner,
.uplyli-customers,
.uplyli-section-header,
.uplyli-products-grid,
.uplyli-banners-grid,
.uplyli-customers-grid {}

/* Global max-width for all elements */
* {}

/* Add 40px padding to all homepage sections */

.uplyli-category-banners,
.uplyli-featured-products,

.uplyli-customers {
    padding-left: 40px;
    padding-right: 40px;
}

/* Fix banners - show more image */
.uplyli-banner img {}

/* Fix product cards - equal width */
.uplyli-product-card {
    min-width: 0;
    width: 100%;
}

.uplyli-products-grid {}

/* ============================================
   PROMO BANNER
   ============================================ */

.uplyli-promo-banner {
    background: #000;
    color: #fff;
    text-align: center;
    padding: 12px 20px;
    position: relative;
    font-size: 13px;
    text-transform: uppercase;
}

.uplyli-promo-banner p {
    margin: 0;
    font-weight: 500;
}

.uplyli-promo-banner a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s;
}

.uplyli-promo-banner a:hover {
    color: #d80d61;
}

.uplyli-promo-close {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    opacity: 0.7;
    transition: opacity 0.3s;
}

.uplyli-promo-close:hover {
    opacity: 1;
}

/* Update header background to white */
.uplyli-header {
    background: #fff;
}

/* Chat Widget - Legacy class for backwards compatibility */
.uplyli-chat-widget {
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 9999;
}

/* Note: .uplyli-chat-button styles moved to FOOTER - REFACTORED section as .uplyli-footer__chat-btn */

/* ========================================
   DROP PAGE STYLES - FINAL CLEAN VERSION
   ======================================== */

/* Container */
.drop-page-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 40px;
}

/* Header */
.drop-header {
    flex-direction: row !important;
    align-items: start !important;
    justify-content: space-between !important;
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
    border-bottom: 0 !important;
}

/* Mobile styles for drop-title - desktop styles are in archive.css */
.drop-title {
    font-family: 'Inter', sans-serif;
    font-size: 28px;
    font-weight: 450;
    text-transform: uppercase;
    margin: 0;
    color: #111;
    text-align: left;
}

.drop-sort-wrapper {
    line-height: 0 !important;
}

.drop-header-actions {
    gap: 20px !important;
    align-items: center !important;
}

.drop-filter-toggle,
.drop-sort {
    background: none !important;
    border: none !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    color: #666 !important;
    transition: color 0.3s !important;
    padding: 0 !important;
}

.drop-filter-toggle {
    line-height: 0 !important;
}

.drop-filter-toggle:hover,
.drop-sort:hover {
    color: #111 !important;
}

/* Sort Dropdown */
.drop-sort-wrapper {
    position: relative;
}

.drop-sort .arrow {
    stroke: #666;
    display: inline-block;
    margin-left: 5px;
    transition: transform 0.3s;
}

.drop-sort-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 10px;
    background: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.drop-sort-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.drop-sort-dropdown a {
    display: block;
    padding: 12px 20px;
    font-size: 11px;
    text-transform: uppercase;
    color: #666;
    text-decoration: none;
    transition: all 0.3s;
}

.drop-sort-dropdown a:hover {
    background: #f5f5f5;
    color: #111;
}

/* Filters Panel */
.drop-filters-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    margin-bottom: 20px;
}

.drop-filters-panel.active {
    max-height: 500px;
}

.filters-content {
    padding: 30px;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
}

.filters-content h3 {
    font-size: 11px;
    text-transform: uppercase;
    margin: 20px 0 10px 0;
    color: #111;
}

.filters-content h3:first-child {
    margin-top: 0;
}

.filters-content label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 8px;
    cursor: pointer;
}

.filters-content label:hover {
    color: #111;
}

.filters-content input[type="checkbox"] {
    margin-right: 8px;
}

/* Products Grid - 2x2 layout for drops archive */
.drop-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-rows: auto !important;
    align-items: start !important;
    gap: 8px 6px !important;
    margin-bottom: 12px !important;
}

/* All product cards same size - no large cards */
.drop-product-card {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
}

.drop-product-card .drop-product-image {
    aspect-ratio: 4 / 5 !important;
    background: transparent !important;
    border-radius: 10px !important;
}

.drop-product-card .drop-product-info {
    display: block !important;
}

/* Product Cards */
.drop-product-card {
    position: relative;
    cursor: pointer;
}

/* Product image styles moved to plugin archive.css */

/* Zoom on hover disabled - using image switch instead */
.drop-product-card:hover .drop-product-image img {
    transform: none;
}

.drop-product-info {
    text-align: left;
}

.drop-product-title {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 2px;
    color: #111;
    line-height: 1.2;
}

.drop-product-meta {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0;
}

.drop-product-sizes {
    font-size: 9px;
    text-transform: uppercase;
    color: #888;
}

.drop-product-price {
    font-size: 11px;
    color: #111;
    font-weight: 500;
}

/* Footer CTA */
.drop-footer-cta {
    text-align: center;
    margin-top: 60px;
}

.drop-btn-all {
    background: #111;
    color: #fff;
    border: none;
    padding: 16px 80px;
    font-size: 11px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s;
}

.drop-btn-all:hover {
    background: #333;
}

/* Responsive */
@media (max-width: 1200px) {
    .drop-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .drop-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .drop-product-card:nth-child(3),
    .drop-product-card:nth-child(8) {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }

    .drop-product-card:nth-child(3) .drop-product-info,
    .drop-product-card:nth-child(8) .drop-product-info {
        display: block !important;
    }
}

/* Product Image Dots - Progress Bars Style */
.uplyli-product-dots {
    position: absolute;
    bottom: 12px;
    left: 15px;
    right: 15px;
    transform: none;
    display: flex;
    gap: 4px;
    z-index: 10;
}

.uplyli-dot {
    flex: 1;
    height: 2px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.5);
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border: none;
    padding: 0;
}

.uplyli-dot.active {
    background: #000;
}

/* Catalog: limit to 3 progress bars max */
.uplyli-card-slider:not(.uplyli-product-main-image) .uplyli-dot:nth-child(n+4) {
    display: none;
}

/* Price layout - vertical stack */
.drop-product-meta {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 2px !important;
}

.drop-product-sizes {
    font-size: 10px;
    text-transform: uppercase;
    color: #999;
}

.drop-product-price {
    font-size: 11px;
    color: #111;
    font-weight: 400;
}

/* Border radius moved to plugin */

/* Button border radius */
.drop-btn-all {
    border-radius: 14px !important;
}

/* Archive Product Page */
.uplyli-archive-page {
    padding: 40px;
}

.uplyli-archive-container {
    max-width: 100%;
    margin: 0 auto;
}

/* Archive Header */
.uplyli-archive-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.uplyli-archive-title {
    font-size: 24px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.uplyli-archive-controls {
    display: flex;
    gap: 20px;
    align-items: center;
}

.uplyli-filter-button {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #000;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    letter-spacing: 0.5px;
}

.uplyli-filter-icon {
    font-size: 16px;
}

/* Products Grid */
.uplyli-archive-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1000px));
    gap: 30px;
    margin-bottom: 60px;
}

.uplyli-archive-product-card {
    display: flex;
    flex-direction: column;
}

.uplyli-archive-product-image {
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 11px;
    margin-bottom: 15px;
    display: block;
}

.uplyli-archive-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.uplyli-archive-product-image:hover img {
    transform: scale(1.05);
}

.uplyli-archive-product-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.uplyli-archive-product-name {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.4;
}

.uplyli-archive-product-name a {
    color: #000;
    text-decoration: none;
}

.uplyli-archive-product-name a:visited {
    color: #000;
}

.uplyli-archive-product-name a:hover {
    color: #000;
}

.uplyli-archive-product-sizes {
    font-size: 12px;
    color: #666;
}

.uplyli-archive-product-price {
    font-size: 16px;
    font-weight: 600;
}

.uplyli-archive-product-price del {
    color: #999;
    margin-left: 10px;
    font-weight: 400;
}

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

/* === Пагинация с номерами страниц === */
.woocommerce-pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 30px 0;
    padding: 20px 0;
    width: 100%;
}

.woocommerce-pagination ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
    width: auto;
}

.woocommerce-pagination li {
    margin: 0;
    flex-shrink: 0;
    display: inline-flex !important;
}

.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 10px 14px;
    text-decoration: none;
    color: #000;
    font-weight: 400;
    font-size: 14px;
    border: none;
    border-radius: 0;
    background: transparent;
    transition: background-color 0.2s ease;
}

/* Стрелки навигации (кнопки Назад/Далее) */
.woocommerce-pagination a.prev,
.woocommerce-pagination a.next {
    background: #000;
    color: #fff;
    border-radius: 15px;
    padding: 10px 15px;
    white-space: nowrap;
}

.woocommerce-pagination a.prev:hover,
.woocommerce-pagination a.next:hover {
    background: #333;
}

.woocommerce-pagination .pagination-arrow {
    font-size: 14px;
    line-height: 1;
}

/* Текущая страница (серый цвет) */
.woocommerce-pagination span.current {
    color: #999;
    background: transparent;
}

/* Номера страниц при наведении */
.woocommerce-pagination a.page-numbers:not(.prev):not(.next):hover {
    background: #f0f0f0;
}

/* Многоточие */
.woocommerce-pagination span.dots {
    color: #000;
    min-width: auto;
    padding: 10px 4px;
}

/* === Drop card slider (pagination arrows + dots) === */
/* Слайдер в карточке - Native Scroll Snap */
.uplyli-card-slider {
    position: relative;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
}

.uplyli-card-slide-link {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    overflow-x: scroll;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    clip-path: inset(0); /* Visually clip overflowing content */
}

.uplyli-card-slide-link::-webkit-scrollbar {
    display: none; /* Chrome/Safari/Opera */
}

.uplyli-card-slide {
    width: 100%;
    min-width: 100%;
    height: auto;
    display: block;
    flex-shrink: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    object-fit: cover;
}

.uplyli-card-slider.initialized .uplyli-card-slide {
    display: block;
}

/* Стрелки */
/* Arrows - hidden on mobile by default */
.uplyli-card-nav {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 12;
    padding: 8px;
}

.uplyli-card-nav.prev {
    left: 8px;
}

.uplyli-card-nav.next {
    right: 8px;
}

.uplyli-card-nav::before {
    content: '‹';
    font-size: 32px;
    line-height: 1;
    color: #000;
    font-weight: 300;
}

.uplyli-card-nav.next::before {
    content: '›';
}

/* Desktop only: Show arrows with hover effect */
@media (min-width: 1024px) {
    .uplyli-card-nav {
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0.6;
        transition: opacity 0.2s ease;
    }

    .uplyli-card-nav:hover {
        opacity: 1;
    }
}

/* ============================================
   DROP PAGE - MOBILE RESPONSIVE STYLES (2 COLUMN GRID)
   ============================================ */

@media (max-width: 768px) {

    /* Container */
    .drop-page-container {
        padding: 15px;
    }

    .uplyli-footer-menu-col:nth-child(6) {
        display: block
    }

    /* Header */
    .drop-header {
        gap: 15px;
        margin-bottom: 20px !important;
    }

    .drop-title {
        font-size: 28px !important;
        text-align: left;
    }

    .drop-header-actions {
        width: 100%;
        justify-content: space-between;
    }

    .drop-filter-toggle,
    .drop-sort {
        padding: 10px 15px;
        font-size: 12px;
    }

    /* Remove border-radius from card slides on mobile */
    .uplyli-card-slide {
        border-radius: 0 !important;
    }

    /* Filters Panel */
    .drop-filters-panel {
        width: 100%;
        left: 0;
        right: 0;
        border-radius: 0;
    }

    .filters-content {
        padding: 20px 15px;
    }

    .filters-content h3 {
        font-size: 14px;
        margin: 15px 0 10px;
    }

    .filters-content label {
        font-size: 13px;
        padding: 8px 0;
    }

    /* Sort Dropdown */
    .drop-sort-dropdown {
        width: 100%;
        right: 0;
    }

    /* Products Grid - 2 columns with large card every 3rd and 8th */
    .drop-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px 6px !important;
    }

    /* Product Cards */
    .drop-product-card {
        width: 100%;
    }

    /* All product cards same size in grid */

    /* Product image styles moved to plugin */

    .drop-product-info {
        padding: 2px 0;
    }

    .drop-product-title {
        font-size: 10px !important;
        margin-bottom: 2px;
        line-height: 1.2;
    }

    .drop-product-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .drop-product-sizes,
    .drop-product-price {
        font-size: 11px !important;
    }

    /* Footer CTA */
    .drop-footer-cta {
        margin: 30px 0;
    }

    .drop-btn-all {
        width: 100%;
        padding: 15px;
        font-size: 14px;
    }

    /* Card Slider Navigation */

    .uplyli-card-nav::before {
        font-size: 16px;
    }

    /* Product Dots - Progress Bars */
    .uplyli-product-dots {
        bottom: 8px;
        left: 10px;
        right: 10px;
        gap: 3px;
    }

    .uplyli-dot {
        height: 2px;
    }
}

@media (max-width: 480px) {
    .drop-page-container {
        padding: 10px;
    }

    .drop-title {
        font-size: 28px !important;
    }

    .drop-filter-toggle,
    .drop-sort {
        font-size: 10px;
        padding: 8px 10px;
    }

    .drop-products-grid {
        gap: 8px 6px !important;
    }

    .drop-product-title {
        font-size: 10px !important;
    }

    .drop-product-sizes,
    .drop-product-price {
        font-size: 9px !important;
    }

}

/* Drop description styles */
.drop-description {
    max-width: 800px;
    margin: 20px auto;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    text-align: center;
    display: none;
}

/* Mobile adjustments for drop page */
@media (max-width: 768px) {
    .drop-title {
        font-size: 28px !important;
    }

    .drop-description {
        font-size: 16px !important;
        margin: 15px 0 20px !important;
        text-align: left !important;
        display: block;
    }

    /* Hide filter and sort buttons on mobile */
    .drop-header-actions {
        display: none !important;
    }

    /* Hide filters panel on mobile */
    .drop-filters-panel {
        display: none !important;
    }
}

/* Drop Category Navigation */
.drop-category-nav {
    gap: 30px;
    justify-content: center;
    font-size: 16pt;
    display: flex;
}

.category-link {
    font-size: 16px;
    font-weight: 400;
    color: #999;
    text-decoration: none;
    text-transform: uppercase;
    position: relative;
    transition: color 0.3s;
}

.category-link:hover {
    color: #333;
}

.category-link.active {
    color: #000;
    border-bottom: 2px solid #000;
}

@media (max-width: 768px) {
    .drop-category-nav {
        gap: 15px !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        padding: 0 15px !important;
        justify-content: space-between;
    }

    .drop-category-nav::-webkit-scrollbar {
        display: none;
    }

    .category-link {
        font-size: 14px !important;
        white-space: nowrap !important;
        flex-shrink: 0;
    }
}

/* Hide hamburger on desktop */
.uplyli-mobile-menu-toggle {
    display: none;
}

/* Header Mobile Styles */
/* Header Mobile Styles */
@media (max-width: 768px) {
    .uplyli-promo-banner {
        font-size: 11px !important;
        padding: 8px 35px 8px 10px !important;
    }

    .uplyli-promo-close {
        right: 10px !important;
        font-size: 18px !important;
    }

    .uplyli-header-container {
        position: relative !important;
        padding: 15px 0 !important;
        min-height: 60px !important;
    }

    /* Hide desktop navigation */
    .uplyli-header-nav-left,
    .uplyli-header-nav-right > ul,
    .uplyli-header-nav-right > .menu {
        display: none !important;
    }

    /* АКТИВНЫЙ ГАМБУРГЕР С ВИЗУАЛЬНЫМ ФИДБЕКОМ */
    .uplyli-mobile-menu-toggle {
        flex-direction: column;
        display: flex !important;
        justify-content: center;
        position: absolute !important;
        left: 15px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        background: none;
        padding-bottom: 5px;
        border: none;
        cursor: pointer;
        z-index: 10001 !important;
        -webkit-tap-highlight-color: transparent;
    }

    .uplyli-mobile-menu-toggle span {
        display: block;
        width: 32px;
        height: 2px;
        background: #000;
        margin: 3px 0;
        transition: all 0.3s ease;
    }

    /* АНИМАЦИЯ ГАМБУРГЕРА В КРЕСТИК */
    .uplyli-mobile-menu-toggle.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .uplyli-mobile-menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .uplyli-mobile-menu-toggle.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -7px);
    }

    /* ЛОГОТИП - ТОЧНО ПО ЦЕНТРУ */
    .uplyli-header-logo {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
    }

    .uplyli-header-logo img {
        max-height: 27px !important;
    }

    /* ПРАВЫЕ ИКОНКИ (account, cart) - 15PX СПРАВА */
    .uplyli-header-nav-right {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        gap: 15px !important;
        padding-right: 15px !important;
    }

    .uplyli-account-icon,
    .uplyli-cart-icon {
        width: 20px !important;
        height: 20px !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
    }

    .uplyli-account-icon svg,
    .uplyli-cart-icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    .cart-count {
        right: 2px !important;

    }

    /* ОВЕРЛЕЙ - ВЫСОКИЙ Z-INDEX */
    .uplyli-menu-overlay {
        position: fixed !important;
        display: block !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        background: rgba(0, 0, 0, 0.5) !important;
        z-index: 9998 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: opacity 0.3s, visibility 0.3s !important;
    }

    .uplyli-menu-overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* МОБИЛЬНОЕ МЕНЮ - ПОВЕРХ ВСЕГО */
    .uplyli-mobile-menu {
        position: fixed !important;
        display: block !important;
        top: 0 !important;
        left: -100% !important;
        width: 280px !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 9999 !important;
        padding: 80px 20px 20px !important;
        transition: left 0.3s ease !important;
        overflow-y: auto !important;
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1) !important;
    }

    .uplyli-mobile-menu.active {
        left: 0 !important;
    }

    .uplyli-mobile-menu a {
        display: block !important;
        padding: 15px 0 !important;
        color: #000 !important;
        text-decoration: none !important;
        font-family: 'MSCHN-M', sans-serif !important;
        font-size: 16px !important;
        font-weight: 450 !important;
        text-transform: uppercase !important;
        border-bottom: 1px solid #f0f0f0 !important;
        transition: padding-left 0.2s !important;
    }

    .uplyli-mobile-menu a:active {
        padding-left: 10px !important;
        background: #f9f9f9 !important;
    }

    /* Sale link - красный цвет */
    .uplyli-mobile-menu a.mobile-menu-sale {
        color: #e53935 !important;
    }

    /* Mobile Menu Subcategories */
    .mobile-menu-item {
        border-bottom: 1px solid #f0f0f0;
    }

    .mobile-menu-item.has-submenu {
        border-bottom: 1px solid #f0f0f0;
    }

    .mobile-menu-parent {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 0;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-menu-title {
        font-family: 'MSCHN-M', sans-serif;
        font-size: 16px;
        font-weight: 450;
        text-transform: uppercase;
        color: #000;
    }

    .mobile-submenu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        transition: transform 0.3s ease;
    }

    .mobile-menu-item.open > .mobile-menu-parent > .mobile-submenu-toggle {
        transform: rotate(180deg);
    }
    
    /* Для вложенных пунктов - поворот на 90 градусов */
    .mobile-menu-item.nested.open > .mobile-menu-parent > .mobile-submenu-toggle {
        transform: rotate(90deg) !important;
    }

    .mobile-submenu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        background: #fafafa;
        margin: 0 -20px;
        padding: 0 20px;
    }

    .mobile-submenu a {
        display: block;
        padding: 12px 15px !important;
        font-size: 14px !important;
        color: #333 !important;
        border-bottom: none !important;
        background: transparent !important;
    }

    .mobile-submenu a:last-child {
        margin-bottom: 10px;
    }

    .mobile-submenu a:active {
        background: #f0f0f0 !important;
    }
    
    /* Вложенные мобильные подменю */
    .mobile-menu-item.nested {
        margin: 0;
        padding: 0;
    }
    
    .mobile-menu-item.nested .mobile-menu-parent {
        padding: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: transparent;
        cursor: pointer;
    }
    
    .mobile-menu-item.nested .mobile-menu-title-link {
        display: block;
        padding: 12px 15px !important;
        font-size: 14px !important;
        color: #333 !important;
        text-decoration: none;
        flex: 1;
        text-transform: uppercase;
    }
    
    .mobile-menu-item.nested .mobile-submenu-toggle {
        padding: 12px 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
    }
    
    .mobile-menu-item.nested .mobile-submenu-toggle svg {
        transition: transform 0.3s ease;
        width: 12px;
        height: 12px;
        stroke: #333;
    }
    
    .mobile-menu-item.nested.open .mobile-submenu-toggle svg {
        transform: rotate(90deg);
    }
    
    .mobile-submenu .nested-submenu,
    .mobile-menu-item.nested > .nested-submenu {
        padding-left: 15px;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    
    .mobile-menu-item.nested.open > .mobile-submenu > .nested-submenu,
    .mobile-menu-item.nested.open > .nested-submenu {
        max-height: 1000px;
    }
    
    .nested-submenu a {
        padding: 10px 15px !important;
        font-size: 13px !important;
        color: #666 !important;
        text-transform: uppercase !important;
    }
    
    /* Ссылка-заголовок в подменю */
    .mobile-menu-title-link {
        text-decoration: none;
        color: inherit;
    }
    
    /* Вложенные пункты внутри mobile-submenu */
    .mobile-submenu > .mobile-menu-item.nested {
        margin: 0;
        padding: 0;
        background: transparent;
    }
    
    .mobile-submenu > .mobile-menu-item.nested > .nested-submenu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        margin: 0;
        padding: 0;
    }
    
    .mobile-submenu > .mobile-menu-item.nested.open > .nested-submenu {
        max-height: 1000px;
    }
    
    .mobile-submenu > .mobile-menu-item.nested > .nested-submenu a {
        padding: 10px 15px 10px 30px !important;
        font-size: 13px !important;
        color: #666 !important;
        text-transform: uppercase;
    }

    /* Mobile icons old class (if exists) */
    .uplyli-header-icons {
        display: none !important;
    }
}

/* Legacy footer classes removed - see FOOTER - REFACTORED section */

/* ========================================
   HOMEPAGE MOBILE ADAPTATION
   ======================================== */

@media (max-width: 768px) {
    /* Hero styles consolidated in HERO BANNER SECTION above */

    .uplyli-category-banners {
        gap: 15px !important;
        padding: 20px 15px !important;
    }

    .uplyli-banner {
        width: 100% !important;
        height: auto !important;

    }

    .uplyli-banner-image {
        width: 100% !important;
    }

    .uplyli-banner-image img {
        width: 100% !important;
        object-fit: cover !important;
    }

    .uplyli-banner-title {
        font-size: 20px !important;
        bottom: 20px !important;
        left: 20px !important;
    }

    /* Featured Products Section */
    .uplyli-featured-products {
        padding: 30px 15px !important;
        overflow: hidden !important;
        position: relative !important;
    }

    .uplyli-featured-header {
        align-items: flex-start !important;
        margin-bottom: 20px !important;
    }

    .uplyli-featured-title {
        font-size: 20px !important;
        margin-bottom: 15px !important;
    }

    .uplyli-featured-filters {
        width: 100% !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        flex-wrap: wrap !important;
    }

    .uplyli-filter-btn {
        font-size: 12px !important;
        padding: 8px 15px !important;
    }

    .uplyli-products-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Featured Carousel Mobile */
    .uplyli-featured-carousel {
        margin-top: 20px !important;
    }
    
    .uplyli-featured-carousel .uplyli-products-slider {
        gap: 10px !important;
        padding: 0 !important;
    }
    
    .uplyli-featured-carousel .uplyli-product-card {
        flex: 0 0 calc(50% - 5px) !important;
        min-width: unset !important;
        max-width: calc(50% - 5px) !important;
        width: calc(50% - 5px) !important;
    }
    
    /* Hide arrows on mobile - use swipe instead */
    .uplyli-featured-carousel .uplyli-carousel-nav {
        display: none !important;
    }
    
    .uplyli-featured-carousel .uplyli-product-dots {
        display: flex !important;
        margin-top: 20px !important;
        gap: 4px !important;
    }
    
    .uplyli-featured-carousel .uplyli-dot {
        flex: 1 !important;
        max-width: none !important;
        width: auto !important;
        height: 2px !important;
    }

    .uplyli-product-card {
        width: 100% !important;
    }

    .uplyli-product-image {
        aspect-ratio: 3/4 !important;
        margin-bottom: 10px !important;
    }

    .uplyli-product-image img {
        width: 100% !important;
        object-fit: cover !important;
    }

    .uplyli-product-title {
        font-size: 12px !important;
        margin-bottom: 5px !important;
        line-height: 1.3 !important;
    }

    .uplyli-product-size {
        font-size: 12px !important;
        margin-bottom: 0 !important;
    }

    .uplyli-product-price {
        font-size: 12px !important;
        margin-top: 0 !important;
    }

    /* Accessories Banner */
    .uplyli-accessories-banner {
        padding: 0 !important;
        margin: 30px 0 !important;
        overflow: hidden !important;
        position: relative !important;
        display: block !important;
        /* Set explicit height based on image aspect ratio */
        aspect-ratio: 1/1 !important;
        width: 100% !important;
    }

    .uplyli-accessories-image {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .uplyli-accessories-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* iOS fix: Move content inside image container */
    .uplyli-accessories-content {
        position: absolute !important;
        bottom: 30px !important;
        left: 20px !important;
        right: 20px !important;
        width: auto !important;
        padding: 0 !important;
        z-index: 2 !important;
        -webkit-transform: translateZ(0) !important;
        transform: translateZ(0) !important;
    }

    .uplyli-accessories-title {
        font-size: 24px !important;
        margin-bottom: 10px !important;
        color: #fff !important;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
        -webkit-font-smoothing: antialiased !important;
    }

    .uplyli-accessories-text {
        font-size: 14px !important;
        color: #fff !important;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
        -webkit-font-smoothing: antialiased !important;
        /* iOS fix: limit text width and ensure wrapping */
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }

    /* Customers Section */
    .uplyli-customers {
        padding: 30px 15px !important;
    }

    .uplyli-customers-title {
        font-size: 20px !important;
        margin-bottom: 20px !important;
        text-align: center !important;
    }

    .uplyli-customers-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .uplyli-customer-image {
        width: 100% !important;
        aspect-ratio: 1 !important;
        overflow: hidden !important;
    }

    .uplyli-customer-image img {
        width: 100% !important;
        object-fit: cover !important;
    }
}

/* Banners Grid Mobile - Row Layout */
@media (max-width: 768px) {
    .uplyli-banners-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        padding: 15px !important;
    }

    .uplyli-banner {
        min-height: 250px !important;

    }
}

/* Section Header Mobile - Column Layout */
@media (max-width: 768px) {
    .uplyli-section-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        margin-bottom: 0 !important;
    }

    .uplyli-section-title {
        font-size: 20px !important;
        margin-bottom: 6px !important;
    }

    .uplyli-section-nav {
        width: 100% !important;
        margin-top: 12px !important;
        margin-bottom: 15px !important;
        padding: 0 30px !important;
        justify-content: space-between !important;
    }

    .uplyli-section-nav a {
        font-size: 12px !important;
    }
}

/* Products Grid Mobile - Horizontal Scroll Slider */
@media (max-width: 768px) {
    .uplyli-products-wrapper {
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .uplyli-products-grid {
        display: flex !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 8px !important;
        padding: 0 10px !important;
        scrollbar-width: none !important;
        /* Firefox */
    }

    /* Hide scrollbar for Chrome, Safari */
    .uplyli-products-grid::-webkit-scrollbar {
        display: none !important;
    }

    /* Mobile: exactly 2 cards visible - calc: (100% - padding*2 - gap) / 2 = (100% - 20px - 8px) / 2 */
    .uplyli-products-grid .uplyli-product-card {
        flex: 0 0 calc((100% - 28px) / 2) !important;
        width: calc((100% - 28px) / 2) !important;
        min-width: calc((100% - 28px) / 2) !important;
        max-width: calc((100% - 28px) / 2) !important;
        scroll-snap-align: start !important;
    }

    .uplyli-products-grid .uplyli-product-image {
        border-radius: 15px;
        width: 100% !important;
        aspect-ratio: 3/4 !important;
        margin-bottom: 8px !important;
    }

    .uplyli-products-grid .uplyli-product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .uplyli-products-grid .uplyli-product-name,
    .uplyli-products-grid .uplyli-product-name a {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }
    
    .uplyli-products-grid .uplyli-product-size {
        font-size: 11px !important;
    }
    
    .uplyli-products-grid .uplyli-product-price,
    .uplyli-products-grid .uplyli-product-price .woocommerce-Price-amount,
    .uplyli-products-grid .uplyli-product-price .woocommerce-Price-amount.amount,
    .uplyli-products-grid .uplyli-product-price .woocommerce-Price-amount.amount bdi {
        font-size: 14px !important;
    }
    
    /* Product info - align text to left edge of image */
    .uplyli-products-grid .uplyli-product-info {
        padding: 0 !important;
        margin-top: 8px !important;
        background: transparent !important;
        text-align: left !important;
    }
}


/* ========================================
   PRODUCT PAGE MOBILE ADAPTATION
   ======================================== */

@media (max-width: 768px) {

    /* Product Gallery */
    .woocommerce-product-gallery {
        margin: 0 !important;
        padding: 0 !important;
    }

    .woocommerce-product-gallery__wrapper {
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .woocommerce-product-gallery__wrapper::-webkit-scrollbar {
        display: none !important;
    }

    .woocommerce-product-gallery__image {
        flex: 0 0 100% !important;
        width: 100% !important;
        scroll-snap-align: start !important;
    }

    .woocommerce-product-gallery__image img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }

    /* Gallery dots/pagination */
    .woocommerce-product-gallery ol {
        position: absolute !important;
        bottom: 20px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        gap: 8px !important;
        z-index: 10 !important;
    }

    .woocommerce-product-gallery ol li {
        width: 8px !important;
        height: 8px !important;
        border-radius: 50% !important;
        background: rgba(255, 255, 255, 0.5) !important;
    }

    .woocommerce-product-gallery ol li.flex-active-slide {
        background: #fff !important;
        width: 24px !important;
        border-radius: 4px !important;
    }

    /* Product Summary */
    .summary.entry-summary {
        padding: 20px 15px !important;
    }

    /* Product Title */
    .product_title {
        font-size: 20px !important;
        line-height: 1.2 !important;
        margin-bottom: 15px !important;
        text-transform: uppercase !important;
        font-weight: 700 !important;
    }

    /* Price */
    .price {
        font-size: 18px !important;
        margin-bottom: 20px !important;
    }

    .price del {
        color: #999 !important;
        text-decoration: line-through !important;
        margin-left: 10px !important;
    }

    /* Add to Cart Button */
    .single_add_to_cart_button {
        width: 100% !important;
        padding: 18px !important;
        font-size: 14px !important;
        text-transform: uppercase !important;
        font-weight: 600 !important;
        background: #000 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 4px !important;
        margin-bottom: 20px !important;
    }

    /* Product Meta */
    .product_meta {
        font-size: 16px !important;
        line-height: 1.8 !important;
        margin-bottom: 20px !important;
        padding-bottom: 20px !important;
        border-bottom: 1px solid #e0e0e0 !important;
    }

    .product_meta>span {
        display: block !important;
        margin-bottom: 8px !important;
    }

    /* Stock badge */
    .stock {
        display: inline-block !important;
        padding: 6px 12px !important;
        background: #f0f0f0 !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        margin-bottom: 15px !important;
    }

    /* Product Description */
    .woocommerce-product-details__short-description {
        font-size: 14px !important;
        line-height: 1.6 !important;
        color: #666 !important;
        margin-bottom: 20px !important;
    }

    /* Tabs */
    .woocommerce-tabs {
        padding: 0 15px !important;
    }

    .woocommerce-tabs ul.tabs {
        border-bottom: 1px solid #e0e0e0 !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-tabs ul.tabs li {
        display: inline-block !important;
        margin-right: 20px !important;
    }

    .woocommerce-tabs ul.tabs li a {
        font-size: 14px !important;
        padding: 10px 0 !important;
    }
}

/* ========================================
   UPLYLI PRODUCT PAGE MOBILE
   ======================================== */

@media (max-width: 768px) {
    .uplyli-product-page {
        padding: 0 !important;
    }

    .uplyli-product-container {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    /* Gallery */
    .uplyli-product-gallery {
        flex-direction: column-reverse !important;
        gap: 0 !important;
    }

    /* Hide thumbnails on mobile */
    .uplyli-product-thumbnails {
        display: none !important;
    }

    /* Product image wrapper - mobile */
    .uplyli-product-image-wrapper {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3/4 !important;
        flex: none !important;
    }

    .uplyli-product-main-image {
        width: 100% !important;
        height: 100% !important;
        border-radius: 0 !important;
        overflow-x: auto !important;
    }

    /* Progress bars - mobile */
    .uplyli-product-image-wrapper .uplyli-product-dots {
        bottom: 15px;
        left: 15px;
        right: 15px;
        gap: 3px;
    }

    /* Product Info - Updated */
    .uplyli-product-info {
        padding: 20px !important;
        background: #fff !important;
    }

    .uplyli-product-title {
        font-size: 22px !important;
        font-weight: 450 !important;
        line-height: 1.3 !important;
        text-transform: uppercase !important;
        margin-bottom: 0 !important;
        color: #000 !important;
    }

    .uplyli-product-price {
        margin-bottom: 0 !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .uplyli-product-price .price {
        font-size: 22px !important;
        font-weight: 450 !important;
        color: #000 !important;
        margin: 0 !important;
    }

    .uplyli-product-price .price ins {
        text-decoration: none !important;
        color: #000 !important;
    }

    .uplyli-product-price .price del {
        font-size: 18px !important;
        color: #999 !important;
        font-weight: 400 !important;
        text-decoration: line-through !important;
    }

    .uplyli-product-add-to-cart {
        margin-top: 20px !important;
    }

    .uplyli-product-add-to-cart .single_add_to_cart_button,
    .uplyli-product-add-to-cart button[type="submit"] {
        width: 100% !important;
        padding: 18px 20px !important;
        background: #000 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        cursor: pointer !important;
    }

    .uplyli-product-meta {
        margin-bottom: 25px !important;
        padding: 0 !important;
    }

    .uplyli-product-description {
        font-size: 14px !important;
        line-height: 1.6 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* Product Info Mobile - Final Layout */
@media (max-width: 768px) {
    .uplyli-product-info {
        padding: 20px !important;
        text-align: center !important;
    }

    /* Title - Centered */
    .uplyli-product-title {
        font-size: 22px !important;
        font-weight: 450 !important;
        text-transform: uppercase !important;
        margin-bottom: 0 !important;
        text-align: left !important;
    }

    /* Price - Centered */
    .uplyli-product-price {
        margin-bottom: 0 !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
    }


    .uplyli-product-add-to-cart .single_add_to_cart_button,
    .uplyli-product-add-to-cart button[type="submit"] {
        width: 100% !important;
        padding: 18px !important;
        background: #000 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
    }

    /* Stock Badge - Left aligned with meta */
    .uplyli-stock-badge {
        display: inline-block !important;
        padding: 8px 16px !important;
        background: #f5f5f5 !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        color: #666 !important;
        margin-bottom: 15px !important;
        text-align: left !important;
    }

    /* Meta Info - Under button, left aligned */
    .uplyli-product-meta {
        text-align: left !important;
        margin-bottom: 20px !important;
    }

}

/* Product Info Mobile - Correct Order */
@media (max-width: 768px) {
    .uplyli-product-info {
        padding: 20px !important;
    }

    /* Title - Centered, Order 1 */
    .uplyli-product-title {
        order: 1 !important;
        font-size: 22px !important;
        font-weight: 450 !important;
        text-transform: uppercase !important;
        margin-bottom: 0 !important;
        text-align: left !important;
        text-align: center !important;
    }

    /* Price - Centered, Order 2 */
    .uplyli-product-price {
        order: 2 !important;
        margin-bottom: 0 !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
    }

    /* Add to Cart Button - Order 3 */
    .uplyli-product-add-to-cart {
        order: 3 !important;
    }

    .uplyli-product-add-to-cart .single_add_to_cart_button,
    .uplyli-product-add-to-cart button[type="submit"] {
        width: 100% !important;
        padding: 18px !important;
        background: #000 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
    }

    /* Stock Badge - Order 4, with Size */
    .uplyli-stock-badge {
        order: 4 !important;
        display: inline-block !important;
        padding: 8px 16px !important;
        background: #f5f5f5 !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        color: #666 !important;
        margin-bottom: 15px !important;
        margin-right: 10px !important;
    }

    /* Meta Info - Order 5 */
    .uplyli-product-meta {
        order: 5 !important;
        text-align: left !important;
        margin-bottom: 20px !important;
    }

    /* Description / О товаре - Order 6 */
    .uplyli-product-about {
        order: 6 !important;
    }
}

/* Product Mobile - Hide Accordions & Fix Meta Order */
@media (max-width: 768px) {}

/* Stock Badge - Before Meta, left aligned */
.uplyli-stock-badge {
    order: 4 !important;
    display: block !important;
    padding: 8px 16px !important;
    background: #f5f5f5 !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    color: #666 !important;
    margin-bottom: 15px !important;
    width: fit-content !important;
}

/* Meta right after button - Order 5 */
.uplyli-product-meta {
    order: 5 !important;
    text-align: left !important;
}


/* Stock Badge - Right aligned under button */
@media (max-width: 768px) {
    .uplyli-stock-badge {
        order: 4 !important;
        display: block !important;
        padding: 8px 16px !important;
        background: #f5f5f5 !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        color: #666 !important;
        margin-bottom: 15px !important;
        margin-left: auto !important;
        width: fit-content !important;
        text-align: right !important;
    }
}

/* Title and Price 28px Mobile */
@media (max-width: 768px) {
    .uplyli-product-title {
        font-size: 22px !important;
        text-align: left !important;
        margin-bottom: 0 !important;
    }

    .uplyli-product-price .price {
        font-size: 22px !important;
    }

    .uplyli-product-price .price del {
        font-size: 18px !important;
    }
}


/* Mobile product page - Stock badge next to meta */
@media (max-width: 768px) {
    .uplyli-meta-stock-wrapper {
        position: relative !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        margin-bottom: 25px !important;
    }

    .uplyli-product-info .uplyli-product-meta {
        flex: 1 !important;
        margin-bottom: 0 !important;
    }

    .uplyli-product-info .uplyli-stock-badge {
        position: absolute !important;
        margin-left: auto !important;
        align-self: flex-start !important;
        border-radius: 99px !important;
        top: -20px;
        right: 0;
    }
}

/* Mobile: Center stock badge under price */
@media (max-width: 768px) {
    .uplyli-stock-badge-center {
        position: static !important;
        display: block !important;
        text-align: center !important;
        margin: 15px 0 !important;
        padding: 4px 16px !important;
        background: #f5f5f5 !important;
        font-size: 12px !important;
    }

    .uplyli-stock-badge-side {
        display: none !important;
    }
}

/* Desktop: Hide center badge, show side badge */
@media (min-width: 769px) {
    .uplyli-stock-badge-center {
        display: none !important;
    }
}

/* Force hide side badge on mobile */
@media (max-width: 768px) {
    .uplyli-meta-stock-wrapper .uplyli-stock-badge-side {
        display: none !important;
        visibility: hidden !important;
    }
}

/* Mobile: Reorder product page elements */
@media (max-width: 768px) {
    .uplyli-product-info {}

    /* Order elements */
    .uplyli-product-title {
        order: 1 !important;
    }

    .uplyli-product-price {
        order: 2 !important;
    }

    .uplyli-stock-badge-center {
        order: 3 !important;
    }

    .uplyli-product-add-to-cart {
        order: 4 !important;
    }

    .uplyli-meta-stock-wrapper {
        order: 5 !important;
    }

    .uplyli-product-about {
        order: 6 !important;
    }

    .uplyli-product-accordions {
        order: 7 !important;
    }
}


/* Hide stock text in add to cart section - Mobile only */
@media (max-width: 768px) {
    .uplyli-product-add-to-cart .stock.in-stock {
        display: none !important;
    }
}

/* Mobile: Stock badge to the right, under button */
@media (max-width: 768px) {
    .uplyli-stock-badge-center {
        text-align: right !important;
        margin: 15px 0 0 0 !important;
        order: 4 !important;
    }

    .uplyli-product-add-to-cart {
        order: 3 !important;
    }
}

/* Mobile: Price font size 36pt */
@media (max-width: 768px) {
    .uplyli-product-price .woocommerce-Price-amount.amount {
        font-size: 22px !important;
    }
}

/* Mobile: Stock badge inline to the right */
@media (max-width: 768px) {
    .uplyli-stock-badge-center {
        display: inline-block !important;
        margin-left: auto !important;
        align-self: flex-end !important;
    }
}

/* Drop Products Grid Mobile - 2 columns with large cards V2 */
@media (max-width: 768px) {
    .drop-products-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px 6px !important;
        padding: 0 !important;
    }

    .drop-product-card {
        position: relative !important;
    }

    /* All product cards same size - no special sizing */

    /* Product image styles moved to plugin */

    .drop-product-title {
        font-size: 10px !important;
        margin-bottom: 2px !important;
    }

    .drop-product-size {
        font-size: 9px !important;
        color: #888 !important;
        margin-bottom: 1px !important;
    }

    .drop-product-price {
        font-size: 11px !important;
        font-weight: 500 !important;
    }
}

/* Hide Jivo default widget */
jdiv.__jivoDesktopButton {
    display: none !important;
}

.uplyli-catalog-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 40px;
}

/* Header */
.uplyli-catalog-header {
    flex-direction: row !important;
    align-items: start !important;
    justify-content: space-between !important;
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
    border-bottom: 0 !important;
}

.uplyli-catalog-title {
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    margin: 0 !important;
    color: #111 !important;
}

.uplyli-catalog-sort-wrapper {
    line-height: 0 !important;
}

.uplyli-catalog-header-actions {
    gap: 0 !important;
    align-items: center !important;
    position: relative;
}

.uplyli-catalog-filter-toggle,
.uplyli-catalog-sort {
    background: none !important;
    border: none !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    color: #666 !important;
    transition: color 0.3s !important;
    padding: 0 !important;
}

.uplyli-catalog-filter-toggle {
    line-height: 0 !important;
}

.uplyli-catalog-filter-toggle:hover,
.uplyli-catalog-sort:hover {
    color: #111 !important;
}

/* Sort Dropdown */
.uplyli-catalog-sort-wrapper {
    position: relative;
}

.uplyli-catalog-sort .arrow {
    stroke: #666;
    display: inline-block;
    margin-left: 5px;
    transition: transform 0.3s;
}

.uplyli-catalog-sort-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 10px;
    background: #fff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    min-width: 200px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.uplyli-catalog-sort-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.uplyli-catalog-sort-dropdown a {
    display: block;
    padding: 12px 20px;
    font-size: 11px;
    text-transform: uppercase;
    color: #666;
    text-decoration: none;
    transition: all 0.3s;
}

.uplyli-catalog-sort-dropdown a:hover {
    background: #f5f5f5;
    color: #111;
}

/* Filters Panel */
.uplyli-catalog-filters-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    margin-bottom: 20px;
}

.uplyli-catalog-filters-panel.active {
    max-height: 500px;
}

.filters-content {
    padding: 30px;
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
}

.filters-content h3 {
    font-size: 11px;
    text-transform: uppercase;
    margin: 20px 0 10px 0;
    color: #111;
}

.filters-content h3:first-child {
    margin-top: 0;
}

.filters-content label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 8px;
    cursor: pointer;
}

.filters-content label:hover {
    color: #111;
}

.filters-content input[type="checkbox"] {
    margin-right: 8px;
}

/* Products Grid */
.uplyli-catalog-products-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-rows: minmax(0, auto) !important;
    align-items: start !important;
    gap: 15px !important;
    margin-bottom: 60px !important;
}

/* Desktop: 4 columns for regular catalog */
@media (min-width: 769px) {
    .uplyli-catalog-products-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* Large cards - ONLY for drops-grid - Desktop only */
@media (min-width: 769px) {

    .drops-grid .uplyli-catalog-product-card:nth-child(5n+3),
    .drops-grid .uplyli-catalog-product-card.large-card {
        grid-row: span 2 !important;
        grid-column: span 2 !important;
        align-self: stretch !important;
    }

    .drops-grid .uplyli-catalog-product-card:nth-child(5n+3) .uplyli-catalog-product-image,
    .drops-grid .uplyli-catalog-product-card.large-card .uplyli-catalog-product-image {
        height: 100% !important;
        aspect-ratio: unset !important;
        margin-bottom: 0 !important;
    }

    /* Высота = 2 маленьких фото (5/6) + gap 15px */
    .drops-grid .uplyli-catalog-product-card:nth-child(5n+3) .uplyli-catalog-product-image img,
    .drops-grid .uplyli-catalog-product-card.large-card .uplyli-catalog-product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* Hide product info on large cards - only show photo */
    .drops-grid .uplyli-catalog-product-card:nth-child(5n+3) .uplyli-catalog-product-info,
    .drops-grid .uplyli-catalog-product-card.large-card .uplyli-catalog-product-info {
        display: none !important;
    }
}

/* Product Cards */
.uplyli-catalog-product-card {
    position: relative;
    cursor: pointer;
}

.uplyli-catalog-product-image {
    width: 100% !important;
    overflow: hidden !important;
    aspect-ratio: 5 / 6 !important;
    margin-bottom: 8px !important;
    background: #f5f5f5 !important;
}

.uplyli-catalog-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Removed zoom transition - using image switch on hover instead */
}

/* Zoom on hover disabled - using image switch instead */
.uplyli-catalog-product-card:hover .uplyli-catalog-product-image img {
    transform: none;
}

.uplyli-catalog-product-info {
    text-align: left;
    margin-top: 10px;
}

.uplyli-catalog-product-title {
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 4px;
    color: #111;
    min-height: 2.6em;
    /* stabilize two lines */
    line-height: 1.3;
}

.uplyli-catalog-product-title a {
    color: #111;
    text-decoration: none;
}

.uplyli-catalog-product-title a:visited {
    color: #111;
}

.uplyli-catalog-product-title a:hover {
    color: #111;
}

.uplyli-catalog-product-meta {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.uplyli-catalog-product-sizes {
    font-size: 10px;
    font-weight: 400;
    text-transform: uppercase;
    color: #999;
}

.uplyli-catalog-product-price {
    font-size: 16px;
    color: #111;
    font-weight: 400;
}

/* Footer CTA */
.uplyli-catalog-footer-cta {
    text-align: center;
    margin-top: 60px;
}

.uplyli-catalog-btn-all {
    background: #111;
    color: #fff;
    border: none;
    padding: 16px 80px;
    font-size: 11px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s;
}

.uplyli-catalog-btn-all:hover {
    background: #333;
}

/* Responsive */
@media (max-width: 1200px) {
    .uplyli-catalog-product-meta {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

}

/* Product Image Dots - Progress Bars Style */
.uplyli-product-dots {
    position: absolute;
    bottom: 12px;
    left: 15px;
    right: 15px;
    transform: none;
    display: flex;
    gap: 4px;
    z-index: 10;
}

.uplyli-dot {
    flex: 1;
    height: 2px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.5);
    box-shadow: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border: none;
    padding: 0;
}

.uplyli-dot.active {
    background: #000;
}

/* Catalog: limit to 3 progress bars max */
.uplyli-card-slider:not(.uplyli-product-main-image) .uplyli-dot:nth-child(n+4) {
    display: none;
}

/* Price/Meta layout - vertical stack */
.uplyli-catalog-product-meta {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
}

.uplyli-catalog-product-sizes {
    font-size: 10px;
    font-weight: 400;
    text-transform: uppercase;
    color: #999;
}

.uplyli-catalog-product-price {
    font-size: 16px;
    color: #111;
    font-weight: 400;
}

/* Border radius for product images */
.uplyli-catalog-product-price {
    white-space: nowrap;
}

.uplyli-catalog-product-image {
    border-radius: 14px !important;
}

/* Button border radius */
.uplyli-catalog-btn-all {
    border-radius: 14px !important;
}

/* Archive Product Page */
.uplyli-archive-page {
    padding: 40px;
}

.uplyli-archive-container {
    max-width: 100%;
    margin: 0 auto;
}

/* Archive Header */
.uplyli-archive-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.uplyli-archive-title {
    font-size: 24px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.uplyli-archive-controls {
    display: flex;
    gap: 20px;
    align-items: center;
}

.uplyli-filter-button {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #000;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    letter-spacing: 0.5px;
}

.uplyli-filter-icon {
    font-size: 16px;
}

/* Products Grid */
.uplyli-archive-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1000px));
    gap: 30px;
    margin-bottom: 60px;
}

.uplyli-archive-product-card {
    display: flex;
    flex-direction: column;
}

.uplyli-archive-product-image {
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 11px;
    margin-bottom: 15px;
    display: block;
}

.uplyli-archive-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.uplyli-archive-product-image:hover img {
    transform: scale(1.05);
}

.uplyli-archive-product-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.uplyli-archive-product-name {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.4;
}

.uplyli-archive-product-name a {
    color: #000;
    text-decoration: none;
}

.uplyli-archive-product-name a:visited {
    color: #000;
}

.uplyli-archive-product-name a:hover {
    color: #000;
}

.uplyli-archive-product-sizes {
    font-size: 12px;
    color: #666;
}

.uplyli-archive-product-price {
    font-size: 16px;
    font-weight: 600;
}

.uplyli-archive-product-price del {
    color: #999;
    margin-left: 10px;
    font-weight: 400;
}

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

/* === Drop card slider (pagination arrows + dots) === */
/* Слайдер в карточке - Native Scroll Snap */
.uplyli-card-slider {
    position: relative;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
}


/* ============================================
   DROP PAGE - MOBILE RESPONSIVE STYLES (2 COLUMN GRID)
   ============================================ */

@media (max-width: 768px) {

    /* Пагинация - мобильная версия */
    .woocommerce-pagination {
        padding: 15px 0;
    }
    
    .woocommerce-pagination ul {
        gap: 0; /* Убираем зазор между цифрами */
        flex-wrap: wrap !important;
        justify-content: center;
        display: flex !important;
        padding: 0 5px;
    }

    /* Создаем невидимый разрыв строки между цифрами и кнопками */
    .woocommerce-pagination ul::before {
        content: "";
        order: 1.5;
        width: 100%;
        display: block;
        height: 0;
    }
    
    .woocommerce-pagination li {
        order: 2;
        margin: 2px 1px;
        display: flex !important;
        justify-content: center;
    }

    /* Номера страниц и точки */
    .woocommerce-pagination li:not(:has(.prev)):not(:has(.next)) {
        order: 1;
        flex: 0 0 auto;
    }

    .woocommerce-pagination a.page-numbers,
    .woocommerce-pagination span.page-numbers {
        min-width: 28px; /* Уменьшаем размер кружка */
        height: 28px;
        padding: 5px;
        font-size: 12px;
    }
    
    /* Кнопки Назад и Далее во втором ряду */
    .woocommerce-pagination li:has(.prev),
    .woocommerce-pagination li:has(.next) {
        order: 2;
        flex: 1 1 45%; /* Позволяем кнопкам тянуться, но занимать около половины */
        max-width: 160px;
        margin-top: 12px;
    }
    
    .woocommerce-pagination a.prev,
    .woocommerce-pagination a.next {
        width: 100%;
        text-align: center;
        justify-content: center;
        min-width: auto;
        padding: 10px 5px !important; /* Уменьшаем вертикальный отступ */
        border-radius: 20px !important;
        font-size: 11px; /* Чуть меньше шрифт для узких экранов */
        font-weight: 500;
        white-space: nowrap;
    }

    /* Убираем лишние отступы у контейнера */
    .woocommerce-pagination {
        margin: 15px 0 !important;
        padding: 5px 0 !important;
    }
    
    
    .woocommerce-pagination a.prev,
    .woocommerce-pagination a.next {
        min-width: auto;
        height: 32px;
        padding: 6px 12px;
        font-size: 12px;
    }
    
    .woocommerce-pagination span.dots {
        padding: 6px 2px;
        min-width: 20px;
    }

    /* Mobile Header Layout */
    .uplyli-header {
        padding: 20px 10px !important;
    }

    /* Container */
    .uplyli-catalog-container {
        padding: 15px;
    }

    .uplyli-footer-menu-col:nth-child(6) {
        display: block
    }

    /* Header */
    .uplyli-catalog-header {
        gap: 8px;
        margin-bottom: 20px !important;
    }

    .uplyli-catalog-title {
        font-size: 16px !important;
        text-align: center;
    }

    .uplyli-catalog-header-actions {
        gap: 0 !important;
        width: 100%;
        justify-content: space-evenly;
    }

    .uplyli-catalog-filter-toggle,
    .uplyli-catalog-sort {
        padding: 10px 15px;
        font-size: 12px;
    }

    /* Filters Panel */
    .uplyli-catalog-filters-panel {
        width: 100%;
        left: 0;
        right: 0;
        border-radius: 0;
    }

    .filters-content {
        padding: 20px 15px;
    }

    .filters-content h3 {
        font-size: 14px;
        margin: 15px 0 10px;
    }

    .filters-content label {
        font-size: 13px;
        padding: 8px 0;
    }

    /* Sort Dropdown */
    .uplyli-catalog-sort-dropdown {
        width: 100%;
        right: 0;
    }

    /* Products Grid - 2 columns */
    .uplyli-catalog-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Product Cards */
    .uplyli-catalog-product-card {
        width: 100%;
    }
}

.uplyli-catalog-product-image {
    aspect-ratio: 5 / 6;
    height: auto !important;
}

/* Hide info on large cards */

/* Uplyli Catalog - Category Navigation Styles */
.uplyli-catalog-category-nav {
    display: flex;
    gap: 24px;
    margin: 24px 0;
    justify-content: center;
}

.uplyli-catalog-category-link {
    font-size: 14px !important;
    font-weight: 450 !important;
    text-decoration: none !important;
    color: #666 !important;
    transition: color 0.2s !important;
}

.uplyli-catalog-category-link:hover {
    color: #000 !important;
}

.uplyli-catalog-category-link.active {
    color: #000 !important;
    font-weight: 600 !important;
    border-bottom: 2px solid #000 !important;
}

@media (max-width: 768px) {
    .uplyli-catalog-category-nav {
        overflow-x: auto;
        justify-content: flex-start;
        padding: 0 20px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .uplyli-catalog-category-nav::-webkit-scrollbar {
        display: none;
    }

    .uplyli-catalog-category-link {
        white-space: nowrap;
    }
}

/* Uplyli Catalog - Missing nested classes */
.uplyli-catalog-filter-toggle .filter,
.uplyli-catalog-sort .filter {
    display: flex;
    align-items: center;
    gap: 8px;
}

.uplyli-catalog-sort .arrow {
    display: inline-flex;
    align-items: center;
}

.uplyli-catalog-sort .arrow svg {
    stroke: currentColor;
}

.uplyli-catalog-filters-panel .filters-content {
    padding: 20px;
}

.uplyli-catalog-filters-panel .filters-content h3 {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.uplyli-catalog-filters-panel .filters-content label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
}

.uplyli-catalog-filters-panel .filters-content input[type="checkbox"] {
    margin-right: 8px;
}

/* Uplyli Catalog - Container (alias for page-container) */
.uplyli-catalog-container {
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 40px;
}

@media (max-width: 768px) {
    .uplyli-catalog-container {
        padding: 15px;
    }
}

/* ========================================
       UPLYLI CATALOG - Complete Styles
       ======================================== */
/* Header */
.uplyli-catalog-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
    gap: 20px;
}

.uplyli-catalog-title {
    font-size: 32px;
    font-weight: 400;
    text-align: center;
    margin: 0;
}

.uplyli-catalog-header-actions {
    display: flex;
    gap: 16px;
    align-items: center;
}

.uplyli-catalog-filter-toggle,
.uplyli-catalog-sort {
    background: #fff;
    border: 1px solid #e0e0e0;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
}

.uplyli-catalog-filter-toggle {}

.uplyli-catalog-filter-toggle:hover,
.uplyli-catalog-sort:hover {
    background: #f5f5f5;
    border-color: #000;
}

.uplyli-catalog-sort-wrapper {
    position: relative;
}

.uplyli-catalog-sort-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    min-width: 220px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 100;
    display: none;
    margin-top: 8px;
}

.uplyli-catalog-sort-dropdown.active {
    display: block;
}

.uplyli-catalog-sort-dropdown a {
    display: block;
    padding: 12px 20px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    transition: background 0.2s;
}

.uplyli-catalog-sort-dropdown a:hover {
    background: #f5f5f5;
}

/* Filters Panel */
.uplyli-catalog-filters-panel {
    display: none;
    background: #f9f9f9;
    padding: 20px;
    margin-bottom: 30px;
}

.uplyli-catalog-filters-panel.active {
    display: block;
}

/* Products Grid */
.uplyli-catalog-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}

/* Product Card */
.uplyli-catalog-product-card {
    position: relative;
    cursor: pointer;
}

.uplyli-catalog-product-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 5 / 6;
    background: #f5f5f5;
}

.uplyli-catalog-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Zoom on hover disabled */
.uplyli-catalog-product-card:hover .uplyli-catalog-product-image img {
    transform: none;
}

.uplyli-catalog-product-info {
    padding: 15px 0;
}

.uplyli-catalog-product-title {
    font-size: 16px;
    font-weight: 400;
    margin: 0 0 10px 0;
    text-transform: uppercase;
}

.uplyli-catalog-product-title a {
    color: #000;
    text-decoration: none;
}

.uplyli-catalog-product-title a:visited {
    color: #000;
}

.uplyli-catalog-product-title a:hover {
    color: #000;
}

.uplyli-catalog-product-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.uplyli-catalog-product-sizes {
    font-size: 12px;
    font-weight: 400;
    color: #666;
}

.uplyli-catalog-product-price {
    font-size: 18px;
    font-weight: 600;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .uplyli-catalog-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .uplyli-catalog-header {
        gap: 15px;
    }

    .uplyli-catalog-title {
        font-size: 24px;
    }

    .uplyli-catalog-product-title {
        font-size: 14px;
    }

    .uplyli-catalog-product-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}

/* Uplyli Catalog Sort Dropdown - Override */
.uplyli-catalog-sort-dropdown a {
    font-size: 11px !important;
    color: #666 !important;
}

/* Uplyli Catalog Filter Groups */
.uplyli-catalog-filters-panel .filter-group {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e0e0e0;
}

.uplyli-catalog-filters-panel .filter-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.uplyli-catalog-filters-panel .filter-group h3 {
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 12px;
    text-transform: uppercase;
    color: #000;
}

.uplyli-catalog-filters-panel .filter-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    color: #666;
    cursor: pointer;
}

.uplyli-catalog-filters-panel .filter-group input[type="checkbox"] {
    margin-right: 8px;
}

/* Hide catalog category navigation by default */
.uplyli-catalog-container .drop-category-nav {
    display: none !important;
}

/* Catalog Filter Columns */
.uplyli-catalog-filters-panel .filter-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 20px;
}

.uplyli-catalog-filters-panel .filter-column {
    display: contents;
}

@media (max-width: 1024px) {
    .uplyli-catalog-filters-panel .filter-columns {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 20px;
    }

    .uplyli-catalog-filters-panel .filter-column {
        display: contents;
    }
}

@media (max-width: 768px) {
    .uplyli-catalog-filters-panel .filter-columns {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 20px;
    }

    .uplyli-catalog-filters-panel .filter-column {
        display: contents;
    }
}

/* Fix filter panel overflow on mobile */
@media (max-width: 768px) {
    .uplyli-catalog-filters-panel {
        max-height: 70vh;
        overflow-y: auto;
    }

    .uplyli-catalog-filters-panel .filters-content {
        padding-bottom: 20px;
    }
}

/* Catalog header margin fix */
.uplyli-catalog-header {
    margin: 0 !important;
}

/* Filter columns 4 on desktop, 2 on mobile */
.uplyli-catalog-filters-panel .filter-columns {
    grid-template-columns: repeat(4, 1fr) !important;
}

@media (max-width: 768px) {
    .uplyli-catalog-filters-panel {
        max-height: none !important;
        overflow-y: visible !important;
    }

    .uplyli-catalog-filters-panel .filter-columns {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Remove max-height from active filter panel */
.uplyli-catalog-filters-panel.active {
    max-height: none !important;
}

/* Navigation Menu Styles - from Rhodes theme */
.nav {
    display: block;
}

.navigation-main {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: normal;
}

.head-mast [class^=col-lg-12] .navigation-main {
    margin-top: 10px;
}

.navigation-main li {
    position: relative;
}

.navigation-main>li {
    display: inline-block;
}

.navigation-main a {
    display: block;
    white-space: nowrap;
}

.navigation-main ul {
    text-align: left;
    position: absolute;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
    transition: transform 0.25s ease 0.2s, opacity 0.25s ease 0.2s, visibility 0s ease 0.35s;
    transform: translate(0, 10px);
    margin-left: 12px;
}

.navigation-main ul ul {
    top: -12px;
    left: 100%;
    margin: 0;
    transform: translate(-10px, 0);
}

.navigation-main>li:first-child ul {
    margin-left: 0;
}

.navigation-main li:hover>ul {
    transition-delay: 0s, 0s, 0s;
    visibility: visible;
    opacity: 1;
}

.navigation-main li:hover ul {
    z-index: 15;
}

.navigation-main li:focus-within>ul {
    transition-delay: 0s, 0s, 0s;
    visibility: visible;
    opacity: 1;
}

.navigation-main li:focus-within ul {
    z-index: 15;
}

.navigation-main>li:hover>ul {
    transform: translate(0, 0);
}

.navigation-main li li:hover>ul {
    transform: translate(0, 0);
}

.navigation-main>.nav-open-left ul {
    right: 0;
}

.navigation-main>.nav-open-left ul ul {
    right: 100%;
    left: auto;
}

.navigation-main li .nav-open-left ul {
    right: 100%;
    left: auto;
}

.navigation-main li .nav-open-left.menu-item-has-children>a::after {
    content: "\f0d9";
    font-size: 12px;
}

.navigation-main li.nav-open-left .menu-item-has-children>a::after {
    content: "\f0d9";
    font-size: 12px;
}

.navigation-main ul {
    padding: 15px 0;
    list-style: none;
    background-color: #ffffff;
    min-width: 220px;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
}

.navigation-main a {
    position: relative;
    color: #1A1A1A;
    font-size: 16px;
}

.navigation-main>li>a {
    padding: 10px 0;
    margin: 0 12px;
}

.navigation-main>li:first-child>a {
    margin-left: 0;
}

.navigation-main>li:hover>a,
.navigation-main>li>a:focus,
.navigation-main>.current-menu-item>a,
.navigation-main>.current-menu-parent>a,
.navigation-main>.current-menu-ancestor>a,
.navigation-main>.current_page_item>a,
.navigation-main>.current_page_ancestor>a {
    color: #662C3A;
}

.header-fixed:not(.header-stuck) .navigation-main>li:hover>a,
.header-fixed:not(.header-stuck) .navigation-main>li>a:focus {
    color: #662C3A;
}

.navigation-main li li a {
    padding: 6px 15px;
    font-size: 15px;
}

.navigation-main li li:hover>a,
.navigation-main li li>a:focus,
.navigation-main li .current-menu-item>a,
.navigation-main li .current-menu-parent>a,
.navigation-main li .current-menu-ancestor>a,
.navigation-main li .current_page_item>a,
.navigation-main li .current_page_ancestor>a {
    color: #662C3A;
}

.navigation-main .menu-item-has-children>a::after,
.navigation-main .page_item_has_children>a::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 10px;
    position: relative;
    top: -3px;
    right: -6px;
    line-height: normal;
}

.navigation-main li .menu-item-has-children>a,
.navigation-main li .page_item_has_children>a {
    padding-right: 25px;
}

.navigation-main li .menu-item-has-children>a::after,
.navigation-main li .page_item_has_children>a::after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.navigation-main .nav-button>a {
    border: 2px solid currentColor;
    padding: 7px 28px;
    margin-left: 10px;
}

.navigation-main .nav-button>a::before {
    display: none;
}

.navigation-main .nav-button:last-child>a {
    margin-right: 0;
}

.navigation-main .mega-menu>ul {
    display: flex;
}

.navigation-main .mega-menu>ul>li>a {
    font-weight: 700;
    font-size: 1.05em;
}

.navigation-main .mega-menu>ul>li>a,
.navigation-main .mega-menu>ul>li>a:focus,
.navigation-main .mega-menu>ul>li.current-menu-item>a,
.navigation-main .mega-menu>ul>li.current-menu-parent>a,
.navigation-main .mega-menu>ul>li.current-menu-ancestor>a {
    background-color: transparent;
    color: initial;
}

.navigation-main .mega-menu>ul ul {
    display: block;
    opacity: 1;
    box-shadow: none;
    padding: 0;
    margin: 0;
    position: static;
    background: none;
    min-width: 180px;
    transform: translate(0, 10px);
}

.navigation-main .mega-menu>ul a::after {
    display: none;
}

.navigation-main .mega-menu:hover ul ul {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
}

.navigation-main-right {
    text-align: right;
}

.navigation-main-right>li:last-child ul {
    right: 0;
}

.navigation-main-right>li:last-child ul ul {
    left: auto;
    right: 100%;
}

.navigation-main-right>li:last-child .menu-item-has-children>a::after {
    content: "\f0d9";
    font-size: 12px;
}

/* Header Navigation with submenu support */
.uplyli-header-nav-left .navigation-main,
.uplyli-header-nav-right .navigation-main {
    display: flex;
    align-items: center;
    gap: 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.uplyli-header-nav-left .navigation-main li,
.uplyli-header-nav-right .navigation-main li {
    position: relative;
}

.uplyli-header-nav-left .navigation-main>li,
.uplyli-header-nav-right .navigation-main>li {
    display: inline-block;
}

.uplyli-header-nav-left .navigation-main a,
.uplyli-header-nav-right .navigation-main a {
    color: #000;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    transition: opacity 0.3s;
    display: block;
    white-space: nowrap;
}

.uplyli-header-nav-left .navigation-main a:hover,
.uplyli-header-nav-right .navigation-main a:hover {
    opacity: 0.6;
}

/* Submenu styles for header navigation */
.uplyli-header-nav-left .navigation-main ul,
.uplyli-header-nav-right .navigation-main ul {
    text-align: left;
    position: absolute;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
    transition: transform 0.25s ease 0.2s, opacity 0.25s ease 0.2s, visibility 0s ease 0.35s;
    transform: translate(0, 10px);
    margin-left: 0;
    padding: 15px 0;
    list-style: none;
    background-color: #ffffff;
    min-width: 220px;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
}

.uplyli-header-nav-left .navigation-main li:hover>ul,
.uplyli-header-nav-right .navigation-main li:hover>ul {
    transition-delay: 0s, 0s, 0s;
    visibility: visible;
    opacity: 1;
    transform: translate(0, 0);
}

.uplyli-header-nav-left .navigation-main li li a,
.uplyli-header-nav-right .navigation-main li li a {
    padding: 6px 15px;
    font-size: 13px;
    text-transform: none;
}

.uplyli-header-nav-left .navigation-main .menu-item-has-children>a::after,
.uplyli-header-nav-right .navigation-main .menu-item-has-children>a::after {
    content: " ▼";
    font-size: 8px;
    margin-left: 5px;
}

.uplyli-header-nav-left .navigation-main li .menu-item-has-children>a::after,
.uplyli-header-nav-right .navigation-main li .menu-item-has-children>a::after {
    content: " ►";
    position: absolute;
    right: 10px;
}

/* Accessories section text to white */
.uplyli-accessories-title,
.uplyli-accessories-text {
    color: #fff !important;
}

/* ========================================
   Jivo Chat Widget Control
   ======================================== */

/* Hide Jivo widget by default on all devices */
#jivo-iframe-container,
jdiv,
.__jivoMobileButton {}

/* Show Jivo only when activated via footer button */
body.jivo-active #jivo-iframe-container,
body.jivo-active jdiv,
body.jivo-active .__jivoMobileButton {}

/* ========================================
   Jivo Chat Widget Control - Fixed
   ======================================== */

/* DISABLED: These rules were too broad and hid the entire chat widget
   Specific hiding logic is now in jivo-mobile-fix.css
   
#jivo-iframe-container,
jdiv,
.__jivoMobileButton {
    opacity: 0 !important;
    pointer-events: none !important;
    display: none !important;
}

body.jivo-active #jivo-iframe-container,
body.jivo-active jdiv,
body.jivo-active .__jivoMobileButton {
    opacity: 1 !important;
    pointer-events: auto !important;
    display: block !important;
}
*/

/* ========================================
   Jivo Chat Widget Control
   ======================================== */

/* DISABLED: These rules conflict with jivo-mobile-fix.css
   They hide elements until body.jivo-active is added, but we never add that class
   Specific hiding logic is now in jivo-mobile-fix.css which only hides the button
   
jdiv[class*="iconWrap"],
jdiv[class*="_showLogo"],
.__jivoMobileButton {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

body.jivo-active jdiv[class*="iconWrap"],
body.jivo-active jdiv[class*="_showLogo"],
body.jivo-active .__jivoMobileButton {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    position: fixed !important;
    left: auto !important;
}
*/


/* DISABLED: iframe container rules - let JivoChat manage its own visibility
#jivo-iframe-container:not(.jivo-active-container) {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

body.jivo-active #jivo-iframe-container {
    opacity: 1 !important;
    pointer-events: auto !important;
    visibility: visible !important;
}
*/

/* Mobile header - final simple solution */
@media (max-width: 768px) {
    .uplyli-header-container {
        position: relative !important;
        padding: 15px 0 !important;
        min-height: 60px !important;
    }

    /* Hamburger - 15px from left */
    .uplyli-mobile-menu-toggle {
        position: absolute !important;
        left: 15px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    /* Logo - exactly centered */
    .uplyli-header-logo {
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        transform: translate(-50%, -50%) !important;
        margin: 0 !important;
    }

    /* Right nav - icons with cart 15px from right edge */
    .uplyli-header-nav-right {
        position: absolute !important;
        right: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        gap: 15px !important;
        padding-right: 15px !important;
    }
}


/* Hide stock availability info */
.stock,
p.stock,
.in-stock,
.out-of-stock,
.available-on-backorder,
.uplyli-stock-badge,
.woocommerce-product-details__short-description .stock {
    display: none !important;
}

/* Hide stock availability info */
.stock,
p.stock,
.in-stock,
.out-of-stock,
.available-on-backorder,
.uplyli-stock-badge,
.woocommerce-product-details__short-description .stock {
    display: none !important;
}

/* Убираем окантовку у места выдачи (Pickup Location) */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
    border: none !important;
    background: transparent !important;
}

.wc-block-components-radio-control__option:hover,
.wc-block-components-radio-control-accordion-option:hover {
    background: #f5f5f5 !important;
}

/* Стили для выбранного места выдачи */
.wc-block-components-radio-control__option input[type="radio"]:checked+label,
.wc-block-components-radio-control-accordion-option input[type="radio"]:checked+label {
    background: #e8f4f8 !important;
}

/* Стилизация блока получения (Checkout Shipping Methods) */
/* Убираем окантовку и серый фон у контейнера */
.wc-block-components-checkout-step__content #shipping-method.wc-block-checkout__shipping-method-container {
    background: transparent !important;
    border: none !important;
}

/* Убираем окантовку у опций доставки */
.wc-block-checkout__shipping-method-option {
    border: none !important;
    background: transparent !important;
    padding: 15px !important;
    margin-bottom: 10px !important;
    border-radius: 8px !important;
    transition: background-color 0.3s ease !important;
}

/* Выделяем активный метод доставки акцентным цветом (чёрный) */
.wc-block-checkout__shipping-method-option--selected {
    background: rgba(0, 0, 0, 0.05) !important;
    border: 2px solid #000 !important;
}

/* Убираем окантовку у места выдачи (Pickup Location) - агрессивно */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option,
div[class*="radio-control"] div[role="radio"],
div[class*="pickup"] div[role="radio"],
.wc-block-checkout__shipping-method-option {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Убираем серый фон и окантовку у всех вариантов самовывоза */
.wc-block-components-radio-control,
.wc-block-components-radio-control__option-layout,
label[class*="radio-control"],
.wc-block-components-panel,
.wc-block-components-panel__button {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Убираем окантовку у места выдачи при выборе */
.wc-block-components-radio-control__option.is-active,
.wc-block-components-radio-control__option:focus,
.wc-block-components-radio-control__option:hover {
    background: #f5f5f5 !important;
    border: none !important;
    box-shadow: none !important;
}

/* Стили для выбранного места выдачи - только черная рамка */
.wc-block-components-radio-control__option input[type="radio"]:checked+label,
.wc-block-components-radio-control-accordion-option input[type="radio"]:checked+label,
.wc-block-components-radio-control__option.is-active {
    background: #f5f5f5 !important;
    border: 2px solid #000 !important;
}

/* Дополнительное убирание окантовки у места выдачи */
.wc-block-components-radio-control-accordion-option,
div[id*="pickup"]>div,
div[class*="pickup"]>div,
.wc-block-checkout-pickup-location-option,
.wc-block-components-totals-shipping__change-address__link,
div[role="radiogroup"]>div {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Убираем серый фон с обертки места выдачи */
.wc-block-components-panel__row,
.wc-block-components-totals-shipping,
div[class*="shipping"] {
    background: transparent !important;
}


/* Восстанавливаем фон только для выбранных элементов */
.wc-block-checkout__shipping-method-option--selected,
.wc-block-components-radio-control__option.is-active {
    background: rgba(0, 0, 0, 0.05) !important;
    border: 2px solid #000 !important;
}

/* Убираем все бордеры у компонентов радио контролов */
[class*="wc-block-components-radio-control"] * {
    border: none !important;
    box-shadow: none !important;
}

/* Специфичное убирание для места выдачи самовывоза */
.wc-block-components-checkout-step__content>div,
.wc-block-components-checkout-step__content>div>div {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* КРИТИЧЕСКИЕ стили для выбранной кнопки доставки - самый высокий приоритет */
.wc-block-checkout__shipping-method-option.wc-block-checkout__shipping-method-option--selected {
    background: rgba(0, 0, 0, 0.05) !important;
    border: 2px solid #000 !important;
    opacity: 1 !important;
}

/* Убираем border у невыбранных кнопок */
.wc-block-checkout__shipping-method-option:not(.wc-block-checkout__shipping-method-option--selected) {
    border: 1px solid #e0e0e0 !important;
    background: #fff !important;
}


/* Убираем окантовку у блоков ПВЗ СДЭК и Яндекс */
.delivery-option,
.delivery-option-card,
div[class*="pvz"],
div[class*="pickup-point"],
.cdek-pickup-point,
.yandex-pickup-point {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Убираем окантовку у радио-кнопок выбора ПВЗ */
input[type="radio"]+label,
.radio-option,
.pickup-option {
    border: none !important;
    box-shadow: none !important;
}

/* Убираем окантовку у label блоков ПВЗ СДЭК и Яндекс */
.wc-block-components-radio-control__option,
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option--checked-option-highlighted,
label.wc-block-components-radio-control__option {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Убираем окантовку при hover и focus */
.wc-block-components-radio-control__option:hover,
.wc-block-components-radio-control__option:focus,
.wc-block-components-radio-control__option:active {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Баннеры категорий - сохранение пропорций изображений */
.uplyli-banner {
    min-height: unset !important;
    height: auto !important;
}

.uplyli-banner img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* Баннеры категорий на главной - полная ширина (только десктоп) */
.uplyli-category-banners .uplyli-banners-grid {
    max-width: 100% !important;
    padding: 0 40px !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
}

.uplyli-category-banners .uplyli-banner {
    min-height: unset !important;
    height: auto !important;
}

.uplyli-category-banners .uplyli-banner img {
    border-radius: 15px;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* На мобильных - одна колонка только для баннеров категорий */
@media (max-width: 768px) {
    .uplyli-category-banners .uplyli-banners-grid {
        grid-template-columns: 1fr !important;
        padding: 15px !important;
        gap: 15px !important;
    }
}

/* Catalog card info layout override - match reference */
.uplyli-catalog-product-info {
    margin-top: 12px !important;
}

.uplyli-catalog-product-title {
    font-size: 14px !important;
    margin-bottom: 6px !important;
    line-height: 1.3 !important;
    min-height: 2.6em !important;
}

.uplyli-catalog-product-meta {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
}

.uplyli-catalog-product-price {
    white-space: nowrap !important;
}


/* Mobile large-card pattern for drops-grid ONLY */
@media (max-width: 768px) {

    .drops-grid .uplyli-catalog-product-card:nth-child(5n+3),
    .drops-grid .uplyli-catalog-product-card.large-card {
        grid-column: 1 / -1 !important;
        /* span both columns */
    }

    .drops-grid .uplyli-catalog-product-card:nth-child(5n+3) .uplyli-catalog-product-info,
    .drops-grid .uplyli-catalog-product-card.large-card .uplyli-catalog-product-info {
        display: none !important;
        /* big card only photo */
    }

    .drops-grid .uplyli-catalog-product-card:nth-child(5n+3) .uplyli-catalog-product-image,
    .drops-grid .uplyli-catalog-product-card.large-card .uplyli-catalog-product-image {
        margin-bottom: 0 !important;
    }
}


/* Remove list bullets from navigation menus */
.uplyli-header-nav-left ul,
.uplyli-header-nav-right ul,
.uplyli-mobile-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 40px;
}

.uplyli-mobile-menu ul {
    flex-direction: column;
    gap: 0;
}

.uplyli-header-nav-left li,
.uplyli-header-nav-right li,
.uplyli-mobile-menu li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.uplyli-header-nav-left ul li a,
.uplyli-header-nav-right ul li a {
    color: #000;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    transition: opacity 0.3s;
}

.uplyli-mobile-menu ul li a {
    display: block;
    padding: 20px;
    color: #000;
    text-decoration: none;
    font-family: 'MSCHN-M', sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    border-bottom: 1px solid #eee;
    transition: background-color 0.3s;
}

/* Mobile Header Icons Fix */
@media (max-width: 768px) {
    .uplyli-account-icon {
        display: none !important;
    }

    .uplyli-search-icon {
        display: inline-flex !important;
        margin-right: 20px !important;
        /* Increase spacing between search and cart */
    }

    .uplyli-header-nav-right {
        display: flex !important;
        align-items: center !important;
        gap: 0 !important;
        /* Reset gap to control spacing manually */
    }
}

/* ================================================================
   UPSELLS & RELATED PRODUCTS - CUSTOM SLIDER DESIGN
   ================================================================ */

/* Section styling */
.uplyli-related-section,
.uplyli-upsells-section {
    margin: 60px 0;
    padding: 0 40px;
    max-width: 100%;
}

.uplyli-related-section .uplyli-section-header,
.uplyli-upsells-section .uplyli-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.uplyli-related-section .uplyli-section-title,
.uplyli-upsells-section .uplyli-section-title {
    font-family: 'MSCHN-M', sans-serif;
    font-size: 21px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

/* Products horizontal slider - Override WooCommerce defaults */
.woocommerce ul.uplyli-products-slider,
.woocommerce ul.uplyli-products-slider.products,
.woocommerce ul.products.uplyli-products-slider,
.woocommerce-page ul.uplyli-products-slider,
.woocommerce-page ul.products.uplyli-products-slider,
section.woocommerce ul.products.uplyli-products-slider,
.uplyli-related-section ul.products,
.uplyli-upsells-section ul.products,
ul.uplyli-products-slider,
ul.uplyli-products-slider.products,
ul.products.uplyli-products-slider,
.uplyli-products-slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 25px !important;
    padding: 0 0 10px 0 !important;
    margin: 0 !important;
    scrollbar-width: none !important;
    list-style: none !important;
    grid-template-columns: unset !important;
    grid: unset !important;
}

ul.uplyli-products-slider::-webkit-scrollbar,
.uplyli-products-slider::-webkit-scrollbar {
    display: none !important;
}

/* Product cards in slider - Override WooCommerce defaults */
.woocommerce ul.uplyli-products-slider li.product,
.woocommerce ul.products.uplyli-products-slider li.product,
.woocommerce-page ul.uplyli-products-slider li.product,
.uplyli-related-section ul.products li.product,
.uplyli-upsells-section ul.products li.product,
.uplyli-products-slider .uplyli-product-card,
.uplyli-products-slider li.uplyli-product-card,
ul.products.uplyli-products-slider li.product,
.uplyli-products-slider .product {
    flex: 0 0 calc(25% - 19px) !important;
    min-width: 220px !important;
    max-width: 280px !important;
    width: auto !important;
    scroll-snap-align: start !important;
    text-align: left !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Product card internal layout */
.uplyli-products-slider li.uplyli-product-card,
.uplyli-products-slider .uplyli-product-card {
    display: flex !important;
    flex-direction: column !important;
}

.uplyli-products-slider .uplyli-product-image,
.uplyli-products-slider a.uplyli-product-image {
    display: block !important;
    overflow: hidden !important;
    margin-bottom: 15px !important;
    aspect-ratio: 3/4 !important;
    border-radius: 10px !important;
    width: 100% !important;
}

.uplyli-products-slider .uplyli-product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
}

/* ОТКЛЮЧЕНО: zoom эффект при наведении на карточку товара в слайдере */
.uplyli-products-slider .uplyli-product-card:hover .uplyli-product-image img {
    transform: none;
}

.uplyli-products-slider .uplyli-product-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Ensure correct order of elements */
.uplyli-products-slider .uplyli-product-name {
    order: 1 !important;
}

.uplyli-products-slider .uplyli-product-size {
    order: 2 !important;
}

.uplyli-products-slider .uplyli-product-price {
    order: 3 !important;
}

.uplyli-products-slider .uplyli-add-to-cart-btn {
    order: 4 !important;
}

.uplyli-products-slider .uplyli-product-name {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.3;
    margin: 0;
}

.uplyli-products-slider .uplyli-product-name a {
    color: #000;
    text-decoration: none;
}

.uplyli-products-slider .uplyli-product-name a:hover {
    text-decoration: underline;
}

.uplyli-products-slider .uplyli-product-size {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    color: #000;
}

.uplyli-products-slider .uplyli-product-price {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #000;
}

/* Add to Cart Button - Outlined Style */
.uplyli-add-to-cart-btn,
.uplyli-add-to-cart-btn.button,
a.uplyli-add-to-cart-btn.button {
    display: inline-block !important;
    width: 100% !important;
    padding: 12px 20px !important;
    margin-top: 12px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    color: #000 !important;
    background: transparent !important;
    border: 1px solid #000 !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    letter-spacing: 0.5px !important;
    box-shadow: none !important;
    line-height: 1.4 !important;
    position: relative !important;
    z-index: 10 !important;
    -webkit-tap-highlight-color: transparent !important;
}

.uplyli-add-to-cart-btn:hover,
.uplyli-add-to-cart-btn.button:hover,
a.uplyli-add-to-cart-btn.button:hover {
    background: #000 !important;
    color: #fff !important;
}

.uplyli-add-to-cart-btn.added,
.uplyli-add-to-cart-btn.button.added,
a.uplyli-add-to-cart-btn.button.added {
    background: #000 !important;
    color: #fff !important;
}

.uplyli-add-to-cart-btn.added::after,
.uplyli-add-to-cart-btn.button.added::after {
    content: '✓';
    margin-left: 8px;
}

/* Hide "View cart" link that appears after adding */
.uplyli-products-slider .added_to_cart.wc-forward {
    display: none !important;
}

/* ================================================================
   PRODUCTS CAROUSEL - Desktop & Mobile behavior
   ================================================================ */

/* Carousel container */
.uplyli-products-carousel {
    position: relative;
}

/* Desktop: show only first 4 products, hide dots - EXCEPT for featured carousel on homepage */
@media (min-width: 769px) {
    .uplyli-products-slider li.uplyli-product-card:nth-child(n+5),
    .uplyli-products-slider li.product:nth-child(n+5) {
        display: none !important;
    }
    
    /* Show ALL products in featured carousel on homepage */
    .uplyli-featured-carousel .uplyli-products-slider li.uplyli-product-card:nth-child(n+5),
    .uplyli-featured-carousel .uplyli-products-slider li.product:nth-child(n+5) {
        display: flex !important;
    }
    
    .uplyli-products-carousel .uplyli-product-dots {
        display: none !important;
    }
    
    /* Show dots for featured carousel on homepage */
    .uplyli-featured-carousel .uplyli-product-dots {
        display: flex !important;
    }
    
    /* Disable horizontal scroll on desktop for related/upsells */
    .uplyli-products-carousel .uplyli-products-slider {
        overflow-x: visible !important;
        scroll-snap-type: none !important;
        flex-wrap: wrap !important;
    }
    
    /* Keep horizontal scroll for featured carousel on homepage */
    .uplyli-featured-carousel .uplyli-products-slider {
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        flex-wrap: nowrap !important;
    }
}

/* Mobile: carousel with dots */
@media (max-width: 768px) {
    .uplyli-products-carousel .uplyli-product-dots {
        display: flex;
        position: relative;
        bottom: auto;
        left: auto;
        right: auto;
        margin-top: 15px;
        padding: 0 10px;
        gap: 4px;
        z-index: 10;
    }
    
    .uplyli-products-carousel .uplyli-dot {
        flex: 1;
        height: 2px;
        border-radius: 0;
        background: rgba(0, 0, 0, 0.2);
        box-shadow: none;
        cursor: pointer;
        transition: background-color 0.2s ease;
        border: none;
        padding: 0;
        max-width: none;
    }
    
    .uplyli-products-carousel .uplyli-dot.active {
        background: #000;
    }
    
    /* Show all products on mobile for swipe */
    .uplyli-products-carousel .uplyli-products-slider li.uplyli-product-card,
    .uplyli-products-carousel .uplyli-products-slider li.product {
        display: flex !important;
    }
}

/* Responsive: Tablet */
@media (max-width: 992px) {
    .uplyli-related-section,
    .uplyli-upsells-section {
        padding: 0 25px;
        margin: 50px 0;
    }
    
    .uplyli-products-slider .uplyli-product-card {
        flex: 0 0 calc(33.333% - 17px);
        min-width: 200px;
    }
}

/* Responsive: Mobile */
@media (max-width: 768px) {
    .uplyli-related-section,
    .uplyli-upsells-section {
        padding: 0 10px;
        margin: 40px 0;
    }
    
    .uplyli-related-section .uplyli-section-title,
    .uplyli-upsells-section .uplyli-section-title {
        font-size: 18px;
    }
    
    /* Mobile slider gap - Override all desktop selectors */
    .woocommerce ul.uplyli-products-slider,
    .woocommerce ul.uplyli-products-slider.products,
    .woocommerce ul.products.uplyli-products-slider,
    .woocommerce-page ul.uplyli-products-slider,
    .woocommerce-page ul.products.uplyli-products-slider,
    section.woocommerce ul.products.uplyli-products-slider,
    .uplyli-related-section ul.products,
    .uplyli-upsells-section ul.products,
    ul.uplyli-products-slider,
    ul.uplyli-products-slider.products,
    ul.products.uplyli-products-slider,
    .uplyli-products-slider {
        gap: 10px !important;
        padding: 0 !important;
    }
    
    /* Mobile: 2 cards per row - Override all desktop selectors */
    .woocommerce ul.uplyli-products-slider li.product,
    .woocommerce ul.products.uplyli-products-slider li.product,
    .woocommerce-page ul.uplyli-products-slider li.product,
    .uplyli-related-section ul.products li.product,
    .uplyli-upsells-section ul.products li.product,
    .uplyli-products-slider .uplyli-product-card,
    .uplyli-products-slider li.uplyli-product-card,
    ul.products.uplyli-products-slider li.product,
    .uplyli-products-slider .product,
    .uplyli-products-slider li.product {
        flex: 0 0 calc(50% - 5px) !important;
        min-width: unset !important;
        max-width: calc(50% - 5px) !important;
        width: calc(50% - 5px) !important;
        position: relative;
    }
    
    .uplyli-products-slider .uplyli-product-image,
    .uplyli-products-slider a.uplyli-product-image {
        border-radius: 15px;
        margin-bottom: 8px !important;
    }
    
    .uplyli-products-slider .uplyli-product-info {
        gap: 4px !important;
        padding: 10px !important;
    }
    
    .uplyli-products-slider .uplyli-product-name,
    .uplyli-products-slider .uplyli-product-name a {
        font-size: 12px !important;
        order: 1 !important;
    }
    
    .uplyli-products-slider .uplyli-product-size {
        font-size: 12px !important;
        order: 2 !important;
    }
    
    .uplyli-products-slider .uplyli-product-price,
    .uplyli-products-slider .uplyli-product-price .price,
    .uplyli-products-slider .uplyli-product-price .woocommerce-Price-amount,
    .uplyli-products-slider .uplyli-product-price .woocommerce-Price-amount.amount,
    .uplyli-products-slider .uplyli-product-price .woocommerce-Price-amount.amount bdi {
        font-size: 14px !important;
        order: 3 !important;
    }
    
    .uplyli-add-to-cart-btn,
    .uplyli-products-slider .uplyli-add-to-cart-btn {
        padding: 10px 15px !important;
        font-size: 12px !important;
        order: 4 !important;
        margin-top: 10px !important;
        position: relative !important;
        z-index: 20 !important;
    }
    
    /* Prevent parent link from intercepting clicks */
    .uplyli-products-slider .uplyli-product-info {
        position: relative;
        z-index: 5;
    }
}

/* Responsive: Small Mobile */
@media (max-width: 480px) {
    /* Small Mobile: 2 cards per row - Override all desktop selectors */
    .woocommerce ul.uplyli-products-slider li.product,
    .woocommerce ul.products.uplyli-products-slider li.product,
    .woocommerce-page ul.uplyli-products-slider li.product,
    .uplyli-related-section ul.products li.product,
    .uplyli-upsells-section ul.products li.product,
    .uplyli-products-slider .uplyli-product-card,
    .uplyli-products-slider li.uplyli-product-card,
    ul.products.uplyli-products-slider li.product,
    .uplyli-products-slider .product,
    .uplyli-products-slider li.product {
        flex: 0 0 calc(50% - 5px) !important;
        min-width: unset !important;
        max-width: calc(50% - 5px) !important;
        width: calc(50% - 5px) !important;
    }
    
    .uplyli-products-slider .uplyli-product-name {
        font-size: 11px;
    }
    
    .uplyli-products-slider .uplyli-product-price {
        font-size: 14px;
    }
    
    .uplyli-add-to-cart-btn {
        padding: 8px 12px;
        font-size: 11px;
    }
}

/* ========================================
   Category SEO Text Block Styles
   ======================================== */

.uplyli-category-seo-block {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto 40px;
    margin-top: 40px !important;
    padding: 0 20px;
    box-sizing: border-box;
}

.uplyli-seo-text-wrapper {
    position: relative;
}

.uplyli-seo-text-content {
    overflow: hidden;
    transition: max-height 0.4s ease-out;
    font-weight: 400 !important;
}

.uplyli-seo-text-content.collapsed {
    max-height: 150px;
}

.uplyli-seo-text-content.expanded {
    max-height: 5000px;
}

/* Fade overlay for collapsed state */
.uplyli-seo-text-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Hide fade overlay when content is expanded (using sibling selector) */
.uplyli-seo-text-content.expanded + .uplyli-seo-text-fade {
    opacity: 0;
}

/* Toggle button styling */
.uplyli-seo-toggle-btn {
    display: block;
    margin: 20px auto 0;
    padding: 12px 30px;
    background-color: transparent;
    color: #000;
    border: 1px solid #000;
    border-radius: 25px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
}

.uplyli-seo-toggle-btn:hover {
    background-color: #000;
    color: #fff;
}

.uplyli-seo-toggle-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
}

/* Typography for SEO text content */
.uplyli-seo-text-content p {
    margin: 0 0 1em;
    font-size: 14px;
    line-height: 1.7;
    color: #333;
    font-weight: 400 !important;
}

.uplyli-seo-text-content h2,
.uplyli-seo-text-content h3,
.uplyli-seo-text-content h4 {
    margin: 1.5em 0 0.5em;
    font-weight: 400 !important;
    color: #000;
}

.uplyli-seo-text-content h2 {
    font-size: 20px;
}

.uplyli-seo-text-content h3 {
    font-size: 18px;
}

.uplyli-seo-text-content h4 {
    font-size: 16px;
}

.uplyli-seo-text-content ul,
.uplyli-seo-text-content ol {
    margin: 1em 0;
    padding-left: 20px;
}

.uplyli-seo-text-content li {
    margin-bottom: 0.5em;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}

.uplyli-seo-text-content a {
    color: #000;
    text-decoration: underline;
}

.uplyli-seo-text-content a:hover {
    text-decoration: none;
}

/* Mobile responsive styles for SEO block */
@media (max-width: 768px) {
    .uplyli-category-seo-block {
        margin: 30px auto;
        padding: 0 15px;
    }
    
    .uplyli-seo-text-content.collapsed {
        max-height: 120px;
    }
    
    .uplyli-seo-text-fade {
        height: 60px;
    }
    
    .uplyli-seo-toggle-btn {
        padding: 10px 25px;
        font-size: 11px;
    }
    
    .uplyli-seo-text-content p {
        font-size: 13px;
        line-height: 1.6;
    }
    
    .uplyli-seo-text-content h2 {
        font-size: 18px;
    }
    
    .uplyli-seo-text-content h3 {
        font-size: 16px;
    }
    
    .uplyli-seo-text-content h4 {
        font-size: 15px;
    }
    
    .uplyli-seo-text-content li {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .uplyli-category-seo-block {
        margin: 25px auto;
        padding: 0 10px;
    }
    
    .uplyli-seo-text-content.collapsed {
        max-height: 100px;
    }
    
    .uplyli-seo-text-fade {
        height: 50px;
    }
    
    .uplyli-seo-toggle-btn {
        padding: 10px 20px;
        font-size: 10px;
        width: 100%;
        max-width: 200px;
    }
    
    .uplyli-seo-text-content p,
    .uplyli-seo-text-content li {
        font-size: 12px;
    }
}

/* ========================================
   Sale Price Styles (diagonal strikethrough old price)
   ======================================== */

/* Price container for sale items */
.price-new,
.price-old,
.price-sep {
    display: inline;
    vertical-align: middle;
}

/* New (sale) price - current price */
.price-new {
    font-weight: 600;
    color: #000;
}

/* Old (regular) price - diagonal 45° strikethrough */
.price-old {
    color: #999;
    font-weight: 400;
    position: relative;
    display: inline-block;
}

.price-old::after {
    content: '';
    position: absolute;
    left: 12.5%;
    right: 12.5%;
    top: 50%;
    height: 1px;
    background-color: #999;
    transform: rotate(-45deg);
    transform-origin: center;
}

/* Separator dot */
.price-sep {
    color: #ccc;
    margin: 0 5px;
    font-size: 0.8em;
}

/* Catalog/Archive product cards */
.uplyli-catalog-product-price .price-new,
.uplyli-catalog-product-price .price-old,
.drop-product-price .price-new,
.drop-product-price .price-old {
    font-size: inherit;
}

/* Single product page price */
.single-product .summary .price .price-new {
    font-size: 1.2em;
}

.single-product .summary .price .price-old {
    font-size: 1em;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .price-sep {
        margin: 0 3px;
    }
    
    .uplyli-catalog-product-price,
    .drop-product-price {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 3px;
    }
}

@media (max-width: 480px) {
    .price-sep {
        margin: 0 2px;
        font-size: 0.7em;
    }
}

/* ========================================
   Blog Carousel - Critical Styles
   ======================================== */
.blog-carousel {
    position: relative !important;
    width: 100% !important;
    border-radius: 20px !important;
    overflow: hidden !important;
}

.blog-carousel-slides {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    transition: transform 0.4s ease-out;
}

.blog-carousel-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.blog-carousel-slide img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover;
    border-radius: 0 !important;
}

.blog-carousel-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    opacity: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.blog-carousel:hover .blog-carousel-nav {
    opacity: 1;
}

.blog-carousel-prev {
    left: 20px;
}

.blog-carousel-next {
    right: 20px;
}

.blog-carousel-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}

.blog-carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.blog-carousel-dot.active {
    background: #fff;
    transform: scale(1.2);
}

/* Mobile - hide arrows */
@media (max-width: 767px) {
    .blog-carousel-nav {
        display: none !important;
    }
}

/* Latest deals link */
a[href="/latest-deals/"],
a[href*="latest-deals"] {
    font-weight: 400 !important;
}

/* ========================================
   NEW FILTER PANEL DESIGN
   ======================================== */

/* Body lock when filters open on mobile */
body.filters-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

@media (min-width: 769px) {
    body.filters-open {
        overflow: auto;
        position: static;
        width: auto;
        height: auto;
    }
}

/* Filters Panel Container */
.uplyli-catalog-filters-panel {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
}

.uplyli-catalog-filters-panel.active {
    display: block;
}

/* Overlay */
.filters-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
}

/* Modal Container */
.filters-modal {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    animation: slideInRight 0.3s ease;
}

@keyframes slideInRight {
    from {
        transform: translateX(100%);
    }
    to {
        transform: translateX(0);
    }
}

/* Filters Header */
.filters-header {
    display: flex;
    align-items: center;
    padding: 20px 20px 15px;
    border-bottom: 1px solid #e5e5e5;
    position: relative;
    flex-shrink: 0;
    gap: 10px;
}

.filters-title {
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin: 0;
    flex: 1;
}

.filters-clear {
    font-size: 11px;
    color: #666;
    text-decoration: underline;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: auto;
    letter-spacing: 0.05em;
}

.filters-clear:hover {
    color: #000;
}

/* Apply button in header */
.filters-apply-header {
    padding: 8px 16px;
    background: #000;
    color: #fff;
    border: none;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: background 0.2s;
}

.filters-apply-header:hover {
    background: #333;
}

.filters-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #000;
}

.filters-close:hover {
    opacity: 0.7;
}

/* Filters Content */
.uplyli-catalog-filters-panel .filters-content {
    flex: 1;
    overflow-y: auto;
    padding: 0;
    background: #fff;
    border: none;
    min-height: 0;
}

/* Filter Group */
.uplyli-catalog-filters-panel .filter-group {
    border-bottom: 1px solid #e5e5e5;
    margin: 0;
    padding: 0;
}

.uplyli-catalog-filters-panel .filter-group:last-child {
    border-bottom: 1px solid #e5e5e5;
}

.filter-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    cursor: pointer;
    user-select: none;
}

.filter-group-header:hover {
    background: #fafafa;
}

.filter-group-header h3 {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin: 0;
    text-transform: uppercase;
}

.filter-toggle-icon {
    font-size: 20px;
    font-weight: 300;
    color: #000;
    line-height: 1;
    transition: transform 0.3s ease;
    display: inline-block;
}

.filter-group.open .filter-toggle-icon {
    transform: rotate(45deg);
}

/* Filter Group Content - Hidden by default with smooth animation */
.uplyli-catalog-filters-panel .filter-group-content {
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 20px !important;
    opacity: 0 !important;
    visibility: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease, visibility 0s 0.35s;
}

.uplyli-catalog-filters-panel .filter-group.open .filter-group-content {
    max-height: none !important;
    opacity: 1 !important;
    padding: 0 20px 20px !important;
    visibility: visible;
    overflow: visible !important;
    overflow-y: visible;
    transition: max-height 0.4s ease, opacity 0.3s ease 0.1s, padding 0.35s ease, visibility 0s;
}

/* Checkbox Labels */
.uplyli-catalog-filters-panel .filter-group label {
    display: flex;
    align-items: center;
    padding: 10px 0;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    margin: 0;
    border: none;
}

.uplyli-catalog-filters-panel .filter-group label:hover {
    color: #000;
}

.uplyli-catalog-filters-panel .filter-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 12px;
    accent-color: #000;
}

/* Filter Columns for Category */
.uplyli-catalog-filters-panel .filter-columns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
}

/* Price Range Slider */
.price-range-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 13px;
    color: #333;
}

.price-range-slider {
    position: relative;
    height: 40px;
    margin-bottom: 10px;
}

.price-range-track {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    background: #e0e0e0;
    transform: translateY(-50%);
    border-radius: 2px;
}

.price-range-selected {
    position: absolute;
    height: 100%;
    background: #000;
    border-radius: 2px;
}

.price-range-slider input[type="range"] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 20px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
    border: none;
    outline: none;
}

.price-range-slider input[type="range"]:focus {
    outline: none;
    border: none;
}

.price-range-slider input[type="range"]::-webkit-slider-runnable-track {
    background: transparent;
    border: none;
    outline: none;
}

.price-range-slider input[type="range"]::-moz-range-track {
    background: transparent;
    border: none;
    outline: none;
}

.price-range-slider input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #000;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.price-range-slider input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #000;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.price-reset {
    display: block;
    margin-left: auto;
    font-size: 11px;
    color: #666;
    text-decoration: underline;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px 0;
    letter-spacing: 0.05em;
}

.price-reset:hover {
    color: #000;
}

/* Filters Footer */
.filters-footer {
    padding: 20px;
    border-top: 1px solid #e5e5e5;
    background: #fff;
    flex-shrink: 0;
}

/* Apply button wrapper inside filters-content */
.filters-apply-wrapper {
    padding: 20px;
    margin-top: 10px;
}

.filters-apply {
    width: 100%;
    padding: 16px 20px;
    background: #000;
    color: #fff;
    border: none;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: background 0.2s;
}

.filters-apply:hover {
    background: #333;
}

/* ========================================
   DESKTOP STYLES (min-width: 769px)
   ======================================== */
@media (min-width: 769px) {
    .uplyli-catalog-filters-panel {
        position: fixed !important;
        top: 0 !important;
        left: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 450px !important;
        z-index: 9999 !important;
        background: transparent;
    }
    
    /* Account for WordPress admin bar */
    .admin-bar .uplyli-catalog-filters-panel {
        top: 32px !important;
    }
    
    .admin-bar .uplyli-catalog-filters-panel .filters-modal {
        max-height: calc(100vh - 32px);
    }
    
    .filters-overlay {
        background: rgba(0, 0, 0, 0.3);
    }
    
    .filters-modal {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 450px;
        max-height: 100vh;
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
        animation: slideInRight 0.3s ease;
    }
    
    .filters-header {
        padding: 25px 60px 20px 30px;
    }
    
    .filters-title {
        font-size: 20px;
    }
    
    .filters-close {
        top: 20px;
        right: 20px;
    }
    
    .filters-close svg {
        width: 22px;
        height: 22px;
    }
    
    .uplyli-catalog-filters-panel .filters-content {
        max-height: none;
        flex: 1;
        overflow-y: auto;
    }
    
    .filter-group-header {
        padding: 18px 30px;
    }
    
    .filter-group-header h3 {
        font-size: 13px;
    }
    
    .uplyli-catalog-filters-panel .filter-group-content {
        padding: 0 30px !important;
    }
    
    .uplyli-catalog-filters-panel .filter-group.open .filter-group-content {
        padding: 0 30px 20px !important;
    }
    
    .uplyli-catalog-filters-panel .filter-group label {
        padding: 8px 0;
        font-size: 14px;
    }
    
    .uplyli-catalog-filters-panel .filter-columns {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0 20px;
    }
    
    .filters-footer {
        padding: 20px 30px;
    }
    
    .filters-apply {
        padding: 14px 20px;
        font-size: 13px;
    }
    
    .price-range-labels {
        font-size: 14px;
    }
}

/* ========================================
   LARGE DESKTOP (min-width: 1200px)
   ======================================== */
@media (min-width: 1200px) {
    .uplyli-catalog-filters-panel {
        width: 500px !important;
    }
    
    .filters-modal {
        width: 500px;
    }
    
    .uplyli-catalog-filters-panel .filter-columns {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* ========================================
   MOBILE STYLES (max-width: 768px)
   ======================================== */
@media (max-width: 768px) {
    .uplyli-catalog-filters-panel {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 99999 !important;
        background: #fff !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }
    
    /* Account for WordPress admin bar on mobile */
    .admin-bar .uplyli-catalog-filters-panel {
        top: 46px !important;
    }
    
    .admin-bar .uplyli-catalog-filters-panel .filters-modal {
        max-height: calc(100% - 46px);
        height: calc(100% - 46px);
    }
    
    .filters-overlay {
        display: none;
    }
    
    .filters-modal {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        height: 100%;
        max-height: 100%;
        border-radius: 0;
        animation: slideInUp 0.3s ease;
        display: flex;
        flex-direction: column;
        overflow: hidden !important;
    }
    
    /* Scrollable content area for iOS */
    .filters-modal .filters-content {
        flex: 1 1 auto;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        min-height: 0;
    }
    
    @keyframes slideInUp {
        from {
            transform: translateY(100%);
        }
        to {
            transform: translateY(0);
        }
    }
    
    .filters-header {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        padding: 15px 15px;
        position: sticky;
        top: 0;
        flex-shrink: 0;
        flex-grow: 0;
        border-bottom: 1px solid #e5e5e5;
        gap: 10px;
        height: auto;
        min-height: 50px;
        background: #fff;
        z-index: 10;
    }
    
    .filters-title {
        font-size: 16px;
        font-weight: 400;
        flex: 0 0 auto;
        margin: 0;
    }
    
    .filters-clear {
        position: static;
        margin-left: auto;
        font-size: 11px;
    }
    
    .filters-apply-header {
        padding: 8px 12px;
        font-size: 11px;
    }
    
    .filters-close {
        position: static;
        flex: 0 0 auto;
        padding: 5px;
    }
    
    .uplyli-catalog-filters-panel .filters-content {
        display: block;
        padding: 0;
        padding-bottom: 100px; /* Space for fixed apply button */
    }
    
    .filter-group-header {
        padding: 18px 20px;
    }
    
    .filter-group-header h3 {
        font-size: 14px;
        font-weight: 600;
    }
    
    .uplyli-catalog-filters-panel .filter-group-content {
        padding: 0 20px !important;
    }
    
    .uplyli-catalog-filters-panel .filter-group.open .filter-group-content {
        padding: 0 20px 20px !important;
        max-height: none !important;
        overflow: visible !important;
        height: auto !important;
    }
    
    .filters-apply-wrapper {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 15px 20px;
        padding-bottom: calc(15px + env(safe-area-inset-bottom, 0px));
        margin-top: 0;
        background: #fff;
        flex-shrink: 0;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        z-index: 100;
    }
    
    .filters-apply-wrapper .filters-apply {
        width: 100%;
        padding: 16px 20px;
        background: #000;
        color: #fff;
        border: none;
        font-size: 14px;
        font-weight: 500;
        letter-spacing: 0.1em;
        cursor: pointer;
    }
    
    .uplyli-catalog-filters-panel .filter-group label {
        padding: 12px 0;
        font-size: 14px;
    }
    
    .uplyli-catalog-filters-panel .filter-columns {
        grid-template-columns: 1fr !important;
        gap: 0;
    }
    
    .filters-footer {
        padding: 15px 20px;
        padding-bottom: calc(15px + env(safe-area-inset-bottom));
        border-top: 1px solid #e5e5e5;
        background: #fff;
        flex-shrink: 0;
        display: block !important;
    }
    
    .filters-apply {
        display: block !important;
        width: 100%;
        padding: 16px 20px;
        font-size: 14px;
        border-radius: 0;
        background: #000;
        color: #fff;
        border: none;
    }
    
    .price-range-labels {
        font-size: 13px;
    }
    
    .price-range-slider {
        margin-bottom: 15px;
    }
    
    .price-reset {
        font-size: 12px;
    }
    
    /* Prevent horizontal scroll on mobile */
    html {
        overflow-x: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        width: 100% !important;
        position: relative !important;
    }
    
    /* Fix filter modal on mobile - ensure it covers full viewport */
    .uplyli-catalog-filters-panel {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        max-width: 100vw !important;
        z-index: 99999 !important;
        background: #fff !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .filters-modal {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
    
    /* Fix card slider overflow on mobile - use contain to prevent layout expansion */
    /* BUT allow horizontal scroll for carousel to work */
    .uplyli-card-slide-link {
        overflow-x: scroll !important;
        overflow-y: hidden !important;
        contain: paint !important;
    }
    
    .uplyli-catalog-product-card {
        overflow: hidden !important;
        contain: layout paint !important;
    }
    
    .uplyli-catalog-products-grid {
        overflow: hidden !important;
        contain: layout paint !important;
        max-width: 100% !important;
    }
    
    .uplyli-catalog-container {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        /* Removed contain: layout paint - it breaks position: fixed for filter panel */
    }
    
    /* Ensure all fixed elements stay within viewport */
    .filters-header {
        max-width: 100% !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }
}

/* ========================================
   Yandex Split Official Badge
   ======================================== */

/* Container for Yandex Pay Badge */
.uplyli-yandex-split-badge {
    margin: 12px 0 16px 0;
}

/* Split Add to Cart Buttons */
.uplyli-after-add-buttons {
    display: flex;
    gap: 10px;
    margin-top: 0;
    width: 100%;
}

.uplyli-after-add-buttons .button {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 5px !important;
    font-size: 13px;
    line-height: 1.2;
    min-height: 53px; /* Match standard button height */
    box-sizing: border-box;
    margin: 0 !important;
    text-transform: uppercase;
    font-weight: 600;
}

.uplyli-go-cart {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #000 !important;
}

.uplyli-go-cart:hover {
    background-color: #333 !important;
    color: #fff !important;
}

.uplyli-continue-shopping {
    background-color: transparent !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}

.uplyli-continue-shopping:hover {
    background-color: #f0f0f0 !important;
    color: #000 !important;
}

/* Ensure mobile layout handles it well */
@media (max-width: 480px) {
    .uplyli-after-add-buttons .button {
        font-size: 11px;
        padding: 8px 2px !important;
    }
}


.checkout-problem-button-wrapper {
    animation: uplyli-slide-in-up 0.5s ease-out forwards;
}

.checkout-problem-button {
    background-color: transparent !important;
    color: #000 !important;
    border: 1px solid #000 !important;
	border-radius:11px;
    width: 100%;
    display: block;
    text-align: center;
    padding: 14px;
    font-weight: 400;
    box-sizing: border-box;
    text-transform: uppercase;
    margin-top: 20px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.checkout-problem-button:hover {
    background-color: #000 !important;
    color: #fff !important;
    text-decoration: none !important;
    animation: none; /* Stop pulse on hover */
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

/* ========================================
   Yandex Split Badge & Modal (Legacy/Fallback)
   ======================================== */

/* Split Badge - kept for fallback */
.uplyli-split-badge {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: #f7f7f7;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    margin: 12px 0 16px 0;
}

.uplyli-split-badge:hover {
    background: #f0f0f0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.split-badge-content {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.split-badge-content .split-logo {
    flex-shrink: 0;
    height: 20px;
    width: auto;
}

.split-badge-content .split-text {
    flex: 1;
    font-size: 14px;
    color: #333;
    line-height: 1.3;
}

.split-badge-content .split-text strong {
    font-weight: 600;
}

.split-badge-content .split-arrow {
    flex-shrink: 0;
    opacity: 0.5;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.uplyli-split-badge:hover .split-arrow {
    opacity: 1;
    transform: translateX(2px);
}

/* Split Modal */
.uplyli-split-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 10000;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.uplyli-split-modal-content {
    background: #fff;
    border-radius: 16px;
    max-width: 420px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    animation: splitModalFadeIn 0.3s ease;
}

@keyframes splitModalFadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.uplyli-split-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: none;
    background: #f5f5f5;
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    transition: background 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.uplyli-split-modal-close:hover {
    background: #e5e5e5;
}

.uplyli-split-modal-header {
    padding: 24px 24px 20px;
    text-align: center;
    border-bottom: 1px solid #f0f0f0;
}

.uplyli-split-modal-header svg {
    margin-bottom: 16px;
}

.uplyli-split-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    margin: 0 0 8px 0;
    color: #21201F;
}

.uplyli-split-modal-header p {
    font-size: 14px;
    color: #666;
    margin: 0;
}

.uplyli-split-modal-body {
    padding: 20px 24px 24px;
}

.uplyli-split-modal-body h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 12px 0;
    color: #21201F;
}

.uplyli-split-modal-body > p {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    margin: 0 0 20px 0;
}

/* Split Schedule */
.uplyli-split-schedule {
    background: #fafafa;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 20px;
}

.split-schedule-title {
    font-size: 13px;
    color: #666;
    margin-bottom: 12px;
}

.split-schedule-bar {
    height: 4px;
    background: #e5e5e5;
    border-radius: 2px;
    margin-bottom: 12px;
    position: relative;
}

.split-schedule-progress {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 25%;
    background: linear-gradient(90deg, #FC3F1D 0%, #FF6B4A 100%);
    border-radius: 2px;
}

.split-schedule-payments {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 12px;
}

.split-payment-item {
    text-align: center;
}

.split-payment-date {
    display: block;
    font-size: 11px;
    color: #999;
    margin-bottom: 4px;
}

.split-payment-amount {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #21201F;
}

.split-schedule-note {
    text-align: center;
    font-size: 13px;
    color: #FC3F1D;
    font-weight: 500;
}

/* Split Features */
.uplyli-split-features {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.split-feature {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #333;
}

.split-feature-icon {
    width: 20px;
    height: 20px;
    background: #E8F5E9;
    color: #4CAF50;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .uplyli-split-badge {
        padding: 10px 14px;
        margin: 10px 0 14px 0;
    }
    
    .split-badge-content .split-logo {
        height: 18px;
    }
    
    .split-badge-content .split-text {
        font-size: 13px;
    }
    
    .uplyli-split-modal {
        padding: 0;
        align-items: flex-end;
    }
    
    .uplyli-split-modal-content {
        border-radius: 16px 16px 0 0;
        max-height: 85vh;
        animation: splitModalSlideUp 0.3s ease;
    }
    
    @keyframes splitModalSlideUp {
        from {
            opacity: 0;
            transform: translateY(100%);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    .split-schedule-payments {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .split-payment-item {
        padding: 8px;
        background: #fff;
        border-radius: 8px;
    }
}

/* ==========================================================================
   CART SUBMIT BUTTON - Styled like footer chat button
   ========================================================================== */

.wc-block-cart__submit-button,
.wc-block-cart__submit-button.contained,
.wc-block-components-button.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button.contained,
button.wc-block-cart__submit-button,
button.wc-block-components-button.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button.contained,
button.wc-block-components-checkout-place-order-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 99px !important;
    height: 53px !important;
    background: #000 !important;
    background-color: #000 !important;
    color: #fff !important;
    border: none !important;
    border-color: #000 !important;
    border-radius: 11px !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: -1px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    padding: 0 24px !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button.contained:hover,
.wc-block-components-button.wc-block-cart__submit-button:hover,
button.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
button.wc-block-components-checkout-place-order-button:hover {
    background: #333 !important;
    background-color: #333 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

.wc-block-cart__submit-button:focus,
.wc-block-components-checkout-place-order-button:focus {
    outline: 2px solid #000 !important;
    outline-offset: 2px !important;
}

/* Mobile styles for cart submit button */
@media (max-width: 768px) {
    .wc-block-cart__submit-button,
    .wc-block-cart__submit-button.contained,
    .wc-block-components-button.wc-block-cart__submit-button,
    button.wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    button.wc-block-components-checkout-place-order-button {
        width: 100% !important;
        min-width: 99px !important;
        height: 53px !important;
        font-size: 16px !important;
    }
}

/* ==========================================================================
   CART & CHECKOUT - Replace burgundy accent colors with black
   ========================================================================== */

/* Stepper container - ensure transparent/white background */
.checkout-steps-indicator,
.checkout-steps-indicator .steps-container {
    background: transparent !important;
    background-color: transparent !important;
}

/* Step indicators - ONLY active steps should be black */
/* Active/current step - black background */
.step.active .step-number,
.step.current .step-number,
.step--active .step-number,
.step--current .step-number,
.step-item.active .step-number,
.step-item.current .step-number,
.step-item.completed .step-number {
    background: #000 !important;
    background-color: #000 !important;
    color: #fff !important;
}

/* Active step labels - black text */
.step.active .step-label,
.step.current .step-label,
.step--active .step-label,
.step--current .step-label,
.step-item.active .step-label {
    color: #000 !important;
    font-weight: bold !important;
}

/* Product name links in cart */
.wc-block-components-product-name,
.wc-block-cart-item__product a,
.wc-block-cart-items .wc-block-components-product-name,
a.wc-block-components-product-name {
    color: #000 !important;
    text-decoration: none !important;
}

.wc-block-components-product-name:hover,
.wc-block-cart-item__product a:hover,
a.wc-block-components-product-name:hover {
    color: #333 !important;
    text-decoration: underline !important;
}

/* Checkout step headings and links */
.wc-block-checkout__actions a,
.wc-block-checkout a:not(.wc-block-components-button),
.wc-block-cart a:not(.wc-block-components-button):not(.wc-block-components-product-name) {
    color: #000 ;
}

.wc-block-checkout__actions a:hover,
.wc-block-checkout a:not(.wc-block-components-button):hover,
.wc-block-cart a:not(.wc-block-components-button):hover {
    color: #333;
}

/* Radio buttons and checkboxes accent */
.wc-block-components-radio-control__input:checked,
.wc-block-components-checkbox__input:checked {
    border-color: #000 !important;
    background-color: #000 !important;
}

/* Focus states */
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus {
    border-color: #000 !important;
    box-shadow: 0 0 0 1px #000 !important;
}

/* Remove link in cart */
.wc-block-cart-item__remove-link,
.wc-block-cart-item__remove-link a {
    color: #000 !important;
}

.wc-block-cart-item__remove-link:hover,
.wc-block-cart-item__remove-link a:hover {
    color: #333 !important;
}

/* Mobile styles */
@media (max-width: 768px) {
    /* Only active step numbers should be black */
    .step-item.active .step-number,
    .step-item.current .step-number,
    .step-item.completed .step-number {
        background: #000 !important;
        background-color: #000 !important;
    }
    
    .step-item.active .step-label {
        color: #000 !important;
    }
    
    .wc-block-components-product-name,
    a.wc-block-components-product-name {
        color: #000 !important;
    }
}
/* =============================================
   Drop Page Header Styles (single-mini-collection)
   ============================================= */
.uplyli-drop-page {
    padding-top: 20px;
}

.uplyli-drop-header {
    padding: 0 20px 30px 20px;
    max-width: 700px;
}

/* Title - Inter font for all devices */
.uplyli-drop-page .uplyli-drop-title,
.uplyli-catalog-container.uplyli-drop-page h1.uplyli-drop-title,
h1.uplyli-drop-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 36px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.2 !important;
    margin: 0 0 12px 0 !important;
    text-transform: lowercase !important;
    letter-spacing: -0.3px !important;
    color: #000 !important;
}

/* Description - Inter font for all devices */
.uplyli-drop-page .uplyli-drop-description,
.uplyli-catalog-container.uplyli-drop-page .uplyli-drop-description,
.uplyli-drop-description {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    font-style: normal !important;
    line-height: 1.5 !important;
    color: #333 !important;
    margin: 0 !important;
}

.uplyli-drop-description p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* Desktop styles (min-width: 769px) */
@media (min-width: 769px) {
    .uplyli-drop-page .uplyli-drop-title,
    .uplyli-catalog-container.uplyli-drop-page h1.uplyli-drop-title,
    h1.uplyli-drop-title {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
        font-size: 36px !important;
        font-weight: 400 !important;
        letter-spacing: -0.5px !important;
    }

    .uplyli-drop-page .uplyli-drop-description,
    .uplyli-catalog-container.uplyli-drop-page .uplyli-drop-description,
    .uplyli-drop-description,
    .uplyli-drop-description p {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
        font-size: 16px !important;
        font-weight: 300 !important;
        line-height: 1.6 !important;
    }
}

/* Mobile styles */
@media (max-width: 768px) {
    .uplyli-drop-header {
        padding: 0 15px 20px 15px;
    }
}

/* ========== SEARCH DROPDOWN (как на u-plyli.com) ========== */
.uplyli-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.uplyli-search-dropdown {
    position: absolute;
    top: calc(100% + 15px);
    right: -10px;
    background: #fff;
    padding: 12px 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    white-space: nowrap;
}

.uplyli-search-dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.uplyli-search-dropdown .uplyli-search-form {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    flex-wrap: nowrap !important;
}

.uplyli-search-dropdown .uplyli-search-input {
    border: 1px solid #ddd !important;
    outline: none !important;
    font-size: 14px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    background: #fff !important;
    padding: 8px 12px !important;
    width: 200px !important;
    transition: border-color 0.2s ease;
    flex-shrink: 0 !important;
}

.uplyli-search-dropdown .uplyli-search-input:focus {
    border-color: #000 !important;
}

.uplyli-search-dropdown .uplyli-search-input::placeholder {
    color: #999;
}

.uplyli-search-dropdown .uplyli-search-submit {
    background: #000 !important;
    border: none !important;
    cursor: pointer;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 0.2s ease;
    color: #fff !important;
    flex-shrink: 0 !important;
}

.uplyli-search-dropdown .uplyli-search-submit:hover {
    opacity: 0.8;
}

.uplyli-search-dropdown .uplyli-search-close {
    background: none !important;
    border: none !important;
    font-size: 22px !important;
    font-weight: 300 !important;
    cursor: pointer;
    color: #999 !important;
    line-height: 1 !important;
    padding: 4px !important;
    transition: color 0.2s ease;
    flex-shrink: 0 !important;
}

.uplyli-search-dropdown .uplyli-search-close:hover {
    color: #000 !important;
}

/* ========== SEARCH DROPDOWN - TABLET ========== */
@media (max-width: 1024px) {
    .uplyli-search-dropdown {
        right: -5px;
        padding: 10px 12px;
    }
    
    .uplyli-search-dropdown .uplyli-search-input {
        font-size: 14px;
        padding: 8px 10px;
        width: 180px;
    }
}

/* ========== SEARCH DROPDOWN - MOBILE ========== */
@media (max-width: 768px) {
    /* Показываем иконку поиска в мобильной версии */
    .uplyli-search-wrapper {
        display: inline-flex !important;
        position: static !important;
        margin-right: 0px;
    }
    
    .uplyli-search-icon {
        display: flex !important;
        width: 20px;
        height: 20px;
    }
    
    .uplyli-search-icon svg {
        width: 20px;
        height: 20px;
    }
    
    .uplyli-search-dropdown {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 15px 20px !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
        transform: translateY(-100%) !important;
        background: #fff !important;
        z-index: 10001 !important;
        box-sizing: border-box !important;
        border: none !important;
        white-space: normal !important;
    }
    
    .uplyli-search-dropdown.active {
        transform: translateY(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    .uplyli-search-dropdown .uplyli-search-form {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
    }
    
    .uplyli-search-dropdown .uplyli-search-input {
        font-size: 16px !important;
        padding: 12px 15px !important;
        width: auto !important;
        flex: 1 !important;
        min-width: 0 !important;
    }
    
    .uplyli-search-dropdown .uplyli-search-submit {
        padding: 12px !important;
        flex-shrink: 0 !important;
    }
    
    .uplyli-search-dropdown .uplyli-search-close {
        font-size: 26px !important;
        flex-shrink: 0 !important;
    }
}

/* =========================================
   Magnific Popup - Mobile Improvements
   ========================================= */

/* Скрываем preloader (серый круг) */
.mfp-preloader {
    display: none !important;
}

/* Улучшенные стили для мобильных устройств */
@media (max-width: 768px) {
    /* Убираем все отступы */
    .mfp-img-mobile .mfp-container {
        padding: 0 !important;
    }
    
    .mfp-img-mobile .mfp-content {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Изображение на весь экран */
    .mfp-img-mobile img.mfp-img {
        padding: 0 !important;
        margin: 0 auto !important;
        max-height: 100vh !important;
        max-width: 100vw !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
    }
    
    /* Кнопка закрытия */
    .mfp-img-mobile .mfp-close {
        top: 10px;
        right: 10px;
        width: 44px;
        height: 44px;
        line-height: 44px;
        background: rgba(0, 0, 0, 0.5);
        border-radius: 50%;
        color: #fff;
        font-size: 28px;
        text-align: center;
        padding: 0;
        position: fixed;
        z-index: 9999;
    }
    .mfp-content .mfp-close{
        display: none;
    }
    /* Скрываем стрелки на мобильных - используем свайпы */
    .mfp-img-mobile .mfp-arrow {
        display: none !important;
    }
    
    /* Счётчик изображений */
    .mfp-img-mobile .mfp-counter {
        top: 15px;
        left: 15px;
        right: auto;
        color: #fff;
        font-size: 14px;
        background: rgba(0, 0, 0, 0.5);
        padding: 5px 10px;
        border-radius: 4px;
        position: fixed;
        z-index: 9999;
    }
    
    /* Убираем тень под изображением */
    .mfp-img-mobile .mfp-figure:after {
        display: none !important;
    }
    
    /* Убираем bottom bar */
    .mfp-img-mobile .mfp-bottom-bar {
        display: none !important;
    }
    
    /* Фон */
    .mfp-img-mobile.mfp-bg {
        background: #000 !important;
    }
}

/* Slide animation for Magnific Popup */
.mfp-container.mfp-changing.mfp-moving-next .mfp-figure {

    transform: translateX(-50px);
}

.mfp-container.mfp-changing.mfp-moving-prev .mfp-figure {

    transform: translateX(50px);
}

.mfp-container .mfp-figure {

    transform: translateX(0);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Enhanced Slide animation: old item leaves, new item enters */
/* 1. Item leaving */
.mfp-container.mfp-changing.mfp-moving-next .mfp-figure {
    transform: translateX(-100px);
    opacity: 0;
}

.mfp-container.mfp-changing.mfp-moving-prev .mfp-figure {
    transform: translateX(100px);
    opacity: 0;
}

/* 2. New item entry (initial position) */
.mfp-container.mfp-new-item.mfp-moving-next .mfp-figure {
    transform: translateX(100px);
    opacity: 0;
}

.mfp-container.mfp-new-item.mfp-moving-prev .mfp-figure {
    transform: translateX(-100px);
    opacity: 0;
}

/* 3. Common figure style */
.mfp-container .mfp-figure {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s ease-out;
}

/* SALE Badge Styles */
.uplyli-sale-badge {
    display: none !important;
}

.custom-sale-badge {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background-color: #ff4d4f !important;
    color: #fff !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    z-index: 99 !important;
    border-radius: 0 !important;
    line-height: 1 !important;
}

.uplyli-catalog-product-image,
.uplyli-product-image {
    position: relative;
}
