/* RedFox Auto light atelier theme — decorative layer over the preserved site UI. */
:root {
    color-scheme: light;
    --bg-void: #f5f0e7;
    --bg-primary: #fbf9f4;
    --bg-secondary: #eaf0f3;
    --bg-tertiary: #f3e9e7;
    --bg-card: #fffdfa;
    --bg-card-hover: #ffffff;
    --glass-bg: rgba(255, 253, 250, 0.9);
    --glass-border: rgba(48, 58, 67, 0.14);
    --text-primary: #232a31;
    --text-secondary: #5c6670;
    --text-muted: #87909a;
    --accent-red: #c92635;
    --accent-red-dim: rgba(201, 38, 53, 0.10);
    --accent-red-glow: rgba(201, 38, 53, 0.16);
    --accent-blue: #55788d;
    --accent-blue-dim: rgba(85, 120, 141, 0.11);
    --accent-blue-glow: rgba(85, 120, 141, 0.17);
    --accent-light: #dce7e9;
    --accent-gray: #78838c;
    --accent-green: #367963;
    --accent-orange: #a56a2b;
    --accent-glow: rgba(201, 38, 53, 0.16);
    --gradient-accent: linear-gradient(135deg, #cf3543 0%, #a91629 100%);
    --light-shadow: 0 18px 50px rgba(40, 48, 55, 0.10);
    --light-shadow-soft: 0 8px 28px rgba(40, 48, 55, 0.075);
}

html { background: #f5f0e7 !important; }

body {
    color: var(--text-primary) !important;
    background:
        radial-gradient(circle at 6% 10%, rgba(201, 38, 53, 0.09), transparent 25rem),
        radial-gradient(circle at 92% 25%, rgba(85, 120, 141, 0.13), transparent 30rem),
        radial-gradient(circle at 30% 88%, rgba(54, 121, 99, 0.08), transparent 24rem),
        #f7f3eb !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0.34;
    background-image: radial-gradient(circle, rgba(55, 66, 75, 0.18) 1px, transparent 1.25px);
    background-size: 24px 24px;
    mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

::selection { color: #fff; background: rgba(201, 38, 53, 0.78); }
::-webkit-scrollbar-track { background: #eee8de !important; }
::-webkit-scrollbar-thumb { background: #a7afb4 !important; border: 3px solid #eee8de; }
::-webkit-scrollbar-thumb:hover { background: #7c878f !important; }

.header,
.top-bar {
    color: var(--text-primary) !important;
    background: rgba(255, 253, 249, 0.90) !important;
    border-color: rgba(54, 64, 73, 0.14) !important;
    box-shadow: 0 10px 35px rgba(43, 52, 59, 0.08) !important;
    backdrop-filter: blur(18px) saturate(1.25) !important;
}

.header::after,
.top-bar::after {
    content: "";
    position: absolute;
    inset: auto 0 -1px;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(201, 38, 53, 0.58), rgba(85, 120, 141, 0.48), transparent);
}

.logo-icon {
    color: #fff !important;
    background: var(--gradient-accent) !important;
    border-color: transparent !important;
    box-shadow: 0 9px 24px rgba(201, 38, 53, 0.22) !important;
}

.logo-icon svg { color: #fff !important; }
.logo-text,
.logo-name,
.header-title,
.header-phone,
.header-phone a { color: var(--text-primary) !important; }
.logo-text span,
.logo-name span { color: var(--accent-red) !important; }

.header-badge,
.panel-tag,
.hero-badge,
.section-label,
.catalog-kicker {
    color: #6d4c4e !important;
    background: rgba(255, 250, 246, 0.72) !important;
    border-color: rgba(201, 38, 53, 0.26) !important;
}

button,
a,
input,
select,
textarea { -webkit-tap-highlight-color: transparent; }

input,
select,
textarea,
.search-bar,
.calc-select,
.booking-form-input,
.booking-form-select,
.catalog-select {
    color: var(--text-primary) !important;
    background-color: rgba(255, 255, 255, 0.84) !important;
    border-color: rgba(69, 80, 89, 0.23) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

input::placeholder,
textarea::placeholder { color: #9aa1a7 !important; }

.catalog-select:disabled {
    color: #9aa1a7 !important;
    background-color: rgba(235, 237, 237, 0.74) !important;
    border-color: rgba(69, 80, 89, 0.14) !important;
    box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus,
.search-bar:focus-within,
.calc-select:focus {
    border-color: rgba(201, 38, 53, 0.48) !important;
    box-shadow: 0 0 0 4px rgba(201, 38, 53, 0.09) !important;
}

/* Entry page: two bright, distinct destinations. */
.split-screen { background: #f6f1e8 !important; }

.split-panel:first-child {
    background:
        radial-gradient(circle at 18% 16%, rgba(201, 38, 53, 0.13), transparent 22rem),
        linear-gradient(145deg, #fbf6ef 0%, #f0e3df 100%) !important;
}

.split-panel:last-child {
    background:
        radial-gradient(circle at 82% 14%, rgba(85, 120, 141, 0.16), transparent 24rem),
        linear-gradient(215deg, #f8fbfa 0%, #e3edf0 100%) !important;
}

.panel-sto::before,
.panel-shop::before {
    opacity: 0.72;
    background-image:
        linear-gradient(30deg, transparent 48%, rgba(255, 255, 255, 0.64) 49%, rgba(255, 255, 255, 0.64) 51%, transparent 52%),
        linear-gradient(150deg, transparent 48%, rgba(61, 75, 84, 0.06) 49%, rgba(61, 75, 84, 0.06) 51%, transparent 52%) !important;
    background-size: 54px 92px !important;
}

.panel-divider-line {
    background: linear-gradient(180deg, transparent, rgba(75, 84, 91, 0.28), transparent) !important;
}

.split-divider::after {
    background: linear-gradient(180deg, #c92635, #efe6da, #55788d) !important;
    box-shadow: 0 0 30px rgba(76, 88, 98, 0.14) !important;
}

.panel-icon-ring,
.panel-shop .panel-icon-ring {
    background: rgba(255, 255, 255, 0.56) !important;
    border-color: rgba(52, 64, 73, 0.24) !important;
    box-shadow: var(--light-shadow-soft) !important;
}

.panel-icon,
.panel-sto .panel-icon { color: var(--accent-red) !important; }
.panel-shop .panel-icon { color: var(--accent-blue) !important; }
.panel-title,
.panel-description { color: var(--text-primary) !important; }
.panel-description { opacity: 0.72; }

.panel-cta,
.panel-sto .panel-cta,
.panel-shop .panel-cta {
    color: #fff !important;
    background: #29343c !important;
    border-radius: 999px;
    padding: 0.72rem 1.05rem;
    box-shadow: var(--light-shadow-soft);
}

.panel-sto:hover .panel-cta { background: var(--accent-red) !important; }
.panel-shop:hover .panel-cta { background: var(--accent-blue) !important; }

.panel-icon-ring::after,
.panel-shop .panel-icon-ring::after {
    background: var(--accent-red) !important;
    box-shadow: 0 0 0 6px rgba(201, 38, 53, 0.08) !important;
}

.panel-shop .panel-icon-ring::after { background: var(--accent-blue) !important; }

.ripple-overlay.sto,
.ripple-overlay.shop {
    background: radial-gradient(circle at var(--rx) var(--ry), rgba(255, 255, 255, 0.55), transparent 68%) !important;
}

/* Service page: alternating warm, blue and blush surfaces. */
.hero-bg-image img,
.work-category-image img { filter: saturate(0.88) contrast(0.96) brightness(1.05); }

.hero-bg-overlay {
    background: linear-gradient(90deg, rgba(251, 248, 241, 0.97) 0%, rgba(251, 248, 241, 0.89) 43%, rgba(251, 248, 241, 0.34) 100%) !important;
}

.hero-content-overlay .hero-promo-code {
    color: #fff !important;
}

.hero-content-overlay .hero-promo-text {
    color: var(--text-secondary) !important;
}

.hero-fullwidth,
.section-first,
.section,
.section-dark,
.section-promo { color: var(--text-primary) !important; }

.section-first,
.section {
    position: relative;
    background: rgba(255, 253, 249, 0.82) !important;
    border-color: rgba(55, 67, 76, 0.10) !important;
}

.section-dark {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #e8eff1 0%, #f5f8f7 100%) !important;
    border-top: 1px solid rgba(85, 120, 141, 0.18) !important;
    border-bottom: 1px solid rgba(85, 120, 141, 0.18) !important;
}

.section-promo {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #f6ebe7 0%, #fff8ef 100%) !important;
    border-top: 1px solid rgba(201, 38, 53, 0.12) !important;
    border-bottom: 1px solid rgba(201, 38, 53, 0.12) !important;
}

.section-dark::after,
.section-promo::after {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: min(34vw, 480px);
    pointer-events: none;
    opacity: 0.46;
    background-image:
        radial-gradient(circle at center, rgba(85, 120, 141, 0.23) 1.5px, transparent 1.7px),
        linear-gradient(135deg, transparent 46%, rgba(255, 255, 255, 0.64) 47%, rgba(255, 255, 255, 0.64) 53%, transparent 54%);
    background-size: 22px 22px, 64px 64px;
    mask-image: linear-gradient(90deg, transparent, #000);
}

.section-promo::after {
    background-image:
        radial-gradient(circle at center, rgba(201, 38, 53, 0.17) 1.5px, transparent 1.7px),
        linear-gradient(45deg, transparent 47%, rgba(255, 255, 255, 0.7) 48%, rgba(255, 255, 255, 0.7) 52%, transparent 53%);
}

.section-dark > *,
.section-promo > * { position: relative; z-index: 1; }

.hero-title,
.hero-subtitle,
.section-title,
.section-subtitle,
.work-title,
.calc-title,
.contact-title,
.footer-title { color: var(--text-primary) !important; }

.work-category,
.calculator-card,
.calculator-form,
.calculator-result,
.contact-form,
.contact-info,
.map-wrapper,
.calc-feature,
.booking-modal,
.booking-notice {
    color: var(--text-primary) !important;
    background: rgba(255, 255, 255, 0.84) !important;
    border-color: rgba(65, 76, 84, 0.15) !important;
    box-shadow: var(--light-shadow-soft) !important;
}

/* Match the two booking columns and restore the messenger brand buttons. */
.contact-wrapper {
    align-items: stretch !important;
    gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.contact-info {
    min-width: 0;
    height: 100%;
    padding: 2.5rem;
    border: 1px solid rgba(65, 76, 84, 0.15);
    border-radius: 24px;
    backdrop-filter: blur(20px);
}

.contact-form {
    min-width: 0;
    height: 100%;
}

.work-category:nth-child(3n + 1),
.calc-feature:nth-child(3n + 1) { background: #fff9f4 !important; }
.work-category:nth-child(3n + 2),
.calc-feature:nth-child(3n + 2) { background: #f3f8f7 !important; }
.work-category:nth-child(3n),
.calc-feature:nth-child(3n) { background: #f0f5f7 !important; }

.work-category:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 38, 53, 0.28) !important;
    box-shadow: var(--light-shadow) !important;
}

.btn-primary,
.work-book-btn,
.vin-form-submit,
.reg-submit,
.search-btn,
.calc-cta {
    color: #fff !important;
    background: var(--gradient-accent) !important;
    border: 1px solid transparent !important;
    box-shadow: 0 10px 28px rgba(201, 38, 53, 0.21) !important;
}

.btn-primary:hover,
.work-book-btn:hover,
.vin-form-submit:hover,
.reg-submit:hover,
.search-btn:hover,
.calc-cta:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #b61d2d, #8f1120) !important;
    box-shadow: 0 13px 32px rgba(201, 38, 53, 0.27) !important;
}

.btn-secondary,
.work-calc-link,
.back-btn,
.header-auth-btn,
.header-cart-btn,
.header-account-btn {
    color: #39444c !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border-color: rgba(60, 72, 81, 0.20) !important;
}

.btn-secondary:hover,
.work-calc-link:hover,
.back-btn:hover,
.header-auth-btn:hover,
.header-cart-btn:hover,
.header-account-btn:hover {
    color: #fff !important;
    background: #394851 !important;
    border-color: #394851 !important;
}

.hero-promo-code,
.text-red,
.work-note,
.calc-result-total,
.calc-info-value,
.contact-icon,
.section-title em { color: var(--accent-red) !important; }

.calc-notice,
.calc-notice-promo,
.work-calc-link-promo,
.info-notice {
    color: #5c5d62 !important;
    background: rgba(255, 248, 239, 0.82) !important;
    border-color: rgba(173, 107, 43, 0.21) !important;
    border-left-color: var(--accent-red) !important;
}

.messenger-btn {
    color: #34424a !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border-color: rgba(59, 73, 82, 0.18) !important;
}

.messenger-btn:hover { background: #e7eff1 !important; border-color: rgba(85, 120, 141, 0.36) !important; }

.messenger-btn.telegram {
    color: #fff !important;
    background: #168ac2 !important;
}

.messenger-btn.whatsapp {
    color: #fff !important;
    background: #2ebd69 !important;
}

.messenger-btn.max-msg {
    color: #fff !important;
    background: #327ee8 !important;
}

.messenger-btn.telegram:hover { background: #0876aa !important; }
.messenger-btn.whatsapp:hover { background: #20a858 !important; }
.messenger-btn.max-msg:hover { background: #206bd1 !important; }

/* Parts page and public product cards. */
.main { position: relative; }

.search-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 3.5vw, 2.3rem) !important;
    background: linear-gradient(125deg, rgba(255, 253, 249, 0.92), rgba(237, 244, 245, 0.88)) !important;
    border: 1px solid rgba(65, 76, 84, 0.13);
    border-radius: 24px;
    box-shadow: var(--light-shadow-soft);
}

.search-hero::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    top: -96px;
    right: -60px;
    border: 28px solid rgba(201, 38, 53, 0.08);
    border-radius: 50%;
    box-shadow: 0 0 0 26px rgba(85, 120, 141, 0.06), 0 0 0 52px rgba(54, 121, 99, 0.035);
    pointer-events: none;
}

.search-hero > * { position: relative; z-index: 1; }
.search-hero h1 { color: var(--text-primary) !important; }
.search-hero h1 em {
    color: var(--accent-red) !important;
    -webkit-text-fill-color: var(--accent-red) !important;
}

.info-notice-title,
.info-notice a,
.brand-price,
.td-price,
.cross-price { color: var(--accent-red) !important; }

.brand-table-wrap,
.offers-table-wrap,
.vin-block,
.contact-block,
.reg-modal,
#loginModal > div {
    color: var(--text-primary) !important;
    background: rgba(255, 253, 249, 0.90) !important;
    border-color: rgba(61, 72, 80, 0.15) !important;
    box-shadow: var(--light-shadow-soft) !important;
}

.vin-block {
    background:
        linear-gradient(135deg, rgba(247, 235, 230, 0.92), rgba(255, 252, 246, 0.94)) !important;
}

.contact-block {
    background:
        linear-gradient(135deg, rgba(229, 239, 241, 0.96), rgba(248, 251, 249, 0.94)) !important;
}

.brand-table tbody tr:hover,
.brand-table tbody tr:focus-visible {
    border-color: rgba(201, 38, 53, 0.30) !important;
    background: #fff !important;
    box-shadow: var(--light-shadow) !important;
}

.brand-table th {
    color: #748089 !important;
    background: rgba(229, 237, 239, .62) !important;
    border-bottom-color: rgba(61, 72, 80, .14) !important;
}

.brand-table td { border-bottom-color: rgba(61, 72, 80, .09) !important; }

.brand-select-button {
    color: #34424a !important;
    border-color: rgba(61, 73, 81, .22) !important;
}

.brand-table tbody tr:hover .brand-select-button,
.brand-select-button:focus-visible {
    color: #fff !important;
    background: #3d5969 !important;
    border-color: #3d5969 !important;
}

.cta-btn,
.cart-add-btn {
    color: #fff !important;
    background: #3d5969 !important;
    border-color: #3d5969 !important;
    box-shadow: 0 7px 20px rgba(61, 89, 105, 0.17) !important;
}

.cta-btn:hover,
.cart-add-btn:hover { color: #fff !important; background: #29414e !important; border-color: #29414e !important; }

.vin-form-auto {
    color: #34424a !important;
    background: rgba(255, 255, 255, 0.70) !important;
    border-color: rgba(61, 73, 81, 0.18) !important;
}

.offers-table thead,
.cross-group-header,
.used-section-header { background: rgba(85, 120, 141, 0.09) !important; }

.used-badge,
.count {
    color: #6c4a22 !important;
    background: rgba(250, 226, 188, 0.64) !important;
    border-color: rgba(165, 106, 43, 0.24) !important;
}

.search-mode-switcher {
    background: rgba(255, 255, 255, .68) !important;
    border-color: rgba(44, 57, 67, .15) !important;
    box-shadow: 0 12px 32px rgba(66, 54, 45, .08);
}

.search-mode-button { color: #5d6872 !important; }
.search-mode-button small { color: #7b8791 !important; }
.search-mode-button.active {
    color: #252c32 !important;
    background: linear-gradient(135deg, rgba(255, 248, 243, .98), rgba(237, 244, 245, .98)) !important;
    border-color: rgba(201, 38, 53, .26) !important;
}
.search-mode-button.active small { color: #68737d !important; }

.parts-catalog {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(235, 242, 243, 0.95), rgba(249, 248, 242, 0.95)) !important;
    border-color: rgba(85, 120, 141, 0.18) !important;
    box-shadow: var(--light-shadow) !important;
}

.parts-catalog::before {
    content: "";
    position: absolute;
    inset: 0 0 auto auto;
    width: 330px;
    height: 210px;
    opacity: 0.62;
    pointer-events: none;
    background-image:
        linear-gradient(30deg, transparent 48%, rgba(85, 120, 141, 0.13) 49%, rgba(85, 120, 141, 0.13) 51%, transparent 52%),
        linear-gradient(150deg, transparent 48%, rgba(201, 38, 53, 0.08) 49%, rgba(201, 38, 53, 0.08) 51%, transparent 52%);
    background-size: 34px 58px;
    mask-image: linear-gradient(225deg, #000, transparent 72%);
}

.parts-catalog > * { position: relative; z-index: 1; }
.catalog-head h2,
.catalog-search-context strong { color: var(--text-primary) !important; }

.catalog-search-context {
    color: var(--text-secondary) !important;
    background: rgba(255, 255, 255, 0.62) !important;
    border-color: rgba(69, 82, 91, 0.15) !important;
}

.catalog-card {
    background: rgba(255, 253, 249, 0.96) !important;
    border-color: rgba(60, 72, 80, 0.14) !important;
    box-shadow: 0 9px 28px rgba(42, 52, 59, 0.08) !important;
}

.offer-group {
    background: linear-gradient(145deg, rgba(245, 243, 237, .92), rgba(235, 241, 242, .9)) !important;
    border-color: rgba(62, 75, 84, .13) !important;
    box-shadow: 0 9px 30px rgba(45, 55, 62, .07) !important;
}

.offer-group--in-stock { background: linear-gradient(145deg, rgba(235, 246, 241, .94), rgba(247, 248, 243, .92)) !important; }
.offer-group--one-day { background: linear-gradient(145deg, rgba(250, 237, 237, .94), rgba(248, 246, 240, .92)) !important; }
.offer-group--order { background: linear-gradient(145deg, rgba(236, 243, 247, .94), rgba(248, 247, 242, .92)) !important; }
.offer-group::after {
    border-color: rgba(201, 38, 53, .045) !important;
    box-shadow: 0 0 0 22px rgba(85, 120, 141, .04), 0 0 0 44px rgba(54, 121, 99, .025) !important;
}

.offer-group-empty {
    color: #68747c !important;
    background: rgba(255, 255, 255, .46) !important;
    border-color: rgba(61, 73, 81, .16) !important;
}

.catalog-card--tone-1 { background: linear-gradient(155deg, #fffdf8, #f1f7f3) !important; }
.catalog-card--tone-2 { background: linear-gradient(155deg, #fffdfa, #fbf0f0) !important; }
.catalog-card--tone-3 { background: linear-gradient(155deg, #fffefa, #edf4f7) !important; }

.catalog-card:nth-child(3n + 1) { border-top: 3px solid rgba(201, 38, 53, 0.52) !important; }
.catalog-card:nth-child(3n + 2) { border-top: 3px solid rgba(54, 121, 99, 0.46) !important; }
.catalog-card:nth-child(3n) { border-top: 3px solid rgba(85, 120, 141, 0.52) !important; }

.catalog-card:hover {
    border-color: rgba(85, 120, 141, 0.30) !important;
    box-shadow: var(--light-shadow) !important;
}

.catalog-card-media {
    border-bottom-color: rgba(62, 73, 81, 0.10) !important;
    background:
        radial-gradient(circle at 22% 24%, rgba(201, 38, 53, 0.08), transparent 28%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.76), rgba(227, 236, 238, 0.84)),
        repeating-linear-gradient(135deg, transparent 0 15px, rgba(85, 120, 141, 0.06) 15px 16px) !important;
}

.catalog-card-media img { background: #fdfcf9 !important; }
.catalog-photo-placeholder { color: #7b858c !important; }

.catalog-relation,
.catalog-photo-count,
.catalog-availability {
    color: #314049 !important;
    background: rgba(255, 255, 255, 0.88) !important;
    border-color: rgba(53, 66, 75, 0.20) !important;
    box-shadow: 0 4px 14px rgba(42, 52, 59, 0.09) !important;
}

.catalog-relation.exact { color: #236149 !important; border-color: rgba(54, 121, 99, 0.44) !important; background: #eff9f3 !important; }
.catalog-relation.oem { color: #355f78 !important; border-color: rgba(85, 120, 141, 0.40) !important; background: #eff6fa !important; }
.catalog-relation.analog { color: #805720 !important; border-color: rgba(165, 106, 43, 0.40) !important; background: #fff7e8 !important; }

.catalog-card-brand,
.catalog-card-code b,
.catalog-card-title,
.catalog-price b { color: var(--text-primary) !important; }
.catalog-card-title:hover { color: var(--accent-red) !important; }
.catalog-offer-facts b { color: #59636c !important; }
.catalog-fitment-preview { border-top-color: rgba(58, 70, 79, 0.14) !important; }
.catalog-fitment-preview b { color: #33434c !important; }
.catalog-fitment-list span,
.catalog-numbers span {
    color: #53616a !important;
    background: #f7f8f5 !important;
    border-color: rgba(61, 74, 83, 0.13) !important;
}

.catalog-card-footer { border-top-color: rgba(58, 70, 79, 0.11) !important; }

.catalog-detail-button,
.catalog-modal-action.secondary {
    color: #394851 !important;
    background: #f8f5ee !important;
    border-color: rgba(57, 72, 81, 0.20) !important;
}

.catalog-detail-button:hover,
.catalog-modal-action.secondary:hover { color: #fff !important; background: #536d7b !important; border-color: #536d7b !important; }

.catalog-cart-button,
.catalog-more-button,
.catalog-modal-action.primary {
    color: #fff !important;
    background: var(--gradient-accent) !important;
    border-color: transparent !important;
    box-shadow: 0 7px 20px rgba(201, 38, 53, 0.18) !important;
}

.catalog-cart-button:hover,
.catalog-more-button:hover,
.catalog-modal-action.primary:hover { color: #fff !important; background: linear-gradient(135deg, #b91d2e, #90111f) !important; }

.catalog-state { border-color: rgba(66, 79, 88, 0.18) !important; }
.catalog-state strong { color: var(--text-primary) !important; }
.catalog-skeleton span { background: linear-gradient(100deg, #e8e8e3 22%, #f7f5ef 40%, #e8e8e3 58%) !important; background-size: 220% 100% !important; }

.catalog-modal { background: rgba(46, 55, 62, 0.54) !important; }
.catalog-modal-panel {
    color: var(--text-primary) !important;
    background: #fffdf8 !important;
    border-color: rgba(55, 68, 77, 0.18) !important;
    box-shadow: 0 32px 100px rgba(32, 42, 49, 0.25) !important;
}
.catalog-modal-close { color: #fff !important; background: rgba(38, 49, 57, 0.84) !important; border-color: rgba(255, 255, 255, 0.62) !important; }
.catalog-modal-gallery { background: #edf2f3 !important; border-color: rgba(59, 73, 82, 0.12) !important; }
.catalog-modal-main-image { background: #fff !important; }
.catalog-modal-copy h3,
.catalog-modal-price,
.catalog-detail-list b { color: var(--text-primary) !important; }
.catalog-modal-code { color: #4d5d66 !important; border-color: rgba(57, 72, 81, 0.18) !important; background: #f4f1ea !important; }
.catalog-detail-list span { color: var(--text-secondary) !important; background: #f7f8f5 !important; border-color: rgba(61, 74, 83, 0.12) !important; }

.catalog-directory {
    background: linear-gradient(145deg, rgba(255, 253, 248, .96), rgba(237, 244, 247, .94)) !important;
    border-color: rgba(66, 79, 88, .18) !important;
}
.catalog-directory-grid article { background: rgba(255, 255, 255, .68) !important; border-color: rgba(66, 79, 88, .14) !important; }
.catalog-directory-grid h3 { color: var(--text-primary) !important; }
.catalog-directory-grid a { color: #59636c !important; border-color: rgba(66, 79, 88, .2) !important; }
.catalog-directory-grid a:hover { color: var(--accent-red) !important; border-color: rgba(201, 38, 53, .38) !important; }

.seo-local-section {
    position: relative;
    overflow: hidden;
    color: var(--text-secondary) !important;
    background: linear-gradient(145deg, rgba(248, 235, 230, 0.90), rgba(255, 252, 245, 0.94)) !important;
    border-color: rgba(201, 38, 53, 0.13) !important;
    box-shadow: var(--light-shadow-soft) !important;
}

.seo-local-section::before {
    content: "";
    position: absolute;
    inset: auto -60px -90px auto;
    width: 280px;
    height: 280px;
    border: 22px solid rgba(201, 38, 53, 0.055);
    border-radius: 50%;
    box-shadow: 0 0 0 24px rgba(85, 120, 141, 0.045), 0 0 0 48px rgba(54, 121, 99, 0.03);
}

.seo-local-section > * { position: relative; z-index: 1; }
.seo-local-intro h2,
.seo-benefit-grid h3,
.seo-local-contact h3,
.seo-faq h3,
.seo-faq-grid h4,
.seo-local-contact address strong,
.seo-local-contact address a { color: var(--text-primary) !important; }

.seo-benefit-grid article,
.seo-faq-grid article {
    background: rgba(255, 255, 255, 0.68) !important;
    border-color: rgba(66, 78, 87, 0.12) !important;
    box-shadow: 0 6px 18px rgba(45, 55, 62, 0.05);
}
.seo-benefit-grid article:nth-child(4n + 1) { background: #fff5f1 !important; }
.seo-benefit-grid article:nth-child(4n + 2) { background: #f0f7f5 !important; }
.seo-benefit-grid article:nth-child(4n + 3) { background: #eef5f7 !important; }
.seo-benefit-grid article:nth-child(4n) { background: #fff8ea !important; }
.seo-local-contact { background: rgba(255, 255, 255, 0.55) !important; }

.site-legal-footer {
    color: #6f777d !important;
    background: rgba(236, 232, 224, 0.88) !important;
    border-color: rgba(58, 69, 78, 0.12) !important;
}
.site-legal-text,
.site-legal-text strong { color: inherit !important; }

.footer {
    color: rgba(255, 255, 255, 0.72) !important;
    background: #2d3941 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.footer .footer-title,
.footer .text-white,
.footer .footer-logo-text { color: #fff !important; }
.footer a,
.footer p,
.footer-contact-item { color: rgba(255, 255, 255, 0.70) !important; }

.toast.success,
.toast.info,
.toast.error {
    color: #fff !important;
    background: #35444d !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 14px 38px rgba(28, 38, 44, 0.24) !important;
}

@media (max-width: 768px) {
    .contact-info,
    .contact-form {
        height: auto;
        padding: 1.5rem;
        border-radius: 18px;
    }

    .hero-bg-overlay {
        background: linear-gradient(180deg, rgba(250, 247, 239, 0.70), rgba(250, 247, 239, 0.96)) !important;
    }
    .search-hero { border-radius: 18px; }
    .section-dark::after,
    .section-promo::after { width: 64vw; opacity: 0.28; }
    .header::after,
    .top-bar::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
