/* === BigPharma Dark Navy Theme v4 for so-shoppystore === */
/* Modern ecommerce 2026: #0d1b4a primary, #1a1a2e secondary */
/* Trends: sticky header, lift cards, glassmorphism, whitespace */

/* ============ CSS VARIABLES ============ */
:root {
    --bp-primary: #0d1b4a;
    --bp-primary-light: #1a2d6e;
    --bp-secondary: #1a1a2e;
    --bp-accent: #c9a84c;        /* gold — premium accent */
    --bp-accent-hover: #b8952f;
    --bp-text: #333;
    --bp-text-light: #8899bb;
    --bp-bg: #f0f2f5;
    --bp-white: #fff;
    --bp-border: #e8e8e8;
    --bp-radius: 10px;
    --bp-shadow: 0 2px 12px rgba(13,27,74,0.06);
    --bp-shadow-hover: 0 12px 36px rgba(13,27,74,0.14);
    --bp-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --bp-spacing: 2.5rem;
}

/* ============ GOOGLE FONT ============ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ============ GLOBAL ============ */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}
body {
    background: var(--bp-bg) !important;
    font-family: 'Inter', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif !important;
    color: var(--bp-text);
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
}
a { color: var(--bp-primary); transition: color 0.2s; }
a:hover { color: var(--bp-primary-light); text-decoration: none; }
img[data-src], img.lozad, img.lazyload { opacity: 1 !important; }
::selection { background: var(--bp-primary); color: #fff; }

/* ============ OVERFLOW FIX — containment at every level ============ */
/* Wrap everything — nothing should exceed viewport */
html {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}
body {
    overflow-x: hidden !important;
    max-width: 100% !important;
    position: relative;
}
/* Page builder containers */
.so-page-builder,
.page-builder-ltr,
#content,
footer.footer-container,
.footer-has-toggle {
    overflow-x: hidden !important;
    max-width: 100% !important;
}
/* Overflow containment — only on page builder, not all containers */
/* Owl2 carousel — stage must not leak */
.owl2-stage-outer {
    overflow: hidden !important;
}
/* Marquee inside slider-container */
.slider-container marquee {
    max-width: 100%;
    overflow: hidden;
}
/* Tags block — can have very wide inline text */
.so-popular-tag .box-content {
    overflow: hidden !important;
    word-wrap: break-word;
}
/* Hide broken products with empty product_id */
.product-layout a[href$="product_id="],
.product-layout a[href$="product_id= "] {
    visibility: hidden;
}
.extraslider-inner .item-wrap-inner a.lt-image[href$="product_id="] {
    pointer-events: none;
}
/* Hide entire product card if image is no_image placeholder */
.extraslider-inner .product-layout:has(a[href$="product_id="]) {
    display: none !important;
}

/* ============ FIX LAYOUT — full width, no offset ============ */
[class*="col_es6a"] {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Row containing slider — no negative margins, full width */
.rowrow_e095 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
}

/* ============ SLIDER + INFO BANNERS: side by side ============ */
.slider-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px;
    align-items: stretch;
    overflow: hidden !important;
    max-width: 100% !important;
}

/* 1. ВНИМАНИЕ marquee — compact navy strip, full width */
.slider-container > div:first-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    order: -2;
    background: linear-gradient(135deg, #0d1b4a 0%, #1a2d6e 100%) !important;
    color: #fff !important;
    padding: 8px 20px !important;
    border-radius: 8px;
    font-size: 13px;
    text-align: center;
    overflow: hidden !important;
    max-height: 38px;
}
.slider-container > div:first-child *,
.slider-container > div:first-child font[color] {
    color: #fff !important;
}
.slider-container > div:first-child b,
.slider-container > div:first-child strong {
    color: var(--bp-accent) !important;
}

/* 2. Slider — left, ~70% */
.slider-container > .sohomepage-sliderso-homeslider-ltr {
    flex: 1 1 68% !important;
    min-width: 0 !important;
    max-width: 68% !important;
    order: 0;
    overflow: hidden !important;
}
/* Ensure owl2 inside slider doesn't overflow */
.slider-container .owl2-stage-outer,
.slider-container .so-homeslider {
    overflow: hidden !important;
    max-width: 100% !important;
}

/* 3. Info banners — right, ~30%, OWL CAROUSEL */
.slider-container > .banner-block-slideshow-h1 {
    flex: 0 0 calc(30% - 12px) !important;
    max-width: calc(30% - 12px) !important;
    order: 1;
    overflow: hidden !important;
    border-radius: 12px;
    position: relative;
}
/* Vertical banner carousel — show 2 stacked */
.banner-block-slideshow-h1.bp-info-carousel {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.banner-block-slideshow-h1.bp-vert-carousel .owl2-stage-outer,
.banner-block-slideshow-h1.bp-vert-carousel .owl2-stage,
.banner-block-slideshow-h1.bp-vert-carousel .owl2-dots {
    display: none !important;
}
.banner-block-slideshow-h1 .bp-info-banner-item {
    width: 100%;
}
.banner-block-slideshow-h1 .bp-info-banner-item > div {
    width: 100%;
}
.banner-block-slideshow-h1 .bp-cloned {
    display: none !important;
}
.banner-block-slideshow-h1 img {
    width: 100% !important;
    height: auto !important;
    display: block;
    border-radius: 10px;
    box-shadow: none;
    object-fit: cover;
}

/* 4. Hide so-deals (text_noitem) */
.slider-container > .moduleso-deals-ltr,
.slider-container > .style-dev-so-deals,
.style-dev-so-deals {
    display: none !important;
}

/* ============ HIDE "text_noitem" / blue alert ============ */
.modcontent > .alert-info,
.slider-container .alert-info {
    display: none !important;
}

/* Mobile: stack vertically */
@media (max-width: 991px) {
    .slider-container > .banner-block-slideshow-h1 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        flex-direction: row !important;
    }
    .slider-container > .sohomepage-sliderso-homeslider-ltr {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ============ INFO BANNERS inside slider-container ============ */
.bp-info-banner-item {
    flex: 1;
    min-width: 0;
    min-height: 0;
}
.bp-info-banner-item a {
    display: block;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    transition: transform 0.3s, box-shadow 0.3s;
    height: 100%;
}
.bp-info-banner-item a:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.18);
}
.bp-info-banner-item img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    object-fit: cover;
    border-radius: 10px;
}
/* Inside slider-container: banners stacked vertically (handled by parent flex) */
.slider-container .banner-block-slideshow-h1 > .bp-info-banner-item > div {
    height: 100%;
}
@media (max-width: 768px) {
    .banner-block-slideshow-h1 {
        gap: 10px;
    }
}

/* Hide empty SoPageBuilder sections */
.rowrow_7bd8,
.rowrow_1cfx {
    display: none !important;
}

/* Section spacing — tighter to remove gaps */
.so-page-builder > section,
#content > .row,
.module-products,
.so-extraslider,
.so-extra-slider,
.so-basic-products {
    margin-bottom: 16px !important;
}
/* Page builder rows — reduce top/bottom gap */
.page-builder-ltr {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.row-style {
    margin-bottom: 12px;
}
/* Slider row — less bottom margin */
.rowrow_e095 {
    margin-bottom: 0 !important;
}
/* Category strip + description — tight */
.bp-cat-strip {
    margin-bottom: 0;
}
.bp-shop-description {
    margin-bottom: 12px;
}

/* ============ STICKY HEADER ============ */
#header {
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow 0.3s ease;
}
#header.scrolled {
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

/* ============ TOP BAR ============ */
#header .header-top {
    background: var(--bp-primary) !important;
    color: #b0bec5 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 6px 0;
    font-size: 13px;
    letter-spacing: 0.2px;
}
#header .header-top a,
#header .header-top .dropdown-toggle,
#header .header-top .list-inline li,
#header .header-top .top-link a,
#header .header-top .textColor,
#header .header-top span,
#header .header-top i.fa {
    color: #b0bec5 !important;
    transition: color 0.2s;
}
#header .header-top a:hover,
#header .header-top .top-link a:hover {
    color: #fff !important;
}
#header .header-top .dropdown-menu {
    background: #1a1a2e;
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
#header .header-top .dropdown-menu a { color: #ccc !important; }
#header .header-top .dropdown-menu a:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.08) !important;
}
/* Currency/Language dropdowns */
#header .header-top .btn-link,
#header .header-top .currency strong,
#header .header-top .language strong {
    color: #b0bec5 !important;
}

/* ============ HEADER CENTER — Logo + Search + Cart ============ */
#header .header-center {
    background: var(--bp-white) !important;
    padding: 14px 0;
    border-bottom: none;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
#header .header-center .row {
    display: flex !important;
    align-items: center !important;
}
#header .header-center .navbar-logo {
    flex: 0 0 auto;
}
#header .header-center .logo img,
#header .header-center .navbar-logo img {
    max-height: 50px;
    width: auto;
    transition: opacity 0.2s;
}
#header .header-center .logo img:hover,
#header .header-center .navbar-logo img:hover { opacity: 0.85; }

/* Search bar — wide, centered */
#header .header-center .content_menu {
    flex: 1 1 auto;
    padding: 0 20px;
}
#header .header-center .sosearchpro-wrapper,
#header .header-center .so-search,
#header .header-center #sosearchpro {
    width: 100%;
}
#header .header-center .search .form-control,
#header .header-center .search input[type="text"],
#header .header-center .form-control {
    border: 2px solid var(--bp-primary) !important;
    border-right: none !important;
    border-radius: 8px 0 0 8px !important;
    height: 46px;
    font-size: 14px;
    padding: 8px 16px;
    box-shadow: none !important;
    background: #f8f9fa !important;
}
#header .header-center .search .form-control:focus {
    background: var(--bp-white) !important;
    border-color: var(--bp-primary-light) !important;
    box-shadow: 0 0 0 3px rgba(13,27,74,0.12) !important;
}
/* Category select in search */
#header .header-center .select_category select {
    border: 2px solid var(--bp-primary) !important;
    border-right: 1px solid #ddd !important;
    height: 46px;
    background: #f8f9fa;
    color: #666;
    font-size: 13px;
    padding: 0 12px;
}
#header .header-center .btn-search,
#header .header-center .search-btn,
#header .header-center .input-group-btn .btn {
    background: var(--bp-primary) !important;
    color: #fff !important;
    border: 2px solid var(--bp-primary) !important;
    border-radius: 0 8px 8px 0 !important;
    height: 46px;
    width: 52px;
    transition: background 0.2s;
    font-size: 16px;
}
#header .header-center .btn-search:hover,
#header .header-center .input-group-btn .btn:hover {
    background: var(--bp-primary-light) !important;
    border-color: var(--bp-primary-light) !important;
}

/* Cart icon */
#header .header-center .shopping_cart,
#header .header-center .block-cart,
#header .header-center #cart {
    color: #333 !important;
}
#header .header-center .shopping_cart .total-shopping-cart,
#header .header-center .block-cart .cart-heading {
    background: transparent !important;
    border: 2px solid #e0e0e0;
    border-radius: 6px;
    padding: 8px 15px;
    transition: border-color 0.2s;
}
#header .header-center .shopping_cart .total-shopping-cart:hover,
#header .header-center .block-cart .cart-heading:hover {
    border-color: #0d1b4a;
}
#header .header-center .badge,
#header .header-center .total-shopping-cart .badge {
    background: var(--bp-accent) !important;
    color: #fff !important;
    font-size: 11px;
    border-radius: 50%;
    min-width: 20px;
    height: 20px;
    line-height: 20px;
    padding: 0 5px;
}

/* ============ KILL RED EVERYWHERE ============ */
/* Side floating tabs (social widgets + so-groups) — HIDE completely */
.social-widgets,
section.social-widgets,
.social-widgets.visible-lg,
#so-groups,
.so-groups-sticky,
.right.so-groups-sticky {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}
/* Theme red accent override */
.textColor, .text-color, .price .textColor,
a.textColor, span.textColor {
    color: var(--bp-accent) !important;
}
/* So-shoppystore red overrides */
.btn-danger, .label-danger {
    background: var(--bp-primary) !important;
    border-color: var(--bp-primary) !important;
}
.text-danger { color: var(--bp-accent) !important; }
/* Countdown timer */
.so-countdown .time-item,
.product-countdown .countdown-amount {
    background: var(--bp-primary) !important;
    color: #fff !important;
}
/* Star ratings — keep gold */
.rating .fa-star, .rating .fa-star-half-o { color: var(--bp-accent) !important; }
.rating .fa-star-o { color: #d4d4d4 !important; }
/* Price color */
.price, .price-new, .special-price,
.product-thumb .price, .product-thumb .price-new,
.product-info .price-new, .product-info #product-price {
    color: var(--bp-primary) !important;
}
/* Sale / discount labels */
.product-label, .label-sale, .product-label-special,
.sticker-sale, .product-thumb .sale-badge {
    background: var(--bp-accent) !important;
    color: #fff !important;
}
/* Back to top — already defined but ensure no red */
.back-to-top, .back-to-top:hover {
    background: var(--bp-primary) !important;
}

/* ============ HEADER BOTTOM (MENU) ============ */
#header .header-bottom {
    background: var(--bp-secondary) !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
/* Kill ALL gray/white backgrounds inside header-bottom */
#header .header-bottom .navbar-default,
#header .header-bottom .navbar,
#header .header-bottom nav,
#header .header-bottom .container-megamenu,
#header .header-bottom .megamenu-style-dev,
#header .header-bottom .responsive,
#header .header-bottom .so-megamenu,
#header .header-bottom .megamenu-wrapper,
#header .header-bottom .mega-horizontal,
#header .header-bottom .mega-horizontal *:not(a):not(li):not(span):not(i) {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
/* Category button left side */
#header .header-bottom .menu-vertical .navbar-default,
#header .header-bottom .menu-vertical nav,
#header .header-bottom .menu-vertical .megamenu-wrapper {
    background: transparent !important;
}
/* Category button */
#header .header-bottom .so-vertical-menu .btn-navbar,
#header .header-bottom .vertical-title,
#header .header-bottom .so-cate-title {
    background: #0d1b4a !important;
    color: #fff !important;
    border-radius: 4px 4px 0 0;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.5px;
    padding: 12px 18px;
}
/* Menu links — horizontal in bottom bar */
#header .header-bottom .mega-horizontal {
    display: flex;
    align-items: center;
    height: 100%;
}
#header .header-bottom .mega-horizontal .megamenu-style-dev {
    width: 100%;
}
#header .header-bottom .so-megamenu .nav > li > a,
#header .header-bottom .navbar-nav > li > a,
#header .header-bottom .megamenu > li > a,
#header .header-bottom nav ul > li > a,
#header .header-bottom .mega-horizontal a {
    color: #e0e0e0 !important;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
    padding: 13px 14px;
    transition: all 0.2s;
    border-radius: 4px;
    white-space: nowrap;
}
#header .header-bottom .so-megamenu .nav > li > a:hover,
#header .header-bottom .so-megamenu .nav > li.active > a,
#header .header-bottom .navbar-nav > li > a:hover,
#header .header-bottom nav ul > li > a:hover,
#header .header-bottom .mega-horizontal a:hover {
    color: #fff !important;
    background: rgba(255,255,255,0.1) !important;
}
/* Menu container — single line on desktop only */
@media (min-width: 992px) {
    #header .header-bottom .mega-horizontal .navbar-nav,
    #header .header-bottom .mega-horizontal ul.megamenu {
        display: flex !important;
        flex-wrap: nowrap;
        margin: 0;
        padding: 0;
    }
}
/* Dropdown sub-menus */
#header .header-bottom .so-megamenu .dropdown-menu,
#header .header-bottom .mega-dropdown-menu {
    background: #fff !important;
    border: none;
    border-top: 3px solid #0d1b4a;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    padding: 15px;
}
#header .header-bottom .so-megamenu .dropdown-menu a {
    color: #444 !important;
    font-weight: 400;
    padding: 6px 12px;
    border-radius: 4px;
    transition: all 0.15s;
}
#header .header-bottom .so-megamenu .dropdown-menu a:hover {
    color: #0d1b4a !important;
    background: #f0f2f5 !important;
}

/* ============ CATEGORY BAR — hamburger dropdown ============ */
.bp-category-bar {
    background: #0a1235;
    border-top: none;
    position: relative;
    z-index: 999;
    margin-top: -1px;
    margin-bottom: 12px;
}
#header .header-bottom {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.bp-cat-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(201,168,76,0.15);
    border: 1px solid rgba(201,168,76,0.4);
    color: #fff;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.2s;
    border-radius: 6px;
}
.bp-cat-btn:hover {
    background: rgba(201,168,76,0.25);
    border-color: rgba(201,168,76,0.6);
}
/* Hamburger icon */
.bp-cat-icon {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 20px;
}
.bp-cat-icon span {
    display: block;
    height: 2px;
    background: #c9a84c;
    border-radius: 1px;
    transition: transform 0.3s, opacity 0.3s;
}
.bp-cat-btn.open .bp-cat-icon span:nth-child(1) { transform: rotate(45deg) translate(4px, 4px); }
.bp-cat-btn.open .bp-cat-icon span:nth-child(2) { opacity: 0; }
.bp-cat-btn.open .bp-cat-icon span:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); }
.bp-cat-label { color: #fff; }
.bp-cat-arrow {
    color: #c9a84c;
    transition: transform 0.3s;
    font-size: 16px;
}
.bp-cat-btn.open .bp-cat-arrow { transform: rotate(180deg); }
/* Dropdown */
.bp-cat-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    border-top: 3px solid #0d1b4a;
    z-index: 998;
    animation: bpSlideDown 0.25s ease;
}
@keyframes bpSlideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
.bp-cat-list {
    list-style: none;
    margin: 0;
    padding: 12px 0;
    display: flex;
    flex-wrap: wrap;
}
.bp-cat-list > li {
    flex: 0 0 25%;
    position: relative;
}
.bp-cat-list > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    color: #333 !important;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.15s;
    border-radius: 6px;
}
.bp-cat-list > li > a:hover {
    background: #f0f2f5;
    color: #0d1b4a !important;
}
.bp-cat-list > li > a > .fa:first-child {
    color: #0d1b4a;
    width: 20px;
    text-align: center;
    font-size: 15px;
}
.bp-sub-arrow {
    margin-left: auto;
    color: #999;
    font-size: 12px;
}
/* Sub-categories */
.bp-cat-sub {
    list-style: none;
    padding: 0 0 0 36px;
    margin: 0;
}
.bp-cat-sub li a {
    display: block;
    padding: 6px 16px;
    color: #666 !important;
    font-size: 13px;
    transition: all 0.15s;
    border-radius: 4px;
}
.bp-cat-sub li a:hover {
    color: #0d1b4a !important;
    background: #f0f2f5;
}
/* On hover show sub-categories (desktop) */
@media (min-width: 992px) {
    .bp-cat-list > li:hover > .bp-cat-sub {
        display: block !important;
    }
}
/* Mobile: full width items */
@media (max-width: 991px) {
    .bp-cat-list > li { flex: 0 0 50%; }
    .bp-cat-sub { display: none; }
}
@media (max-width: 576px) {
    .bp-cat-list > li { flex: 0 0 100%; }
    .bp-cat-list > li > a { padding: 8px 12px; font-size: 13px; }
}
/* Category bar — no collapse on scroll (prevents jump) */

/* ============ PRODUCT CARDS ============ */
.product-thumb,
.product-layout .product-thumb {
    background: var(--bp-white) !important;
    border: 1px solid var(--bp-border) !important;
    border-radius: var(--bp-radius) !important;
    margin-bottom: 24px;
    transition: transform var(--bp-transition), box-shadow var(--bp-transition);
    overflow: hidden;
    position: relative;
    box-shadow: var(--bp-shadow);
    contain: layout style paint;
}
.product-thumb:hover {
    box-shadow: var(--bp-shadow-hover) !important;
    transform: translateY(-6px);
    border-color: transparent !important;
}
.product-thumb .image {
    overflow: hidden;
    border-radius: 10px 10px 0 0;
}
.product-thumb .image img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s;
}
.product-thumb:hover .image img {
    transform: scale(1.03);
}
.product-thumb .caption {
    padding: 12px 15px;
}
.product-thumb .name a,
.product-thumb .caption a,
.product-thumb h4 a {
    color: #333 !important;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    transition: color 0.2s;
}
.product-thumb .name a:hover,
.product-thumb h4 a:hover {
    color: #0d1b4a !important;
}
.product-thumb .price,
.product-thumb .price-new {
    color: #0d1b4a !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -0.5px;
}
.product-thumb .price-old {
    color: #999 !important;
    text-decoration: line-through;
    font-size: 14px !important;
    margin-left: 6px;
}
/* Rating stars */
.product-thumb .rating .fa-star,
.product-thumb .rating .fa-star-o {
    color: #ffc107 !important;
    font-size: 13px;
}
/* Product labels / badges */
.product-thumb .product-label,
.product-thumb .label-sale {
    background: #e53935 !important;
    color: #fff;
    border-radius: 4px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 600;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
}

/* ============ BUTTONS ============ */
.btn-primary, button.btn-primary,
.btn-default.btn-primary {
    background: #0d1b4a !important;
    border-color: #0d1b4a !important;
    color: #fff !important;
    border-radius: 6px;
    font-weight: 500;
    letter-spacing: 0.3px;
    transition: all 0.2s;
    padding: 10px 20px;
}
.btn-primary:hover, button.btn-primary:hover {
    background: #1a2d6e !important;
    border-color: #1a2d6e !important;
    box-shadow: 0 2px 8px rgba(13,27,74,0.25);
}
/* Add to cart button */
.product-thumb .button-group,
.product-thumb .btn-action {
    padding: 0 15px 12px;
}
.product-thumb .button-group button,
.product-thumb .btn-cart,
.product-thumb [onclick*="cart.add"],
.addToCart, .button-cart {
    background: #0d1b4a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.product-thumb .button-group button:hover,
.addToCart:hover, .button-cart:hover {
    background: #1a2d6e !important;
    box-shadow: 0 2px 8px rgba(13,27,74,0.25);
}
/* Wishlist / Compare buttons */
.product-thumb .button-group button[data-original-title],
.product-thumb .button-group .btn-wishlist,
.product-thumb .button-group .btn-compare {
    background: #f0f2f5 !important;
    color: #666 !important;
    border-radius: 6px;
}
.product-thumb .button-group button[data-original-title]:hover {
    background: #0d1b4a !important;
    color: #fff !important;
}

/* ============ CATEGORY QUICK-NAV STRIP ============ */
.bp-cat-strip {
    background: var(--bp-white);
    padding: 20px 0;
    margin-bottom: 8px;
}
.bp-cat-strip-inner {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 4px 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.bp-cat-strip-inner::-webkit-scrollbar { display: none; }
.bp-cat-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 14px 12px 10px;
    border-radius: 12px;
    background: #f8f9fb;
    border: 1px solid #eef0f4;
    min-width: 110px;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.25s ease;
    flex: 1 0 auto;
}
.bp-cat-chip:hover {
    background: #fff;
    border-color: var(--chip-color, #0d1b4a);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    transform: translateY(-3px);
}
.bp-chip-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--chip-color, #0d1b4a);
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: transform 0.3s;
}
.bp-cat-chip:hover .bp-chip-icon { transform: scale(1.1); }
.bp-chip-name {
    color: #333 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .bp-cat-chip { min-width: 90px; padding: 10px 8px 8px; }
    .bp-chip-icon { width: 38px; height: 38px; font-size: 15px; }
    .bp-chip-name { font-size: 11px; }
}

/* ============ SHOP DESCRIPTION — under banner ============ */
.bp-shop-description {
    margin-bottom: 20px;
}
.bp-desc-inner {
    max-height: 90px;
    overflow: hidden;
    position: relative;
    border-radius: 10px;
    padding: 16px 24px !important;
    background: linear-gradient(135deg, #0d1b4a 0%, #1a2d6e 100%);
    color: rgba(255,255,255,0.85) !important;
    font-size: 13px;
    line-height: 1.7;
    cursor: pointer;
    transition: max-height 0.5s ease;
}
.bp-desc-inner * {
    color: rgba(255,255,255,0.85) !important;
}
.bp-desc-inner::after {
    content: 'Читать далее \25BE';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 45px;
    background: linear-gradient(transparent, #1a2d6e 70%);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 8px;
    font-size: 12px;
    color: #c9a84c !important;
    font-weight: 600;
    letter-spacing: 0.5px;
}
.bp-desc-inner.expanded {
    max-height: 1000px;
}
.bp-desc-inner.expanded::after {
    content: 'Свернуть \25B4';
    background: transparent;
    position: relative;
    height: auto;
    padding-top: 8px;
}

/* ============ HOMEPAGE SLIDER / BANNERS ============ */
.so-homeslider,
.so-homeslider-wrapper {
    border-radius: 10px;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    margin-bottom: 20px;
}
/* All owl2 carousels — prevent stage overflow */
.owl2-stage-outer {
    overflow: hidden !important;
}
.so-extraslider,
.so-extra-slider,
.extraslider-inner {
    overflow: hidden !important;
    max-width: 100% !important;
}
/* Product rows — prevent overflow from carousels */
.rowrow_odfc {
    overflow: hidden !important;
}
.banners-effect-5 .effect-v4,
.so-extra-slider .effect-v4 {
    border-radius: 8px;
    overflow: hidden;
}
/* Info blocks under slider */
.so-page-builder .h1-section-style1 .modulenewsleter-basic,
.module-banner .banner-content {
    border-radius: 8px;
    overflow: hidden;
}

/* ============ SIDEBAR ============ */
.so-categories .so-cate-title,
.box-category .panel-heading,
.column-left .panel-heading,
.so-vertical-menu .btn-navbar {
    background: #0d1b4a !important;
    color: #fff !important;
    border: none;
    border-radius: 6px 6px 0 0;
    padding: 14px 18px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.5px;
}
.column-left .panel,
.so-categories .panel,
.so-vertical-menu {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    margin-bottom: 20px;
}
.so-vertical-menu .so-vertical-menu-wrapper {
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 6px 6px;
}
.so-vertical-menu .so-vertical-menu-wrapper li a {
    border-bottom: 1px solid #f0f0f0;
    padding: 10px 18px;
    color: #444;
    font-size: 13px;
    transition: all 0.15s;
}
.so-vertical-menu .so-vertical-menu-wrapper li a:hover {
    background: #f0f2f5;
    color: #0d1b4a !important;
    padding-left: 22px;
}
.so-vertical-menu .so-vertical-menu-wrapper li a i.fa {
    color: #0d1b4a;
    margin-right: 8px;
    width: 18px;
    text-align: center;
}
/* Sidebar bestsellers */
.column-left .so-extraslider,
.column-left .so-extra-slider {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}
.column-left .so-extraslider .modtitle,
.column-left .so-extra-slider .modtitle {
    background: #0d1b4a !important;
    color: #fff !important;
    padding: 12px 18px;
    margin: 0;
    font-size: 13px;
    text-transform: uppercase;
}

/* ============ SECTION TITLES ============ */
.module-products h3,
h3.module-title, .products-title,
.so-page-builder h3.modtitle,
.so-page-builder .modtitle,
.so-extraslider .modtitle,
.so-basic-products .modtitle {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    padding-bottom: 14px;
    margin-bottom: 24px;
    border-bottom: none;
    position: relative;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.so-page-builder h3.modtitle::after,
.so-page-builder .modtitle::after,
.so-extraslider .modtitle::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, #0d1b4a, #c9a84c);
    border-radius: 2px;
}
/* Title with icon */
.so-page-builder .modtitle .fa,
.so-page-builder h3.modtitle .fa {
    color: #c9a84c !important;
    margin-right: 6px;
}

/* ============ FOOTER ============ */
footer.footer-container {
    background: #1a1a2e !important;
    color: #aab !important;
    margin-top: 40px;
}
footer.footer-container .container {
    padding-top: 30px;
}
footer.footer-container h5,
footer.footer-container .footer-title,
footer.footer-container .panel-title,
footer.footer-container .title-footer,
footer.footer-container .block .title_block,
footer.footer-container .modtitle {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600;
    margin-bottom: 18px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(255,255,255,0.1);
}
footer.footer-container a {
    color: #8899bb !important;
    text-decoration: none;
    transition: color 0.2s;
    font-size: 13px;
}
footer.footer-container a:hover {
    color: #fff !important;
}
footer.footer-container ul { list-style: none; padding: 0; margin: 0; }
footer.footer-container ul li { margin-bottom: 10px; }
footer.footer-container ul li a::before {
    content: '›';
    margin-right: 8px;
    color: #556;
}
footer.footer-container p { color: #8899bb; font-size: 13px; }

/* Footer newsletter */
footer .newsletter,
footer .so-custom-default.newsletter {
    background: #0d1b4a !important;
    color: #fff !important;
    padding: 30px 0 !important;
    border-radius: 0;
}
footer .newsletter .popup-title,
footer .newsletter .page-heading {
    color: #fff !important;
    font-weight: 600;
}
footer .newsletter .newsletter_promo {
    color: #b0bec5 !important;
}
footer .newsletter .form-control {
    background: rgba(255,255,255,0.12) !important;
    border: 2px solid rgba(255,255,255,0.2) !important;
    color: #fff !important;
    border-radius: 6px 0 0 6px !important;
    height: 44px;
}
footer .newsletter .form-control:focus {
    border-color: rgba(255,255,255,0.5) !important;
}
footer .newsletter .form-control::placeholder { color: #8899bb !important; }
footer .newsletter .btn {
    background: #fff !important;
    color: #0d1b4a !important;
    font-weight: 600;
    border-radius: 0 6px 6px 0 !important;
    height: 44px;
    padding: 0 24px;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.5px;
    transition: all 0.2s;
}
footer .newsletter .btn:hover {
    background: #e8eaf6 !important;
}

/* Footer bottom */
footer .footer-bottom,
footer .bottom-footer,
footer .copyright,
footer .powered {
    background: #0a1235 !important;
    color: #556688 !important;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,0.06);
    font-size: 13px;
}
/* Payment icons in footer */
footer .payment-img img,
footer img[alt="imgpayment"] {
    opacity: 0.7;
    transition: opacity 0.2s;
    max-height: 30px;
}
footer .payment-img img:hover,
footer img[alt="imgpayment"]:hover { opacity: 1; }

/* ============ BREADCRUMB ============ */
.breadcrumb {
    background: #fff !important;
    padding: 12px 18px;
    font-size: 13px;
    border-radius: 6px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.breadcrumb a { color: #0d1b4a !important; font-weight: 500; }
.breadcrumb > li + li::before { color: #bbb; }

/* ============ CONTENT AREA ============ */
#content, .page-content { background: transparent; }
/* Kill gap between header and content */
#header { margin-bottom: 0 !important; }
#header + *,
.bp-category-bar + *,
header + * {
    margin-top: 0 !important;
}
.so-page-builder { padding-top: 0 !important; margin-top: 0 !important; }
.page-builder-ltr:first-child { padding-top: 0 !important; }

/* Info pages */
.information-information #content,
.account-login #content,
.checkout-checkout #content {
    background: #fff;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

/* ============ ALERTS / NOTICES ============ */
.alert {
    border-radius: 6px;
    border: none;
    font-size: 13px;
}
.alert-success { background: #e8f5e9; color: #2e7d32; }
.alert-danger { background: #ffebee; color: #c62828; }
.alert-info { background: #e3f2fd; color: #1565c0; }
.alert-warning { background: #fff8e1; color: #f57f17; }

/* ============ FORMS ============ */
.form-control {
    border-radius: 6px;
    border: 1px solid #ddd;
    height: 42px;
    padding: 8px 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.form-control:focus {
    border-color: #0d1b4a;
    box-shadow: 0 0 0 3px rgba(13,27,74,0.1);
}

/* ============ PAGINATION ============ */
.pagination > li > a,
.pagination > li > span {
    color: #0d1b4a;
    border-radius: 6px;
    margin: 0 2px;
    border: 1px solid #e0e0e0;
}
.pagination > li.active > a,
.pagination > li.active > span {
    background: #0d1b4a !important;
    border-color: #0d1b4a !important;
    color: #fff !important;
}
.pagination > li > a:hover {
    background: #f0f2f5;
    border-color: #0d1b4a;
    color: #0d1b4a;
}

/* ============ TABLES ============ */
.table > thead > tr > th {
    background: #0d1b4a;
    color: #fff;
    border: none;
    font-weight: 500;
    font-size: 13px;
    text-transform: uppercase;
}
.table > tbody > tr > td { vertical-align: middle; }
.table-bordered { border-radius: 6px; overflow: hidden; }

/* ============ DEAL PRODUCTS / COUNTDOWN ============ */
.so-deals .product-thumb {
    border: 2px solid #e8e8e8 !important;
}
.so-deals .so-countdown .time-item {
    background: #0d1b4a !important;
    color: #fff !important;
    border-radius: 6px;
    font-weight: 700;
}

/* ============ BACK TO TOP ============ */
.back-to-top {
    background: #0d1b4a !important;
    color: #fff !important;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    box-shadow: 0 2px 12px rgba(13,27,74,0.3);
    transition: all 0.3s;
}
.back-to-top:hover {
    background: #1a2d6e !important;
    transform: translateY(-3px);
    box-shadow: 0 4px 16px rgba(13,27,74,0.4);
}

/* ============ SCROLLBAR ============ */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f0f2f5; }
::-webkit-scrollbar-thumb { background: #0d1b4a; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #1a2d6e; }

/* ============ MOBILE — tablet ============ */
@media (max-width: 991px) {
    /* Header */
    #header .header-top { font-size: 12px; padding: 4px 0; }
    #header .header-center { padding: 10px 0; }
    #header .header-center .logo img { max-height: 45px; }
    #header .header-center .row {
        flex-wrap: nowrap !important;
    }
    #header .header-bottom { background: #1a1a2e !important; }

    /* Mobile hamburger menu */
    #header .header-bottom .navbar-toggle,
    #header .header-bottom .btn-navbar {
        background: transparent !important;
        border: 1px solid rgba(255,255,255,0.3);
        color: #fff !important;
    }
    #header .header-bottom .navbar-toggle .icon-bar {
        background: #fff !important;
    }

    /* Sidebar — full width on tablet */
    .coluom_ip_left {
        width: 100% !important;
        float: none !important;
        margin-bottom: 20px;
    }
    .coluom_ip_right {
        width: 100% !important;
        float: none !important;
    }

    /* Product cards */
    .product-thumb { border-radius: 8px !important; }

    /* All page-builder columns — full width */
    .so-page-builder [class*="col-lg-"] {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* Slider + banners — stack */
    .slider-container > .sohomepage-sliderso-homeslider-ltr {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .slider-container > .banner-block-slideshow-h1 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        flex-direction: row !important;
        gap: 8px;
    }
    .slider-container > .banner-block-slideshow-h1 > .bp-info-banner-item {
        flex: 1;
    }
}

/* ============ MOBILE — phone ============ */
@media (max-width: 768px) {
    body { font-size: 14px; }

    /* Header compact */
    #header .header-top {
        display: none !important;
    }
    #header .header-center {
        padding: 8px 0 !important;
    }
    #header .header-center .row {
        flex-wrap: nowrap !important;
        gap: 8px;
    }
    #header .header-center .navbar-logo {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 8px !important;
    }
    #header .header-center .content_menu {
        flex: 1 1 auto !important;
        width: auto !important;
        padding: 0 4px !important;
    }
    #header .header-center .shopping_cart {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 8px !important;
    }
    #header .header-center .logo img,
    #header .header-center .navbar-logo img {
        max-height: 36px !important;
    }
    /* Search bar smaller */
    #header .header-center .search .form-control,
    #header .header-center .form-control {
        height: 38px !important;
        font-size: 13px;
        padding: 6px 10px;
    }
    #header .header-center .select_category select {
        display: none !important;
    }
    #header .header-center .btn-search,
    #header .header-center .input-group-btn .btn {
        height: 38px !important;
        width: 42px;
    }

    /* Marquee — smaller */
    .slider-container > div:first-child {
        font-size: 11px !important;
        padding: 6px 12px !important;
        max-height: 32px;
    }

    /* Info banners — stack vertically on phone */
    .slider-container > .banner-block-slideshow-h1 {
        flex-direction: column !important;
    }

    /* Product cards */
    .product-thumb .caption { padding: 10px 12px; }
    .product-thumb .price, .product-thumb .price-new {
        font-size: 17px !important;
    }
    .product-thumb .button-group button,
    .addToCart, .button-cart {
        padding: 6px 12px;
        font-size: 12px;
    }

    /* Homepage description — smaller collapse */
    .coluom_ip_right > .module:first-child {
        max-height: 80px;
        font-size: 12px;
    }

    /* Sidebar products — horizontal scroll */
    .so-accordion-product .yt-accordion {
        max-height: 400px;
        overflow-y: auto;
    }

    /* Footer */
    footer.footer-container { padding: 15px 0 0 !important; margin-top: 20px; }
    footer.footer-container .container { padding-top: 15px; }

    /* Footer trust strip — stack */
    .footer-center .row {
        flex-direction: column;
    }
    .footer-center .row > [class*="col-lg-15"] {
        width: 100% !important;
        float: none !important;
        margin-bottom: 12px;
    }
    .footer-center .item {
        display: flex;
        align-items: center;
        gap: 12px;
        text-align: left !important;
    }
    .footer-center .item .icon {
        flex: 0 0 40px;
    }
    .footer-center .item .icon img {
        width: 40px !important;
        height: 40px !important;
    }

    /* Footer columns — stack */
    .footer-top [class*="col-lg-15"] {
        width: 50% !important;
        float: left !important;
        margin-bottom: 15px;
    }
    .footer-top .footer-contact {
        width: 100% !important;
    }

    .breadcrumb { padding: 8px 12px; font-size: 12px; }
    .so-homeslider { border-radius: 6px; }

    /* Extraslider product cards — 2 per row */
    .extraslider-inner .product-layout {
        padding: 0 4px !important;
    }
}

/* ============ MOBILE — small phone ============ */
@media (max-width: 480px) {
    #header .header-center .logo img,
    #header .header-center .navbar-logo img { max-height: 30px !important; }
    #header .header-center .content_menu {
        padding: 0 2px !important;
    }

    .product-thumb .name a, .product-thumb h4 a { font-size: 13px; }
    .product-thumb .price, .product-thumb .price-new { font-size: 16px !important; }

    /* Footer columns — full width */
    .footer-top [class*="col-lg-15"] {
        width: 100% !important;
        float: none !important;
    }

    /* Slider rounded corners */
    .so-homeslider { border-radius: 4px; }
    .slider-container { gap: 8px !important; }

    /* Container padding reduce */
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* ============ ACCESSIBILITY ============ */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
button:focus, a:focus, input:focus, select:focus {
    outline: 3px solid rgba(13,27,74,0.4);
    outline-offset: 2px;
}

/* ============ GLASSMORPHISM CART DROPDOWN ============ */
#header .shopping_cart .dropdown-menu,
#header .block-cart .dropdown-menu,
#header #cart .dropdown-menu {
    background: rgba(255,255,255,0.92) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.6);
    border-radius: var(--bp-radius);
    box-shadow: 0 12px 40px rgba(0,0,0,0.15);
    padding: 16px;
}

/* ============ TRUST / BENEFITS STRIP ============ */
/* Style the info blocks under slider as trust strip */
.so-page-builder .modulenewsleter-basic .so-custom-default:not(.newsletter),
.so-page-builder .modulecustom-basic .so-custom-default {
    border-radius: 8px;
    overflow: hidden;
    transition: transform var(--bp-transition);
}
.so-page-builder .modulecustom-basic .so-custom-default:hover {
    transform: translateY(-2px);
}

/* ============ NOTIFICATION BAR ============ */
.alert.alert-warning,
.alert.alert-danger {
    border-left: 4px solid;
    border-radius: 0 6px 6px 0;
}
.alert.alert-warning {
    border-left-color: var(--bp-accent);
    background: #fdf6e3;
    color: #856404;
}
.alert.alert-danger {
    border-left-color: var(--bp-primary);
    background: #e8eaf6;
    color: var(--bp-primary);
}

/* ============ PRODUCT PAGE ENHANCEMENTS ============ */
.product-info .btn-primary,
#button-cart {
    background: var(--bp-primary) !important;
    border-color: var(--bp-primary) !important;
    font-size: 16px !important;
    padding: 14px 32px !important;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 8px;
    transition: all 0.2s;
}
#button-cart:hover {
    background: var(--bp-primary-light) !important;
    box-shadow: 0 4px 16px rgba(13,27,74,0.3);
    transform: translateY(-1px);
}
.product-info .price-group .price-new,
.product-info #product-price {
    color: var(--bp-primary) !important;
    font-size: 28px !important;
    font-weight: 700;
}
.product-info .nav-tabs > li.active > a {
    border-bottom: 3px solid var(--bp-primary);
    color: var(--bp-primary);
    font-weight: 600;
}

/* ============ CATEGORY PAGE ============ */
.product-filter {
    background: var(--bp-white);
    border-radius: var(--bp-radius);
    padding: 12px 18px;
    margin-bottom: 20px;
    box-shadow: var(--bp-shadow);
}
.product-compare a {
    color: var(--bp-primary);
    font-weight: 500;
}

/* ============ KILL ALL RED — GLOBAL OVERRIDE ============ */
/* Theme accent color was red — replace with navy/gold everywhere */

/* Nav tabs (product page ОПИСАНИЕ/ОТЗЫВЫ) */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus,
.tab-content .nav-tabs > li.active > a,
#tab-description ~ .nav-tabs > li.active > a,
.product-info .nav-tabs > li.active > a {
    color: var(--bp-primary) !important;
    border-bottom: 3px solid var(--bp-primary) !important;
    background: transparent !important;
    font-weight: 600;
}
.nav-tabs > li > a {
    color: #666 !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.2s;
}
.nav-tabs > li > a:hover {
    color: var(--bp-primary) !important;
    border-bottom-color: var(--bp-primary) !important;
    background: transparent !important;
}
.nav-tabs {
    border-bottom: 1px solid #e0e0e0 !important;
}

/* Global: anything with red/danger color → navy/gold */
[style*="color: red"], [style*="color:red"],
[style*="color: #d1020d"], [style*="color:#d1020d"],
[style*="color: #ff0000"], [style*="color:#ff0000"],
[style*="color: #e00"], [style*="color:#e00"],
[style*="color: #cc0000"], [style*="color:#cc0000"] {
    color: var(--bp-primary) !important;
}
[style*="background: red"], [style*="background:red"],
[style*="background-color: red"], [style*="background-color:red"],
[style*="background: #d1020d"], [style*="background:#d1020d"],
[style*="background-color: #d1020d"], [style*="background-color:#d1020d"],
[style*="background: #ff0000"], [style*="background:#ff0000"],
[style*="background-color: #ff0000"], [style*="background-color:#ff0000"] {
    background: var(--bp-primary) !important;
    background-color: var(--bp-primary) !important;
}

/* SoConfig theme accent color override */
.textColor, a.textColor, span.textColor, i.textColor,
.fa.textColor, .text-theme, .text-accent,
.so-page-builder .textColor {
    color: var(--bp-accent) !important;
}

/* Buttons: any red → navy */
.btn-danger, a.btn-danger, input.btn-danger,
button.btn-danger, .btn.btn-danger {
    background: var(--bp-primary) !important;
    border-color: var(--bp-primary) !important;
    color: var(--bp-white) !important;
}
.btn-danger:hover {
    background: var(--bp-primary-light) !important;
}
.label-danger {
    background: var(--bp-accent) !important;
}

/* Product page — "В корзину" and action buttons */
.product-info .btn-primary,
.product-info .btn-danger,
.product-info #button-cart,
#product .btn-primary,
#product #button-cart {
    background: var(--bp-primary) !important;
    border-color: var(--bp-primary) !important;
    color: var(--bp-white) !important;
    font-size: 15px;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    text-transform: uppercase;
}
.product-info .btn-primary:hover,
.product-info #button-cart:hover {
    background: var(--bp-primary-light) !important;
    box-shadow: 0 4px 16px rgba(13,27,74,0.3);
}

/* Links that might be red */
a[style*="red"], span[style*="red"] {
    color: var(--bp-primary) !important;
}

/* ============ "ВНИМАНИЕ" ALERT RESTYLE ============ */
/* Compact, professional warning banner */
.so-page-builder .alert-danger,
.so-page-builder .alert-warning,
.alert-danger {
    background: linear-gradient(135deg, #0d1b4a 0%, #1a2d6e 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 16px 28px !important;
    font-size: 14px !important;
    font-weight: 400;
    text-align: center;
    box-shadow: 0 4px 16px rgba(13,27,74,0.2);
    margin-bottom: 24px;
    line-height: 1.6;
    letter-spacing: 0.2px;
    position: relative;
    overflow: hidden;
}
.so-page-builder .alert-danger::before,
.alert-danger::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bp-accent), #e8c564, var(--bp-accent));
}
.so-page-builder .alert-danger *,
.so-page-builder .alert-danger a,
.alert-danger *, .alert-danger a {
    color: #fff !important;
    text-decoration: none;
}
.so-page-builder .alert-danger a:hover,
.alert-danger a:hover {
    color: var(--bp-accent) !important;
    text-decoration: underline;
}
.so-page-builder .alert-danger b,
.so-page-builder .alert-danger strong,
.alert-danger b, .alert-danger strong {
    color: var(--bp-accent) !important;
    font-weight: 700;
    font-size: 15px;
}
/* ВНИМАНИЕ block container — compact with better spacing */
.col_es6a {
    margin-top: 10px;
}
.col_es6a > div {
    font-size: 14px;
    line-height: 1.7;
}
.col_es6a .alert-info {
    background: linear-gradient(135deg, #0d1b4a 0%, #1a2d6e 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 16px 28px !important;
    font-size: 14px !important;
    text-align: center;
    box-shadow: 0 4px 16px rgba(13,27,74,0.2);
    position: relative;
}
.col_es6a .alert-info::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--bp-accent), #e8c564, var(--bp-accent));
}
.col_es6a .alert-info * {
    color: #fff !important;
}

/* Also handle inline red text/font color in HTML content */
font[color="red"], font[color="#ff0000"], font[color="#FF0000"],
font[color="#d1020d"], font[color="#D1020D"],
span[style*="color: red"], span[style*="color:#ff0000"],
span[style*="color: #ff0000"], span[style*="color:#d1020d"],
p[style*="color: red"], div[style*="color: red"] {
    color: var(--bp-primary) !important;
}

/* ============ PRODUCT CARDS — EQUAL HEIGHT & PLACEHOLDER FIX ============ */
/* Equal height cards in row */
.so-extraslider .ltabs-items-container,
.so-extra-slider .ltabs-items-container {
    display: flex;
    flex-wrap: wrap;
}
.so-extraslider .product-layout,
.so-extra-slider .product-layout,
.products-list .product-layout {
    display: flex;
}
.so-extraslider .product-layout .product-thumb,
.so-extra-slider .product-layout .product-thumb,
.products-list .product-layout .product-thumb {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.product-thumb .caption {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.product-thumb .button-group,
.product-thumb .btn-action {
    margin-top: auto;
}
/* Placeholder (no_image) — style as professional "coming soon" */
img[src*="no_image"] {
    filter: brightness(0.95) contrast(0.9);
    opacity: 0.6 !important;
}
.product-thumb:has(img[src*="no_image"]) {
    position: relative;
}
.product-thumb:has(img[src*="no_image"]) .image::after {
    content: 'Фото скоро';
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--bp-primary);
    color: #fff;
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
/* Remove red from any product label/sticker */
.product-thumb .product-label,
.product-thumb .label-sale,
.product-thumb .sticker {
    background: var(--bp-accent) !important;
    color: #fff !important;
    border-radius: 4px;
}

/* ============ КНОПКИ В КОРЗИНУ — ЛИДЕРЫ ПРОДАЖ (accordion) ============ */
.so-acc-vertical .product-thumb .button-group button,
.so-acc-vertical .btn-cart,
.yt-accordion .product-thumb .button-group button {
    font-size: 12px !important;
    padding: 8px 14px !important;
    min-width: 100px;
    letter-spacing: 0.3px;
}
.so-acc-vertical .product-thumb .button-group,
.yt-accordion .product-thumb .button-group {
    padding: 8px 12px 12px !important;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
/* Price in ЛИДЕРЫ ПРОДАЖ — more prominent */
.so-acc-vertical .product-thumb .price,
.yt-accordion .product-thumb .price {
    font-size: 18px !important;
    margin: 6px 0;
}

/* ============ ACCORDION TABS (ОПЛАТА, ДОСТАВКА etc.) ============ */
.yt-accordion .yt-acc-item {
    border: 1px solid var(--bp-border) !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    overflow: hidden;
    transition: all 0.2s;
}
.yt-accordion .yt-acc-item.active {
    border-color: var(--bp-primary) !important;
    box-shadow: 0 2px 8px rgba(13,27,74,0.08);
}
.yt-accordion .yt-acc-item .acc-title,
.yt-accordion .yt-acc-item .title-product {
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
    color: var(--bp-primary) !important;
    cursor: pointer;
    transition: background 0.2s;
}
.yt-accordion .yt-acc-item.active .acc-title,
.yt-accordion .yt-acc-item.active .title-product {
    background: rgba(13,27,74,0.04);
}

/* ============ TRUST STRIP — BIGGER ICONS ============ */
.f1-section-style3.footer-midde-block1,
.footer-midde-block1 {
    background: var(--bp-primary) !important;
    padding: 30px 0 !important;
}
.footer-midde-block1 .modulecustom-html-footer .item {
    text-align: center;
    padding: 15px 10px;
}
.footer-midde-block1 .modulecustom-html-footer .item .icon {
    display: block;
    margin: 0 auto 12px;
}
.footer-midde-block1 .modulecustom-html-footer .item .icon img {
    width: 48px !important;
    height: 48px !important;
    filter: brightness(0) invert(1);
    opacity: 0.9;
    transition: transform 0.3s, opacity 0.3s;
}
.footer-midde-block1 .modulecustom-html-footer .item:hover .icon img {
    transform: scale(1.15);
    opacity: 1;
}
.footer-midde-block1 .modulecustom-html-footer .item .title {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.footer-midde-block1 .modulecustom-html-footer .item h3.title {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 6px !important;
}
.footer-midde-block1 .modulecustom-html-footer .item .content,
.footer-midde-block1 .modulecustom-html-footer .item p.content {
    color: rgba(255,255,255,0.7) !important;
    font-size: 12px !important;
    line-height: 1.5;
    margin: 0;
}
.footer-midde-block1 .modulecustom-html-footer .row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.footer-midde-block1 .modulecustom-html-footer .col-lg-15 {
    text-align: center;
}

/* ============ MET TAGS — COLLAPSE & STYLE ============ */
.style-dev-so-tags {
    max-height: 80px !important;
    overflow: hidden !important;
    position: relative;
    transition: max-height 0.4s ease;
}
.style-dev-so-tags::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    background: linear-gradient(transparent, #1a1a2e);
    pointer-events: none;
}
.style-dev-so-tags:hover {
    max-height: 300px !important;
}
.style-dev-so-tags:hover::after {
    opacity: 0;
}
.style-dev-so-tags .modtitle {
    font-size: 13px !important;
    color: rgba(255,255,255,0.5) !important;
    border: none !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.style-dev-so-tags a {
    display: inline-block;
    background: rgba(255,255,255,0.06) !important;
    color: #8899bb !important;
    padding: 3px 10px !important;
    border-radius: 20px !important;
    margin: 2px 3px !important;
    font-size: 11px !important;
    transition: all 0.2s;
    border: 1px solid rgba(255,255,255,0.08);
}
.style-dev-so-tags a:hover {
    background: rgba(255,255,255,0.12) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.2);
}

/* ============ NEWSLETTER — IMPROVED ============ */
.footer-newsletter .newsletter {
    padding: 35px 0 !important;
}
.footer-newsletter .newsletter .popup-title,
.footer-newsletter .newsletter .page-heading {
    font-size: 20px !important;
    font-weight: 600;
    margin-bottom: 6px;
}
.footer-newsletter .newsletter .newsletter_promo {
    font-size: 13px;
    margin-bottom: 16px;
}
.footer-newsletter .newsletter .input-group {
    max-width: 480px;
    margin: 0 auto;
}
.footer-newsletter .newsletter .form-control {
    height: 48px !important;
    border-radius: 8px 0 0 8px !important;
    font-size: 14px;
}
.footer-newsletter .newsletter .btn {
    height: 48px !important;
    border-radius: 0 8px 8px 0 !important;
    padding: 0 28px;
    font-size: 14px !important;
    font-weight: 600;
}

/* ============ INFO BANNERS (under slider) ============ */
/* Info strip items — НА ВСЕ ЗАКАЗЫ, ДОСТАВКА etc. */
.so-page-builder .modulecustom-basic .so-custom-default img,
.rowrow_e095 img[src*="catalog"] {
    border-radius: 8px;
    transition: transform 0.3s, box-shadow 0.3s;
}
.so-page-builder .modulecustom-basic .so-custom-default:hover img,
.rowrow_e095 img[src*="catalog"]:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

/* ============ FOOTER-TOP COLUMNS — better spacing ============ */
.footer-top {
    background: var(--bp-secondary) !important;
    padding: 30px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.footer-top .modulecustom_link h3.footertitle,
.footer-top h3.footertitle {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(255,255,255,0.1) !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.footer-top .modulecustom_link .menu li {
    margin-bottom: 8px;
}
.footer-top .modulecustom_link .menu li a {
    color: #8899bb !important;
    font-size: 13px;
    transition: color 0.2s, padding-left 0.2s;
}
.footer-top .modulecustom_link .menu li a:hover {
    color: #fff !important;
    padding-left: 4px;
}
/* Footer contact section */
.footer-contact .fa {
    color: var(--bp-accent) !important;
    font-size: 16px !important;
    margin-right: 8px;
    width: 20px;
    text-align: center;
}

/* ============ SMOOTH ANIMATIONS ============ */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.product-layout {
    animation: fadeInUp 0.5s ease both;
}
.product-layout:nth-child(2) { animation-delay: 0.05s; }
.product-layout:nth-child(3) { animation-delay: 0.1s; }
.product-layout:nth-child(4) { animation-delay: 0.15s; }
.product-layout:nth-child(5) { animation-delay: 0.2s; }
.product-layout:nth-child(6) { animation-delay: 0.25s; }

/* =================================================================
   INTERNAL PAGES — Category, Product, Cart, Contact, Info
   ================================================================= */

/* ============ BREADCRUMBS ============ */
.breadcrumb {
    background: linear-gradient(135deg, #0d1b4a 0%, #162557 100%) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 12px 20px !important;
    margin: 0 0 20px !important;
    font-size: 13px;
}
.breadcrumb li,
.breadcrumb li a,
.breadcrumb li + li::before {
    color: rgba(255,255,255,0.6) !important;
}
.breadcrumb li a:hover {
    color: #fff !important;
}
.breadcrumb li.active,
.breadcrumb > .active {
    color: var(--bp-accent) !important;
}
.breadcrumb li + li::before {
    content: '›' !important;
    padding: 0 8px;
}

/* ============ PAGE TITLES (h1, h2 on inner pages) ============ */
#content h1,
#content h2.title-category,
.category-info h1,
#product h1 {
    color: var(--bp-primary) !important;
    font-weight: 700;
    font-size: 26px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--bp-border);
}

/* ============ SIDEBAR ============ */
.column-left,
.column-right,
aside#column-left,
aside#column-right {
    padding-right: 20px;
}
.column-left .box,
.column-right .box,
.column-left .module,
.column-right .module,
.column-left .so-extraslider,
.column-right .so-extraslider {
    background: var(--bp-white) !important;
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: var(--bp-shadow);
}
.column-left .box .box-heading,
.column-right .box .box-heading,
.column-left .modtitle,
.column-right .modtitle {
    background: var(--bp-primary) !important;
    color: #fff !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none !important;
    margin: 0 !important;
}
.column-left .box .box-content,
.column-right .box .box-content {
    padding: 12px;
}
/* Sidebar banner images */
.column-left img,
.column-right img {
    border-radius: 8px;
    max-width: 100%;
    height: auto;
}

/* ============ CATEGORY PAGE ============ */
/* Subcategory links */
.category-subcategory,
.refine-search,
.category-info + .row .refine-search {
    margin-bottom: 20px;
}
.refine-search ul,
.category-subcategory ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
}
.refine-search ul li a,
.category-subcategory ul li a {
    display: inline-block;
    padding: 8px 16px;
    background: #f0f2f5;
    border: 1px solid var(--bp-border);
    border-radius: 20px;
    color: var(--bp-primary) !important;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
}
.refine-search ul li a:hover,
.category-subcategory ul li a:hover {
    background: var(--bp-primary);
    color: #fff !important;
    border-color: var(--bp-primary);
}
/* Sort/Show controls */
.product-filter {
    background: var(--bp-white);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    padding: 12px 16px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.product-filter .form-group {
    margin-bottom: 0;
}
.product-filter label {
    font-size: 13px;
    color: #666;
    font-weight: 500;
}
.product-filter select.form-control,
.product-filter .input-group-addon {
    border: 1px solid var(--bp-border);
    border-radius: 6px !important;
    height: 38px;
    font-size: 13px;
}
/* Product grid on category page */
.product-list .product-layout,
#content .product-layout {
    margin-bottom: 20px;
}
/* Category description */
.category-info .category-description {
    background: var(--bp-white);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    padding: 20px;
    margin-bottom: 20px;
    line-height: 1.7;
    color: #555;
}

/* ============ PRODUCT PAGE ============ */
/* Product info layout */
.product-info,
#product {
    background: var(--bp-white);
    border-radius: var(--bp-radius);
    padding: 24px;
    box-shadow: var(--bp-shadow);
    margin-bottom: 24px;
}
/* Product images */
.product-info .image-container,
.product-info .thumbnails,
#product .image-additional {
    margin-bottom: 16px;
}
.product-info .image-container img,
#product .image img {
    border-radius: 10px;
    border: 1px solid var(--bp-border);
}
.product-info .thumbnails a img,
#product .image-additional img {
    border-radius: 6px;
    border: 1px solid var(--bp-border);
    transition: border-color 0.2s;
}
.product-info .thumbnails a:hover img,
#product .image-additional a:hover img {
    border-color: var(--bp-primary);
}
/* Product title */
.product-info h1,
#product h1 {
    font-size: 24px !important;
    font-weight: 700;
    color: var(--bp-primary) !important;
    margin-bottom: 8px;
    border: none !important;
    padding: 0 !important;
}
/* Product price */
.product-info .price-group,
.product-info .product-price,
#product .price-group {
    margin: 16px 0;
}
.product-info .price-new,
#product .price-new,
#product #product-price {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--bp-primary) !important;
}
.product-info .price-old,
#product .price-old {
    font-size: 16px !important;
    color: #999 !important;
    text-decoration: line-through;
}
/* Product meta (manufacturer, SKU, availability) */
.product-info .product-meta,
#product .product-meta,
#product .list-unstyled li {
    color: #666;
    font-size: 13px;
    margin-bottom: 6px;
}
#product .list-unstyled li span,
#product .list-unstyled li a {
    color: var(--bp-primary);
    font-weight: 500;
}
/* Add to cart button — BIG, gold accent */
#product #button-cart,
.product-info .btn-cart,
.product-info #button-cart {
    background: var(--bp-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 32px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    transition: all 0.3s;
    min-width: 200px;
}
#product #button-cart:hover,
.product-info .btn-cart:hover,
.product-info #button-cart:hover {
    background: var(--bp-primary-light) !important;
    box-shadow: 0 6px 20px rgba(13,27,74,0.3);
    transform: translateY(-2px);
}
/* Quantity input */
#product .quantity-input,
#product input[name="quantity"],
.product-info input[name="quantity"] {
    border: 2px solid var(--bp-border) !important;
    border-radius: 6px !important;
    height: 46px;
    width: 70px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
}
/* Product tabs (Description, Reviews) */
.nav-tabs {
    border-bottom: 2px solid var(--bp-border) !important;
    margin-bottom: 0;
}
.nav-tabs > li > a {
    color: #666 !important;
    font-weight: 500;
    font-size: 14px;
    padding: 12px 20px;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px;
    transition: all 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.nav-tabs > li > a:hover {
    color: var(--bp-primary) !important;
    background: transparent !important;
    border-bottom-color: rgba(13,27,74,0.3) !important;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover {
    color: var(--bp-primary) !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid var(--bp-primary) !important;
}
.tab-content {
    background: var(--bp-white);
    border: 1px solid var(--bp-border);
    border-top: none;
    border-radius: 0 0 var(--bp-radius) var(--bp-radius);
    padding: 20px;
}
.tab-content .tab-pane {
    line-height: 1.7;
    color: #555;
}

/* ============ CART PAGE ============ */
.table-responsive {
    border-radius: var(--bp-radius);
    overflow: hidden;
}
#content .table,
.table-bordered {
    border: 1px solid var(--bp-border) !important;
    border-radius: var(--bp-radius);
    overflow: hidden;
}
#content .table thead td,
#content .table thead th,
.table-bordered > thead > tr > td {
    background: var(--bp-primary) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-color: rgba(255,255,255,0.1) !important;
    padding: 12px 16px;
}
#content .table td {
    vertical-align: middle;
    padding: 12px 16px;
    border-color: var(--bp-border) !important;
}
#content .table .btn-danger {
    background: #e53935 !important;
    border-color: #e53935 !important;
    border-radius: 4px;
}
/* Cart totals */
.cart-total,
#content .table tfoot td {
    font-weight: 600;
    font-size: 15px;
}
/* Cart buttons */
.buttons .pull-left .btn,
.buttons .pull-right .btn {
    border-radius: 6px !important;
    padding: 10px 24px;
    font-weight: 500;
}
/* Empty cart message */
#content > p,
#content > .alert {
    background: var(--bp-white);
    border: 1px solid var(--bp-border);
    border-radius: var(--bp-radius);
    padding: 24px;
    text-align: center;
    color: #666;
    font-size: 15px;
}
#content > .buttons {
    text-align: center;
    margin-top: 16px;
}

/* ============ CHECKOUT PAGE ============ */
.panel-group .panel {
    border: 1px solid var(--bp-border) !important;
    border-radius: var(--bp-radius) !important;
    margin-bottom: 12px !important;
    box-shadow: none;
}
.panel-group .panel-heading {
    background: #f8f9fa !important;
    border-radius: var(--bp-radius) var(--bp-radius) 0 0 !important;
    padding: 14px 20px;
}
.panel-group .panel-title a {
    color: var(--bp-primary) !important;
    font-weight: 600;
    font-size: 15px;
}
.panel-group .panel-body {
    padding: 20px;
}

/* ============ CONTACT / INFO PAGES ============ */
.information-contact #content,
.information-information #content,
.account-login #content,
.account-register #content {
    background: var(--bp-white);
    border-radius: var(--bp-radius);
    padding: 24px;
    box-shadow: var(--bp-shadow);
}
/* Forms — global */
.form-group label {
    font-weight: 500;
    color: #444;
    font-size: 13px;
    margin-bottom: 6px;
}
.form-control {
    border: 1px solid var(--bp-border) !important;
    border-radius: 6px !important;
    height: 44px;
    padding: 8px 14px;
    font-size: 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
textarea.form-control {
    height: auto;
    min-height: 120px;
}
.form-control:focus {
    border-color: var(--bp-primary) !important;
    box-shadow: 0 0 0 3px rgba(13,27,74,0.1) !important;
}
/* Submit buttons on forms */
.btn-default,
input.btn-primary[type="submit"],
button.btn-primary[type="submit"] {
    background: var(--bp-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 28px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s;
}
.btn-default:hover,
input.btn-primary[type="submit"]:hover,
button.btn-primary[type="submit"]:hover {
    background: var(--bp-primary-light) !important;
    box-shadow: 0 4px 12px rgba(13,27,74,0.25);
}
/* Continue / Return buttons */
a.btn.btn-primary,
.buttons a.btn {
    background: var(--bp-primary) !important;
    color: #fff !important;
    border-radius: 6px !important;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0.3px;
    padding: 10px 24px;
    transition: all 0.2s;
}
a.btn.btn-primary:hover,
.buttons a.btn:hover {
    background: var(--bp-primary-light) !important;
}

/* ============ PAGINATION ============ */
.pagination > li > a,
.pagination > li > span {
    color: var(--bp-primary);
    border: 1px solid var(--bp-border);
    border-radius: 6px !important;
    margin: 0 2px;
    padding: 8px 14px;
    font-size: 13px;
    transition: all 0.2s;
}
.pagination > li > a:hover {
    background: var(--bp-primary);
    color: #fff;
    border-color: var(--bp-primary);
}
.pagination > .active > a,
.pagination > .active > span {
    background: var(--bp-primary) !important;
    border-color: var(--bp-primary) !important;
    color: #fff !important;
}

/* ============ ALERT BOXES ============ */
.alert-success {
    background: #e8f5e9 !important;
    color: #2e7d32 !important;
    border: 1px solid #a5d6a7 !important;
    border-radius: var(--bp-radius) !important;
    padding: 14px 20px;
}
.alert-warning {
    background: #fff8e1 !important;
    color: #e65100 !important;
    border: 1px solid #ffe082 !important;
    border-radius: var(--bp-radius) !important;
}
.alert-danger {
    background: linear-gradient(135deg, #b71c1c 0%, #c62828 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--bp-radius) !important;
    padding: 14px 20px;
}
.alert .close {
    color: inherit !important;
    opacity: 0.7;
}

/* ============ SEARCH RESULTS ============ */
.product-search #content h1 {
    font-size: 22px;
}
.product-search .product-filter {
    margin-bottom: 16px;
}

/* ============ WISHLIST & COMPARE ============ */
.wishlist-info td img,
.compare-info td img {
    border-radius: 8px;
    border: 1px solid var(--bp-border);
}

/* ============ ACCOUNT PAGES ============ */
.account-account #content .list-group,
#column-right .list-group {
    border-radius: var(--bp-radius);
    overflow: hidden;
    border: 1px solid var(--bp-border);
}
.list-group-item {
    border-color: var(--bp-border) !important;
    padding: 12px 16px;
    font-size: 14px;
    color: #444 !important;
    transition: all 0.15s;
}
.list-group-item:hover,
.list-group-item:focus {
    background: #f0f2f5 !important;
    color: var(--bp-primary) !important;
}
.list-group-item.active {
    background: var(--bp-primary) !important;
    border-color: var(--bp-primary) !important;
    color: #fff !important;
}

/* ============ МОДАЛЬНЫЕ ОКНА ============ */
.modal-content {
    border-radius: var(--bp-radius) !important;
    border: none !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.modal-header {
    background: var(--bp-primary);
    color: #fff;
    border-radius: var(--bp-radius) var(--bp-radius) 0 0;
    padding: 16px 20px;
}
.modal-header .close {
    color: #fff !important;
    opacity: 0.8;
}
.modal-header .modal-title {
    color: #fff !important;
    font-weight: 600;
}
.modal-body {
    padding: 20px;
}
.modal-footer {
    border-top: 1px solid var(--bp-border);
    padding: 14px 20px;
}

/* =================================================================
   MOBILE IMPROVEMENTS (375px — 991px)
   ================================================================= */

@media (max-width: 991px) {
    /* Inner page content padding */
    #content {
        padding: 0 10px;
    }

    /* Product info card */
    .product-info, #product {
        padding: 16px;
        border-radius: 8px;
    }

    /* Product title smaller */
    .product-info h1, #product h1 {
        font-size: 20px !important;
    }

    /* Product price */
    .product-info .price-new, #product .price-new, #product #product-price {
        font-size: 24px !important;
    }

    /* Add to cart full width */
    #product #button-cart,
    .product-info #button-cart {
        width: 100% !important;
        padding: 14px 20px !important;
    }

    /* Sidebar below content */
    .column-left, .column-right,
    aside#column-left, aside#column-right {
        padding-right: 15px;
        margin-top: 20px;
    }

    /* Category subcategories scroll */
    .refine-search ul, .category-subcategory ul {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .refine-search ul::-webkit-scrollbar { display: none; }

    /* Breadcrumbs scroll */
    .breadcrumb {
        white-space: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        padding: 10px 15px !important;
        font-size: 12px;
    }
    .breadcrumb::-webkit-scrollbar { display: none; }

    /* Tables scroll */
    .table-responsive {
        border: none;
    }

    /* Tabs stack on mobile */
    .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        white-space: nowrap;
    }
    .nav-tabs::-webkit-scrollbar { display: none; }
    .nav-tabs > li > a {
        padding: 10px 14px;
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    /* Even smaller screens */
    .product-info h1, #product h1 {
        font-size: 18px !important;
    }

    /* Pagination compact */
    .pagination > li > a,
    .pagination > li > span {
        padding: 6px 10px;
        font-size: 12px;
    }

    /* Cart table font */
    #content .table td {
        padding: 8px 10px;
        font-size: 12px;
    }

    /* Forms */
    .form-control {
        height: 40px;
        font-size: 13px;
    }
}

/* =================================================================
   CATEGORY PAGE — LAYOUT FIX (sidebar + content)
   ================================================================= */

/* "Товар недели" section — fix overflow */
#content .left-block,
#content .right-block {
    overflow: hidden;
    word-wrap: break-word;
}
#content .right-block .product-meta,
#content .right-block .description,
#content .right-block p {
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
}

/* Product grid in category — wider cards when sidebar present */
#content .product-layout.col-lg-3 {
    min-width: 200px;
}

/* Subcategory links — horizontal chips on desktop too */
.refine-search {
    margin-bottom: 16px;
}
.refine-search ul {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.refine-search ul li {
    display: inline-block;
}
.refine-search ul li a {
    display: inline-block;
    padding: 8px 16px;
    background: #f0f2f5;
    border: 1px solid var(--bp-border);
    border-radius: 20px;
    color: var(--bp-primary) !important;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
    text-decoration: none !important;
}
.refine-search ul li a:hover {
    background: var(--bp-primary);
    color: #fff !important;
    border-color: var(--bp-primary);
}

/* Sidebar banner — contained */
.modulebanner-left,
.static-image-home-left {
    overflow: hidden;
    border-radius: var(--bp-radius);
}
.modulebanner-left img,
.static-image-home-left img {
    width: 100% !important;
    height: auto;
    border-radius: var(--bp-radius);
}

/* "ВНИМАНИЕ" alert in category pages — overflow fix */
#content > .alert-danger,
#content > div > .alert-danger {
    overflow: hidden;
    word-wrap: break-word;
    white-space: normal !important;
}

/* Sort/limit bar improvements */
.product-filter .form-group {
    margin-bottom: 0 !important;
}
.product-filter .btn-group .btn,
.product-filter .btn-switch {
    border-radius: 4px;
}

/* Mobile/tablet header — use original theme layout, only color fixes */

/* =================================================================
   MOBILE CATEGORY PAGE FIX
   ================================================================= */

@media (max-width: 768px) {
    /* Category layout — full width, no float issues */
    .content-aside,
    .col-md-3.left_column,
    aside.left_column {
        width: 100% !important;
        float: none !important;
        padding: 0 15px !important;
    }
    #content {
        width: 100% !important;
        float: none !important;
    }

    /* Product grid — 2 columns, proper spacing */
    .products-list .product-layout,
    .products-list .product-layout.col-xs-6,
    .products-list .product-layout.col-lg-3,
    #content .product-layout.col-xs-6,
    #content .product-layout {
        width: 50% !important;
        max-width: 50% !important;
        padding: 0 6px !important;
    }
    .product-layout .product-thumb {
        margin-bottom: 12px;
    }
    .product-thumb .caption {
        padding: 8px 10px;
    }
    .product-thumb .name a,
    .product-thumb h4 a {
        font-size: 12px !important;
        line-height: 1.3;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .product-thumb .price,
    .product-thumb .price-new {
        font-size: 16px !important;
    }
    .product-thumb .price-old {
        font-size: 11px !important;
    }
    .product-thumb .button-group {
        padding: 4px 10px 8px !important;
    }
    .product-thumb .button-group button {
        font-size: 11px !important;
        padding: 6px 10px !important;
    }

    /* "Товар недели" — stack vertically */
    #content .left-block.col-lg-4,
    #content .right-block.col-lg-8 {
        width: 100% !important;
        float: none !important;
    }

    /* Alert overflow */
    #content .alert-danger {
        font-size: 13px !important;
        white-space: normal !important;
        overflow: hidden !important;
        word-wrap: break-word !important;
    }

    /* Sort bar compact */
    .product-filter {
        flex-direction: column;
        gap: 8px;
    }
}

@media (max-width: 480px) {
    /* Keep 2 columns on small screens — high specificity to override theme */
    .products-list .product-layout,
    .products-list .product-layout.col-xs-6,
    .products-list .product-layout.col-lg-3,
    #content .product-layout.col-xs-6,
    #content .product-layout {
        width: 50% !important;
        max-width: 50% !important;
        padding: 0 4px !important;
    }
    .product-thumb .name a,
    .product-thumb h4 a {
        font-size: 11px !important;
    }
    .product-thumb .price,
    .product-thumb .price-new {
        font-size: 14px !important;
    }
    .product-thumb .button-group button {
        font-size: 10px !important;
        padding: 5px 8px !important;
    }
}

/* =================================================================
   JS FALLBACK — hide empty products without :has()
   ================================================================= */
/* Class added by JS for browsers without :has() support */
.bp-empty-product {
    display: none !important;
}

/* =================================================================
   BACK-TO-TOP BUTTON — refined
   ================================================================= */
.back-to-top {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: var(--bp-primary) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(13,27,74,0.3);
    transition: all 0.3s;
    z-index: 999;
}
.back-to-top:hover {
    background: var(--bp-primary-light) !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(13,27,74,0.4);
}
