/* =============================================
   ПожСнаб — custom design system v2.0
   Fire safety equipment store
   ALL icon/button/price/card issues FIXED
   ============================================= */

:root {
    --pj-primary: #dc3522;
    --pj-primary-hover: #b91c1c;
    --pj-accent: #eb5928;
    --pj-accent-light: #ff7a45;
    --pj-dark: #1a1f2e;
    --pj-dark-soft: #252b3b;
    --pj-warm-bg: #fef7f4;
    --pj-warm-border: #fde8db;
    --pj-text: #1e293b;
    --pj-text-muted: #64748b;
    --pj-text-light: #e2e8f0;
    --pj-success: #16a34a;
    --pj-white: #ffffff;
    --pj-radius: 10px;
    --pj-radius-sm: 6px;
    --pj-shadow: 0 2px 12px rgba(26, 31, 46, 0.08);
    --pj-shadow-hover: 0 8px 30px rgba(220, 53, 34, 0.12);
    --pj-transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    /* Typography scale — fluid with clamp() */
    --pj-font-xs: clamp(0.6875rem, 0.65rem + 0.15vw, 0.75rem);     /* 11→12px */
    --pj-font-sm: clamp(0.75rem, 0.7rem + 0.2vw, 0.8125rem);       /* 12→13px */
    --pj-font-base: clamp(0.8125rem, 0.76rem + 0.25vw, 0.9375rem);  /* 13→15px */
    --pj-font-md: clamp(0.875rem, 0.82rem + 0.25vw, 1rem);          /* 14→16px */
    --pj-font-lg: clamp(1rem, 0.93rem + 0.3vw, 1.125rem);           /* 16→18px */
    --pj-font-xl: clamp(1.125rem, 1.04rem + 0.35vw, 1.3125rem);     /* 18→21px */
    --pj-font-2xl: clamp(1.25rem, 1.14rem + 0.45vw, 1.5rem);        /* 20→24px */
    --pj-lh-body: 1.7;
    --pj-lh-heading: 1.35;
    --pj-lh-tight: 1.2;
}

/* ===== GLOBAL ===== */
body {
    background: #f8f9fb;
    color: var(--pj-text);
    font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
a { transition: var(--pj-transition); }
a:hover { color: var(--pj-primary); }

/* ===== HEADER ===== */
#top,
header.header,
.header_area,
.header_bottom,
.header_bottom.sticky-header {
    background: var(--pj-dark);
    color: var(--pj-white);
}

/* Navigation links WHITE */
.top-left-links a,
.top-left-links li a,
#top .top-left-links a {
    color: var(--pj-white) !important;
    opacity: 0.85;
    font-weight: 500;
    letter-spacing: 0.02em;
    transition: var(--pj-transition);
}
.top-left-links a:hover,
#top .top-left-links a:hover {
    color: var(--pj-accent-light) !important;
    opacity: 1;
}

/* Top bar links */
#top a, .header_area a, .header_bottom a {
    color: var(--pj-white);
}
#top a:hover, .header_area a:hover, .header_bottom a:hover {
    color: var(--pj-accent-light);
}
#top .sc-dropdown-toggle {
    color: var(--pj-white);
}
#top .sc-dropdown-toggle:after {
    background: var(--pj-white);
}
.top-right .popup-call-trigger {
    color: var(--pj-white);
}

/* Header phone */
.sc-header-phones a,
.oct_contact_telephones a {
    color: var(--pj-white) !important;
    font-weight: 600;
}

/* Sticky header */
.header_bottom.sticky-header {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Logo */
@media (min-width: 1200px) {
    #logo { max-width: 250px; }
}

/* Search bar */
.sc-livesearch .input-group,
.header-search .form-control {
    border-radius: 24px !important;
    border: 2px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.08);
    transition: var(--pj-transition);
}
.sc-livesearch .input-group:focus-within,
.header-search .form-control:focus {
    border-color: var(--pj-accent);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 0 0 3px rgba(235, 89, 40, 0.15);
}
.sc-livesearch .input-group .form-control {
    border: none !important;
    background: transparent !important;
    color: var(--pj-white);
}
.sc-livesearch .input-group .form-control::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

/* ===== HEADER ICONS — white on dark header ===== */
/* mask-image system: background-color = ICON color */
.header-buttons-wishlist .sc-btn-icon,
.header-buttons-compare .sc-btn-icon,
.header-buttons-account .sc-btn-icon {
    background-color: var(--pj-white) !important;
}
/* Cart uses inline SVG with hardcoded stroke — make it white */
.header-buttons-cart svg path {
    stroke: var(--pj-white) !important;
}
.header-buttons-compare .sc-btn-text,
.header-buttons-wishlist .sc-btn-text,
.header-buttons-cart .sc-btn-text,
.header-buttons-account .sc-btn-text {
    color: var(--pj-white) !important;
}

/* ===== MEGA MENU & SIDEBAR — reset white text inheritance ===== */
/* header.header sets color:white, need to reset inside white dropdowns */
#oct-menu-ul,
#oct-menu-ul a,
#oct-menu-ul span,
#oct-menu-ul li,
.sc-megamenu a,
.sc-megamenu span,
.sc-megamenu-children-item a,
.sc-megamenu-top-item a,
.sidebar-main-menu-item,
.sidebar-main-menu-item a,
.sidebar-main-menu-item span,
.sidebar-main-menu-item-title,
.sc-location a,
.sc-location span {
    color: var(--pj-text) !important;
}
/* Keep hover red */
#oct-menu-ul a:hover,
.sc-megamenu-children-item a:hover,
.sc-megamenu-top-item a:hover,
.sidebar-main-menu-item a:hover,
.sc-column-categories-item.active > span {
    color: var(--pj-primary) !important;
}

/* ===== CATALOG BUTTON — gradient (ONLY header catalog) ===== */
.sc-btn-secondary.w-100 {
    background: linear-gradient(135deg, var(--pj-primary), var(--pj-accent)) !important;
    border: none !important;
    border-radius: var(--pj-radius) !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 14px !important;
    padding: 10px 20px !important;
    box-shadow: 0 4px 16px rgba(220, 53, 34, 0.25);
    transition: var(--pj-transition);
    color: var(--pj-white) !important;
}
.sc-btn-secondary.w-100:hover {
    box-shadow: 0 6px 24px rgba(220, 53, 34, 0.35) !important;
    transform: translateY(-1px);
}
.header-buttons .sc-btn-icon-catalog,
.sidebar-main-menu-item-catalog .sidebar-main-menu-item-icon,
.sc-btn-secondary .sc-btn-icon-catalog {
    background: var(--pj-white) !important;
}

/* ===== RESET sc-btn-secondary for NON-catalog ===== */
/* Product page & sort bar secondary buttons — neutral look */
.sc-product-content .sc-btn-secondary,
.sc-product-info .sc-btn-secondary,
.sc-category-sort .sc-btn-secondary:not(.sc-category-appearance-btn),
.sc-wishlist-btn.sc-btn-secondary,
.sc-compare-btn.sc-btn-secondary {
    background: var(--pj-white) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-size: inherit !important;
    font-weight: 600 !important;
    color: var(--pj-text) !important;
    border-radius: var(--pj-radius-sm) !important;
}
/* Wishlist/compare icons — dark grey, red on hover */
.sc-wishlist-btn .sc-btn-icon,
.sc-compare-btn .sc-btn-icon {
    background-color: var(--pj-text-muted) !important;
}
.sc-wishlist-btn:hover .sc-btn-icon,
.sc-compare-btn:hover .sc-btn-icon {
    background-color: var(--pj-primary) !important;
}
.sc-wishlist-btn .sc-btn-text,
.sc-compare-btn .sc-btn-text {
    color: var(--pj-text) !important;
}

/* View-toggle buttons (grid/list/price) — square icon buttons, equal padding */
.sc-category-appearance-btn.sc-btn-secondary {
    background: var(--pj-white) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-size: inherit !important;
    font-weight: 600 !important;
    color: var(--pj-text) !important;
    border-radius: var(--pj-radius-sm) !important;
    /* NO padding override — let theme handle equal spacing for icon buttons */
}
.sc-category-appearance-btn .sc-btn-text {
    color: var(--pj-text) !important;
}
.sc-category-appearance-btn .sc-btn-icon {
    background-color: var(--pj-text-muted) !important;
}
/* Active view toggle */
.sc-category-appearance-btn.active {
    background: var(--pj-primary) !important;
    border-color: var(--pj-primary) !important;
    color: var(--pj-white) !important;
}
.sc-category-appearance-btn.active .sc-btn-icon {
    background-color: var(--pj-white) !important;
}
.sc-category-appearance-btn.active .sc-btn-text {
    color: var(--pj-white) !important;
}

/* Cart popup secondary (continue shopping) */
#cartModal .sc-btn-secondary {
    background: var(--pj-white) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
    color: var(--pj-text) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
}
#cartModal .sc-btn-secondary .sc-btn-text {
    color: var(--pj-text) !important;
}
#cartModal .sc-btn-secondary:hover {
    border-color: var(--pj-primary) !important;
}

/* ===== PRIMARY BUTTONS ===== */
.sc-btn.sc-btn-primary,
.sc-btn.sc-btn-outline-secondary:hover,
.sc-btn.sc-btn-primary:focus,
.sc-livesearch .product-thumb .button-group .btn-primary,
.sc-popup .sc-btn.sc-btn-primary {
    background: var(--pj-primary) !important;
    border-color: var(--pj-primary) !important;
    color: var(--pj-white) !important;
    border-radius: var(--pj-radius-sm) !important;
    font-weight: 600;
    transition: var(--pj-transition);
}
.sc-btn.sc-btn-primary:hover,
.sc-livesearch .product-thumb .button-group .btn-primary:hover,
.sc-popup .sc-btn.sc-btn-primary:hover {
    background: var(--pj-primary-hover) !important;
    border-color: var(--pj-primary-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(220, 53, 34, 0.3);
}


/* Quick order button */
.sc-btn-quick-order,
.sc-btn[data-target*="quick"],
button[class*="quick-order"] {
    background: linear-gradient(135deg, var(--pj-primary), var(--pj-accent)) !important;
    border: none !important;
    color: var(--pj-white) !important;
    border-radius: var(--pj-radius) !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 12px 28px !important;
}

/* ===== PRODUCT CARDS ===== */
.content-block {
    border-radius: var(--pj-radius) !important;
    border: 1px solid #e8ebf0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    transition: var(--pj-transition);
    overflow: hidden;
    background: var(--pj-white);
}
.content-block:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
    transform: translateY(-2px);
    border-color: #dce0e8 !important;
}

/* Product image */
.content-block .sc-module-img {
    background: var(--pj-white);
    padding: 12px;
    overflow: hidden;
}
.content-block .sc-module-img img {
    transition: transform 0.35s ease;
    border-radius: 6px;
}
.content-block:hover .sc-module-img img {
    transform: scale(1.03);
}

/* Product card body */
.content-block .sc-module-body {
    padding: 12px 16px 16px !important;
}

/* Product name */
.content-block .sc-module-title a {
    color: var(--pj-text);
    font-weight: 600;
    font-size: 13px;
    line-height: 1.4;
    transition: var(--pj-transition);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.content-block .sc-module-title a:hover {
    color: var(--pj-primary) !important;
}

/* ===== PRICE — BLACK, BIGGER ===== */
.sc-price-tag, .price, .product-thumb .price,
.content-block .sc-module-price {
    color: var(--pj-dark);
    font-weight: 800;
    font-size: 18px;
}
/* Product page — larger price */
.sc-product-info .sc-price-tag,
.sc-product-content .price,
.sc-product-price .sc-price-tag,
.sc-product-price {
    font-size: 28px;
    color: var(--pj-dark);
    font-weight: 900;
}
/* Old price */
.sc-price-old, .price-old {
    color: var(--pj-text-muted);
    font-size: 14px;
    text-decoration: line-through;
}
/* Sale price — red */
.sc-price-special, .price-new {
    color: var(--pj-primary) !important;
    font-weight: 900;
}

/* Stock badge */
.sc-stock-status {
    color: var(--pj-success);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.02em;
}

/* Labels */
.sc-stickers .sticker-item {
    border-radius: 4px;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Card buttons */
.content-block .sc-module-buttons {
    padding-top: 8px;
    margin-top: 4px;
}
.content-block .sc-btn-primary,
.product-layout .sc-btn-primary {
    border-radius: var(--pj-radius-sm) !important;
    font-size: 13px;
    font-weight: 600;
}

/* ===== CARD HOVER OVERLAY BUTTONS — dark visible icons ===== */
.sc-module-btns .sc-btn .sc-btn-icon {
    background-color: var(--pj-dark) !important;
}
.sc-module-btns .sc-btn:hover .sc-btn-icon {
    background-color: var(--pj-primary) !important;
}

/* Quantity */
.content-block .sc-quantity {
    border-radius: var(--pj-radius-sm);
    overflow: hidden;
}

/* Review stars */
.content-block .rating {
    font-size: 12px;
}

/* SKU */
.content-block .sc-module-sku {
    font-size: 11px;
    color: var(--pj-text-muted);
}

/* ===== BREADCRUMB ===== */
.sc-breadcrumb {
    background: var(--pj-white);
    border-radius: var(--pj-radius);
    padding: 12px 20px;
    margin-bottom: 20px;
    box-shadow: var(--pj-shadow);
}
.sc-breadcrumb a {
    color: var(--pj-text-muted);
}
.sc-breadcrumb a:hover {
    color: var(--pj-primary) !important;
}

/* ===== CATEGORY PAGE ===== */
.sc-category-block {
    border-radius: var(--pj-radius) !important;
    box-shadow: var(--pj-shadow);
    overflow: hidden;
    border: 1px solid #eef0f4;
    transition: var(--pj-transition);
}
.sc-category-block:hover {
    box-shadow: var(--pj-shadow-hover);
    transform: translateY(-2px);
}

/* Category sidebar */
.sc-column-categories-item {
    background: var(--pj-warm-bg);
    border-radius: var(--pj-radius-sm);
    margin-bottom: 4px;
    transition: var(--pj-transition);
}
.sc-column-categories-item:hover {
    background: var(--pj-warm-border);
}
.sc-column-categories-item.active > span,
.sc-column-categories-item a:hover {
    color: var(--pj-primary) !important;
}

/* Section titles */
.sc-section-title .title,
.sc-module-header,
.sc-location .sidebar-main-menu-item-title {
    color: var(--pj-dark);
    font-weight: 700;
    position: relative;
}
.sc-section-title .title::after,
.sc-module-header::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: linear-gradient(90deg, var(--pj-primary), var(--pj-accent));
    border-radius: 2px;
    margin-top: 8px;
}

/* ===== OCFilter ===== */
.ocf-noUi-connect {
    background: var(--pj-primary) !important;
}
.ocf-noUi-handle {
    border-color: var(--pj-primary) !important;
}
.ocf-option input[type="checkbox"] {
    accent-color: var(--pj-primary);
}
.ocf-form-control:focus {
    border-color: var(--pj-primary) !important;
}

/* ===== PRODUCT PAGE ===== */
.sc-product-advantages .advantage-item,
.sc-product-info-advantage {
    border-radius: var(--pj-radius-sm);
    border-left: 3px solid var(--pj-primary);
    padding-left: 12px;
    transition: var(--pj-transition);
}
.sc-product-advantages .advantage-item:hover {
    background: var(--pj-warm-bg);
}

.sc-product-info-item {
    background: var(--pj-warm-bg);
    border: 1px solid var(--pj-warm-border);
    border-radius: var(--pj-radius-sm);
}
.sc-product-content-attributes-list-item:nth-child(even) {
    background: var(--pj-warm-bg);
    border-radius: var(--pj-radius-sm);
}

/* Product tabs */
.sc-product-content-tabs .nav-link {
    font-weight: 600;
    color: var(--pj-text-muted);
    border-radius: var(--pj-radius-sm) var(--pj-radius-sm) 0 0;
    transition: var(--pj-transition);
}
.sc-product-content-tabs .nav-link.active,
.sc-product-content-tabs .nav-link:hover {
    color: var(--pj-primary) !important;
}

/* Product page compare/wishlist — dark text & icons */
.sc-product-content .sc-btn-with-icon .sc-btn-text,
.sc-product-info .sc-btn-with-icon .sc-btn-text {
    color: var(--pj-text) !important;
}
.sc-product-content .sc-btn-outline .sc-btn-icon,
.sc-product-info .sc-btn-outline .sc-btn-icon {
    background-color: var(--pj-text-muted) !important;
}
.sc-product-content .sc-btn-outline:hover .sc-btn-icon,
.sc-product-info .sc-btn-outline:hover .sc-btn-icon {
    background-color: var(--pj-primary) !important;
}

/* ===== HOMEPAGE MODULES ===== */
.sc-advantages-item {
    border-radius: var(--pj-radius);
    transition: var(--pj-transition);
    padding: 16px 12px;
}
.sc-advantages-item:hover {
    background: var(--pj-warm-bg);
    transform: translateY(-2px);
}
.sc-advantages-item .sc-advantages-icon {
    width: 52px;
    height: 52px;
}

/* Swiper */
.swiper-button-prev,
.swiper-button-next {
    background: var(--pj-white) !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.1);
    transition: var(--pj-transition);
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
    background: var(--pj-primary) !important;
    box-shadow: 0 4px 16px rgba(220, 53, 34, 0.3);
}
.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: 16px !important;
    color: var(--pj-dark);
}
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
    color: var(--pj-white);
}
.swiper-pagination-bullet-active {
    background: var(--pj-primary) !important;
}

/* ===== CART POPUP ===== */
#cartModal .modal-content {
    border-radius: var(--pj-radius) !important;
    border: none !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2) !important;
    overflow: hidden;
}
#cartModal .modal-header {
    background: var(--pj-dark);
    color: var(--pj-white);
    padding: 16px 20px;
    border: none;
}
#cartModal .modal-header .modal-title,
#cartModal .modal-header .close,
#cartModal .modal-header button {
    color: var(--pj-white) !important;
}
#cartModal .modal-body-cart-items {
    padding: 12px;
    max-height: 400px;
    overflow-y: auto;
}
#cartModal .modal-body-cart-items .content-block {
    border: 1px solid #eef0f4 !important;
    border-radius: var(--pj-radius-sm) !important;
    box-shadow: none;
    margin-bottom: 8px;
}
#cartModal .modal-body-cart-items .content-block:hover {
    transform: none;
}
#cartModal .sidebar-cart-item-left img {
    border-radius: 8px;
    border: 1px solid #eef0f4;
}
#cartModal .sidebar-cart-item-title {
    font-size: 14px;
    line-height: 1.4;
}
#cartModal .sidebar-cart-item-price {
    color: var(--pj-dark);
    font-weight: 800;
    font-size: 16px;
}
#cartModal .sc-module-quantity {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}
#cartModal .sc-btn-danger {
    background: transparent !important;
    border: 1px solid #fecaca !important;
    border-radius: var(--pj-radius-sm) !important;
}
#cartModal .sc-btn-danger .sc-btn-icon-del {
    background-color: var(--pj-primary) !important;
}
#cartModal .sc-btn-danger:hover {
    background: #fef2f2 !important;
}
#cartModal .modal-cart-bottom {
    padding: 16px 20px 20px;
    border-top: 1px solid #eef0f4;
    background: #fafbfc;
}
#cartModal .modal-cart-bottom .fw-700 {
    font-size: 18px;
    color: var(--pj-dark);
}
#cartModal .sc-btn-primary {
    background: var(--pj-primary) !important;
    border-color: var(--pj-primary) !important;
    border-radius: var(--pj-radius-sm) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 12px 24px !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
#cartModal .sc-btn-primary:hover {
    background: var(--pj-primary-hover) !important;
}
#cartModal .empty-popup-cart {
    padding: 40px 20px;
    color: var(--pj-text-muted);
}

/* ===== BRANDS PAGE ===== */
#product-manufacturer {
    padding: 20px 0;
}
.sc-manufacturer-links {
    border-radius: var(--pj-radius) !important;
    box-shadow: var(--pj-shadow);
    z-index: 10;
}
.sc-manufacturer-links a {
    color: var(--pj-text-muted);
    font-weight: 600;
    transition: var(--pj-transition);
    padding: 4px 8px;
    border-radius: 4px;
}
.sc-manufacturer-links a:hover {
    color: var(--pj-primary) !important;
    background: var(--pj-warm-bg);
}
.sc-manufacturer-title {
    color: var(--pj-dark) !important;
    font-weight: 800 !important;
    font-size: 20px;
    border-bottom: 2px solid var(--pj-primary);
    padding-bottom: 8px !important;
}
.sc-manufacturer-item .content-block {
    border: 1px solid #eef0f4 !important;
    border-radius: var(--pj-radius) !important;
    padding: 20px 12px !important;
    transition: var(--pj-transition);
    box-shadow: none;
}
.sc-manufacturer-item .content-block:hover {
    box-shadow: var(--pj-shadow-hover);
    transform: translateY(-3px);
    border-color: var(--pj-primary) !important;
}
.sc-manufacturer-item-title {
    color: var(--pj-dark) !important;
    font-size: 13px !important;
    margin-top: 8px;
}
.sc-manufacturer-item img {
    max-height: 60px;
    object-fit: contain;
    transition: var(--pj-transition);
}
.sc-manufacturer-item .content-block:hover img {
    transform: scale(1.05);
}

/* ===== FOOTER ===== */
.footer_widgets, .sc-footer {
    background: var(--pj-dark) !important;
    color: var(--pj-text-light) !important;
    border-top: 3px solid var(--pj-primary);
}
.footer_widgets .footer_contact span,
.footer_widgets .footer_contact a,
.footer_widgets .footer_menu a,
.footer_widgets .footer_bottom,
.sc-footer, .sc-footer-subscribe .form-check-label, .sc-footer-credits,
.sc-footer-phones, .sc-footer-list a, .sc-footer-email {
    color: var(--pj-text-light) !important;
}
.footer_widgets .footer_menu a:hover,
.footer_widgets a:hover,
.sc-footer-phones a:hover, .sc-footer-list a:hover, .sc-footer-email:hover {
    color: var(--pj-accent-light) !important;
}

.sc-footer-title {
    color: var(--pj-white) !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.08em;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 16px;
}
.sc-footer-title::after {
    content: '';
    display: block;
    width: 32px;
    height: 2px;
    background: var(--pj-accent);
    position: absolute;
    bottom: 0;
    left: 0;
}

.sc-footer-subscribe input[type="email"] {
    border-radius: 24px 0 0 24px !important;
    border: 2px solid rgba(255,255,255,0.15) !important;
    background: rgba(255,255,255,0.06) !important;
    color: var(--pj-white) !important;
    padding: 10px 18px;
}
.sc-footer-subscribe button {
    border-radius: 0 24px 24px 0 !important;
    background: var(--pj-primary) !important;
    border: 2px solid var(--pj-primary) !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.sc-footer-subscribe button:hover {
    background: var(--pj-accent) !important;
    border-color: var(--pj-accent) !important;
}

.sc-footer-address, .sc-footer-shedule {
    color: var(--pj-accent-light) !important;
}

.sc-footer-phones a {
    font-size: 16px;
    font-weight: 600;
}

.sc-footer-credits {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 16px;
    margin-top: 24px;
}

/* ===== MEGA MENU ===== */
.sc-megamenu-children-item a:hover,
#oct-menu-ul .group-title a {
    color: var(--pj-primary) !important;
}
#oct-menu-ul {
    border-radius: var(--pj-radius);
    box-shadow: 0 8px 40px rgba(0,0,0,0.12);
    border: 1px solid #eef0f4;
}

/* ===== LABELS / BADGES ===== */
.badge-success, .label-success {
    background: var(--pj-success);
    color: var(--pj-white);
    border-radius: 4px;
    font-weight: 600;
}
.badge-info, .label-info {
    background: var(--pj-accent);
    color: var(--pj-white);
    border-radius: 4px;
}

/* ===== POPUP / MODALS ===== */
/* Гарантуємо що модалі завжди вище sticky header */
.modal-backdrop.show {
    z-index: 13000 !important;
}
.modal.show,
.modal.fade.show {
    z-index: 13001 !important;
}

.sc-popup .modal-content {
    border-radius: var(--pj-radius);
    border: none;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.sc-popup .modal-header {
    background: var(--pj-dark);
    color: var(--pj-white);
    border-radius: var(--pj-radius) var(--pj-radius) 0 0;
}

/* ===== CALL TO ACTION ===== */
.call_to_action {
    background: linear-gradient(135deg, var(--pj-primary), var(--pj-accent));
    color: var(--pj-white);
    border-radius: var(--pj-radius);
}
.call_to_action .call_action_text span,
.call_to_action .call_action_text p {
    color: var(--pj-white);
}

/* ===== PAGINATION ===== */
.pagination > li > a,
.pagination > li > span {
    border-radius: var(--pj-radius-sm) !important;
    margin: 0 2px;
    font-weight: 600;
    border: 1px solid #e2e8f0;
    color: var(--pj-text);
    transition: var(--pj-transition);
}
.pagination > .active > a,
.pagination > .active > span {
    background: var(--pj-primary) !important;
    border-color: var(--pj-primary) !important;
    color: var(--pj-white) !important;
}
.pagination > li > a:hover {
    background: var(--pj-warm-bg);
    border-color: var(--pj-primary);
    color: var(--pj-primary) !important;
}

/* ===== FORMS ===== */
.form-control:focus {
    border-color: var(--pj-primary);
    box-shadow: 0 0 0 3px rgba(220, 53, 34, 0.1);
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f3f7; }
::-webkit-scrollbar-thumb { background: #c1c8d4; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--pj-primary); }

/* ===== MISC ===== */
.fa-star { color: var(--pj-accent); }

.sc-quantity .form-control {
    border-radius: 0 !important;
    border-color: #e2e8f0;
    font-weight: 700;
    text-align: center;
}
.sc-quantity .sc-btn {
    border-color: #e2e8f0;
}

h1, .category-info h1 {
    font-weight: 800;
    color: var(--pj-dark);
}

.information-page .content-block,
#content > .content-block,
#content .contact-us .content-block {
    border-radius: var(--pj-radius);
    padding: 24px;
    box-shadow: var(--pj-shadow);
}

/* ===== Cart icon — white (як іконка КАТАЛОГ) ===== */
.sc-btn-icon-cart-img {
    filter: brightness(0) invert(1);
}

/* ===== Search button — round + animation ===== */
#sc-search-button {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    border-color: rgba(255, 255, 255, 0.3) !important;
    transition: background var(--pj-transition), border-color var(--pj-transition), transform 0.15s ease !important;
}
#sc-search-button .sc-btn-icon {
    background-color: var(--pj-white) !important;
}
#sc-search-button:hover {
    background: var(--pj-primary) !important;
    border-color: var(--pj-primary) !important;
    transform: scale(1.08);
}
#sc-search-button:hover .sc-btn-icon {
    background-color: var(--pj-white) !important;
}

/* ===== Кнопка "Швидке замовлення" — не капс ===== */
/* Тільки кнопки з текстом, NOT іконки-кнопки (sc-btn-with-icon) */
.sc-product-one-click-btn:not(.sc-btn-with-icon),
.sc-product-one-click-btn:not(.sc-btn-with-icon) .sc-btn-text {
    text-transform: none !important;
}
.sc-product-one-click-btn.sc-btn-secondary:not(.sc-btn-with-icon) {
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* ===== Картки товарів — зменшення висоти ===== */
/* ТІЛЬКИ картки в лістингах (sc-module-col), НЕ зачіпає слайдери/категорії */

/* Фіксована висота зображення — тільки в картках товарів */
.sc-module-col > .content-block .sc-module-img {
    height: 160px !important;
    flex-shrink: 0;
    overflow: hidden;
}
.sc-module-col > .content-block .sc-module-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Обмежити назву 2 рядками — тільки в картках */
.sc-module-col .sc-module-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Ховати SKU (дублює назву) — тільки в картках */
.sc-module-col .sc-module-model {
    display: none !important;
}

/* ===================================================================
   SEO BLOCK — головна сторінка
   =================================================================== */

.pj-seo-block {
    font-family: inherit;
    color: var(--pj-dark);
}

/* --- Статистика --- */
.pj-seo-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 40px;
}

.pj-seo-stat {
    background: linear-gradient(135deg, var(--pj-primary) 0%, var(--pj-accent) 100%);
    border-radius: 12px;
    padding: 24px 16px;
    text-align: center;
    color: #fff;
    box-shadow: 0 4px 20px rgba(220, 53, 34, 0.2);
}

.pj-seo-stat-num {
    font-size: 36px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.02em;
    margin-bottom: 6px;
}

.pj-seo-stat-label {
    font-size: 13px;
    font-weight: 500;
    opacity: 0.9;
    line-height: 1.3;
}

/* --- Про нас --- */
.pj-seo-about {
    margin-bottom: 40px;
}

.pj-seo-about-badge {
    display: inline-block;
    background: rgba(220, 53, 34, 0.1);
    color: var(--pj-primary) !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 20px;
    margin-bottom: 14px;
    border: 1px solid rgba(220, 53, 34, 0.2);
}

.pj-seo-title {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--pj-dark) !important;
    margin-bottom: 14px !important;
    line-height: 1.25 !important;
}

.pj-seo-lead {
    font-size: 17px;
    font-weight: 500;
    color: #444;
    line-height: 1.6;
    margin-bottom: 12px;
    border-left: 3px solid var(--pj-primary);
    padding-left: 16px;
}

.pj-seo-text {
    font-size: 15px;
    color: #555;
    line-height: 1.7;
    margin-bottom: 0;
}

.pj-seo-text strong {
    color: var(--pj-dark);
    font-weight: 600;
}

/* --- Заголовок секцій --- */
.pj-seo-section-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--pj-dark) !important;
    margin: 32px 0 20px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #f0f2f5 !important;
    position: relative !important;
}

.pj-seo-section-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--pj-primary);
}

/* --- Картки переваг --- */
.pj-seo-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.pj-seo-feature {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    border: 1px solid #eef0f5;
    border-radius: 12px;
    padding: 20px;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pj-seo-feature:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.pj-seo-feature-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1;
    background: rgba(220, 53, 34, 0.08);
    color: var(--pj-primary) !important;
}

/* CSS іконки через ::before */
.pj-icon-factory::before  { content: "\2699"; } /* ⚙ */
.pj-icon-cert::before     { content: "\2714"; } /* ✔ */
.pj-icon-delivery::before { content: "\2708"; } /* ✈ */
.pj-icon-service::before  { content: "\2692"; } /* ⚒ */
.pj-icon-consult::before  { content: "\2709"; } /* ✉ */
.pj-icon-price::before    { content: "\2605"; } /* ★ */

.pj-seo-feature-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--pj-dark);
    margin-bottom: 5px;
}

.pj-seo-feature-text {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
}

/* --- Клієнти --- */
.pj-seo-clients {
    margin-bottom: 8px;
}

.pj-seo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.pj-seo-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f8f9fc;
    border: 1px solid #e8eaf0;
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--pj-dark);
    transition: background 0.2s, border-color 0.2s;
}

.pj-seo-tag:hover {
    background: rgba(220, 53, 34, 0.06);
    border-color: rgba(220, 53, 34, 0.3);
}

/* --- Responsive --- */
@media (max-width: 991px) {
    .pj-seo-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .pj-seo-features {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .pj-seo-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .pj-seo-stat-num {
        font-size: 28px;
    }
    .pj-seo-features {
        grid-template-columns: 1fr;
    }
    .pj-seo-title {
        font-size: 20px !important;
    }
}


/* ==============================================
   TYPOGRAPHY SYSTEM v3.0
   Scope: all user-generated content blocks
   - .sc-product-content-text   (product descriptions)
   - .sc-category-description-text (category descriptions)
   - .sc-blog-post-text         (blog posts)
   - .content-block-text        (information pages)
   ============================================== */

/* --- Base text --- */
.sc-product-content-text,
.sc-category-description-text,
.sc-blog-post-text,
.content-block-text {
    font-size: var(--pj-font-base) !important;
    line-height: var(--pj-lh-body) !important;
    color: var(--pj-text) !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* --- Paragraphs --- */
.sc-product-content-text p,
.sc-category-description-text p,
.sc-blog-post-text p,
.content-block-text p {
    margin: 0 0 0.75em;
    color: var(--pj-text) !important;
}

/* --- Links in content --- */
.sc-product-content-text a:not(.btn),
.sc-category-description-text a:not(.btn),
.sc-blog-post-text a:not(.btn),
.content-block-text a:not(.btn) {
    color: var(--pj-primary) !important;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 2px;
    transition: var(--pj-transition);
}
.sc-product-content-text a:not(.btn):hover,
.sc-category-description-text a:not(.btn):hover,
.sc-blog-post-text a:not(.btn):hover,
.content-block-text a:not(.btn):hover {
    text-decoration-color: var(--pj-primary);
}

/* --- Lists --- */
.sc-product-content-text ul, .sc-product-content-text ol,
.sc-category-description-text ul, .sc-category-description-text ol,
.sc-blog-post-text ul, .sc-blog-post-text ol,
.content-block-text ul, .content-block-text ol {
    padding-left: 1.5em !important;
    font-size: inherit !important;
    color: inherit !important;
    margin: 0 0 1em;
}
.sc-product-content-text li,
.sc-category-description-text li,
.sc-blog-post-text li,
.content-block-text li {
    margin-bottom: 0.35em !important;
    line-height: var(--pj-lh-body) !important;
}

/* --- Blockquotes --- */
.sc-product-content-text blockquote,
.sc-category-description-text blockquote,
.sc-blog-post-text blockquote,
.content-block-text blockquote {
    border-left: 3px solid var(--pj-primary);
    padding: 0.75em 1em;
    margin: 1em 0;
    background: var(--pj-warm-bg);
    border-radius: 0 var(--pj-radius-sm) var(--pj-radius-sm) 0;
    font-style: italic;
    color: var(--pj-text-muted);
}

/* --- Horizontal rules --- */
.sc-product-content-text hr,
.sc-category-description-text hr,
.sc-blog-post-text hr,
.content-block-text hr {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 1.5em 0;
}


/* === LEGACY HEADINGS RESET (products + categories) === */
/* OC 1.5 used <h2><em><strong>text</strong></em></h2> for ALL text */
.sc-product-content-text h1,
.sc-product-content-text h2,
.sc-product-content-text h3,
.sc-category-description-text h1,
.sc-category-description-text h2,
.sc-category-description-text h3 {
    font-size: var(--pj-font-base) !important;
    font-weight: 400 !important;
    font-style: normal !important;
    color: var(--pj-text) !important;
    margin: 0.75em 0 0.5em !important;
    line-height: var(--pj-lh-body) !important;
}

/* Real sub-headings: <h2><strong>Title</strong></h2> */
.sc-product-content-text h2 strong,
.sc-product-content-text h3 strong,
.sc-category-description-text h2 strong,
.sc-category-description-text h3 strong {
    font-size: var(--pj-font-lg) !important;
    font-weight: 600 !important;
    color: var(--pj-dark) !important;
    display: block;
    margin-bottom: 0.25em;
}

/* em/strong inside legacy headings — neutralize */
.sc-product-content-text :is(h1,h2,h3) em,
.sc-product-content-text :is(h1,h2,h3) :is(em, strong):not(strong),
.sc-category-description-text :is(h1,h2,h3) em,
.sc-category-description-text :is(h1,h2,h3) :is(em, strong):not(strong) {
    font-style: normal !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    color: inherit !important;
}


/* === CLEAN HEADINGS (blog + info pages) === */
.sc-blog-post-text h1,
.content-block-text h1 {
    font-size: var(--pj-font-2xl);
    font-weight: 700;
    color: var(--pj-dark);
    margin: 1.5em 0 0.5em;
    line-height: var(--pj-lh-heading);
}

.sc-blog-post-text h2,
.content-block-text h2 {
    font-size: var(--pj-font-xl);
    font-weight: 600;
    color: var(--pj-dark);
    margin: 1.25em 0 0.5em;
    line-height: var(--pj-lh-heading);
}

.sc-blog-post-text h3,
.content-block-text h3 {
    font-size: var(--pj-font-lg);
    font-weight: 600;
    color: var(--pj-primary) !important;
    margin: 1em 0 0.5em;
    line-height: var(--pj-lh-heading);
}

.sc-blog-post-text h4,
.content-block-text h4 {
    font-size: var(--pj-font-md);
    font-weight: 600;
    color: var(--pj-dark);
    margin: 1em 0 0.5em;
    line-height: var(--pj-lh-heading);
}


/* === WYSIWYG INLINE STYLES CLEANUP (legacy) === */
/* text-align:justify → left */
.sc-product-content-text,
.sc-product-content-text *,
.sc-category-description-text,
.sc-category-description-text * {
    text-align: left !important;
}

/* hardcoded colors → theme color */
.sc-product-content-text span[style*="color"],
.sc-product-content-text em,
.sc-product-content-text p,
.sc-category-description-text span[style*="color"],
.sc-category-description-text em,
.sc-category-description-text p {
    color: var(--pj-text) !important;
}

/* em → normal style (OC 1.5 wraps everything in <em>) */
.sc-product-content-text em,
.sc-category-description-text em {
    font-style: normal !important;
}

/* font-size/font-family → inherit */
.sc-product-content-text span[style*="font-size"],
.sc-product-content-text span[style*="font-family"],
.sc-category-description-text span[style*="font-size"],
.sc-category-description-text span[style*="font-family"] {
    font-size: inherit !important;
    font-family: inherit !important;
}


/* === IMAGES (responsive) === */
.sc-product-content-text img,
.sc-category-description-text img,
.sc-blog-post-text img,
.content-block-text img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: var(--pj-radius-sm);
}

/* Mobile: remove float, center images */
@media (max-width: 767px) {
    .sc-product-content-text img[style*="float"],
    .sc-category-description-text img[style*="float"] {
        float: none !important;
        display: block !important;
        margin: 1em auto !important;
        max-width: 100% !important;
    }
}

/* Desktop: keep float but constrain size */
@media (min-width: 768px) {
    .sc-product-content-text img[style*="float"],
    .sc-category-description-text img[style*="float"] {
        max-width: 35% !important;
        height: auto !important;
        margin: 0.25em 0 0.5em 1.25em !important;
    }
}

/* Minimize empty spacing in legacy content (reduces float gaps from &nbsp; paragraphs) */
.sc-product-content-text p,
.sc-category-description-text p {
    margin: 0 0 0.35em !important;
}


/* === RESPONSIVE TABLE SYSTEM === */

/* Wrapper (added via JS) — horizontal scroll */
.sc-product-content-text .table-responsive-wrap,
.sc-category-description-text .table-responsive-wrap,
.sc-blog-post-text .table-responsive-wrap,
.content-block-text .table-responsive-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1em 0;
    border-radius: var(--pj-radius-sm);
    border: 1px solid #e2e8f0;
}

/* Table base */
.sc-product-content-text table,
.sc-category-description-text table,
.sc-blog-post-text table,
.content-block-text table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: var(--pj-white) !important;
    font-size: var(--pj-font-sm) !important;
    min-width: 320px;
}

.sc-product-content-text table td,
.sc-product-content-text table th,
.sc-category-description-text table td,
.sc-category-description-text table th,
.sc-blog-post-text table td,
.sc-blog-post-text table th,
.content-block-text table td,
.content-block-text table th {
    padding: 0.5rem 0.75rem !important;
    border: 1px solid #e2e8f0 !important;
    text-align: left !important;
    vertical-align: middle !important;
    color: var(--pj-text) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: var(--pj-font-sm) !important;
    white-space: nowrap;
}

/* First column — parameter name */
.sc-product-content-text table td:first-child,
.sc-category-description-text table td:first-child,
.sc-blog-post-text table td:first-child,
.content-block-text table td:first-child {
    font-weight: 500 !important;
    white-space: normal;
    min-width: 150px;
}

/* *** TABLE HEADER FIX *** */
/* Brand red header + force ALL inner elements to inherit white */
.sc-product-content-text table tr:first-child td,
.sc-product-content-text table tr:first-child th,
.sc-category-description-text table tr:first-child td,
.sc-category-description-text table tr:first-child th,
.sc-blog-post-text table tr:first-child td,
.sc-blog-post-text table tr:first-child th,
.content-block-text table tr:first-child td,
.content-block-text table tr:first-child th {
    background: var(--pj-primary) !important;
    color: var(--pj-white) !important;
    font-weight: 600 !important;
    border-color: var(--pj-primary-hover) !important;
}

/* KEY FIX: inner em/strong/p/span inside header inherit white */
.sc-product-content-text table tr:first-child td *,
.sc-product-content-text table tr:first-child th *,
.sc-category-description-text table tr:first-child td *,
.sc-category-description-text table tr:first-child th *,
.sc-blog-post-text table tr:first-child td *,
.sc-blog-post-text table tr:first-child th *,
.content-block-text table tr:first-child td *,
.content-block-text table tr:first-child th * {
    color: inherit !important;
    font-style: normal !important;
}

/* Zebra striping */
.sc-product-content-text table tr:nth-child(even),
.sc-category-description-text table tr:nth-child(even),
.sc-blog-post-text table tr:nth-child(even),
.content-block-text table tr:nth-child(even) {
    background: #f8f9fb !important;
}

.sc-product-content-text table tr:hover,
.sc-category-description-text table tr:hover,
.sc-blog-post-text table tr:hover,
.content-block-text table tr:hover {
    background: var(--pj-warm-bg) !important;
}

/* Table scroll hint */
.table-scroll-hint {
    display: none;
    text-align: center;
    font-size: var(--pj-font-xs);
    color: var(--pj-text-muted);
    padding: 0.35em 0;
}

@media (max-width: 767px) {
    .table-scroll-hint { display: block; }
}


/* === RESPONSIVE BREAKPOINTS === */

/* Mobile ≤575px */
@media (max-width: 575px) {
    .sc-product-content-text table td,
    .sc-product-content-text table th,
    .sc-category-description-text table td,
    .sc-category-description-text table th,
    .sc-blog-post-text table td,
    .sc-blog-post-text table th,
    .content-block-text table td,
    .content-block-text table th {
        padding: 0.4rem 0.5rem !important;
    }
}

/* Mobile ≤575px — tighter table padding */
