/* ============================================================
   TEMA IDEALMIX — Clonă vizuală idealmix.ro
   Font: Roboto | Culori: #222, #f6b60b (gold), #fff
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap');

:root {
    --color-primary: #f6b60b;
    --color-primary-dark: #d4900e;
    --color-dark: #222222;
    --color-darker: #111f29;
    --color-text: #555555;
    --color-text-light: #999999;
    --color-bg: #ffffff;
    --color-bg-light: #f5f5f5;
    --color-border: #eeeeee;
    --color-footer-bg: #2d2d2d;
    --color-topbar-bg: #111f29;
    --font-main: 'Roboto', 'Open Sans', sans-serif;
    --container-width: 1200px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: var(--font-main);
    color: var(--color-text);
    background: var(--color-bg);
    line-height: 1.6;
    font-size: 14px;
}

a { color: var(--color-dark); text-decoration: none; }
a:hover { color: var(--color-primary); }

.container { max-width: var(--container-width); margin: 0 auto; padding: 0 15px; }

/* ── TOP BAR ─────────────────────────────────────────────── */
.topbar {
    background: var(--color-topbar-bg);
    color: #fff;
    font-size: 14px;
    font-family: var(--font-main);
    line-height: 50px;
    padding: 0;
}
.topbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.topbar-left { display: flex; gap: 30px; align-items: center; }
.topbar-left span { display: flex; align-items: center; gap: 10px; }
.topbar-left svg, .topbar-right svg { color: var(--color-primary); }
.topbar-right { display: flex; gap: 24px; align-items: center; font-size: 14px; }
.topbar a { color: #fff; font-weight: 400; }
.topbar a:hover { color: var(--color-primary); background: transparent; }

/* ── HEADER ──────────────────────────────────────────────── */
.site-header {
    background: var(--color-bg);
    border-bottom: 1px solid var(--color-border);
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100px;
    line-height: 100px;
}
.logo { display: flex; align-items: center; flex-shrink: 0; margin-right: 30px; }
.logo img { height: 75px; width: auto; }
.logo span { display: none; }

.main-nav { display: flex; gap: 0; align-items: center; height: 100%; margin-left: auto; margin-right: 0; }

.nav-item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}
.nav-item > a {
    color: var(--color-dark);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 38px 20px;
    letter-spacing: 0.5px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    height: 100%;
}
.nav-item:hover > a {
    color: var(--color-primary);
    background: transparent;
}
.nav-parent { cursor: default; }

/* Dropdown — rotateX animation + dungi 5px animate 800ms */
.nav-dropdown {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 300px;
    background: var(--color-primary);
    box-shadow: none;
    border: none;
    border-radius: 0;
    z-index: 200;
    transform: rotateX(-90deg);
    transform-origin: top;
    transition: all 500ms ease-in-out;
    backface-visibility: hidden;
}
.nav-item:hover .nav-dropdown {
    transform: rotateX(0deg);
}

/* Dungi negre animate 5px sus și jos */
.nav-dropdown::before,
.nav-dropdown::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 5px;
    background: var(--color-dark);
    transform: scaleX(0);
    transition: all 800ms ease-in-out;
    backface-visibility: hidden;
}
.nav-dropdown::before { top: 0; left: 0; transform-origin: 0 50%; }
.nav-dropdown::after { bottom: 0; left: 0; transform-origin: 100% 50%; }
.nav-item:hover .nav-dropdown::before,
.nav-item:hover .nav-dropdown::after {
    transform: scaleX(1);
}

.nav-dropdown a {
    display: block;
    padding: 12px 8px;
    color: var(--color-dark);
    font-size: 14px;
    font-weight: 700;
    font-family: var(--font-main);
    text-transform: uppercase;
    line-height: normal;
    transition: all 0.2s;
}
.nav-dropdown a:hover {
    background: #fff;
    color: var(--color-dark);
}

/* Search — butonul galben pătrat ca pe original */
.header-actions { display: flex; align-items: stretch; gap: 0; height: 100%; margin-left: auto; }
.header-actions .search-form {
    display: flex;
    align-items: stretch;
    height: 100%;
    position: relative;
}
.header-actions .search-form input {
    border: 1px solid var(--color-border);
    border-right: none;
    padding: 10px 14px;
    font-size: 13px;
    outline: none;
    width: 0;
    opacity: 0;
    font-family: var(--font-main);
    transition: all 0.3s;
}
.header-actions .search-form:hover input,
.header-actions .search-form input:focus {
    width: 200px;
    opacity: 1;
    padding: 10px 14px;
}
.header-actions .search-form button {
    background: var(--color-primary);
    color: #fff;
    border: none;
    width: 100px;
    line-height: 100px;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    margin-left: 15px;
}
.header-actions .search-form button:hover { color: var(--color-dark); }

.cart-link, .account-link {
    color: var(--color-dark);
    font-size: 13px;
    font-weight: 600;
}
.cart-count {
    background: var(--color-primary);
    color: #fff;
    border-radius: 50%;
    padding: 1px 6px;
    font-size: 11px;
    margin-left: 4px;
}
.lang-switch { display: none; }

/* ── HERO SLIDER ─────────────────────────────────────────── */
/* ============================================================
   PAGINA CONTACT
   ============================================================ */
.contact-hero {
    background: linear-gradient(135deg, #111f29 0%, #1a2f3e 100%);
    color: #fff;
    padding: 80px 0 70px;
    text-align: center;
}
.contact-hero-inner { max-width: 720px; margin: 0 auto; }
.contact-pretitle {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #f6b60b;
    margin-bottom: 15px;
}
.contact-title {
    font-size: 48px;
    font-weight: 800;
    margin: 0 0 20px;
    letter-spacing: -1px;
}
.contact-subtitle {
    font-size: 17px;
    line-height: 1.6;
    color: #b8c4ce;
    margin: 0;
}

.contact-info-section { padding: 60px 0 40px; background: #f9fafb; }
.contact-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.contact-card {
    background: #fff;
    border-radius: 12px;
    padding: 30px 25px;
    text-align: center;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
    transition: transform 0.2s, box-shadow 0.2s;
    display: block;
}
.contact-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(246,182,11,0.15);
}
.contact-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: #f6b60b;
    background: rgba(246,182,11,0.12);
}
.contact-card h3 {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 10px;
}
.contact-value {
    font-size: 18px;
    font-weight: 600;
    color: #111;
    margin: 0 0 6px;
}
.contact-note {
    font-size: 12px;
    color: #888;
    line-height: 1.5;
}

.contact-main-section { padding: 70px 0; background: #fff; }
.contact-main-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 50px;
    align-items: start;
}

.contact-section-title {
    font-size: 30px;
    font-weight: 800;
    color: #111;
    margin: 0 0 10px;
    letter-spacing: -0.5px;
}
.contact-section-title-center { text-align: center; margin-bottom: 40px; }
.contact-section-subtitle {
    font-size: 15px;
    color: #666;
    margin: 0 0 30px;
    line-height: 1.6;
}

.contact-form-wrapper {
    background: #f9fafb;
    padding: 40px;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
}
.contact-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 18px;
}
.contact-form-group { margin-bottom: 18px; }
.contact-form-group label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.contact-form-group input,
.contact-form-group select,
.contact-form-group textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}
.contact-form-group input:focus,
.contact-form-group select:focus,
.contact-form-group textarea:focus {
    outline: none;
    border-color: #f6b60b;
    box-shadow: 0 0 0 3px rgba(246,182,11,0.15);
}
.contact-form-group textarea { resize: vertical; min-height: 140px; }

.honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.contact-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px 18px;
    border-radius: 10px;
    margin-bottom: 25px;
    font-size: 14px;
    line-height: 1.5;
}
.contact-alert svg { flex-shrink: 0; margin-top: 2px; }
.contact-alert-success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}
.contact-alert-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.contact-form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid #e5e7eb;
    flex-wrap: wrap;
}
.contact-privacy-note {
    font-size: 12px;
    color: #888;
    margin: 0;
    flex: 1;
    min-width: 200px;
}
.contact-privacy-note a { color: #f6b60b; text-decoration: underline; }
.contact-submit-btn {
    background: #f6b60b;
    color: #111;
    border: none;
    padding: 14px 32px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: background 0.2s, transform 0.2s;
}
.contact-submit-btn:hover {
    background: #e6a800;
    transform: translateX(2px);
}

.contact-map-wrapper {}
.contact-map {
    width: 100%;
    height: 320px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
    margin-bottom: 30px;
}
.contact-extra {
    background: #fff7e0;
    border-left: 4px solid #f6b60b;
    padding: 25px 28px;
    border-radius: 10px;
}
.contact-extra h3 {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 0 0 15px;
}
.contact-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
}
.contact-benefits li {
    font-size: 13px;
    color: #444;
    line-height: 1.6;
    padding: 8px 0 8px 22px;
    position: relative;
}
.contact-benefits li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #f6b60b;
    font-weight: 700;
    font-size: 15px;
}

.contact-faq-section { padding: 70px 0; background: #f9fafb; }
.contact-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    max-width: 900px;
    margin: 0 auto;
}
.contact-faq-item {
    background: #fff;
    padding: 28px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
}
.contact-faq-item h3 {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 0 0 12px;
}
.contact-faq-item p {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin: 0;
}
.contact-faq-item a { color: #f6b60b; }

@media (max-width: 900px) {
    .contact-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-main-grid { grid-template-columns: 1fr; gap: 40px; }
    .contact-form-row { grid-template-columns: 1fr; }
    .contact-title { font-size: 36px; }
    .contact-faq-grid { grid-template-columns: 1fr; }
    .contact-form-wrapper { padding: 25px; }
}
@media (max-width: 540px) {
    .contact-cards-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   SUBCATEGORII NAV (pe pagini părinte)
   ============================================================ */
.subcategories-nav { padding: 30px 0 10px; background: #f9fafb; }
.subcategories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.subcategory-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    text-decoration: none;
    color: #111;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: transform 0.2s, box-shadow 0.2s;
    display: block;
}
.subcategory-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(246,182,11,0.15);
}
.subcategory-card img {
    width: 100%;
    height: 140px;
    object-fit: cover;
}
.subcategory-name {
    display: block;
    padding: 12px 10px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #111;
}

/* Catalog product cards — prețuri + stock */
.product-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}
.product-price {
    font-size: 18px;
    font-weight: 800;
    color: #111;
}
.product-price-old {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
    margin-right: 6px;
}
.product-price-tva {
    font-size: 11px;
    color: #888;
}
.product-stock-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}
.stock-in { background: #d1fae5; color: #059669; }
.stock-out { background: #fee2e2; color: #dc2626; }
.btn-buy {
    display: block;
    margin-top: 12px;
    padding: 10px 16px;
    background: var(--color-primary);
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 6px;
    text-decoration: none;
    transition: background 0.2s, transform 0.1s;
}
.btn-buy:hover { background: #e5a500; color: #fff; }
.btn-buy:active { transform: scale(0.98); }
.product-short-desc {
    font-size: 12px;
    color: #777;
    line-height: 1.5;
    margin: 6px 0 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ============================================================
   SEO CONTENT ADDON — Accordion
   ============================================================ */
.seo-content-addon {
    padding: 50px 0 60px;
    background: #fff;
    border-top: 1px solid #e5e7eb;
}
.addon-header {
    text-align: left;
    margin-bottom: 25px;
}
.addon-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #f6b60b;
    padding: 8px 24px;
    border: 2px solid #f6b60b;
    border-radius: 30px;
}
.addon-intro {
    max-width: 900px;
    margin: 0 0 40px;
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    text-align: left;
}
.addon-intro p { margin: 0 0 15px; }

.addon-section {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.addon-section[open] {
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    border-color: #d1d5db;
}
.addon-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    font-size: 18px;
    font-weight: 700;
    color: #111;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background 0.15s;
}
.addon-h2 {
    font-size: 18px;
    font-weight: 700;
    color: inherit;
    margin: 0;
    flex: 1;
}
.addon-section-title:hover {
    background: #fafafa;
}
.addon-section-title::-webkit-details-marker { display: none; }
.addon-section-title::marker { display: none; content: ''; }

.addon-toggle-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #f3f4f6;
    position: relative;
    transition: transform 0.25s, background 0.25s;
}
.addon-toggle-icon::before,
.addon-toggle-icon::after {
    content: '';
    position: absolute;
    background: #666;
    border-radius: 2px;
}
.addon-toggle-icon::before {
    width: 12px; height: 2px;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
.addon-toggle-icon::after {
    width: 2px; height: 12px;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.25s;
}
.addon-section[open] .addon-toggle-icon {
    background: #f6b60b;
}
.addon-section[open] .addon-toggle-icon::before,
.addon-section[open] .addon-toggle-icon::after {
    background: #fff;
}
.addon-section[open] .addon-toggle-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.addon-section-body {
    padding: 0 28px 28px;
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}
.addon-section-body h3 {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 25px 0 12px;
}
.addon-section-body p {
    margin: 0 0 14px;
}
.addon-section-body ul, .addon-section-body ol {
    margin: 0 0 16px;
    padding-left: 22px;
}
.addon-section-body li {
    margin-bottom: 6px;
    line-height: 1.7;
}
.addon-section-body strong {
    color: #111;
}
.addon-section-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0 20px;
    font-size: 14px;
}
.addon-section-body th {
    background: #111f29;
    color: #fff;
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.addon-section-body td {
    padding: 12px 16px;
    border-bottom: 1px solid #e5e7eb;
    color: #333;
}
.addon-section-body tr:hover td {
    background: #fef3c7;
}

@media (max-width: 768px) {
    .addon-section-title { padding: 16px 18px; font-size: 15px; }
    .addon-section-body { padding: 0 18px 20px; font-size: 14px; }
}

/* === Utility classes (pentru a evita inline styles din motive CSP) === */
.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
.svg-v-middle { vertical-align: middle; }
.footer-mt-15 { margin-top: 15px; }
.footer-mt-10 { margin-top: 10px; }
.is-hidden { display: none; }
.stock-mt-15 { margin-top: 15px; }
.error-page-pad { padding: 60px 0; }

.hero-slider {
    position: relative;
    width: 100%;
    height: 580px;
    overflow: hidden;
}
.hero-slider .slide {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease;
}
.hero-slider .slide-1 { background-image: url('/uploads/branding/slider-1.jpg'); }
.hero-slider .slide-2 { background-image: url('/uploads/branding/slider-2.jpg'); }
.hero-slider .slide.active { opacity: 1; pointer-events: auto; }
.slide-overlay {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    width: 80%;
    max-width: 750px;
}
.slide-pretitle {
    display: block;
    font-size: 38px;
    font-weight: 700;
    font-style: italic;
    color: var(--color-primary);
    margin-bottom: 12px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
    text-transform: uppercase;
}
.slide-title {
    font-size: 28px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 3px;
    line-height: 1.4;
    margin-bottom: 25px;
    text-shadow: 0 2px 6px rgba(0,0,0,0.4);
}
.slide-desc {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
    margin-bottom: 35px;
    text-shadow: 0 1px 4px rgba(0,0,0,0.4);
    text-transform: uppercase;
    letter-spacing: 2px;
}
.slide-btn {
    display: inline-block;
    background: var(--color-primary);
    color: var(--color-dark);
    padding: 14px 32px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: background 0.2s;
}
.slide-btn:hover {
    background: var(--color-primary-dark);
    color: #fff;
}

/* Backward compat */
.hero-section { display: none; }

/* ── SECȚIUNI HOMEPAGE ───────────────────────────────────── */
.section-title {
    text-align: center;
    font-size: 28px;
    font-weight: 300;
    color: var(--color-dark);
    margin: 50px 0 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* ── CATEGORII GRID ──────────────────────────────────────── */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 0 40px;
}
.category-card {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    aspect-ratio: 3/2;
}
.category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.category-card:hover img { transform: scale(1.05); }
.category-card .category-name {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.6);
    color: #fff;
    padding: 12px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ── PRODUCT GRID ────────────────────────────────────────── */
.featured-products, .new-products {
    padding: 20px 0 40px;
}
.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.product-card {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    text-align: left;
    padding: 20px;
    transition: box-shadow 0.2s;
    display: flex;
    flex-direction: column;
}
.product-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.product-card .product-image {
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    margin-bottom: 15px;
}
.product-card .product-image img {
    max-width: 100%;
    max-height: 250px;
    object-fit: contain;
}
.product-card .product-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-dark);
    text-transform: uppercase;
    margin-bottom: 10px;
    min-height: 40px;
    flex-grow: 1;
}
.product-card .product-sku-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}
.product-card .product-name a { color: var(--color-dark); }
.product-card .product-name a:hover { color: var(--color-primary); }
.product-card .price {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 12px;
}
.product-card .price-old {
    font-size: 14px;
    color: var(--color-text-light);
    text-decoration: line-through;
    margin-right: 8px;
}
.product-card .badge-sale { display: none; }

.btn-cart, .btn-primary {
    background: var(--color-primary);
    color: #fff;
    border: none;
    padding: 10px 24px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    letter-spacing: 0.5px;
    transition: background 0.2s;
    font-family: var(--font-main);
}
.btn-cart:hover, .btn-primary:hover { background: var(--color-primary-dark); }

/* ── CATALOG PAGE ────────────────────────────────────────── */
.catalog-page { padding: 30px 0; }
.catalog-page .container { display: flex; gap: 30px; }

/* Category banner */
.category-banner {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}
.category-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.category-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 60%, transparent 100%);
    display: flex;
    align-items: center;
    padding: 0 60px;
}
.category-banner-overlay h1,
.category-banner-overlay h2 {
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
    margin: 0;
}
.section.catalog-section { padding-top: 40px; padding-bottom: 50px; }
.category-banner.banner-align-right .category-banner-overlay {
    justify-content: flex-end;
    background: linear-gradient(270deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.1) 60%, transparent 100%);
    padding-right: 60px;
}

.catalog-full .product-grid {
    grid-template-columns: repeat(3, 1fr);
}
.catalog-sidebar {
    width: 250px;
    flex-shrink: 0;
    display: none;
}
.catalog-sidebar h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 15px;
    text-transform: uppercase;
}
.catalog-sidebar a {
    display: block;
    padding: 8px 0;
    color: var(--color-text);
    font-size: 13px;
    border-bottom: 1px solid var(--color-border);
}
.catalog-sidebar a:hover, .catalog-sidebar a.active {
    color: var(--color-primary);
}

.catalog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}
.catalog-header h1 {
    font-size: 24px;
    font-weight: 300;
    color: var(--color-dark);
    text-transform: uppercase;
}
.catalog-header select {
    border: 1px solid var(--color-border);
    padding: 8px 12px;
    font-size: 13px;
    font-family: var(--font-main);
}
.product-count { color: var(--color-text-light); font-size: 13px; }

/* ── BREADCRUMB BAR ──────────────────────────────────────── */
.breadcrumb-bar {
    background: var(--color-bg-light);
    border-bottom: 1px solid var(--color-border);
    padding: 14px 0;
}
.breadcrumb-bar a {
    color: var(--color-text-light);
    font-size: 13px;
    transition: color 0.15s;
}
.breadcrumb-bar a:hover { color: var(--color-primary); }
.breadcrumb-bar .bc-sep {
    color: var(--color-text-light);
    margin: 0 8px;
    font-size: 12px;
}
.breadcrumb-bar .bc-current {
    color: var(--color-dark);
    font-size: 13px;
    font-weight: 600;
}

/* ── PRODUCT DETAIL ──────────────────────────────────────── */
.product-detail { padding: 40px 0; }

.product-layout {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

.product-gallery {
    flex: 0 0 48%;
}
.product-gallery .gallery-main {
    border: 1px solid var(--color-border);
    padding: 30px;
    margin-bottom: 15px;
    text-align: center;
    background: #fff;
}
.product-gallery .gallery-main img {
    max-width: 100%;
    max-height: 450px;
    object-fit: contain;
}
.product-gallery .gallery-thumbs {
    display: flex;
    gap: 10px;
}
.product-gallery .gallery-thumbs .thumb {
    width: 80px; height: 80px;
    border: 1px solid var(--color-border);
    padding: 5px;
    object-fit: contain;
    cursor: pointer;
    transition: border-color 0.15s;
}
.product-gallery .gallery-thumbs .thumb:hover {
    border-color: var(--color-primary);
}

.product-info-col { flex: 1; }
.product-info-col h1 {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-dark);
    text-transform: uppercase;
    margin-bottom: 8px;
    line-height: 1.3;
}
.product-sku {
    color: var(--color-text-light);
    font-size: 13px;
    margin-bottom: 25px;
}
.product-price-box {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--color-border);
}
.product-price-box .price-old {
    font-size: 16px;
    color: var(--color-text-light);
    text-decoration: line-through;
    display: block;
    margin-bottom: 4px;
}
.product-price-box .price-main {
    font-size: 32px;
    font-weight: 700;
    color: var(--color-dark);
}
.product-short-desc {
    color: var(--color-text);
    line-height: 1.8;
    margin-bottom: 25px;
    font-size: 14px;
}
.product-variants {
    margin-bottom: 20px;
}
.product-variants label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-dark);
    margin-bottom: 6px;
}
.product-variants select {
    border: 1px solid var(--color-border);
    padding: 10px 14px;
    font-size: 14px;
    font-family: var(--font-main);
    width: 100%;
    max-width: 300px;
}

.product-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}
.qty-control {
    display: flex;
    align-items: center;
}
.qty-control button {
    width: 40px; height: 44px;
    border: 1px solid var(--color-border);
    background: var(--color-bg-light);
    cursor: pointer;
    font-size: 18px;
    font-family: var(--font-main);
    transition: background 0.15s;
}
.qty-control button:hover { background: var(--color-border); }
.qty-control input {
    width: 60px; height: 44px;
    text-align: center;
    border: 1px solid var(--color-border);
    border-left: none;
    border-right: none;
    font-family: var(--font-main);
    font-size: 15px;
}
.btn-cart-lg {
    padding: 14px 40px;
    font-size: 15px;
}
.stock-status {
    color: #5cb85c;
    font-weight: 600;
    font-size: 14px;
    margin-top: 5px;
}
.out-of-stock { color: #d9534f; font-weight: 600; }

/* Inline calculator on product page */
.product-calculator-inline {
    margin-top: 25px;
    padding: 20px;
    background: #f0f9f9;
    border-radius: 8px;
    border-left: 3px solid #7eb4b5;
}
.product-calculator-inline h4 {
    font-size: 14px;
    font-weight: 700;
    color: #4a8a8c;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}
.calc-inline-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.calc-inline-row:last-of-type {
    margin-bottom: 0;
}
.calc-inline-row label {
    font-size: 13px;
    color: var(--color-text);
    white-space: nowrap;
}
.calc-inline-select {
    padding: 8px 12px;
    border: 1px solid #cde5e5;
    border-radius: 6px;
    font-size: 14px;
    font-family: var(--font-main);
    color: var(--color-dark);
    background: #fff;
    cursor: pointer;
    min-width: 220px;
}
.calc-inline-select:focus { outline: none; border-color: #7eb4b5; }
.calc-inline-input {
    width: 100px;
    padding: 8px 12px;
    border: 1px solid #cde5e5;
    border-radius: 6px;
    font-size: 14px;
    font-family: var(--font-main);
}
.calc-inline-input:focus { outline: none; border-color: #7eb4b5; }
.calc-inline-btn {
    background: #7eb4b5;
    color: #fff;
    border: none;
    padding: 8px 18px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: var(--font-main);
}
.calc-inline-btn:hover { background: #5e9a9b; }
.calc-inline-result {
    margin-top: 10px;
    padding: 10px 14px;
    background: #e0f2f2;
    border-radius: 6px;
    font-size: 13px;
    color: #3a7a7c;
    line-height: 1.6;
}

/* ── CHECKOUT PAGE ───────────────────────────────────────── */
.checkout-page { padding: 30px 0 60px; }
.checkout-title { font-size: 24px; font-weight: 700; color: var(--color-dark); margin-bottom: 25px; }

.checkout-alert {
    background: #fef2f2; border: 1px solid #fecaca; color: #dc2626;
    padding: 14px 18px; border-radius: 8px; margin-bottom: 20px; font-size: 14px;
}

.checkout-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 30px;
    align-items: start;
}

.checkout-card {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
}
.checkout-card-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border);
}

.checkout-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.checkout-form-grid .form-full { grid-column: 1 / -1; }
.checkout-form-grid .form-group label {
    display: block; font-size: 12px; font-weight: 600; color: var(--color-text-light);
    text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px;
}
.checkout-form-grid .form-group input,
.checkout-form-grid .form-group textarea,
.checkout-card .form-group textarea {
    width: 100%; padding: 11px 14px;
    border: 1px solid var(--color-border); border-radius: 6px;
    font-size: 14px; font-family: var(--font-main); color: var(--color-dark);
    transition: border-color 0.2s;
}
.checkout-form-grid .form-group input:focus,
.checkout-form-grid .form-group textarea:focus,
.checkout-card .form-group textarea:focus {
    outline: none; border-color: var(--color-primary);
}

/* Payment options */
.checkout-payment-options { display: flex; flex-direction: column; gap: 10px; }
.checkout-radio {
    display: block; cursor: pointer;
}
.checkout-radio input { display: none; }
.checkout-radio .radio-content {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 18px; border: 2px solid var(--color-border); border-radius: 8px;
    transition: all 0.15s;
}
.checkout-radio input:checked + .radio-content {
    border-color: var(--color-primary);
    background: rgba(246, 182, 11, 0.04);
}
.checkout-radio .radio-icon { font-size: 24px; flex-shrink: 0; }
.checkout-radio strong { display: block; font-size: 14px; color: var(--color-dark); }
.checkout-radio small { display: block; font-size: 12px; color: var(--color-text-light); margin-top: 2px; }

/* Summary column */
.checkout-summary-card {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 25px;
    position: sticky;
    top: 120px;
}

.checkout-items { margin-bottom: 18px; }
.checkout-item {
    display: flex; justify-content: space-between; align-items: flex-start;
    padding: 10px 0; border-bottom: 1px solid var(--color-border);
}
.checkout-item:last-child { border-bottom: none; }
.checkout-item-info { flex: 1; }
.checkout-item-info strong { display: block; font-size: 13px; color: var(--color-dark); line-height: 1.4; }
.checkout-item-info small { display: block; font-size: 11px; color: var(--color-text-light); }
.checkout-item-price { font-size: 14px; font-weight: 600; color: var(--color-dark); white-space: nowrap; margin-left: 15px; }

.checkout-totals { border-top: 2px solid var(--color-border); padding-top: 14px; margin-bottom: 20px; }
.checkout-total-row {
    display: flex; justify-content: space-between;
    padding: 6px 0; font-size: 14px; color: var(--color-text);
}
.checkout-grand-total {
    padding-top: 12px; margin-top: 8px;
    border-top: 2px solid var(--color-dark);
    font-size: 18px; font-weight: 700; color: var(--color-dark);
}

/* Saved data display */
.checkout-saved-data {
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 1.8;
}
.checkout-saved-data strong { display: block; font-size: 14px; color: var(--color-dark); }
.checkout-saved-data span { display: block; color: var(--color-text); }
.checkout-saved-badge {
    display: inline-block;
    background: var(--color-primary);
    color: var(--color-dark);
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.checkout-edit-link {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-primary);
}
.checkout-edit-link:hover { text-decoration: underline; }

.checkout-submit-btn {
    width: 100%;
    padding: 16px;
    background: var(--color-primary);
    color: var(--color-dark);
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    font-family: var(--font-main);
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.2s;
}
.checkout-submit-btn:hover { background: var(--color-primary-dark); color: #fff; }
.checkout-submit-btn:disabled { opacity: 0.6; cursor: wait; }

.checkout-terms {
    text-align: center; font-size: 11px; color: var(--color-text-light);
    margin-top: 14px; line-height: 1.6;
}
.checkout-terms a { color: var(--color-primary); }

@media (max-width: 768px) {
    .checkout-grid { grid-template-columns: 1fr; }
    .checkout-form-grid { grid-template-columns: 1fr; }
}

/* ── ACCOUNT PAGE ────────────────────────────────────────── */
.account-page { padding: 30px 0 60px; }

/* Auth grid (login + register) */
.account-auth-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    max-width: 900px;
    margin: 0 auto;
}
.account-auth-grid .checkout-card label {
    display: block; font-size: 12px; font-weight: 600; color: var(--color-text-light);
    text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px;
}
.account-auth-grid .checkout-card input {
    width: 100%; padding: 11px 14px;
    border: 1px solid var(--color-border); border-radius: 6px;
    font-size: 14px; font-family: var(--font-main);
}
.account-auth-grid .checkout-card input:focus { outline: none; border-color: var(--color-primary); }
.account-auth-grid .form-group { margin-bottom: 16px; }

/* Spacing for account forms */
.account-content-area .form-group { margin-bottom: 16px; }
.account-content-area .btn-cart { margin-top: 20px; }
.account-content-area .checkout-form-grid .form-group label,
.account-content-area .form-group label {
    display: block; font-size: 12px; font-weight: 600; color: var(--color-text-light);
    text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 5px;
}
.account-content-area .checkout-form-grid .form-group input,
.account-content-area .checkout-form-grid .form-group textarea,
.account-content-area .form-group input,
.account-content-area .form-group textarea,
.account-content-area .form-group select {
    width: 100%; padding: 11px 14px;
    border: 1px solid var(--color-border); border-radius: 6px;
    font-size: 14px; font-family: var(--font-main); color: var(--color-dark);
    transition: border-color 0.2s;
}
.account-content-area .checkout-form-grid .form-group input:focus,
.account-content-area .form-group input:focus,
.account-content-area .form-group textarea:focus,
.account-content-area .form-group select:focus {
    outline: none; border-color: var(--color-primary);
}

/* Dashboard grid (sidebar + content) */
.account-dashboard-grid {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 30px;
    align-items: start;
}

.account-sidebar-card {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    overflow: hidden;
    position: sticky;
    top: 120px;
}
.account-user-info {
    display: flex; align-items: center; gap: 14px;
    padding: 20px; border-bottom: 1px solid var(--color-border);
}
.account-avatar {
    width: 45px; height: 45px;
    background: var(--color-primary);
    color: var(--color-dark);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; font-weight: 700; flex-shrink: 0;
}
.account-user-info strong { display: block; font-size: 14px; color: var(--color-dark); }
.account-user-info small { display: block; font-size: 12px; color: var(--color-text-light); }

.account-nav { padding: 10px 0; }
.account-nav a {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 20px; font-size: 14px; font-weight: 500;
    color: var(--color-text); transition: all 0.15s;
    border-left: 3px solid transparent;
}
.account-nav a:hover { background: var(--color-bg-light); color: var(--color-dark); }
.account-nav a.active {
    background: rgba(246,182,11,0.06);
    color: var(--color-primary);
    border-left-color: var(--color-primary);
    font-weight: 600;
}
.account-nav a span { font-size: 16px; width: 20px; text-align: center; }
/* Address cards */
.account-addresses-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 25px; }
.account-address-card {
    border: 1px solid var(--color-border); border-radius: 8px; padding: 16px; position: relative; font-size: 13px; line-height: 1.6;
}
.account-address-card.is-default { border-color: var(--color-primary); }
.account-address-card strong { display: block; margin-bottom: 6px; font-size: 14px; }
.account-address-card p { color: var(--color-text); margin: 0; }
.addr-default-badge {
    position: absolute; top: 10px; right: 10px;
    background: var(--color-primary); color: var(--color-dark); font-size: 10px; font-weight: 700;
    padding: 2px 8px; border-radius: 3px; text-transform: uppercase; letter-spacing: 0.5px;
}
.addr-actions { margin-top: 10px; display: flex; gap: 15px; }
.addr-actions a { font-size: 12px; font-weight: 600; }

.account-logout { color: var(--color-text-light) !important; margin-top: 5px; border-top: 1px solid var(--color-border); }
.account-logout:hover { color: #dc2626 !important; }

.account-profile-grid { display: flex; flex-direction: column; gap: 12px; }
.account-info-row { display: flex; gap: 10px; font-size: 14px; padding: 10px 0; border-bottom: 1px solid var(--color-border); }
.account-info-row:last-child { border-bottom: none; }
.account-info-label { color: var(--color-text-light); font-weight: 600; min-width: 120px; }

.order-status-badge {
    display: inline-block; padding: 4px 10px; border-radius: 4px;
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;
}
.status-pending { background: #fff3cd; color: #856404; }
.status-confirmed { background: #d1ecf1; color: #0c5460; }
.status-processing { background: #d1ecf1; color: #0c5460; }
.status-shipped { background: #cce5ff; color: #004085; }
.status-delivered { background: #d4edda; color: #155724; }
.status-cancelled { background: #f8d7da; color: #721c24; }

/* Order cards */
.order-card {
    border: 1px solid var(--color-border);
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}
.order-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: var(--color-bg-light);
    border-bottom: 1px solid var(--color-border);
}
.order-card-header strong { font-size: 15px; color: var(--color-dark); }
.order-card-header:hover { background: #edf0f3; }
.order-toggle { font-size: 12px; color: var(--color-text-light); transition: transform 0.2s; }
.order-date { display: block; font-size: 12px; color: var(--color-text-light); margin-top: 2px; }

.order-items-table {
    width: 100%;
    border-collapse: collapse;
}
.order-items-table th {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-text-light);
    text-align: left;
    border-bottom: 1px solid var(--color-border);
}
.order-items-table td {
    padding: 10px 16px;
    font-size: 13px;
    border-bottom: 1px solid var(--color-border);
}
.order-items-table code { font-size: 11px; color: var(--color-text-light); }

.order-card-footer {
    padding: 14px 20px;
    background: var(--color-bg-light);
    border-top: 1px solid var(--color-border);
}
.order-totals {
    display: flex;
    gap: 20px;
    justify-content: flex-end;
    font-size: 13px;
    color: var(--color-text);
}
.order-totals strong { color: var(--color-dark); font-size: 15px; }

.order-details-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    padding: 20px;
    border-top: 1px solid var(--color-border);
}
.order-detail-box {
    font-size: 13px;
    line-height: 1.7;
}
.order-detail-box h4 {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color-primary);
    margin-bottom: 8px;
}
.order-detail-box p { margin: 0; color: var(--color-text); }
.btn-disabled { opacity: 0.6; cursor: not-allowed; }

@media (max-width: 768px) {
    .account-auth-grid { grid-template-columns: 1fr; }
    .account-dashboard-grid { grid-template-columns: 1fr; }
}

/* ── COLOR SWATCHES WIDGET (Sabble etc.) ─────────────────── */
.color-swatches-widget {
    padding: 40px 0;
    border-top: 1px solid var(--color-border);
}
.swatch-selector-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
    margin: 25px 0;
}
.swatch-selector-item {
    border: 2px solid var(--color-border);
    border-radius: 8px;
    padding: 8px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
}
.swatch-selector-item:hover {
    border-color: var(--color-text-light);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.swatch-selector-item.active {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(245,166,35,0.3);
}
.swatch-selector-item img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 6px;
}
.swatch-selector-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--color-dark);
    letter-spacing: 0.5px;
}

.swatch-selected-info {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: var(--color-bg-light);
    border-radius: 8px;
    margin-bottom: 20px;
}
.swatch-selected-preview img {
    width: 50px;
    height: 50px;
    border-radius: 6px;
    object-fit: cover;
}
.swatch-selected-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-dark);
}

/* ── CART PAGE (OpenCart style) ───────────────────────────── */
.cart-page { padding: 30px 0 60px; }
.cart-page h1 { font-size: 24px; font-weight: 700; color: var(--color-dark); margin-bottom: 25px; }

.cart-empty { text-align: center; padding: 60px 0; }
.cart-empty h2 { font-size: 22px; color: var(--color-dark); }

.cart-table-wrapper { overflow-x: auto; }

.oc-cart-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid var(--color-border);
}
.oc-cart-table thead th {
    background: var(--color-bg-light);
    padding: 12px 14px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-text-light);
    text-align: left;
    border-bottom: 2px solid var(--color-border);
}
.oc-cart-table tbody td {
    padding: 16px 14px;
    border-bottom: 1px solid var(--color-border);
    vertical-align: middle;
    font-size: 13px;
}
.oc-cart-table tbody tr:hover { background: #fafbfc; }

.col-image { width: 80px; }
.col-product { min-width: 180px; }
.col-details { min-width: 160px; }
.col-price { white-space: nowrap; }
.col-qty { width: 120px; }
.col-total { white-space: nowrap; }
.col-remove { width: 40px; text-align: center; }

.oc-cart-thumb {
    width: 65px;
    height: 65px;
    object-fit: contain;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    padding: 4px;
    background: #fff;
}
.oc-cart-thumb-placeholder {
    width: 65px;
    height: 65px;
    background: var(--color-bg-light);
    border-radius: 4px;
}

.oc-product-name {
    font-weight: 600;
    color: var(--color-dark);
    font-size: 14px;
    line-height: 1.4;
    display: block;
    margin-bottom: 3px;
}
.oc-product-name:hover { color: var(--color-primary); }
.oc-product-sku { font-size: 11px; color: var(--color-text-light); font-family: monospace; }

.oc-details-list { display: flex; flex-direction: column; gap: 4px; }
.oc-detail-row { display: flex; gap: 6px; font-size: 12px; }
.oc-detail-label { color: var(--color-text-light); font-weight: 600; white-space: nowrap; }
.oc-color-badge { font-weight: 600; }
.oc-color-badge small { font-weight: 400; color: var(--color-text-light); }

.oc-qty-control {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    overflow: hidden;
}
.oc-qty-control button {
    width: 32px;
    height: 34px;
    border: none;
    background: var(--color-bg-light);
    cursor: pointer;
    font-size: 16px;
    font-family: var(--font-main);
}
.oc-qty-control button:hover { background: var(--color-border); }
.oc-qty-control input {
    width: 45px;
    height: 34px;
    text-align: center;
    border: none;
    border-left: 1px solid var(--color-border);
    border-right: 1px solid var(--color-border);
    font-family: var(--font-main);
    font-size: 14px;
}

.oc-remove-btn {
    background: none;
    border: none;
    font-size: 22px;
    color: #ccc;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
}
.oc-remove-btn:hover { color: var(--b2b-danger, #ef4444); }

/* Cart Summary */
.oc-cart-summary {
    display: flex;
    justify-content: flex-end;
    margin-top: 25px;
}
.oc-summary-box {
    width: 380px;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 25px;
}
.oc-summary-box h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border);
}
.oc-summary-table { width: 100%; border-collapse: collapse; }
.oc-summary-table td { padding: 8px 0; font-size: 14px; color: var(--color-text); }
.oc-summary-value { text-align: right; }
.oc-summary-total td {
    padding-top: 14px;
    border-top: 2px solid var(--color-dark);
    font-size: 18px;
    color: var(--color-dark);
}
.oc-free-shipping-hint {
    margin: 15px 0;
    padding: 10px 14px;
    background: #fff8e1;
    border-radius: 6px;
    font-size: 12px;
    color: #e67e22;
    text-align: center;
    font-weight: 600;
}
.oc-cart-actions { margin-top: 20px; }
.oc-continue-link {
    display: block;
    text-align: center;
    margin-top: 12px;
    font-size: 13px;
    color: var(--color-text-light);
}
.oc-continue-link:hover { color: var(--color-primary); }

/* ── PRODUCT TABS SECTION ───────────────────────────────── */
.product-tabs-section {
    padding: 40px 0;
    border-top: 1px solid var(--color-border);
}
.product-tabs-section h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--color-dark);
    text-transform: uppercase;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}
.product-tabs { margin-top: 10px; }
.tab-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--color-border);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.tab-btn {
    padding: 14px 24px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    font-size: 13px;
    font-weight: 700;
    color: var(--color-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.2s, border-color 0.2s;
}
.tab-btn:hover {
    color: var(--color-dark);
}
.tab-btn.active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
}
.tab-panel {
    display: none;
    padding: 28px 0;
}
.tab-panel.active {
    display: block;
}
.tab-panel .desc-content {
    line-height: 1.8;
    font-size: 14px;
    color: var(--color-text);
    max-width: 900px;
}
.tab-panel .desc-content h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-dark);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 36px 0 14px;
    padding-top: 12px;
    border-top: 2px solid var(--color-border);
}
.tab-panel .desc-content h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.tab-panel .desc-content h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-dark);
    margin: 24px 0 10px;
}
.tab-panel .desc-content p {
    margin: 0 0 14px;
}
.tab-panel .desc-content ul,
.tab-panel .desc-content ol {
    margin: 0 0 18px;
    padding-left: 24px;
}
.tab-panel .desc-content li {
    margin-bottom: 6px;
}
.tab-panel .desc-content strong {
    color: var(--color-dark);
}

/* FAQ Tab */
.faq-content {
    max-width: 900px;
    line-height: 1.7;
}
.faq-content h3 {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-dark);
    margin: 20px 0 8px;
    padding: 12px 0 12px 30px;
    position: relative;
    border-top: 1px solid var(--color-border);
}
.faq-content h3:first-child {
    border-top: none;
    margin-top: 0;
    padding-top: 0;
}
.faq-content h3::before {
    content: "?";
    position: absolute;
    left: 0;
    top: 12px;
    width: 22px;
    height: 22px;
    background: var(--color-primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}
.faq-content h3:first-child::before { top: 0; }
.faq-content p {
    margin: 0 0 16px 30px;
    color: var(--color-text);
    font-size: 14px;
}
.spec-sub-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-dark);
    margin: 24px 0 12px;
    text-transform: uppercase;
}
.product-features-inline {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--color-border);
}
.product-features-inline h4 {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--color-dark);
    margin-bottom: 10px;
}
.product-features-inline .spec-features li {
    padding: 7px 0 7px 24px;
    font-size: 13px;
}

/* ── Buton Alege Culoarea ───────────────────────────────── */
.btn-choose-color {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    margin-top: 18px;
    padding: 16px 20px;
    background: #fff;
    color: #222;
    border: 2px solid var(--color-border);
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: border-color 0.2s, transform 0.1s, background 0.3s, color 0.3s;
}
.btn-choose-color:hover { border-color: var(--color-primary); }
.btn-choose-color:active { transform: scale(0.98); }
.btn-color-swatch {
    display: none;
}
.btn-color-label {
    pointer-events: none;
}

/* ── Texturi Mini Bar ───────────────────────────────────── */
.texture-mini-bar {
    margin-top: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.texture-mini-bar > label {
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text-light);
    text-transform: uppercase;
    white-space: nowrap;
}
.texture-mini-btns {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.texture-mini {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    background: var(--color-bg-light);
    border: 2px solid var(--color-border);
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    color: var(--color-text-light);
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}
.texture-mini:hover {
    border-color: var(--color-primary);
    color: var(--color-dark);
}
.texture-mini.active {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: #fff;
}

/* ── Tinting Modal ──────────────────────────────────────── */
.tinting-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    padding: 30px 20px;
}
.tinting-modal-overlay.open {
    display: flex;
}
.tinting-modal-content {
    background: #fff;
    border-radius: 16px;
    max-width: 1100px;
    width: 100%;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    max-height: calc(100vh - 60px);
    overflow-y: auto;
}
.tinting-modal-content .tinting-widget {
    padding: 0;
}
.tinting-modal-content .tinting-widget .container {
    padding: 30px;
}
.tinting-modal-close {
    position: sticky;
    top: 0;
    float: right;
    z-index: 10;
    background: #fff;
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-text-light);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    margin: 12px 12px 0 0;
    transition: color 0.2s;
}
.tinting-modal-close:hover { color: var(--color-dark); }
@media (max-width: 768px) {
    .tinting-modal-overlay { padding: 10px; }
    .tinting-modal-content .tinting-widget .container { padding: 16px; }
    .texture-mini-bar { flex-wrap: wrap; }
}
.tech-documents { margin-bottom: 35px; }
.doc-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}
.doc-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 16px;
    background: var(--color-bg-light);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    text-decoration: none;
    color: var(--color-dark);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.doc-card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.doc-icon {
    color: var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}
.doc-icon svg { width: 28px; height: 28px; }
.doc-title {
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
}
.doc-type {
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    color: var(--color-dark);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    white-space: nowrap;
}
.doc-product-name {
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    color: var(--color-text);
    line-height: 1.3;
    margin-top: -4px;
}
.doc-action {
    font-size: 11px;
    font-weight: 700;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.spec-block { margin-bottom: 10px; }
.spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.spec-table th {
    background: var(--color-bg-light);
    padding: 10px 14px;
    text-align: left;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--color-text-light);
    border-bottom: 2px solid var(--color-border);
}
.spec-table td {
    padding: 10px 14px;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
}
.spec-table tr:last-child td { border-bottom: none; }
.spec-label {
    font-weight: 600;
    color: var(--color-dark);
    width: 45%;
}
.spec-value { color: var(--color-text); }
.spec-features {
    list-style: none;
    padding: 0;
    margin: 0;
}
.spec-features li {
    padding: 10px 0 10px 28px;
    position: relative;
    font-size: 14px;
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
}
.spec-features li:last-child { border-bottom: none; }
.spec-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--color-primary);
    font-weight: 700;
    font-size: 16px;
}
@media (max-width: 768px) {
    .doc-cards { grid-template-columns: 1fr 1fr; }
    .tab-btn { padding: 12px 16px; font-size: 11px; }
}
@media (max-width: 480px) {
    .doc-cards { grid-template-columns: 1fr; }
    .tab-btn { padding: 10px 12px; font-size: 10px; letter-spacing: 0; }
}

/* ── PRODUCT DESCRIPTION SECTION ─────────────────────────── */
.product-description-section {
    padding: 40px 0;
    border-top: 1px solid var(--color-border);
}
.product-description-section h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-dark);
    text-transform: uppercase;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--color-primary);
    display: inline-block;
}
.product-description-section .desc-content {
    color: var(--color-text);
    line-height: 1.9;
    font-size: 14px;
    max-width: 800px;
}

/* ── COOKIE BANNER & MODAL ───────────────────────────────── */
.cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #0f172a;
    color: #f3f4f6;
    padding: 20px 24px;
    z-index: 9998;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.3);
    border-top: 3px solid var(--color-primary);
}
.cookie-banner-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}
.cookie-banner-text { flex: 1; min-width: 280px; }
.cookie-banner-text h3 {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}
.cookie-banner-text p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #cbd5e1;
}
.cookie-banner-text a {
    color: var(--color-primary);
    text-decoration: underline;
}
.cookie-banner-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.cb-btn {
    padding: 10px 18px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid transparent;
    transition: background 0.15s, border-color 0.15s;
    white-space: nowrap;
}
.cb-btn-primary {
    background: var(--color-primary);
    color: #111;
}
.cb-btn-primary:hover { background: #e5a500; }
.cb-btn-outline {
    background: transparent;
    color: #f3f4f6;
    border-color: #475569;
}
.cb-btn-outline:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.cookie-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.cookie-banner[hidden], .cookie-modal-overlay[hidden] { display: none !important; }
.cookie-modal {
    background: #fff;
    border-radius: 12px;
    max-width: 600px;
    width: 100%;
    max-height: 85vh;
    overflow: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.cookie-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--color-border);
}
.cookie-modal-header h2 {
    margin: 0;
    font-size: 20px;
    color: var(--color-dark);
}
.cookie-modal-close {
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #6b7280;
    line-height: 1;
    padding: 0 8px;
}
.cookie-modal-body { padding: 20px 24px; }
.cookie-modal-intro {
    font-size: 13px;
    color: var(--color-text-light);
    margin: 0 0 20px;
}
.cookie-category {
    padding: 14px 0;
    border-bottom: 1px solid var(--color-border);
}
.cookie-category:last-child { border-bottom: none; }
.cookie-category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.cookie-category-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 4px;
}
.cookie-category-desc {
    font-size: 12px;
    color: var(--color-text-light);
    line-height: 1.5;
}
.cookie-toggle-disabled {
    font-size: 11px;
    font-weight: 700;
    color: #059669;
    background: #d1fae5;
    padding: 6px 12px;
    border-radius: 12px;
    white-space: nowrap;
}

/* Toggle switch */
.cookie-switch {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
    flex-shrink: 0;
}
.cookie-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.cookie-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: #cbd5e1;
    border-radius: 13px;
    transition: 0.2s;
}
.cookie-slider:before {
    content: "";
    position: absolute;
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background: white;
    border-radius: 50%;
    transition: 0.2s;
}
.cookie-switch input:checked + .cookie-slider { background: var(--color-primary); }
.cookie-switch input:checked + .cookie-slider:before { transform: translateX(22px); }

.cookie-modal-footer {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding: 16px 24px;
    border-top: 1px solid var(--color-border);
    background: #f9fafb;
    flex-wrap: wrap;
}
.cookie-modal-footer .cb-btn-outline {
    color: var(--color-text);
    border-color: var(--color-border);
}
.cookie-modal-footer .cb-btn-outline:hover {
    color: var(--color-dark);
    border-color: var(--color-dark);
}

@media (max-width: 640px) {
    .cookie-banner { padding: 14px 16px; }
    .cookie-banner-text h3 { font-size: 14px; }
    .cookie-banner-actions { width: 100%; }
    .cb-btn { flex: 1; padding: 10px 12px; font-size: 12px; }
}

/* ── RELATED PRODUCTS ────────────────────────────────────── */
.related-section {
    padding: 40px 0 60px;
    background: var(--color-bg-light);
}

/* ── CART ────────────────────────────────────────────────── */
.cart-table {
    width: 100%;
    border-collapse: collapse;
}
.cart-table th {
    background: var(--color-bg-light);
    padding: 12px;
    text-align: left;
    font-size: 13px;
    text-transform: uppercase;
    border-bottom: 2px solid var(--color-border);
}
.cart-table td {
    padding: 15px 12px;
    border-bottom: 1px solid var(--color-border);
    vertical-align: middle;
}

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer {
    background: var(--color-footer-bg);
    color: #ccc;
    padding: 50px 0 0;
    margin-top: 60px;
}
.site-footer .container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 30px;
}
.footer-col h4 {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.footer-col a {
    display: block;
    color: #ccc;
    padding: 4px 0;
    font-size: 13px;
}
.footer-col a:hover { color: var(--color-primary); }
.footer-col p { font-size: 13px; line-height: 1.8; }

.footer-logo { margin-bottom: 15px; }
.footer-logo img { height: 60px; }

.footer-bottom {
    text-align: center;
    padding: 20px 0;
    margin-top: 40px;
    border-top: 1px solid rgba(255,255,255,0.1);
    font-size: 12px;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ── BLOG ────────────────────────────────────────────────── */
.blog-section { padding: 20px 0 60px; }

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.blog-card {
    background: #fff;
    border: 1px solid var(--color-border);
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.blog-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.1); }
.blog-card-image {
    display: block;
    aspect-ratio: 16/10;
    overflow: hidden;
}
.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.blog-card:hover .blog-card-image img { transform: scale(1.05); }
.blog-card-image .blog-placeholder {
    width: 100%;
    height: 100%;
    background: var(--color-bg-light);
}
.blog-card-body {
    padding: 20px;
}
.blog-date {
    display: block;
    font-size: 12px;
    color: var(--color-primary);
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.blog-card-body h2 {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 10px;
    line-height: 1.4;
}
.blog-card-body h2 a { color: var(--color-dark); }
.blog-card-body h2 a:hover { color: var(--color-primary); }
.blog-excerpt {
    font-size: 13px;
    color: var(--color-text);
    line-height: 1.7;
    margin-bottom: 12px;
}
.blog-read-more {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.blog-read-more:hover { color: var(--color-primary-dark); }

/* Blog post page */
.blog-post-page { padding: 40px 0; }
.blog-post-header {
    max-width: 800px;
    margin: 0 auto 30px;
}
.blog-post-header h1 {
    font-size: 30px;
    font-weight: 700;
    color: var(--color-dark);
    line-height: 1.3;
    margin-bottom: 12px;
}
.blog-post-meta {
    font-size: 13px;
    color: var(--color-text-light);
}
.blog-post-meta time { color: var(--color-primary); font-weight: 600; }
.blog-post-meta .meta-sep { margin: 0 10px; }

.blog-post-featured {
    max-width: 900px;
    margin: 0 auto 35px;
}
.blog-post-featured img {
    width: 100%;
    border-radius: 4px;
}

.blog-post-content {
    max-width: 800px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.9;
    color: var(--color-text);
}
.blog-post-content p { margin-bottom: 18px; }
.blog-post-content h2, .blog-post-content h3 {
    color: var(--color-dark);
    margin: 30px 0 15px;
}
.blog-post-content img {
    max-width: 100%;
    margin: 20px 0;
    border-radius: 4px;
}

.blog-post-footer {
    max-width: 800px;
    margin: 40px auto 0;
    padding-top: 30px;
    border-top: 1px solid var(--color-border);
}

/* Pagination */
.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
}
.page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-border);
    color: var(--color-dark);
    font-size: 14px;
    font-weight: 600;
    transition: all 0.15s;
}
.page-link:hover, .page-link.active {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

/* ── PAGINA CULORI ────────────────────────────────────────── */
.colors-hero {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    color: #fff;
    text-align: center;
    padding: 80px 0;
}
.colors-hero h1 {
    font-size: 36px;
    font-weight: 300;
    letter-spacing: 3px;
    text-transform: uppercase;
    margin-bottom: 15px;
}
.colors-hero p {
    font-size: 16px;
    color: rgba(255,255,255,0.7);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.8;
}

.section-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: var(--color-primary);
    margin-bottom: 8px;
}
.section-label.center { display: block; text-align: center; }
.section-subtitle {
    text-align: center;
    color: var(--color-text-light);
    font-size: 15px;
    max-width: 550px;
    margin: 0 auto 40px;
    line-height: 1.7;
}

/* ColorDeco Section */
.colordeco-section {
    padding: 70px 0;
    background: #fff;
}
.colordeco-layout {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}
.colordeco-info { flex: 1; }
.colordeco-info h2 {
    font-size: 32px;
    font-weight: 800;
    color: var(--color-dark);
    margin-bottom: 6px;
    letter-spacing: 2px;
}
.colordeco-tagline {
    font-size: 16px;
    color: var(--color-text-light);
    margin-bottom: 20px;
    font-style: italic;
}
.colordeco-info > p {
    color: var(--color-text);
    line-height: 1.8;
    margin-bottom: 30px;
    font-size: 14px;
}

.colordeco-features {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 35px;
}
.feature-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
.feature-icon {
    width: 44px;
    height: 44px;
    background: rgba(245,166,35,0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.feature-item h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 4px;
}
.feature-item p {
    font-size: 13px;
    color: var(--color-text-light);
    line-height: 1.6;
}

.btn-colordeco {
    display: inline-block;
    background: var(--color-primary);
    color: var(--color-dark);
    padding: 14px 32px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all 0.2s;
}
.btn-colordeco:hover { background: var(--color-primary-dark); color: #fff; }

/* ColorDeco Mockup */
.colordeco-visual { flex: 0 0 420px; }
.colordeco-mockup { margin-bottom: 20px; }
.mockup-screen {
    background: #1e1e2e;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.mockup-header {
    background: #2d2d3d;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.mockup-dot { width: 10px; height: 10px; border-radius: 50%; }
.mockup-dot.red { background: #ff5f57; }
.mockup-dot.yellow { background: #febc2e; }
.mockup-dot.green { background: #28c840; }
.mockup-title { color: #888; font-size: 11px; margin-left: 10px; }
.mockup-body { display: flex; min-height: 280px; }
.mockup-sidebar {
    width: 100px;
    background: #252535;
    padding: 15px 0;
}
.mockup-nav-item {
    padding: 8px 14px;
    color: #888;
    font-size: 11px;
    cursor: default;
}
.mockup-nav-item.active {
    color: var(--color-primary);
    background: rgba(245,166,35,0.1);
    border-left: 2px solid var(--color-primary);
}
.mockup-content {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    justify-content: center;
}
.mockup-color-row {
    height: 32px;
    border-radius: 4px;
    opacity: 0.9;
}

.colordeco-specs {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.colordeco-specs span {
    background: var(--color-bg-light);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    color: var(--color-text-light);
    font-weight: 600;
}

/* Collections Section */
.collections-section {
    padding: 70px 0 80px;
    background: var(--color-bg-light);
}
.collections-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.collection-card {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
}
.collection-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.2);
}
.collection-image {
    aspect-ratio: 4/3;
    position: relative;
}
.collection-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #fff;
    transition: background 0.3s;
}
.collection-card:hover .collection-overlay {
    background: rgba(0,0,0,0.6);
}
.collection-overlay h3 {
    font-size: 24px;
    font-weight: 800;
    letter-spacing: 3px;
    margin-bottom: 8px;
}
.collection-overlay p {
    font-size: 13px;
    line-height: 1.6;
    opacity: 0.85;
    margin-bottom: 10px;
}
.collection-count {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-primary);
}

/* ── TINTING WIDGET ─────────────────────────────────────── */
.tinting-widget {
    background: #fff;
    padding: 40px 0;
    border-top: 2px solid var(--color-border);
    margin-top: 30px;
}
.tinting-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-dark);
    margin-bottom: 5px;
}
.tinting-subtitle {
    color: var(--color-text-light);
    font-size: 14px;
    margin-bottom: 25px;
}
.tinting-controls {
    display: flex;
    gap: 20px;
    align-items: flex-end;
    margin-bottom: 25px;
    flex-wrap: wrap;
}
.tinting-control-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.tinting-control-group label {
    font-weight: 600;
    font-size: 13px;
    color: var(--color-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Hue tabs (primary navigation) */
.tinting-hue-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.tinting-hue-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border: 2px solid var(--color-border);
    background: #fff;
    border-radius: 20px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
    transition: all 0.2s;
    white-space: nowrap;
}
.tinting-hue-tab:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
    background: rgba(126, 180, 181, 0.06);
}
.tinting-hue-tab.active {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}
.tinting-hue-tab.active .hue-dot {
    border-color: rgba(255,255,255,0.6);
}
.hue-dot {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,0.1);
    box-sizing: border-box;
}

/* Collection dropdown (secondary filter) */
#tinting-collection {
    padding: 8px 14px;
    border: 2px solid var(--color-border);
    border-radius: 4px;
    font-size: 14px;
    min-width: 200px;
    cursor: pointer;
    background: #fff;
}
#tinting-collection:focus {
    border-color: var(--color-primary);
    outline: none;
}

/* White (no tinting) message */
.tinting-white-msg {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 30px;
    background: #f9fafb;
    border: 2px dashed var(--color-border);
    border-radius: 8px;
    margin-bottom: 20px;
}
.tinting-white-icon {
    font-size: 36px;
    color: #ddd;
    line-height: 1;
}
.tinting-white-msg p {
    font-size: 15px;
    color: var(--color-text);
    margin: 0;
}

/* ── Texture selector (decorative plasters) ── */
.tinting-texture-section {
    margin-bottom: 28px;
}
.tinting-texture-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    margin-top: 10px;
}
.tinting-texture-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 10px;
    border: 2px solid var(--color-border);
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
}
.tinting-texture-card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 2px 10px rgba(126, 180, 181, 0.2);
    transform: translateY(-2px);
}
.tinting-texture-card.active {
    border-color: var(--color-primary);
    background: rgba(126, 180, 181, 0.08);
    box-shadow: 0 0 0 3px rgba(126, 180, 181, 0.25);
}
.texture-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f0eb;
    border-radius: 50%;
    padding: 4px;
}
.texture-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-dark);
}
.texture-desc {
    font-size: 12px;
    color: var(--color-text-light);
    line-height: 1.4;
}
.texture-desc small {
    font-style: italic;
    color: #aaa;
}

/* Swatches grid */
.tinting-swatches-wrapper {
    min-height: 100px;
    position: relative;
}
.tinting-loading {
    text-align: center;
    padding: 40px;
    color: var(--color-text-light);
    font-size: 14px;
}
.tinting-hint {
    text-align: center;
    padding: 30px;
    color: var(--color-text-light);
    font-size: 14px;
}
.tinting-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(52px, 1fr));
    gap: 4px;
    max-height: 360px;
    overflow-y: auto;
    padding: 10px;
    background: var(--color-bg-light);
    border-radius: 8px;
    border: 1px solid var(--color-border);
}
.tinting-swatch {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 3px;
    cursor: pointer;
    position: relative;
    transition: transform 0.15s, box-shadow 0.15s;
    border: 2px solid transparent;
    overflow: hidden;
}
.tinting-swatch:hover {
    transform: scale(1.35);
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    border-color: #fff;
}
.tinting-swatch.selected {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px var(--color-primary);
    transform: scale(1.15);
    z-index: 5;
}
.swatch-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 7px;
    text-align: center;
    padding: 1px;
    color: #333;
    background: rgba(255,255,255,0.7);
    opacity: 0;
    transition: opacity 0.15s;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.swatch-label-light {
    color: #fff;
    background: rgba(0,0,0,0.5);
}
.tinting-swatch:hover .swatch-label {
    opacity: 1;
}
.tinting-count {
    text-align: center;
    padding: 10px;
    font-size: 12px;
    color: var(--color-text-light);
}

/* Selected color + price */
.tinting-selection {
    display: flex;
    gap: 30px;
    margin-top: 25px;
    padding: 25px;
    background: var(--color-bg-light);
    border-radius: 8px;
    border: 1px solid var(--color-border);
    align-items: flex-start;
    flex-wrap: wrap;
}
.tinting-preview-box {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
}
.tinting-color-preview {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.tinting-color-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.tinting-color-info strong {
    font-size: 18px;
    color: var(--color-dark);
}
.tinting-color-info span {
    font-size: 13px;
    color: var(--color-text-light);
}
.tinting-price-box {
    flex: 1;
    min-width: 280px;
}
.tinting-price-breakdown {
    margin-bottom: 15px;
}
.tinting-price-line {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    font-size: 14px;
    color: var(--color-text);
    border-bottom: 1px dashed var(--color-border);
}
.tinting-price-total {
    display: flex;
    justify-content: space-between;
    padding: 12px 0 5px;
    font-size: 16px;
    color: var(--color-dark);
}
.tinting-price-total strong {
    font-size: 20px;
    color: var(--color-primary-dark);
}
.tinting-price-note {
    font-size: 12px;
    color: var(--color-text-light);
    margin-top: 5px;
}

/* ── Quantity Calculator ── */
.tinting-calculator {
    margin-top: 25px;
    background: linear-gradient(135deg, #e8f4f4 0%, #d4eded 100%);
    border: 1px solid #b5d7d8;
    border-radius: 10px;
    overflow: hidden;
}
.calculator-title {
    font-size: 16px;
    font-weight: 700;
    color: #2c6b6c;
    padding: 16px 24px 0;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.calculator-body {
    padding: 16px 24px 20px;
}
.calculator-input-group label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #3a7d7e;
    margin-bottom: 8px;
}
.calculator-input-row {
    display: flex;
    gap: 10px;
    align-items: stretch;
}
.calculator-input {
    flex: 1;
    max-width: 200px;
    padding: 10px 14px;
    border: 2px solid #a8d0d1;
    border-radius: 6px;
    font-size: 15px;
    background: #fff;
    color: var(--color-dark);
    outline: none;
    transition: border-color 0.2s;
}
.calculator-input:focus {
    border-color: #7eb4b5;
}
.calculator-input::placeholder {
    color: #b0c4c4;
}
.calculator-btn {
    padding: 10px 22px;
    background: #7eb4b5;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    transition: background 0.2s;
    white-space: nowrap;
}
.calculator-btn:hover {
    background: #5f9a9b;
}
.calculator-result {
    margin-top: 14px;
    padding: 14px 18px;
    background: #fff;
    border-radius: 6px;
    border: 1px solid #c4e0e0;
}
.calculator-result-line {
    font-size: 15px;
    color: var(--color-dark);
    padding: 3px 0;
}
.calculator-result-recommend {
    font-weight: 700;
    color: #2c6b6c;
    font-size: 16px;
}

/* Cart section at bottom */
.tinting-cart-section {
    margin-top: 20px;
}
.tinting-cart-row {
    display: flex;
    align-items: center;
    gap: 15px;
}
.tinting-cart-row .qty-control {
    flex-shrink: 0;
}
.tinting-cart-row .tinting-add-btn {
    flex: 1;
}
.tinting-add-btn {
    width: 100%;
    padding: 14px 20px;
    background: var(--color-primary);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background 0.2s;
}
.tinting-add-btn:hover {
    background: var(--color-primary-dark);
}

/* ── EMOJI → MONOCHROME ORANGE ────────────────────────────── */
/* Filtrează toate emoji-urile în culoarea brandului (#f6b60b) */
.feature-icon, .radio-icon, .colordeco-specs span,
.oc-cart-thumb-placeholder, .empty-icon, .nav-icon,
.account-nav a span, .account-avatar,
.tinting-widget .radio-icon,
.texture-icon svg *, .texture-icon svg path, .texture-icon svg circle {
    color: #f6b60b !important;
    fill: #f6b60b !important;
    stroke: #f6b60b !important;
}
/* Pentru emoji-urile în text (nu pot fi re-colorate direct, dar pot fi făcute monocrom cu grayscale + hue) */
.feature-icon, .radio-icon, .empty-icon, .nav-icon,
.account-nav a > span:first-child,
.topbar-left span > span:first-child,
.topbar-right a > span:first-child {
    filter: grayscale(100%) brightness(0.5) sepia(1) saturate(1000%) hue-rotate(-15deg);
}
/* Avatar customer — lasă fundalul portocaliu, dar text negru */
.account-avatar { filter: none !important; background: #f6b60b !important; color: #222 !important; }

/* Texture icons din tinting widget — monocolor portocaliu */
.texture-icon svg circle,
.texture-icon svg path {
    fill: #f6b60b !important;
    stroke: #f6b60b !important;
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 768px) {
    .product-grid { grid-template-columns: repeat(2, 1fr); }
    .categories-grid { grid-template-columns: repeat(2, 1fr); }
    .site-footer .container { grid-template-columns: 1fr 1fr; }
    .topbar-left { flex-wrap: wrap; gap: 10px; }
    .main-nav a { padding: 15px 10px; font-size: 12px; }
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .product-layout { flex-direction: column; }
    .product-gallery { flex: none; width: 100%; }
    .colordeco-layout { flex-direction: column; }
    .colordeco-visual { flex: none; width: 100%; }
    .collections-grid { grid-template-columns: repeat(2, 1fr); }
    .color-grid { grid-template-columns: repeat(4, 1fr) !important; }
    .tinting-controls { flex-direction: column; gap: 15px; }
    .tinting-hue-tabs { gap: 4px; }
    .tinting-hue-tab { padding: 5px 10px; font-size: 11px; }
    .hue-dot { width: 10px; height: 10px; }
    .tinting-grid { grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); }
    .tinting-selection { flex-direction: column; }
    .tinting-preview-box { flex-direction: column; text-align: center; }
    .tinting-texture-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .tinting-texture-card { padding: 10px 6px; }
    .calculator-input-row { flex-direction: column; }
    .calculator-input { max-width: 100%; }
}

/* ── COLOR COLLECTION PAGE ───────────────────────────────── */
.collection-hero {
    text-align: center;
    padding: 60px 0;
    color: #fff;
}
.collection-hero h1 {
    font-size: 40px;
    font-weight: 300;
    letter-spacing: 6px;
    margin-bottom: 12px;
}
.collection-hero p {
    font-size: 15px;
    color: rgba(255,255,255,0.7);
    max-width: 600px;
    margin: 0 auto 15px;
}
.hero-count {
    display: inline-block;
    background: var(--color-primary);
    color: var(--color-dark);
    padding: 6px 20px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Color tabs */
.color-tabs-section { padding: 40px 0 60px; }
.tab-nav {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--color-border);
    margin-bottom: 0;
}
.tab-btn {
    padding: 14px 24px;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--font-main);
    background: none;
    border: none;
    color: var(--color-text-light);
    cursor: pointer;
    position: relative;
    transition: color 0.2s;
}
.tab-btn:hover { color: var(--color-dark); }
.tab-btn.active {
    color: var(--color-primary);
}
.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--color-primary);
}
.tab-count { font-weight: 400; color: var(--color-text-light); font-size: 12px; }

.tab-content { display: none; }
.tab-content.active { display: block; }

.color-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
}
.color-swatch {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.2s, z-index 0.2s;
    position: relative;
    border: 1px solid rgba(255,255,255,0.3);
}
.color-swatch:hover {
    transform: scale(1.25);
    z-index: 10;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
    border-radius: 4px;
}
.swatch-name {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    opacity: 0.8;
    text-align: center;
    line-height: 1.2;
}
.color-swatch:hover .swatch-name { opacity: 1; }

/* ── SINGLE COLOR PAGE ────────────────────────────────────── */
.single-color-hero {
    padding: 80px 0 40px;
    text-align: center;
}
.color-code {
    font-size: 64px;
    font-weight: 800;
    letter-spacing: 6px;
    margin-bottom: 8px;
}
.color-collection {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.color-data-section {
    padding: 0 0 80px;
}
.color-data-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    max-width: 900px;
    margin: 0 auto;
}
.color-data-card {
    padding: 20px;
    border-radius: 10px;
    text-align: center;
}
.data-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 6px;
}
.data-value {
    display: block;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.related-colors-section {
    padding: 50px 0 60px;
    background: var(--color-bg-light);
}
.related-colors-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    margin-top: 25px;
}
.related-color-swatch {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
    text-decoration: none;
    transition: transform 0.2s;
}
.related-color-swatch:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* ── CERCETARE CULOARE ────────────────────────────────────── */
.search-color-hero {
    background: linear-gradient(135deg, #1a1a2e, #16213e, #0f3460);
    color: #fff;
    text-align: center;
    padding: 60px 0;
}
.search-color-hero h1 { font-size: 32px; font-weight: 300; letter-spacing: 3px; text-transform: uppercase; margin-bottom: 10px; }
.search-color-hero p { font-size: 15px; color: rgba(255,255,255,0.7); }

.search-color-section { padding: 40px 0 60px; }

.search-color-forms {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 40px;
}
.search-color-card {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 30px;
}
.search-color-card h3 { font-size: 18px; font-weight: 700; color: var(--color-dark); margin-bottom: 6px; }
.search-color-desc { font-size: 13px; color: var(--color-text-light); margin-bottom: 20px; }

.search-color-inputs { display: flex; gap: 12px; margin-bottom: 16px; }
.search-input-group { flex: 1; }
.search-input-group label { display: block; font-size: 11px; font-weight: 700; color: var(--color-text-light); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.search-input-group input[type="number"] {
    width: 100%; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: 6px;
    font-size: 15px; font-family: var(--font-main); text-align: center;
}
.search-input-group input[type="number"]:focus { outline: none; border-color: var(--color-primary); }
.color-picker-input { width: 100%; height: 42px; border: 1px solid var(--color-border); border-radius: 6px; cursor: pointer; padding: 2px; }

.search-color-preview-row { display: flex; gap: 12px; align-items: center; }
.search-color-preview { width: 60px; height: 42px; border-radius: 6px; border: 1px solid var(--color-border); flex-shrink: 0; }

/* Results */
.search-color-results { margin-top: 20px; }
.search-color-results h2 { font-size: 20px; font-weight: 600; color: var(--color-dark); margin-bottom: 20px; }

.search-reference-color { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.ref-color-swatch { width: 50px; height: 50px; border-radius: 8px; border: 2px solid var(--color-border); }
.search-reference-color span { font-size: 13px; color: var(--color-text-light); font-weight: 600; }

.search-results-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.search-result-card {
    border: 1px solid var(--color-border);
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
}
.search-result-card:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,0.12); }

.result-swatch {
    height: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.result-rank { font-size: 11px; opacity: 0.7; font-weight: 600; }
.result-code { font-size: 14px; font-weight: 700; letter-spacing: 1px; }

.result-info { padding: 12px; background: #fff; }
.result-collection { font-size: 11px; color: var(--color-primary); font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.result-hex { font-size: 12px; color: var(--color-text-light); font-family: monospace; margin-bottom: 6px; }
.result-delta { font-size: 12px; color: var(--color-text); }
.delta-label { display: inline-block; padding: 2px 8px; border-radius: 3px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-left: 6px; }
.delta-perfect { background: #d4edda; color: #155724; }
.delta-excelent { background: #d1ecf1; color: #0c5460; }
.delta-bun { background: #fff3cd; color: #856404; }
.delta-vizibil { background: #f8d7da; color: #721c24; }
.delta-diferit { background: #f5f5f5; color: #666; }

/* ── Produse complementare ── */
.complementary-section {
    padding: 40px 0 50px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
}
.complementary-header {
    text-align: center;
    margin-bottom: 30px;
}
.complementary-subtitle {
    font-size: 14px;
    color: #888;
    margin-top: 8px;
}
.complementary-grid {
    max-width: 700px;
    margin: 0 auto;
    grid-template-columns: repeat(2, 1fr) !important;
}
.complementary-text {
    max-width: 800px;
    margin: 0 auto 40px;
    font-size: 15px;
    line-height: 1.8;
    color: #444;
}
.complementary-text h2 {
    font-size: 24px;
    font-weight: 800;
    color: #111;
    margin: 0 0 20px;
    text-align: center;
}
.complementary-text p { margin: 0 0 15px; }
.complementary-text ul {
    margin: 0 0 20px;
    padding-left: 20px;
}
.complementary-text li {
    margin-bottom: 8px;
    line-height: 1.7;
}
.complementary-text a {
    color: #d4900e;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}
.complementary-text a:hover { color: #f6b60b; }

/* ── Content links vizibile (blog + addon + page) ── */
.blog-post-content a,
.addon-section-body a,
.page-content a,
.seo-content-addon a {
    color: #d4900e;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}
.blog-post-content a:hover,
.addon-section-body a:hover,
.page-content a:hover,
.seo-content-addon a:hover {
    color: #f6b60b;
}

/* Coming soon */
.coming-soon-section {
    background: var(--color-bg-light);
}

/* ============================================================
   RESPONSIVE — Mobile-first profesional
   ============================================================ */

/* ── Hamburger button (ascuns pe desktop) ── */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    width: 32px;
    height: 24px;
    position: relative;
    padding: 0;
    z-index: 300;
}
.mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 3px;
    background: var(--color-dark);
    border-radius: 2px;
    position: absolute;
    left: 0;
    transition: all 0.3s ease;
}
.mobile-menu-toggle span:nth-child(1) { top: 0; }
.mobile-menu-toggle span:nth-child(2) { top: 10px; }
.mobile-menu-toggle span:nth-child(3) { top: 20px; }
/* Animație X când nav deschis */
.nav-open .mobile-menu-toggle span:nth-child(1) { transform: rotate(45deg); top: 10px; }
.nav-open .mobile-menu-toggle span:nth-child(2) { opacity: 0; }
.nav-open .mobile-menu-toggle span:nth-child(3) { transform: rotate(-45deg); top: 10px; }

/* ��─ Overlay background (click to close) ── */
.nav-open { overflow: hidden; }
.nav-open .site-header { z-index: 250; }
.nav-open::after {
    content: '';
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 149;
}

/* ══════���════════════════════════════════════
   TABLET (max-width: 1024px)
   ═══��═══════════════════════════════════════ */
@media (max-width: 1024px) {
    .nav-item > a { padding: 38px 12px; font-size: 12px; }
    .site-header .container { height: 80px; line-height: 80px; }
    .logo img { height: 60px; }
    .search-form { width: 160px; }
    .hero-slider { height: 400px; }
    .slide-title { font-size: 30px; }
    .categories-grid { grid-template-columns: repeat(3, 1fr); }
    .product-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .catalog-full .product-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ═══════════════════════════════════════════
   MOBILE (max-width: 768px)
   ════════════════════════════���══════════════ */
@media (max-width: 768px) {
    /* ── Topbar: doar cont + coș pe mobil ── */
    .topbar { font-size: 12px; line-height: 40px; }
    .topbar-left { display: none !important; }
    .topbar-right { font-size: 12px; gap: 16px; width: 100%; justify-content: center; }

    /* ── Header: hamburger + logo centrat ── */
    .mobile-menu-toggle { display: block; }
    .site-header .container {
        height: 60px;
        line-height: 60px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .logo { margin-right: auto; }
    .logo img { height: 45px; }
    .header-actions,
    .header-actions .search-form,
    .search-form { display: none !important; }  /* ascunde search din header pe mobil */

    /* ── Navigare: slide-in sidebar ── */
    .main-nav {
        position: fixed;
        top: 0;
        right: -300px;
        width: 280px;
        height: 100vh;
        background: #fff;
        flex-direction: column;
        align-items: stretch;
        padding: 80px 0 30px;
        overflow-y: auto;
        box-shadow: -4px 0 20px rgba(0,0,0,0.15);
        transition: right 0.35s ease;
        z-index: 200;
        gap: 0;
    }
    .nav-open .main-nav {
        right: 0;
    }
    .nav-item {
        height: auto;
        flex-direction: column;
        border-bottom: 1px solid #f0f0f0;
    }
    .nav-item > a {
        padding: 16px 24px;
        font-size: 14px;
        height: auto;
        line-height: 1.4;
    }
    .nav-dropdown {
        position: static;
        transform: none;
        min-width: 100%;
        background: #fff7e0;
        box-shadow: none;
        display: none;
    }
    .nav-item:hover .nav-dropdown,
    .nav-item.open .nav-dropdown {
        display: block;
        transform: none;
    }
    .nav-dropdown::before, .nav-dropdown::after { display: none; }
    .nav-dropdown a {
        padding: 12px 24px 12px 40px;
        font-size: 13px;
        font-weight: 500;
    }

    /* ── Hero slider ── */
    .hero-slider { height: 300px; }
    .slide-overlay { padding: 20px; text-align: center; }
    .slide-title { font-size: 22px; letter-spacing: 1px; }
    .slide-desc { font-size: 13px; display: none; }
    .slide-pretitle { font-size: 11px; }
    .slide-btn { padding: 10px 20px; font-size: 12px; }

    /* ── Grids ── */
    .categories-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; }
    .catalog-full .product-grid { grid-template-columns: repeat(2, 1fr); }
    .subcategories-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

    /* ── Product card ── */
    .product-card { padding: 8px; }
    .product-card .product-image { padding: 10px; margin-bottom: 8px; }
    .product-card h3 { font-size: 12px; }
    .product-sku-label { font-size: 10px; }
    .product-price { font-size: 15px; }
    .product-price-old { font-size: 12px; }

    /* ── Product detail ── */
    .product-layout { grid-template-columns: 1fr !important; gap: 20px; }
    .gallery-main img { max-height: 300px; }
    .gallery-thumbs { gap: 6px; }
    .gallery-thumbs img { width: 50px; height: 50px; }

    /* ── Breadcrumb ��─ */
    .breadcrumb-bar { font-size: 12px; padding: 10px 0; }

    /* ── Category banner ���─ */
    .category-banner { height: 180px; }
    .category-banner-overlay h1,
    .category-banner-overlay h2 { font-size: 20px; letter-spacing: 1px; }
    .category-banner-overlay { padding: 0 20px; }

    /* ── Section titles ── */
    .section-title { font-size: 22px; }
    .section { padding: 30px 0; }

    /* ── Footer ── */
    .site-footer .footer-grid { grid-template-columns: 1fr !important; gap: 25px; }
    .footer-bottom { font-size: 11px; text-align: center; }

    /* ── Contact page ── */
    .contact-hero { padding: 50px 0 40px; }
    .contact-title { font-size: 32px; }
    .contact-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-main-grid { grid-template-columns: 1fr; gap: 30px; }
    .contact-form-row { grid-template-columns: 1fr; }
    .contact-form-wrapper { padding: 25px; }
    .contact-form-footer { flex-direction: column; text-align: center; }
    .contact-faq-grid { grid-template-columns: 1fr; }

    /* ── Blog ── */
    .blog-grid { grid-template-columns: 1fr; }

    /* ── Tinting widget ── */
    .tinting-texture-grid { grid-template-columns: repeat(2, 1fr); }
    .tinting-hue-tabs { flex-wrap: wrap; gap: 6px; }

    /* ── Accordion addon ── */
    .addon-section-title { padding: 16px 18px; font-size: 15px; }
    .addon-h2 { font-size: 15px; }
    .addon-section-body { padding: 0 18px 18px; font-size: 14px; }
    .addon-section-body table { font-size: 11px; display: block; overflow-x: auto; }
    .addon-section-body th, .addon-section-body td { padding: 8px 10px; white-space: nowrap; }

    /* ── Colors pages ── */
    .collections-grid { grid-template-columns: 1fr; }
    .color-grid { grid-template-columns: repeat(4, 1fr); }

    /* ── Checkout ��─ */
    .checkout-grid { grid-template-columns: 1fr !important; }
    .checkout-summary { order: -1; }
}

/* ═══════════════════════════════════════════
   SMALL MOBILE (max-width: 480px)
   ════���═══════════════════���══════════════════ */
@media (max-width: 480px) {
    .topbar-left { gap: 8px; }
    .topbar-right span:not(:first-child) { display: none; } /* doar contul */
    .hero-slider { height: 240px; }
    .slide-title { font-size: 18px; }
    .categories-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .product-grid { grid-template-columns: 1fr 1fr !important; gap: 10px; }
    .contact-cards-grid { grid-template-columns: 1fr; }
    .contact-title { font-size: 26px; }
    .color-grid { grid-template-columns: repeat(3, 1fr); }
    .subcategories-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .category-banner { height: 150px; }
    .product-price { font-size: 14px; }
}
