/* ==========================================================
   Digital Autohub TecDoc — design system
   Paleta automotive: navy profund + accent portocaliu.
   ========================================================== */

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

.dah-selector-wrap,
.dah-part-search-wrap,
.dah-hero,
.dah-cat-section,
.dah-catalog-wrap,
.dah-trust-bar,
.dah-brand-strip,
/* 2026-07-30: containerele catalogului de UNIVERSALE adaugate la scope-ul variabilelor -
   fara ele var(--dah-accent) era NEDEFINITA acolo si browserul arunca intreaga declaratie
   (cazul chenarului verde de la filtre, care nu se randa deloc). */
.dah-uni-wrap,
.dah-uni-detail,
.dah-banner-carousel-wrap {
    --dah-navy: #16181d;        /* negru — header/hero/titluri */
    --dah-navy-2: #2a2e36;      /* negru mai deschis — gradient */
    /* Tema de culoare 2026-07-23 (decizie Alin): pe acest demo TOT accentul comercial trece pe
       VERDE AUTOHUB (#04724d), uniform cu restul site-ului (hero, trust bar, buton "Adauga in cos").
       Decizia veche de aici ("CTA rosu, +21% conversii") e ANULATA explicit de Alin azi - ramane
       doar ca istoric in acest comentariu. Alta culoare = personalizare per client, nu implicit. */
    --dah-accent: #04724d;      /* VERDE AUTOHUB - accent comercial global */
    --dah-accent-2: #04583c;    /* verde hover */
    --dah-accent-soft: #e7f2ee; /* verde foarte deschis — fundal iconite */
    --dah-cta: #04724d;         /* CTA verde (decizie Alin 2026-07-23 - anuleaza vechiul CTA rosu) */
    --dah-cta-2: #04583c;
    --dah-ink: #1f2226;         /* text aproape negru */
    --dah-muted: #6b7682;
    --dah-line: #e6eaee;
    --dah-soft: #f5f7f8;
    --dah-radius: 14px;
    --dah-radius-sm: 9px;
    /* scara de tip uniforma (anti-curcubeu) — vezi mockup catalog-3faze.html */
    --fs-0: 10px; --fs-1: 11px; --fs-2: 12px; --fs-3: 13px; --fs-4: 14px; --fs-5: 16px; --fs-6: 18px;
    --dah-shadow: 0 6px 24px rgba(13, 36, 56, .08);
    --dah-shadow-lg: 0 18px 50px rgba(13, 36, 56, .22);
    color: var(--dah-ink);
    box-sizing: border-box;
}
.dah-selector-wrap *,
.dah-part-search-wrap *,
.dah-hero *,
.dah-cat-section *,
.dah-catalog-wrap *,
.dah-trust-bar *,
.dah-brand-strip * { box-sizing: border-box; }

/* Reincarca display:none pentru elementele ascunse (peste regulile noastre) */
.dah-cat-search-row[hidden],
.dah-garage-bar[hidden],
.dah-tab-panel[hidden],
.dah-cat-chooser[hidden],
.dah-cat-vbar[hidden],
.dah-group-children[hidden] { display: none !important; }

/* Anti-Astra: butoanele/cardurile noastre nu preiau stilul temei (text invizibil / hover rosu). */
.dah-catalog-wrap .dah-btn-primary,
.dah-hero .dah-btn-primary {
    background: var(--dah-accent) !important;
    color: #fff !important;
    border: none !important;
}
.dah-catalog-wrap .dah-btn-primary:hover,
.dah-hero .dah-btn-primary:hover { background: var(--dah-accent-2) !important; color: #fff !important; }
.dah-vsel-go:disabled { background: #c4ccc8 !important; color: #fff !important; }

/* Anti-Astra pe butoanele proprii (Schimba masina, Cauta catalog, X garaj). */
.dah-cat-change, .dah-cat-search-btn {
    background: var(--dah-accent) !important; color: #fff !important;
    border: none !important; box-shadow: none !important;
}
.dah-cat-change:hover, .dah-cat-search-btn:hover { background: var(--dah-accent-2) !important; }
.dah-garage-clear {
    padding: 0 !important; line-height: 1 !important; min-height: 0 !important;
    -webkit-appearance: none !important; appearance: none !important;
    box-shadow: none !important; text-shadow: none !important;
}

/* Iconite SVG */
.dah-ic { display: inline-block; vertical-align: middle; flex-shrink: 0; }

/* Bloc "anti-Astra" (variabile --ast-global-color-0/1 + selectoare .main-header-menu/
   .ast-header-search) ELIMINAT 2026-07-24 (Incrementul 4, migrare GeneratePress): confirmat
   mort la verificare live - GeneratePress nu citeste acele variabile si nu genereaza acele
   clase. Daca se revine vreodata la astra-child (rollback), acest override trebuie readaugat -
   vezi git history commit-ul acesta pentru continutul exact. */
.dah-hero ::selection { background: #04724d; color: #fff; }
.dah-hero ::-moz-selection { background: #04724d; color: #fff; }

/* Titlu de sectiune cu accent */
.dah-section-title {
    text-align: center;
    font-size: 1.6em;
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0 0 28px;
    color: var(--dah-navy);
    position: relative;
}
.dah-section-title::after {
    content: "";
    display: block;
    width: 52px;
    height: 4px;
    border-radius: 2px;
    background: var(--dah-accent);
    margin: 12px auto 0;
}

/* ==========================================================
   HERO (garage_hero)
   ========================================================== */

/* Restilizare 2026-07-23 (mockup header-epiesa-v4-bold.html, aprobat Alin): fundal FOTO
   inlocuit cu gradient deschis; poza + overlay rosu au disparut. Structura PHP (garage_hero
   din class-dah-tecdoc-vehicle.php) ramane neatinsa - doar prezentarea se schimba aici. */
.dah-hero {
    position: relative;
    overflow: hidden;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    /* Compactare sus (cerere Alin 24-07, schema mobil): -30px inghite padding-top-ul
       .inside-article al temei (hero-ul e oricum full-bleed), iar padding-top scade 36->20. */
    margin-top: -30px;
    padding: 20px 20px 44px;
    background: linear-gradient(180deg, #ffffff 0%, #f5f7f8 60%, #eef4f1 100%);
    color: var(--dah-ink);
}
.dah-hero-decor {
    /* iconita mare de fundal nu se mai potriveste pe fundalul deschis - ascunsa, markup pastrat */
    display: none;
}
.dah-hero-decor-ic { display: block; }

.dah-hero-inner {
    position: relative;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
    z-index: 1;
}
.dah-hero-title {
    font-size: clamp(1.6em, 3.4vw, 2em);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0 0 6px;
    color: var(--dah-navy, #15181c);
}
.dah-hero-sub {
    font-size: 1.05em;
    color: #767b82;
    opacity: 1;
    margin: 0 0 22px;
    font-weight: 400;
}

/* Cardul alb din spate a fost scos (mockup-ul nu are un card unic care sa cuprinda tot
   hero-ul) - cautarea devine pastila proprie, selectorul si banner-ul intra in dah-hero-grid. */
.dah-hero-card {
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    text-align: left;
    color: var(--dah-ink);
}

/* Garaj salvat */
.dah-garage-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    background: linear-gradient(135deg, #15181c, #232a31);
    color: #fff;
    border-radius: var(--dah-radius-sm);
    padding: 11px 15px;
    margin-bottom: 18px;
}
.dah-garage-label { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; opacity: .9; font-size: .92em; }
.dah-garage-vehicle { font-weight: 700; font-size: .98em; }
.dah-garage-view {
    margin-left: auto;
    background: var(--dah-accent);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 7px 16px;
    font-size: .9em;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
}
.dah-garage-view:hover { background: var(--dah-accent-2); }
.dah-garage-clear {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.12);
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: .9em;
    line-height: 1;
    width: 26px; height: 26px;
    border-radius: 50%;
    transition: background .15s;
}
.dah-garage-clear:hover { background: rgba(255,255,255,.28); }

/* Punctul 2 (2026-07-23, feedback Alin): bara "Masina mea" NU mai apare in hero - alegerea
   masinii se face acum EXCLUSIV din panoul "Selecteaza-ti masina". Ascundere STRICT scopata la
   .dah-hero (garajul ramane functional in catalog/alte pagini, unde #dah-garage-bar nu e in hero). */
.dah-hero #dah-garage-bar,
.dah-hero .dah-garage-bar { display: none !important; }

/* Taburi */
.dah-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid var(--dah-line);
    margin-bottom: 22px;
    flex-wrap: wrap;
}
.dah-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 12px 18px;
    font-size: .98em;
    font-weight: 600;
    cursor: pointer;
    color: var(--dah-muted);
    margin-bottom: -1px;
    transition: color .15s, border-color .15s;
}
.dah-tab:hover { color: var(--dah-navy); }
.dah-tab.active { color: var(--dah-navy); border-bottom-color: var(--dah-accent); }
.dah-tab.active .dah-ic { color: var(--dah-accent); }
.dah-tab-panel { animation: dah-fade .22s ease; }
@keyframes dah-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* Cautare unificata (cod/OEM/VIN) - pastila mare centrala (mockup 23-07). ID-uri/legaturi JS
   nesschimbate: #dah-part-query, #dah-part-search-btn (vezi dah-tecdoc.js initHeroDropdown). */
.dah-hero-search {
    display: flex;
    align-items: center;
    gap: 0;
    max-width: 720px;
    margin: 0 auto 8px;
    border: 1.5px solid var(--dah-line);
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 36px rgba(13,36,56,.12);
    transition: border-color .15s, box-shadow .15s;
}
.dah-hero-search:focus-within { border-color: #04724d; box-shadow: 0 0 0 4px rgba(4,114,77,.08); }
.dah-hero-search-ic { display: flex; align-items: center; padding: 0 6px 0 20px; color: var(--dah-muted); }
.dah-hero-search-input {
    flex: 1;
    border: none !important;
    outline: none;
    padding: 14px 12px;
    height: 46px;
    font-size: 1.02em;
    background: transparent;
    box-shadow: none !important;
}
/* Verde AUTOHUB (#04724d) - scop STRICT hero, cerut explicit in mockup 23-07; nu atinge
   --dah-accent (rosu, decizie CTA existenta pt restul site-ului - vezi comentariu linia 21). */
.dah-hero-search .dah-btn-primary {
    border-radius: 24px !important;
    margin: 4px;
    height: 46px;
    padding: 0 22px;
    background: linear-gradient(135deg, #04724d 0%, #04583c 100%) !important;
    box-shadow: 0 4px 14px rgba(4,114,77,.4);
}
.dah-hero-search .dah-btn-primary:hover { transform: scale(1.03); }

/* "Cautari populare" - randat de JS (initHeroRestyle), nu de PHP; chips seteaza inputul
   de mai sus si declanseaza aceeasi cautare (#dah-part-search-btn), nu una noua. */
.dah-hero-suggest {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    max-width: 720px;
    margin: 0 auto 24px;
    font-size: .82em;
    color: #8a9099;
}
.dah-hero-suggest a,
.dah-hero-suggest button {
    color: #4a5158;
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: 14px;
    padding: 4px 12px;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
    appearance: none;
    border-width: 1px;
    border-style: solid;
    font: inherit;
    margin: 0;
}

.dah-hero-suggest button {
    background: #fff;
}

.dah-hero-suggest a:hover,
.dah-hero-suggest button:hover {
    background: #04724d;
    color: #fff;
    border-color: #04724d;
}

/* Separator "sau alege masina" */
.dah-vsel-sep {
    display: flex;
    align-items: center;
    text-align: center;
    color: var(--dah-muted);
    font-size: .85em;
    margin: 18px 0;
    gap: 14px;
}
.dah-vsel-sep::before, .dah-vsel-sep::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--dah-line);
}

/* Grila hero (redesign v0.82.0, 23-07): stanga panou "Selecteaza-ti masina", dreapta caruselul
   REAL de banere (mutat aici din sectiunea de sub hero de catre JS initHeroRestyle).
   Wrapper + panouri randate de JS in jurul lui .dah-vsel existent - selecturile/ID-urile
   raman neschimbate, doar containerul din jur e nou. */
.dah-hero-grid {
    display: grid;
    /* v0.84.0 (feedback Alin): selector 1/3, carusel 2/3 - nu jumatate-jumatate */
    grid-template-columns: 1fr 2fr;
    gap: 20px;
    align-items: stretch;
    max-width: 1080px;
    margin: 0 auto 20px;
    text-align: left;
}

/* Caruselul real cand e mutat in interiorul grilei hero (jumatate de latime): fara marginile
   full-width de sectiune, inaltime aliniata cu card-ul selector, colturi rotunjite. Sagetile
   si punctele raman functionale (regulile lor globale nu sunt atinse). */
.dah-hero-grid .dah-banner-carousel-wrap {
    max-width: none;
    margin: 0;
    height: 100%;
    display: flex;
}
.dah-hero-grid .dah-banner-carousel {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
    min-height: 300px;
}
.dah-hero-grid .dah-banner-track { height: 100%; min-height: 300px; }
.dah-hero-grid .dah-banner-content { padding: 32px 36px; }

/* Stiva verticala compacta de trust cards, mutata in hero din sectiunea .dah-trust-bar de sub
   hero (JS initHeroRestyle) - fara sa dubleze markup-ul, doar muta nodurile existente. */
.dah-hero-trust {
    display: flex;
    flex-direction: column;
    gap: 10px;
    animation: dahFadeUp .5s ease .06s both;
}
.dah-hero-trust .dah-trust-item {
    padding: 11px 12px;
    gap: 10px;
    animation: none;
}
.dah-hero-trust .dah-trust-icon { width: 32px; height: 32px; }
.dah-hero-trust .dah-trust-icon svg { width: 17px; height: 17px; }
.dah-hero-trust .dah-trust-title { font-size: var(--fs-2); }
.dah-hero-trust .dah-trust-desc { font-size: var(--fs-1); }
.dah-hero-selcard {
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 10px 30px rgba(13,36,56,.06);
    animation: dahFadeUp .5s ease both;
    transition: transform .2s, box-shadow .2s;
}
.dah-hero-selcard:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(13,36,56,.10); }
.dah-hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.05em;
    font-weight: 700;
    color: var(--dah-navy, #15181c);
}
.dah-sel-steps { display: flex; gap: 5px; margin-bottom: 2px; }
.dah-sel-steps i { flex: 1; height: 3px; border-radius: 2px; background: var(--dah-line); transition: background .2s; }
.dah-sel-steps i.cur { background: #04724d; }

/* Buton "Vezi piese" din panoul stanga - verde, la fel ca restul hero-ului (vezi nota de mai sus). */
.dah-hero-selcard .dah-btn-primary { background: #04724d !important; }
.dah-hero-selcard .dah-btn-primary:hover { background: #04583c !important; }

.dah-hero-promo {
    border-radius: 12px;
    background: linear-gradient(135deg, #04724d 0%, #04583c 55%, #03352a 100%);
    color: #fff;
    padding: 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(4,88,60,.22);
    animation: dahFadeUp .5s ease .12s both;
}
.dah-hero-promo .dah-hero-sheen {
    position: absolute; top: 0; left: -30%;
    width: 38%; height: 100%;
    background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.07) 45%, transparent 90%);
    transform: skewX(-12deg);
    pointer-events: none;
}
.dah-hero-promo::before {
    content: ""; position: absolute; right: -60px; top: -60px;
    width: 240px; height: 240px; border-radius: 50%; background: rgba(255,255,255,.06);
}
.dah-hero-promo::after {
    content: ""; position: absolute; right: 40px; bottom: -80px;
    width: 180px; height: 180px; border-radius: 50%; border: 2px solid rgba(255,255,255,.08);
}
.dah-hero-promo-tag {
    align-self: flex-start;
    background: rgba(255,255,255,.16);
    font-size: .78em; font-weight: 700; letter-spacing: .5px;
    padding: 4px 10px; border-radius: 4px; text-transform: uppercase; z-index: 1;
}
.dah-hero-promo-title { font-size: 1.5em; font-weight: 800; line-height: 1.15; z-index: 1; max-width: 85%; }
.dah-hero-promo-sub { font-size: 1.02em; color: rgba(255,255,255,.9); z-index: 1; max-width: 80%; }
.dah-hero-promo-cta {
    z-index: 1; align-self: flex-start; margin-top: 8px;
    background: #fff; color: #04583c; font-weight: 700;
    padding: 10px 20px; border-radius: 6px; transition: background .15s;
}
.dah-hero-promo-cta:hover { background: #eef4f1; }

@keyframes dahFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (max-width: 1000px) {
    .dah-hero-grid { grid-template-columns: 1fr; }
    .dah-hero-promo-title, .dah-hero-promo-sub { max-width: 100%; }
}

/* Selector orizontal — in interiorul .dah-hero-selcard devine vertical (mockup: card ingust
   stanga); in afara (fara wrapper JS) ramane banda orizontala, comportament neschimbat. */
.dah-vsel {
    display: flex;
    gap: 10px;
    align-items: stretch;
    flex-wrap: wrap;
    background: var(--dah-soft);
    padding: 12px;
    border-radius: var(--dah-radius-sm);
}
.dah-hero-selcard .dah-vsel {
    flex-direction: column;
    /* nowrap obligatoriu: wrap-ul mostenit din banda orizontala + inaltimea fixata de
       grid (align-items:stretch) impingeau al 4-lea element (butonul Vezi piese) intr-o
       A DOUA coloana, in afara cardului - invizibil pe mobil 375px (masurat live 24-07). */
    flex-wrap: nowrap;
    background: transparent;
    padding: 0;
    gap: 10px;
}
.dah-hero-selcard .dah-vsel-select { flex: none; width: 100%; height: 42px; }
.dah-hero-selcard .dah-vsel-select:focus { border-color: #04724d; box-shadow: 0 0 0 3px rgba(4,114,77,.08); }
.dah-hero-selcard .dah-vsel-go { width: 100%; height: 44px; }
.dah-vsel-types {
    display: flex;
    gap: 4px;
    background: var(--dah-soft);
    border-radius: var(--dah-radius-sm);
    padding: 4px;
}
.dah-vtype {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    border: none;
    background: transparent;
    color: var(--dah-muted);
    border-radius: 6px;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.dah-vtype:hover { color: var(--dah-navy); }
.dah-vtype.active { background: var(--dah-accent); color: #fff; }
.dah-vsel-select {
    flex: 1 1 160px;
    min-width: 150px;
    height: 48px;
    line-height: 1.3;
    padding: 0 38px 0 14px; /* loc pentru sageata */
    border: 1.5px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    font-size: .93em;
    background-color: #fff;
    color: var(--dah-ink);
    cursor: pointer;
    transition: border-color .15s;
    /* sageata jos custom (Astra ascunde nativa) */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
    background-size: 14px;
}
.dah-vsel-select:focus { border-color: var(--dah-accent); outline: none; box-shadow: 0 0 0 3px var(--dah-accent-soft); }
.dah-vsel-select:disabled { background-color: #eef0f2; color: var(--dah-muted); cursor: not-allowed; opacity: 1; }
.dah-vsel-go { flex: 0 0 auto; height: 48px; }
.dah-vsel-go:disabled { background: #c4ccc8; cursor: not-allowed; transform: none; }
@media (max-width: 680px) {
    .dah-vsel-select, .dah-vsel-go { flex: 1 1 100%; }
}

/* Mesaje scurte ale barii de cautare din hero (bila Alin 2026-08-31): stau IMEDIAT sub bara,
   nu la capatul hero-ului ca #dah-results. :empty pastreaza acelasi tipar - zero spatiu cand
   nu e niciun mesaj, ca sa nu apara o gaura in layout. */
.dah-hero-msg { margin-top: 12px; }
.dah-hero-msg:empty { margin-top: 0; }
.dah-hero-msg-text {
    margin: 0;
    color: var(--dah-navy);
    font-weight: 600;
}

/* Rezultate hero */
.dah-results { margin-top: 18px; }
.dah-results:empty { margin-top: 0; }
.dah-results-head {
    font-weight: 700;
    color: var(--dah-navy);
    font-size: 1.05em;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 2px solid var(--dah-accent);
}
.dah-back-btn {
    background: var(--dah-soft);
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    padding: 7px 14px;
    font-size: .88em;
    font-weight: 600;
    color: var(--dah-navy);
    cursor: pointer;
    margin-bottom: 14px;
    transition: background .15s;
}
.dah-back-btn:hover { background: #eef1f4; }

/* ==========================================================
   PASI SELECTOR
   ========================================================== */

.dah-step { padding: 2px 0; }
.dah-step-title {
    font-size: 1.05em;
    font-weight: 700;
    margin: 0 0 14px;
    color: var(--dah-navy);
}

/* Tip vehicul — carduri */
.dah-type-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.dah-tile-type {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 24px 14px;
    border: 1.5px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    background: #fff;
    cursor: pointer;
    transition: transform .15s, border-color .15s, box-shadow .15s;
}
.dah-tile-type:hover,
.dah-tile-type:focus-visible {
    transform: translateY(-4px);
    border-color: var(--dah-accent);
    box-shadow: var(--dah-shadow);
    outline: none;
}
.dah-tile-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px; height: 64px;
    border-radius: 50%;
    background: var(--dah-soft);
    color: var(--dah-navy);
    transition: background .15s, color .15s;
}
.dah-tile-type:hover .dah-tile-icon { background: var(--dah-accent-soft); color: var(--dah-accent); }
.dah-tile-label { font-size: .92em; font-weight: 600; text-align: center; color: var(--dah-ink); }

/* Input cautare */
.dah-search-input {
    width: 100%;
    max-width: 420px;
    padding: 11px 15px;
    border: 1.5px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    font-size: .96em;
    margin-bottom: 14px;
    transition: border-color .15s, box-shadow .15s;
}
.dah-search-input:focus {
    border-color: var(--dah-accent);
    outline: none;
    box-shadow: 0 0 0 3px var(--dah-accent-soft);
}

/* Liste producatori / modele — chip-uri */
.dah-list-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-height: 400px;
    overflow-y: auto;
    padding: 4px;
}
.dah-item {
    padding: 8px 15px;
    border: 1.5px solid var(--dah-line);
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
    font-size: .88em;
    font-weight: 500;
    transition: background .12s, border-color .12s, color .12s, transform .12s;
    white-space: nowrap;
}
.dah-item:hover,
.dah-item:focus-visible {
    background: var(--dah-navy);
    color: #fff;
    border-color: var(--dah-navy);
    transform: translateY(-1px);
    outline: none;
}
.dah-count { color: var(--dah-muted); font-size: .85em; }
.dah-item:hover .dah-count,
.dah-item:focus-visible .dah-count { color: rgba(255,255,255,.7); }

/* Tabel variante motor */
.dah-table-wrap { overflow-x: auto; border: 1px solid var(--dah-line); border-radius: var(--dah-radius-sm); }
.dah-vehicle-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9em;
    min-width: 520px;
}
.dah-vehicle-table th {
    text-align: left;
    padding: 12px 14px;
    background: var(--dah-soft);
    border-bottom: 1px solid var(--dah-line);
    font-weight: 700;
    color: var(--dah-navy);
    white-space: nowrap;
}
.dah-vehicle-row { cursor: pointer; transition: background .12s; }
.dah-vehicle-row td { padding: 11px 14px; border-bottom: 1px solid var(--dah-line); }
.dah-vehicle-row:last-child td { border-bottom: none; }
.dah-vehicle-row:hover td,
.dah-vehicle-row:focus-visible td { background: var(--dah-accent-soft); }
.dah-vehicle-row:focus-visible { outline: none; }

/* Arbore categorii (assembly groups) */
.dah-group-node { margin: 4px 0; }
.dah-group-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    text-align: left;
    padding: 10px 14px;
    border: 1.5px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    background: #fff;
    cursor: pointer;
    font-size: .9em;
    font-weight: 500;
    transition: background .12s, border-color .12s, color .12s;
}
.dah-group-parent { background: var(--dah-soft); font-weight: 700; color: var(--dah-navy); }
.dah-group-parent:hover { background: #eef1f4; }
.dah-group-leaf:hover,
.dah-group-leaf:focus-visible {
    background: var(--dah-accent); color: #fff; border-color: var(--dah-accent); outline: none;
}
.dah-group-leaf:hover .dah-count,
.dah-group-leaf:focus-visible .dah-count { color: rgba(255,255,255,.75); }
.dah-toggle-icon { font-size: .7em; color: var(--dah-muted); flex-shrink: 0; }
.dah-group-children { padding-left: 20px; margin-top: 4px; border-left: 2px solid var(--dah-line); margin-left: 8px; }

/* Grid articole */
.dah-articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 16px;
    margin-top: 14px;
}
.dah-article-card {
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    overflow: hidden;
    background: #fff;
    transition: transform .15s, box-shadow .15s;
}
.dah-article-card:hover { transform: translateY(-3px); box-shadow: var(--dah-shadow); }
.dah-article-img {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dah-soft);
    border-bottom: 1px solid var(--dah-line);
}
.dah-article-img img { max-height: 128px; max-width: 100%; object-fit: contain; }
.dah-no-img { color: #c4ccd3; font-size: .78em; }
.dah-article-body { padding: 13px 15px; }
.dah-article-brand { font-weight: 800; font-size: .76em; color: var(--dah-accent); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.dah-article-nr { font-size: 1em; font-weight: 700; color: var(--dah-navy); margin-bottom: 4px; }
.dah-article-type { font-size: .82em; color: var(--dah-muted); margin-bottom: 6px; }
.dah-article-criteria { font-size: .78em; color: var(--dah-ink); margin-bottom: 6px; line-height: 1.7; }
.dah-article-oem { font-size: .75em; color: var(--dah-muted); line-height: 1.7; }

/* Numar rezultate langa titlul sectiunii (H3b) - reia culorile badge existente, fara paleta noua */
.dah-step-count {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 9px;
    border-radius: 999px;
    background: var(--dah-accent-soft);
    color: var(--dah-accent);
    font-size: var(--fs-2);
    font-weight: 700;
    vertical-align: middle;
}

/* Bloc stoc/livrare/pret pe cardul din grila (H3b) - acelasi adevar ca .dah-prow-av/.dah-detail-stock,
   randat de priceListBlockHtml(a, 'card'); culorile stoc reiau exact hex-ul din .dah-prow-av / --out. */
.dah-article-av { font-size: var(--fs-1); font-weight: 600; margin-top: 8px; }
.dah-article-av--buy { color: #1a9d52; }
.dah-article-av--out { color: #b3492f; }
.dah-article-av--none { color: var(--dah-muted); font-weight: 400; }
.dah-article-liv { font-size: var(--fs-1); color: var(--dah-muted); margin-top: 2px; }
.dah-article-price { font-size: var(--fs-3); font-weight: 800; color: var(--dah-navy); margin-top: 4px; }

/* Buton "Vezi mai multe piese echivalente" - refoloseste .dah-btn-primary, doar starea disabled e noua */
.dah-equiv-more-wrap { text-align: center; margin: 18px 0 4px; }

/* Buton "Vezi mai multe oferte" (increment 2, live_pending) - aceeasi conventie, refoloseste .dah-btn-primary */
.dah-live-equiv-wrap { text-align: center; margin: 18px 0 4px; }
.dah-equiv-more-btn:disabled { opacity: .6; cursor: not-allowed; }
/* Verde de brand, NU rosu (feedback Alin 2026-07-23): acelasi verde/hover ca "Adauga in cos"
   (.dah-addcart, #04724d/#04583c) - vezi mai jos in fisier unde e definit acel buton. !important
   ca sa castige peste .dah-btn-primary (rosu, uneori si el !important in .dah-catalog-wrap/.dah-hero). */
.dah-live-equiv-btn,
.dah-catalog-wrap .dah-live-equiv-btn,
.dah-hero .dah-live-equiv-btn {
    background: #04724d !important;
    color: #fff !important;
}
.dah-live-equiv-btn:hover,
.dah-catalog-wrap .dah-live-equiv-btn:hover,
.dah-hero .dah-live-equiv-btn:hover { background: #04583c !important; }
.dah-live-equiv-btn:disabled { opacity: .6; cursor: not-allowed; }

/* Breadcrumb */
.dah-breadcrumb {
    font-size: .85em;
    color: var(--dah-muted);
    margin-bottom: 16px;
    min-height: 24px;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
.dah-bc-item { cursor: pointer; color: var(--dah-navy-2); font-weight: 600; }
.dah-bc-item:hover { color: var(--dah-accent); }
.dah-btn-reset {
    background: none;
    border: 1.5px solid var(--dah-line);
    border-radius: 999px;
    padding: 3px 12px;
    font-size: .82em;
    cursor: pointer;
    color: var(--dah-muted);
    margin-left: 6px;
    transition: border-color .15s, color .15s;
}
.dah-btn-reset:hover { border-color: var(--dah-accent); color: var(--dah-accent); }

/* ==========================================================
   PART SEARCH
   ========================================================== */

/* margin 0 (nu auto): cerere Alin 24-07, zona de cautare aliniata la STANGA containerului. */
.dah-part-search-wrap { max-width: 920px; margin: 0; overflow: visible; }
/* Punctul 4-5 cos (2026-07-23, decizie Alin): butoanele express (Apple Pay/GPay/Link) NU apar in
   pagina de COS - doar la checkout. Blocul React al cosului le re-randeaza chiar si fara blocul
   Gutenberg in continut, asa ca ascunderea se face aici, tintit DOAR pe varianta --cart. */
.wc-block-components-express-payment--cart { display: none !important; }
/* 2026-07-30 (feedback Alin): si SEPARATORUL "Sau" al platilor rapide (randat separat de blocul
   de butoane, ramanea vizibil desi butoanele-s ascunse) dispare pe cos. */
.wc-block-components-express-payment-continue-rule--cart { display: none !important; }
/* padding-top + overflow:visible (feedback Alin 2026-07-23): fara ele inelul de focus (box-shadow)
   al inputului era taiat sus - marginea de sus a .dah-search-bar cadea chiar pe limita zonei
   vizibile a wrapper-ului/temei, iar box-shadow-ul (care iese in AFARA border-ului) nu mai avea loc. */
/* max-width (feedback Alin 2026-07-23, runda 2): bara de cautare nu mai e lata cat pagina -
   cat sa incapa lejer un VIN de 17 caractere + butonul Cauta. padding-top 6px = loc pentru
   inelul de focus de 3px care iese in afara border-ului (era taiat sus la tastare). */
.dah-search-bar { display: flex; align-items: stretch; gap: 10px; margin-bottom: 8px; padding-top: 6px; overflow: visible; max-width: 640px; }
.dah-part-input {
    flex: 1;
    padding: 13px 16px;
    border: 1.5px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    font-size: 1em;
    transition: border-color .15s, box-shadow .15s;
}
.dah-part-input:focus { border-color: var(--dah-accent); outline: none; box-shadow: 0 0 0 3px var(--dah-accent-soft); }
/* Butonul "Cauta" proportional cu inputul (feedback Alin 2026-07-23): pana acum folosea
   .dah-btn-primary generic (padding 13px 26px), gandit pt CTA-uri late (hero/banner) - aici langa
   un input ingust parea disproportionat de lat. Ingustat DOAR aici, .dah-btn-primary ramane
   neschimbat peste tot unde e deja folosit (catalog, hero, banner). */
/* SCOPAT la pagina de cautare (fix 2026-07-23: acelasi id exista SI in hero-ul de pe homepage,
   unde regula asta il turtea la 19px inaltime - butonul aparea taiat). In hero ramane
   .dah-btn-primary standard. */
.dah-part-search-wrap #dah-part-search-btn.dah-btn-primary {
    padding: 0 20px;
    font-size: .95em;
}
.dah-btn-primary {
    padding: 13px 26px;
    background: var(--dah-accent);
    color: #fff;
    border: none;
    border-radius: var(--dah-radius-sm);
    font-size: 1em;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s, transform .12s;
    white-space: nowrap;
}
.dah-btn-primary:hover { background: var(--dah-accent-2); transform: translateY(-1px); }
.dah-search-hint { font-size: .82em; color: var(--dah-muted); margin: 0 0 16px; }
.dah-part-results { margin-top: 6px; }
/* Increment SSR AEO (2026-07-31): sectiunea randata server-side pe /piesa/ (part_search PHP,
   aeo_section_html) sta in afara #dah-part-results (nu e rescrisa de JS) - .dah-det-sec e
   folosita neschimbat (aceeasi cutie ca in fisa de detaliu), doar spatiul fata de vecini e propriu. */
.dah-det-sec-aeo { margin: 0 0 16px; }

/* ==========================================================
   GRILA CATEGORII
   ========================================================== */

.dah-cat-section { max-width: 1080px; margin: 56px auto; padding: 0 20px; }
.dah-cat-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* 6 categorii pe un rand */
    gap: 16px;
}
@media (max-width: 900px) { .dah-cat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 520px) { .dah-cat-grid { grid-template-columns: repeat(2, 1fr); } }
.dah-cat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 26px 14px;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius);
    background: #fff;
    text-decoration: none;
    color: var(--dah-ink);
    transition: transform .15s, box-shadow .15s, border-color .15s;
}
.dah-cat-tile:hover {
    transform: translateY(-5px);
    box-shadow: var(--dah-shadow);
    border-color: transparent;
}
.dah-cat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 116px;
}
.dah-cat-icon img {
    max-height: 116px;
    max-width: 92%;
    object-fit: contain;
    transition: transform .18s;
}
.dah-cat-tile:hover .dah-cat-icon img { transform: scale(1.07); }
.dah-cat-name { font-size: .98em; font-weight: 700; text-align: center; }

/* ==========================================================
   BARA INCREDERE
   ========================================================== */

.dah-trust-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 14px;
    max-width: 1080px;
    margin: 24px auto 40px;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}
.dah-trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: 10px;
    padding: 16px;
    animation: dahFadeUp .5s ease .2s both;
    transition: transform .2s, box-shadow .2s;
}
.dah-trust-item:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(13,36,56,.08); }
/* D-91 (2026-09-03): cardul devine link catre pagina de conditii cand url != ''. Aspectul si
   culoarea textului raman identice (text-decoration none, culoare mostenita) fata de varianta
   div necliclabila; :focus-visible adaugat pentru accesibilitate tastatura. */
.dah-trust-item--link {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
.dah-trust-item--link:focus-visible {
    outline: 2px solid #04724d;
    outline-offset: 2px;
}
.dah-trust-icon {
    /* verde, cerut in mockup 23-07 ("iconite verzi in patrat pal"); scop STRICT trust bar,
       nu atinge --dah-accent (rosu, folosit de butoanele CTA din restul plugin-ului). */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px; height: 38px;
    border-radius: 8px;
    background: #e7f2ee;
    color: #04724d;
    flex-shrink: 0;
}
.dah-trust-title { font-weight: 700; color: var(--dah-navy); font-size: .96em; }
.dah-trust-desc { font-size: .82em; color: var(--dah-muted); }

/* ==========================================================
   BANDA BRANDURI
   ========================================================== */

/* Redesign 2026-08-22 (decizie dirijor, feedback Alin "arata ca un pix"): SVG-urile colorate
   facute de noi (dreptunghiuri cu numele brandului) au fost scoase. Chip-uri neutre, elegante,
   text-only; grid responsive flex-wrap, ~4/rand desktop (160px x 4 + gap-uri ~ 1080px max-width
   existent), 2/rand pe mobil (vezi media query jos). */
.dah-brand-strip { max-width: 1080px; margin: 56px auto; padding: 0 20px; }
.dah-brand-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    align-items: center;
}
.dah-brand-chip {
    background: #fff;
    border: 1px solid #e3e6e8;
    border-radius: 8px;
    padding: 14px 22px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    transition: border-color .15s, color .15s, transform .15s;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.dah-brand-chip:hover { border-color: #04724d; transform: translateY(-2px); }
.dah-brand-chip:hover .dah-brand-name { color: #04724d; }
.dah-brand-name {
    font-weight: 700;
    color: #2c2c2c;
    letter-spacing: .04em;
    font-size: 15px;
    text-transform: uppercase;
    transition: color .15s;
}
@media (max-width: 560px) {
    .dah-brand-row { gap: 10px; }
    .dah-brand-chip { flex: 0 0 calc(50% - 5px); padding: 12px 10px; }
}

/* ─── matchType badge (tip corespondenta in cautare) ───────────────────── */
.dah-match-badge {
    display: inline-block;
    font-size: .68em;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 4px;
    margin-left: 7px;
    vertical-align: middle;
    line-height: 1.5;
}
.dah-mt-oem        { background: #e8f3ff; color: #1a6abf; }
.dah-mt-article    { background: #e8f5ec; color: #1a7a3c; }
.dah-mt-comparable { background: #fff4e0; color: #b06a00; }
.dah-mt-replaces   { background: #f0ebff; color: #6b3fb0; }
.dah-mt-replaced   { background: #fdecea; color: #b00510; }
.dah-mt-trade      { background: #e8f8f5; color: #0b7a65; }
.dah-mt-ean        { background: #f5f5f5; color: #555; }
.dah-mt-criteria   { background: #f5f5f5; color: #555; }

/* ─── Carusel banere publicitare ─────────────────────────────────────────── */
.dah-banner-carousel-wrap {
    max-width: 1080px;
    margin: 48px auto;
    padding: 0;
}
.dah-banner-carousel-wrap * { font-family: 'Montserrat', sans-serif; }
.dah-banner-carousel {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.22);
}
/* crossfade: track e container cu inaltime fixa */
.dah-banner-track {
    position: relative;
    height: 340px;
}
.dah-banner-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity .85s ease-in-out;
    z-index: 0;
    background-size: cover;
    background-position: center;
}
.dah-banner-slide.active {
    opacity: 1;
    z-index: 1;
}
.dah-banner-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.28) 60%, rgba(0,0,0,.08) 100%);
}
.dah-banner-content {
    position: relative;
    z-index: 1;
    padding: 48px 52px 48px 88px;
    color: #fff;
    max-width: 600px;
}
.dah-banner-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.75em;
    font-weight: 800;
    margin: 0 0 10px;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
    color: #fff;
}
.dah-banner-sub {
    font-family: 'Montserrat', sans-serif;
    font-size: 1em;
    font-weight: 600;
    color: rgba(255,255,255,.92);
    margin: 0 0 24px;
    text-shadow: 0 1px 4px rgba(0,0,0,.3);
}
.dah-banner-cta {
    display: inline-block;
    /* verde global (2026-07-23, decizie Alin - anuleaza rosul vechi), vezi var(--dah-accent) */
    background: var(--dah-accent, #04724d);
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: .92em;
    padding: 12px 26px;
    border-radius: 7px;
    text-decoration: none !important;
    letter-spacing: .02em;
    transition: background .18s, transform .15s, box-shadow .15s;
    box-shadow: 0 4px 14px rgba(4,114,77,.35);
}
.dah-banner-cta:hover {
    background: var(--dah-accent-2, #04583c);
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(4,114,77,.45);
}
/* sageti: doar caractere, fara oval, fara culoare */
.dah-banner-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 52px;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    color: rgba(255,255,255,.55);
    font-size: 2.4em;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    text-shadow: 0 1px 6px rgba(0,0,0,.5);
    transition: color .2s, text-shadow .2s;
    z-index: 2;
    padding: 0;
}
.dah-banner-btn:hover,
.dah-banner-btn:focus,
.dah-banner-btn:active,
.dah-banner-btn:focus-visible {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: rgba(255,255,255,.95);
    text-shadow: 0 2px 12px rgba(0,0,0,.75);
}
.dah-banner-prev { left: 16px; }
.dah-banner-next { right: 16px; }
.dah-banner-dots {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 2;
}
/* v1.8.2: indicator discret - linie de 3px in loc de bulina groasa de 10px+border (cerinta Alin) */
.dah-banner-dot {
    width: 22px;
    height: 3px;
    border-radius: 2px;
    border: none;
    background: rgba(255,255,255,.5);
    cursor: pointer;
    padding: 0;
    transition: background .2s;
}
.dah-banner-dot.active { background: #fff; }
@media (max-width: 768px) {
    .dah-banner-track { height: 260px; }
    .dah-banner-content { padding: 32px 28px; max-width: 100%; }
    .dah-banner-title { font-size: 1.35em; }
}
@media (max-width: 480px) {
    .dah-banner-track { height: 220px; }
    .dah-banner-content { padding: 24px 20px; }
    .dah-banner-title { font-size: 1.15em; }
    .dah-banner-btn { display: none; }
}

/* ==========================================================
   STARI: loading / eroare
   ========================================================== */

.dah-loading { display: flex; align-items: center; gap: 10px; color: var(--dah-muted); padding: 16px 0; font-size: .9em; }
.dah-spinner {
    display: inline-block;
    width: 18px; height: 18px;
    border: 2px solid var(--dah-line);
    border-top-color: var(--dah-accent);
    border-radius: 50%;
    animation: dah-spin .65s linear infinite;
    flex-shrink: 0;
}
@keyframes dah-spin { to { transform: rotate(360deg); } }
.dah-error { color: #c0392b; font-size: .9em; font-weight: 500; }

/* ==========================================================
   Pe homepage ascundem titlul paginii "Acasa" (generic, portabil pe orice tema).
   Selectorul specific Astra (.ast-article-single) ELIMINAT 2026-07-24 (Incrementul 4,
   migrare GeneratePress) - confirmat mort la verificare live, GeneratePress nu genereaza
   acea clasa. Selectorul .entry-title de mai jos ramane si acopera cazul pe ambele teme.
   ========================================================== */
.home .entry-title { display: none; }

/* ==========================================================
   SKIN COLOR — variantă plină de culoare (stil automobilus)
   ========================================================== */

/* Categorii: carduri pline colorate, text alb */
.dah-skin-color .dah-cat-tile { color: #fff; border: none; }
.dah-skin-color .dah-cat-tile .dah-cat-icon { background: rgba(255,255,255,.18); color: #fff; }
.dah-skin-color .dah-cat-tile:hover .dah-cat-icon { background: rgba(255,255,255,.30); }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+1) { background: #04724d; }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+2) { background: #0e7490; }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+3) { background: #1d4ed8; }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+4) { background: #7c3aed; }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+5) { background: #ea580c; }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+6) { background: #dc2626; }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+7) { background: #ca8a04; }
.dah-skin-color .dah-cat-grid .dah-cat-tile:nth-child(8n+8) { background: #0f766e; }

/* Trust bar: iconițe colorate variat */
.dah-skin-color .dah-trust-item:nth-child(1) .dah-trust-icon { background: #e4f0ea; color: #04724d; }
.dah-skin-color .dah-trust-item:nth-child(2) .dah-trust-icon { background: #e0edff; color: #1d4ed8; }
.dah-skin-color .dah-trust-item:nth-child(3) .dah-trust-icon { background: #fde6d8; color: #ea580c; }
.dah-skin-color .dah-trust-item:nth-child(4) .dah-trust-icon { background: #fde0e0; color: #dc2626; }


/* Skin color: hero puțin mai viu (glow verde mai pronunțat deja în .dah-hero) */
.dah-skin-color .dah-section-title::after { background: linear-gradient(90deg, #04724d, #ea580c); }

/* ==========================================================
   CATALOG ([dah_catalog]) — selector + arbore stanga + grid dreapta
   ========================================================== */

.dah-catalog-wrap { max-width: 1200px; margin: 0 auto; }

/* ── Stare A: chooser (alegere vehicul) ── */
.dah-cat-chooser {
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius);
    box-shadow: var(--dah-shadow);
    padding: 34px 28px;
    text-align: center;
    max-width: 760px;
    margin: 0 auto 26px;
}
.dah-cat-chooser-title { font-size: 1.7em; font-weight: 800; color: var(--dah-navy); margin: 0 0 6px; }
.dah-cat-chooser-sub { color: var(--dah-muted); margin: 0 0 22px; }
.dah-cat-chooser-search { margin-bottom: 18px; }
.dah-vsel--chooser {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 10px;
}

/* ── Stare B/C: bara vehicul selectat ── */
/* ── Bara "Masina mea" (negru/rosu) ── */
.dah-cat-vbar {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    background: var(--dah-navy);
    border-radius: var(--dah-radius-sm) var(--dah-radius-sm) 0 0;
    padding: 13px 18px;
}
.dah-cat-vbar-label { color: #fff; font-weight: 700; font-size: .98em; }
.dah-cat-vbar-name { color: #fff; background: rgba(255,255,255,.13); padding: 6px 12px; border-radius: 7px; font-size: .9em; font-weight: 600; }
.dah-cat-change {
    margin-left: auto; background: var(--dah-accent); color: #fff;
    border: none; border-radius: 7px;
    padding: 8px 16px; font-size: .85em; font-weight: 700; cursor: pointer; transition: background .15s;
}
.dah-cat-change:hover { background: var(--dah-accent-2); }

/* ── Bara cautare cod/OEM in catalog ── */
.dah-cat-search-row {
    display: flex; gap: 10px; padding: 12px 16px;
    border: 1px solid var(--dah-line); border-top: none;
    background: #fff;
}
.dah-cat-search-input {
    flex: 1; border: 1px solid var(--dah-line); border-radius: 7px;
    padding: 9px 13px; font-size: .92em; color: var(--dah-ink); outline: none;
}
.dah-cat-search-input:focus { border-color: var(--dah-accent); }
.dah-cat-search-btn {
    background: var(--dah-accent); color: #fff; border: none; border-radius: 7px;
    padding: 0 20px; font-size: .9em; font-weight: 700; cursor: pointer; transition: background .15s;
}
.dah-cat-search-btn:hover { background: var(--dah-accent-2); }

/* ── Ecran intrare: arbore stanga + panouri dreapta ── */
.dah-cat-entry { display: flex; align-items: flex-start; border: 1px solid var(--dah-line); border-top: none; }
/* Pagina de cautare dupa cod foloseste acelasi layout; chenarul de sus ramane inchis (06-10). */
.dah-cat-entry.dah-code-entry { border-top: 1px solid var(--dah-line); }
.dah-cat-side {
    width: 230px; flex-shrink: 0; border-right: 1px solid var(--dah-line); padding: 14px 0; background: #fff;
    position: sticky; top: 12px; max-height: calc(100vh - 40px); overflow-y: auto;
}
.dah-cat-side-title { font-size: var(--fs-1); letter-spacing: .08em; color: var(--dah-accent); font-weight: 700; margin: 0 0 10px; padding: 0 16px; }
.dah-cat-side-search { padding: 0 12px 10px; }
.dah-cat-filter { width: 100%; border: 1px solid var(--dah-line); border-radius: 7px; padding: 7px 10px; font-size: .85em; outline: none; }
.dah-cat-filter:focus { border-color: var(--dah-accent); }
/* Stanga: arbore categorii accordion cu numere (model Claudiu) */
.dah-cat-tree { display: flex; flex-direction: column; }
.dah-tree-row {
    display: flex; align-items: center; gap: 6px;
    padding: 8px 12px 8px 10px; font-size: .87em; color: var(--dah-ink);
    cursor: pointer; border-left: 3px solid transparent; transition: background .12s;
}
.dah-tree-row:hover { background: #faf3f3; }
.dah-tree-row.is-active { color: var(--dah-accent); border-left-color: var(--dah-accent); background: var(--dah-accent-soft); }
.dah-tree-caret {
    width: 0; height: 0; flex-shrink: 0; margin-right: 2px;
    border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 5px solid #b0b0b0;
    transition: transform .15s;
}
.dah-tree-caret.is-open { transform: rotate(90deg); }
.dah-tree-caret.is-empty { border-left-color: transparent; }
.dah-tree-row.is-active .dah-tree-caret { border-left-color: var(--dah-accent); }
.dah-tree-name { flex: 1; line-height: 1.3; }
.dah-tree-count { font-size: .85em; color: var(--dah-muted); flex-shrink: 0; }
.dah-tree-children .dah-tree-row { font-size: .85em; }

/* Dreapta: zona de produse */
.dah-cat-main { flex: 1; padding: 20px 22px 26px; background: #fafafa; min-width: 0; }
#dah-cat-products { min-height: 200px; }

@media (max-width: 640px) {
    .dah-cat-entry { flex-direction: column; }
    .dah-cat-side { width: 100%; border-right: none; border-bottom: 1px solid var(--dah-line); position: static; max-height: 320px; }
}

/* ── Breadcrumb ── */
.dah-cat-crumb { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.dah-cat-back {
    background: none; border: none; color: var(--dah-accent); font-weight: 700;
    font-size: .9em; cursor: pointer; padding: 4px 0;
}
.dah-cat-back:hover { text-decoration: underline; }
.dah-cat-crumb-cur { font-weight: 800; color: var(--dah-navy); font-size: 1.05em; }

/* ── Grila carduri categorie (pagina principala) ── */
.dah-cat-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(184px, 1fr));
    gap: 14px;
}
.dah-cat-card {
    display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    padding: 18px 16px;
    cursor: pointer; text-align: left;
    transition: box-shadow .15s, transform .15s, border-color .15s;
}
.dah-cat-card:hover { box-shadow: var(--dah-shadow); transform: translateY(-3px); border-color: var(--dah-accent); }
.dah-cat-card-ic {
    width: 48px; height: 48px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    background: var(--dah-accent-soft); color: var(--dah-accent);
}
.dah-cat-card-ic svg { width: 28px; height: 28px; }
.dah-cat-card-name { font-weight: 700; color: var(--dah-navy); font-size: .98em; line-height: 1.25; }
.dah-cat-card-meta { font-size: .76em; color: var(--dah-muted); margin-top: auto; }

/* Grid produse */
.dah-cat-hint { color: var(--dah-muted); font-size: .92em; padding: 24px 4px; }
.dah-cat-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 16px;
    margin-top: 10px;
}
.dah-prod {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    background: #fff;
    overflow: hidden;
    transition: box-shadow .15s, transform .15s;
}
.dah-prod:hover { box-shadow: var(--dah-shadow); transform: translateY(-3px); }
.dah-prod-img { height: 150px; display: flex; align-items: center; justify-content: center; background: var(--dah-soft); border-bottom: 1px solid var(--dah-line); }
.dah-prod-img img { max-height: 130px; max-width: 92%; object-fit: contain; }
.dah-prod-body { padding: 12px 14px; flex: 1; }
.dah-prod-brand { font-weight: 800; font-size: .74em; color: var(--dah-accent); text-transform: uppercase; letter-spacing: .05em; }
.dah-prod-title { font-weight: 700; color: var(--dah-navy); font-size: .95em; margin: 3px 0; }
.dah-prod-code { font-size: .82em; color: var(--dah-muted); margin-bottom: 6px; }
.dah-prod-crit { list-style: none; margin: 0 0 6px; padding: 0; font-size: .8em; color: var(--dah-ink); }
.dah-prod-crit li { line-height: 1.7; }
.dah-prod-oem { font-size: .76em; color: var(--dah-muted); }
.dah-prod-buy { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-top: 1px solid var(--dah-line); }
.dah-prod-price { font-size: 1.15em; font-weight: 800; color: var(--dah-cta); }
.dah-prod-open { display: flex; flex-direction: column; flex: 1; cursor: pointer; }

/* ── Pagina detaliu articol ── */
.dah-detail-top {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 28px;
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius);
    padding: 24px;
    margin-bottom: 22px;
}
.dah-detail-gallery {
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    min-height: 300px; padding: 16px;
}
.dah-detail-gallery img { max-width: 100%; max-height: 320px; object-fit: contain; }
.dah-detail-title { font-size: var(--fs-6); font-weight: 800; color: var(--dah-navy); margin: 4px 0 10px; }
.dah-detail-code, .dah-detail-meta { font-size: var(--fs-2); color: var(--dah-ink); margin-bottom: 4px; }
.dah-detail-text { color: var(--dah-muted); font-size: var(--fs-3); line-height: 1.6; margin: 12px 0; }
.dah-detail-buy { display: flex; align-items: center; gap: 18px; margin: 18px 0 10px; }
.dah-detail-price { font-size: 1.8em; font-weight: 800; color: var(--dah-cta); }
.dah-detail-cart { padding: 13px 28px; font-size: .95em; }
.dah-detail-stock { font-size: var(--fs-2); color: #1a7f47; font-weight: 600; }
.dah-det-note { color: var(--dah-muted); font-weight: 400; }

.dah-detail-sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.dah-det-sec {
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    padding: 18px 20px;
}
.dah-det-sec h3 {
    font-size: var(--fs-3); font-weight: 800; color: var(--dah-navy);
    margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--dah-accent);
    display: inline-block;
}
.dah-det-table { width: 100%; border-collapse: collapse; font-size: var(--fs-2); background: none !important; }
.dah-det-table tr, .dah-det-table td { background: none !important; }
.dah-det-table td { padding: 7px 0; border-bottom: 1px solid var(--dah-line); }
.dah-det-table td:first-child { color: var(--dah-muted); }
.dah-det-table td:last-child { text-align: right; }
.dah-det-oem-row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--dah-line); font-size: var(--fs-2); }
.dah-det-oem-mfr { font-weight: 700; color: var(--dah-navy); }
.dah-det-oem-nums { color: var(--dah-ink); text-align: right; }
.dah-det-apps { margin: 0; padding-left: 18px; font-size: var(--fs-2); color: var(--dah-ink); }
.dah-det-apps li { padding: 4px 0; }
.dah-det-ref { font-size: var(--fs-2); color: var(--dah-ink); margin-bottom: 6px; }

/* Toast */
.dah-toast {
    position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%) translateY(20px);
    /* BUG gasit 2026-07-23 (Alin: "toast alb transparent"): toastul e atasat de BODY, in AFARA
       containerelor care definesc variabilele CSS - var(--dah-navy) era nedefinit acolo si
       fundalul iesea transparent. Culori de sine statatoare, fara variabile. */
    background: #16181d; color: #fff; padding: 12px 22px; border-radius: 8px;
    font-size: .9em; font-weight: 600; box-shadow: 0 18px 50px rgba(13, 36, 56, .22);
    opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; z-index: 9999;
    display: flex; align-items: center; gap: 16px; flex-wrap: wrap; max-width: calc(100vw - 32px);
}
/* pointer-events:auto AICI, nu pe .dah-toast de baza: toastul simplu (fara actiuni, dahToast())
   nu are nimic de apasat, dar toastul cu actiuni (cartActionToast(), increment 4 2026-07-22)
   are doua linkuri/butoane care trebuie sa ramana clickabile cat timp toastul e vizibil. */
.dah-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
.dah-toast-actions { display: flex; align-items: center; gap: 14px; white-space: nowrap; }
.dah-toast-viewcart {
    color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 2px;
}
.dah-toast-viewcart:hover { color: var(--dah-accent-2); }
.dah-toast-continue {
    background: rgba(255,255,255,.14); color: #fff; border: none; border-radius: 6px;
    padding: 6px 12px; font-size: .92em; font-weight: 600; cursor: pointer; transition: background .15s;
}
.dah-toast-continue:hover { background: rgba(255,255,255,.26); }

/* Badge cu numar pe linkul de cos din header (increment 4, 2026-07-22). Linkul e un item de
   meniu WordPress obisnuit - badge-ul se insereaza in el via JS (updateCartBadge), nu exista
   markup PHP pentru asta. */
.dah-cart-badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 18px; height: 18px; padding: 0 5px; margin-left: 6px;
    background: var(--dah-accent); color: #fff; border-radius: 999px;
    font-size: .72em; font-weight: 700; line-height: 1; vertical-align: middle;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width: 860px) {
    .dah-vsel--chooser { grid-template-columns: 1fr 1fr; }
    .dah-vsel--chooser .dah-vsel-go { grid-column: 1 / -1; }
    .dah-cat-vbar-search { order: 3; }
    .dah-detail-top { grid-template-columns: 1fr; }
    .dah-detail-sections { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .dah-vsel--chooser { grid-template-columns: 1fr; }
    .dah-cat-cards { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
    .dah-cat-chooser { padding: 24px 16px; }
}
@media (max-width: 782px) {
    .dah-type-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .dah-hero { padding: 20px 16px 60px; }
    .dah-tile-icon { width: 54px; height: 54px; }
    .dah-vehicle-table th:nth-child(4),
    .dah-vehicle-table td:nth-child(4) { display: none; }
    .dah-articles-grid { grid-template-columns: 1fr 1fr; }
    .dah-list-wrap { max-height: 300px; }
    .dah-tab { padding: 10px 13px; font-size: .9em; }
    .dah-garage-view { margin-left: 0; }
    .dah-cat-section, .dah-trust-bar, .dah-brand-strip { margin: 36px auto; }
}
@media (max-width: 420px) {
    .dah-articles-grid { grid-template-columns: 1fr; }
    .dah-cat-grid { grid-template-columns: 1fr 1fr; }
    .dah-section-title { font-size: 1.35em; }
}

/* RESTILIZARE 2026-09-02 (reclamatie Alin: la fereastra desktop ingusta - ex. doua ferestre una
   langa alta, ~610px - butonul Cauta sarea pe rand separat si "chenarul se facea ca dracu",
   desi pe fereastra lata era pastila compacta; comparatia demo1/demo2 la latimi diferite a
   parut regresie de site). REGULA NOUA: pastila de cautare ramane IDENTICA (lupa + input +
   buton pe un singur rand) pe orice fereastra pana la 480px; stivuirea pe verticala - regulile
   de mai jos, mutate neschimbate din blocul 640px - ramane DOAR pentru telefoane reale, unde
   campul chiar nu incape (masurat 22-07: sub ~480px inputul scade sub 160px si placeholder-ul
   se taie). Istoricul regulilor (cererile Alin 24-07 si fixurile 27-08) e pastrat in comentarii. */
@media (max-width: 480px) {
    .dah-search-bar { flex-direction: column; }
    .dah-btn-primary { text-align: center; }
    /* Fix 2026-08-27 (a 2-a semnalare Alin, pe /piesa/ si /cauta-dupa-cod/): butonul Cauta al
    barei de cautare are padding vertical 0 (linia ~865) - pe desktop inaltimea vine din
    align-items:stretch pe rand, dar pe mobil coloana de mai sus schimba axa si butonul cade
    la inaltimea textului (turtit). min-height il aduce la aceeasi inaltime ca butonul din
    hero (fixul v1.59.1); distanta fata de input vine din gap:10px existent, nu din margin. */
    .dah-search-bar .dah-btn-primary { min-height: 46px; }
    /* Fix 2026-08-27 (raport Alin, screenshot mobil): pastila are overflow:hidden +
       border-radius:28px (linia ~261-262). Cand butonul Cauta trece pe rand 2 pe toata
       latimea, colturile de JOS ale pastilei ii "muscau" din colturi - pe stivuit pastila NU
       mai rotunjeste colturile de jos (butonul le rotunjeste). */
    .dah-hero-search { flex-wrap: wrap; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
    .dah-hero-search-ic { padding: 10px 8px 10px 14px; }
    /* Cerere Alin 24-07 (screenshot mobil): lupa + input raman IMPREUNA pe primul rand, doar
       butonul Cauta trece jos. */
    .dah-hero-search-input { flex: 1 1 0; min-width: 0; order: 0; }
    .dah-hero-search .dah-btn-primary { flex: 1 1 100%; order: 2; text-align: center; margin-top: 10px; min-height: 46px; }
}

/* ── Increment 1 portare: grila aerisita categorii pe DREAPTA (faza 1 + 2) ── */
.dah-catgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; align-items: start; }
.dah-catcard { background: #fff; border: 1px solid var(--dah-line); border-radius: 8px; padding: 0 14px; height: 50px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.dah-catcard:hover { border-color: var(--dah-accent); box-shadow: 0 4px 12px rgba(4,114,77,.08); }
.dah-catcard-title { font-size: var(--fs-3); font-weight: 600; color: var(--dah-navy); line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dah-catcard:hover .dah-catcard-title { color: var(--dah-accent); }
.dah-catcard-chev { color: var(--dah-accent); flex-shrink: 0; }
.dah-catcard-subs { list-style: none; margin: 0; padding: 0; }
.dah-catcard-subs:empty { display: none; }
.dah-catcard-subs li { font-size: .82em; color: #6b7178; padding: 3px 0; }
.dah-catcard-all { margin-top: 12px; font-size: .8em; font-weight: 600; color: var(--dah-accent); }
.dah-cat-allcats { display: inline-block; background: none; border: 0; color: var(--dah-accent); font-weight: 600; cursor: pointer; padding: 0; font-size: var(--fs-3); margin-bottom: 13px; }
.dah-cat-allcats:hover { text-decoration: none; opacity: .8; }
@media (max-width: 900px) { .dah-catgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .dah-catgrid { grid-template-columns: 1fr; } }

/* ── Increment 2 portare: randuri produs stil automobilus + filtre stanga (etichetele de sortare moarte scoase 06-10) ── */
.dah-prows { display: flex; flex-direction: column; gap: 12px; }
.dah-prow { background: #fff; border: 1px solid var(--dah-line); border-radius: var(--dah-radius-sm); padding: 15px; display: flex; gap: 16px; align-items: flex-start; }
.dah-prow:hover { border-color: #d6dadf; }
.dah-prow-img { width: 128px; height: 128px; flex: 0 0 128px; background: #fff; border: 1px solid var(--dah-line); border-radius: 7px; display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: pointer; }
.dah-prow-img img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 3px; }
.dah-prow-info { flex: 1; min-width: 0; }
.dah-prow-title { font-size: var(--fs-4); font-weight: 600; color: var(--dah-navy); cursor: pointer; }
.dah-prow-title:hover { color: var(--dah-accent); }
.dah-prow-mfr { font-size: var(--fs-2); color: #7a808a; margin-top: 5px; }
.dah-prow-mfr strong { color: var(--dah-navy); }
.dah-prow-av { display: flex; align-items: center; gap: 7px; margin: 7px 0 2px; font-size: var(--fs-2); color: #1a9d52; }
.dah-prow-av strong { color: #1a9d52; }
.dah-prow-dot { width: 14px; height: 14px; border-radius: 50%; background: #1a9d52; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; }
.dah-prow-liv { color: var(--dah-accent); text-decoration: underline; }
.dah-prow-specs { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 9px; padding-top: 9px; border-top: 1px solid #f1f2f4; align-items: baseline; }
.dah-prow-slbl { font-size: var(--fs-2); font-weight: 700; color: var(--dah-navy); width: 100%; }
.dah-prow-s { font-size: var(--fs-2); color: #7a808a; }
.dah-prow-s strong { color: var(--dah-navy); }
.dah-prow-buy { width: 180px; flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
/* Butoanele de actiune de pe card au ACEEASI geometrie, indiferent de stare (2026-07-20).
   Inainte, "Adauga in cos" (.dah-addcart) nu avea NICIO regula in plugin si il stiliza tema Astra,
   iar "Vezi pretul" (.dah-seepr) avea reguli proprii - de aici cele doua marimi complet diferite
   observate de Alin. Acum geometria e definita o singura data, in .dah-buybtn; clasele de stare
   schimba DOAR culoarea. !important e necesar ca Astra sa nu revina peste padding/font pe <button>
   (acelasi motiv pentru care exista deja override-uri anti-Astra in acest fisier). */
.dah-catalog-wrap .dah-buybtn,
.dah-hero .dah-buybtn,
.dah-buybtn {
    display: inline-block;
    width: 100%;
    max-width: 210px;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 7px !important;
    font-size: var(--fs-2) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
}
/* In stoc - actiunea principala. Verdele de brand (#04724d) e scris EXPLICIT, nu lasat pe seama
   temei: pana acum culoarea venea din Astra, deci se schimba odata cu tema. Nu e o alegere noua de
   design - e exact cum arata butonul azi, doar ca acum e a noastra. Paleta de brand ramane cea din
   memoria proiectului (brand-palette-digitalautohub). */
.dah-catalog-wrap .dah-addcart,
.dah-hero .dah-addcart,
.dah-addcart { background: #04724d !important; color: #fff !important; }
.dah-addcart:hover { background: #04583c !important; }
/* Starea "adaugat" (decizie Alin 2026-07-23, model standard Woo): butonul devine "Vezi cosul" -
   navy inchis, distinct de verdele de adaugare, ca sa se vada ca actiunea s-a schimbat. */
.dah-catalog-wrap .dah-viewcart,
.dah-hero .dah-viewcart,
.dah-viewcart { background: #16181d !important; color: #fff !important; }
.dah-viewcart:hover { background: #2a2e36 !important; }
/* Fara stoc dar CU pret cunoscut - piesa se aduce, deci cerere de piesa (decizie Alin 2026-07-20,
   varianta b; practica de retail ar fi "Anunta-ma cand e disponibil", dar la piese auto stocul 0
   inseamna "se comanda", nu "indisponibil" - vezi DECISIONS). */
/* Feedback Alin 2026-07-23 (noaptea): Solicita piesa NU mai e plin ca "Adauga in cos" -
   alb cu bordura verde (secundar), ca actiunea de cumparare directa sa ramana singura plina.
   Griul (ca bilele OFF din admin) respins de dirijor: in UI public ar citi "dezactivat". */
.dah-catalog-wrap .dah-askpart,
.dah-hero .dah-askpart,
.dah-askpart { background: #fff !important; color: var(--dah-accent) !important; box-shadow: inset 0 0 0 1px var(--dah-accent); }
.dah-askpart:hover { background: #f2f8f5 !important; }
/* Nicio oferta la niciun furnizor - "Cere oferta" (decizie Alin 2026-07-17 pct.5). Secundar. */
.dah-catalog-wrap .dah-askoffer,
.dah-hero .dah-askoffer,
.dah-askoffer { background: #fff !important; color: var(--dah-navy) !important; box-shadow: inset 0 0 0 1px #d5d9de; }
.dah-askoffer:hover { background: #f5f7f8 !important; }
/* "Intreaba pe WhatsApp" pe fisa piesei (v1.41.0) - secundar, aceeasi geometrie .dah-buybtn,
   outline verde brand ca .dah-askpart (nu #25D366 - aici ramane verdele de brand, exceptia
   #25D366 e rezervata DOAR butonului plutitor global, cerinta explicita Alin). */
.dah-detail-buy .dah-wa-ask,
.dah-wa-ask { background: #fff !important; color: var(--dah-accent) !important; box-shadow: inset 0 0 0 1px var(--dah-accent); text-decoration: none; }
.dah-wa-ask:hover { background: #f2f8f5 !important; }

/* Badge-ul de potrivire NU trebuie sa se intinda pe toata latimea (bug vazut de Alin 2026-07-20:
   "banda portocalie" in dreptul pieselor Echivalent). Cauza: .dah-prow-title poarta si clasa
   .dah-prod-open, iar aceea e "display:flex; flex-direction:column" (adaugata 2026-07-06 pentru
   caseta pozei). Titlul devenea container flex pe coloana, iar badge-ul, ca element flex, era
   intins de align-items:stretch. Titlul nu are nevoie de flex - il readucem la block. */
.dah-prow-title.dah-prod-open { display: block; }
.dah-prow-note { font-size: var(--fs-1); color: #b3b8be; text-align: right; max-width: 180px; }
.dah-prow-av--buy { margin: 10px 0 1px; justify-content: flex-end; }
.dah-prow-liv-row { font-size: var(--fs-1); color: var(--dah-muted); text-align: right; margin-bottom: 4px; }
.dah-prow-av--none { color: var(--dah-muted); }
.dah-prow-av--none .dah-prow-dot { background: #c9ced4; }
.dah-prow-av--out { color: #b3492f; }
.dah-prow-av--out .dah-prow-dot { background: #b3492f; }
.dah-prow-note--real { color: var(--dah-navy); font-weight: 700; font-size: var(--fs-2); }
.dah-detail-stock--none { color: var(--dah-muted); font-weight: 400; }
.dah-detail-price-real { font-weight: 700; color: var(--dah-navy); margin-top: 4px; }
/* filtre stanga (faza 3) */
.dah-cat-back2 { padding: 0 16px 10px; border-bottom: 1px solid var(--dah-line); margin-bottom: 8px; }
.dah-back-cats { background: none; border: 0; color: var(--dah-accent); font-weight: 600; cursor: pointer; padding: 6px 0; font-size: var(--fs-2); }
.dah-back-cats:hover { text-decoration: underline; }
.dah-pf-h { font-size: var(--fs-1); letter-spacing: .08em; font-weight: 700; color: var(--dah-navy); padding: 10px 16px 8px; }
.dah-pf { display: flex; align-items: center; gap: 9px; padding: 7px 16px; font-size: var(--fs-2); cursor: pointer; color: var(--dah-navy); }
.dah-pf:hover { background: #faf2f3; }
.dah-pf-box { width: 15px; height: 15px; border: 1.5px solid #c9ced4; border-radius: 4px; flex-shrink: 0; }
.dah-pf.is-on .dah-pf-box { background: var(--dah-accent); border-color: var(--dah-accent); }
.dah-pf-l { flex: 1; }
.dah-pf-c { color: var(--dah-muted); font-size: var(--fs-2); }
@media (max-width: 700px) { .dah-prow { flex-wrap: wrap; } .dah-prow-buy { width: 100%; align-items: flex-end; } .dah-prow-note { max-width: none; } }
/* v1.6.0 (feedback Alin pct.12) mutase stoc/livrare/pret in coloana din STANGA sub 520px.
   ANULAT 2026-08-27 (cerere Alin, defect 3): pretul trebuie sa ramana in dreapta, sub stoc si
   livrare, la fel ca pe desktop. align-items: flex-end de mai sus (in loc de stretch) acopera
   acum toate latimile mobile - fara coloana separata sub 520px. */

/* ── Increment 3 portare: Continut pachet + sectiuni cu dropdown (Echivalente / Compatibil cu) ── */
.dah-detail-pack { font-size: var(--fs-2); color: #5b626b; margin: 8px 0; padding: 8px 10px; background: #fafbfc; border: 1px solid var(--dah-line); border-radius: 7px; }
.dah-detail-pack .dah-pack-h { font-weight: 700; color: var(--dah-navy); }
.dah-detail-pack .dah-pack-d { color: var(--dah-muted); }
.dah-sec-sel { width: 100%; margin: 0 0 9px; padding: 7px 10px; font-size: var(--fs-2); border: 1px solid var(--dah-line); border-radius: 7px; background: #fff; color: var(--dah-navy); cursor: pointer; }
.dah-sec-sel:disabled { background: #f4f5f6; color: #aaa; cursor: not-allowed; }
.dah-sec-2sel { display: flex; gap: 8px; }
.dah-sec-2sel .dah-sec-sel { flex: 1; }
.dah-sec-list { display: flex; flex-direction: column; }
.dah-oe-row { display: flex; gap: 12px; font-size: var(--fs-2); padding: 5px 0; border-bottom: 1px dashed #eef0f2; }
.dah-oe-row .dah-oe-m { color: var(--dah-accent); font-weight: 700; min-width: 120px; flex-shrink: 0; }
.dah-oe-empty { color: #aaa; }
.dah-oe-more { margin-top: 8px; font-size: var(--fs-2); font-weight: 600; color: var(--dah-accent); cursor: pointer; text-align: center; padding: 6px; border-top: 1px solid var(--dah-line); }
.dah-oe-more:hover { background: #faf2f3; }

.dah-cat-h2 { margin: 0 0 14px; font-size: var(--fs-3); font-weight: 700; color: var(--dah-accent); }

/* === POZE PRODUS (increment 2) ===
   Doar clase noi, prefix .dah-photo-, aplicate DIN JS peste marcajul existent (.dah-prow-img img,
   .dah-detail-gallery) - regulile de mai sus raman neatinse. .dah-photo-real marcheaza o poza
   reala (in loc de placeholder); restul stilizeaza galeria de thumbnails din detaliul produsului. */
.dah-prow-img img.dah-photo-real { padding: 0; }
.dah-detail-gallery.dah-photo-gallery { flex-direction: column; gap: 12px; }
.dah-photo-thumbs { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.dah-photo-thumb {
    width: 56px;
    height: 56px;
    object-fit: contain;
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: 6px;
    padding: 3px;
    cursor: pointer;
    opacity: .7;
}
.dah-photo-thumb:hover { opacity: 1; }
.dah-photo-thumb.is-act { opacity: 1; border-color: var(--dah-accent); }

/* === FEEDBACK ALIN 2026-07-23 (noaptea, 3 puncte, dirijor direct) === */
/* 1. Starile de stoc DIFERITE: "In stoc" ramane verde; "Pe comanda" trece pe gri (ca textul de
   livrare de sub el) pe toate cele 3 variante de card. Pana acum bifa/textul ramaneau verzi pe
   "Pe comanda" (regula .dah-prow-av strong de la baza batea modificatorul --out). */
.dah-prow-av--out, .dah-prow-av--out strong { color: var(--dah-muted) !important; }
.dah-prow-av--out .dah-prow-dot { background: #c9ced4; }
.dah-article-av--out { color: var(--dah-muted); }
/* 2. Titlurile paginii de cautare erau imense: h1-ul temei ("Cauta dupa cod") + h1-ul de
   rezultate. :has() e ok (Chrome/FF/Safari il au din 2023). */
body:has(.dah-part-search-wrap) h1.entry-title { font-size: 24px; margin-bottom: 4px; }
.dah-search-h1 { font-size: 22px; font-weight: 700; margin: 4px 0 14px; }
/* 3. Formularul "Solicita piesa" (CF7) nu mai e lat cat ecranul - aliniat la latimea barei de
   cautare (640px, v0.80.1). Se aplica tuturor formularelor CF7 publice, uniform.
   Selectorul specific Astra (".entry-content[data-ast-blocks-layout] > .wpcf7", adaugat pe atunci
   ca sa bata specificitatea unei reguli inline a Astra) ELIMINAT 2026-07-24 (Incrementul 4,
   migrare GeneratePress) - confirmat mort la verificare live, GeneratePress nu adauga acel
   atribut. Selectorul generic "body .wpcf7" ramane si acopera cazul pe ambele teme. */
body .wpcf7 { max-width: 640px; }

/* === CATALOG UNIVERSALE SI ACCESORII (E3 increment 1, 2026-07-27) ===
   Foloseste variabilele existente (--dah-accent, --dah-muted, scara --fs-*), NU introduce alta
   paleta si alta scara de tipografie - regula de proiect: font unic + scara CSS, anti-curcubeu
   (memoria design-uniformizare-font-scara). Layout: 1/4 - 3/4 pe desktop, o coloana sub 900px. */
.dah-uni-wrap { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: start; }
@media (max-width: 900px) { .dah-uni-wrap { grid-template-columns: 1fr; } }

.dah-uni-side-title { font-size: var(--fs-5); font-weight: 700; margin: 0 0 10px; }
/* Feedback Alin 31-07: numele categoriei curente sus in sidebar, in chenarul verde (pana acum gol). */
.dah-uni-side-current { background: var(--dah-accent); color: #fff; padding: 8px 12px; border-radius: 5px; }
.dah-uni-zones, .dah-uni-subs { list-style: none; margin: 0; padding: 0; }
.dah-uni-zones > li > a { display: flex; justify-content: space-between; gap: 8px; padding: 7px 10px;
    font-size: var(--fs-4); color: inherit; text-decoration: none; border-radius: 4px; }
.dah-uni-zones > li > a:hover { background: #f1f3f5; }
.dah-uni-zones > li.is-active > a { background: var(--dah-accent); color: #fff; font-weight: 600; }
.dah-uni-count { font-size: var(--fs-2); opacity: .75; }
.dah-uni-subs { margin: 4px 0 8px 10px; border-left: 2px solid #e6e9ec; }
.dah-uni-subs > li > a { display: flex; justify-content: space-between; gap: 8px; padding: 5px 10px;
    font-size: var(--fs-3); color: var(--dah-muted); text-decoration: none; }
.dah-uni-subs > li.is-active > a { color: var(--dah-accent); font-weight: 600; }

.dah-uni-h1 { font-size: var(--fs-6); font-weight: 700; margin: 0 0 2px; }
.dah-uni-total { font-size: var(--fs-3); color: var(--dah-muted); margin: 0 0 14px; }
.dah-uni-empty { font-size: var(--fs-4); color: var(--dah-muted); }

.dah-uni-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.dah-uni-card { border: 1px solid #e6e9ec; border-radius: 6px; padding: 12px; background: #fff;
    display: flex; flex-direction: column; gap: 6px; }
.dah-uni-thumb { height: 140px; display: flex; align-items: center; justify-content: center; }
.dah-uni-thumb img { max-width: 100%; max-height: 140px; object-fit: contain; }
/* Fara poza: locul ei ramane rezervat, ca grila sa nu sara pe randuri mixte (98,5% au poza, dar
   sursele fara poze proprii - decizia de a nu importa poze Tradesoft - vor produce si carduri goale). */
.dah-uni-nophoto { width: 100%; height: 140px; background: #f5f6f7; border-radius: 4px; }
.dah-uni-name { font-size: var(--fs-4); font-weight: 600; margin: 0; line-height: 1.3; }
.dah-uni-meta { display: flex; flex-direction: column; gap: 1px; margin: 0; font-size: var(--fs-2);
    color: var(--dah-muted); }
.dah-uni-price { font-size: var(--fs-6); font-weight: 700; margin: 4px 0 0; }
.dah-uni-vat { font-size: var(--fs-1); font-weight: 400; color: var(--dah-muted); }
.dah-uni-stock { font-size: var(--fs-2); color: var(--dah-accent); margin: 0; }
.dah-uni-stock.is-order { color: var(--dah-muted); }
/* Starea "fara pret" (decizia Alin 2026-07-27): fisa tehnica + Cere oferta. Butonul refoloseste
   clasa .dah-askpart deja stilizata (alb cu bordura verde, feedback Alin 23-07), deci arata
   identic cu cel de pe piese - nu se inventeaza un al doilea stil de buton secundar. */
.dah-uni-noprice { font-size: var(--fs-4); font-weight: 600; color: var(--dah-muted); margin: 4px 0 0; }
.dah-uni-ask { display: inline-block; text-align: center; }
.dah-uni-buy { margin-top: auto; }

.dah-uni-pager { display: flex; align-items: center; gap: 14px; margin: 20px 0 0; font-size: var(--fs-4); }
.dah-uni-pageinfo { color: var(--dah-muted); }

/* FISA TEHNICA (2026-07-27, GO Alin "scotem la lumina ce avem"): pagina de produs care afiseaza
   descrierea in romana si atributele care stau deja in baza. Aceeasi scara de font si aceleasi
   variabile ca restul catalogului - fara paleta noua si fara componente noi. */
.dah-uni-card .dah-uni-thumb, .dah-uni-name a { text-decoration: none; color: inherit; }
.dah-uni-name a:hover { color: var(--dah-accent); }
.dah-uni-detail { max-width: 980px; }
.dah-uni-crumbs { font-size: var(--fs-2); color: var(--dah-muted); margin: 0 0 14px; }
.dah-uni-crumbs a { color: var(--dah-muted); text-decoration: none; }
.dah-uni-crumbs a:hover { color: var(--dah-accent); }
.dah-uni-crumbs span { margin: 0 6px; }
.dah-uni-detail-top { display: grid; grid-template-columns: 320px 1fr; gap: 28px; align-items: start; }
.dah-uni-detail-photo { display: flex; align-items: center; justify-content: center;
    min-height: 260px; border: 1px solid #e6e8ea; border-radius: 6px; padding: 12px; }
.dah-uni-detail-photo img { max-width: 100%; max-height: 320px; object-fit: contain; }
.dah-uni-detail-title { font-size: var(--fs-6); font-weight: 700; margin: 0 0 6px; line-height: 1.25; }
.dah-uni-detail-buy .dah-uni-buy { margin-top: 12px; }
.dah-uni-specs { margin: 28px 0 0; }
.dah-uni-specs h2, .dah-uni-desc h2 { font-size: var(--fs-5); font-weight: 600; margin: 0 0 10px; }
.dah-uni-specs table { border-collapse: collapse; width: 100%; max-width: 560px; font-size: var(--fs-3); }
.dah-uni-specs th { text-align: left; font-weight: 500; color: var(--dah-muted); width: 40%;
    padding: 7px 10px; border-bottom: 1px solid #eceef0; }
.dah-uni-specs td { padding: 7px 10px; border-bottom: 1px solid #eceef0; }
.dah-uni-desc { margin: 28px 0 0; font-size: var(--fs-3); line-height: 1.6; }
.dah-uni-desc p { margin: 0 0 10px; }
.dah-uni-back { margin: 24px 0 0; font-size: var(--fs-3); }
@media (max-width: 700px) {
    .dah-uni-detail-top { grid-template-columns: 1fr; }
}

/* === Filtre catalog universale - redesign v1.6.0 (feedback Alin 29-07) ===
   Refoloseste .dah-cat-side/.dah-back-cats (catalogul TecDoc de piese, linia ~1270 din acest
   fisier) ca sa arate consecvent - acelasi limbaj vizual, nu unul nou. Paleta brandului, fara rosu. */
.dah-uni-side.dah-cat-side { position: static; width: auto; max-height: none; overflow: visible; padding: 0; border-right: 0; }

/* CORECTIE 2026-07-31 (feedback Alin): chenarul verde NU pe blocul intreg (dubla incadrare
   urata cu casetele grupurilor) - wrap-ul revine la separatorul discret de dinainte, iar
   VERDELE merge pe fiecare grup de filtru (regula .dah-uni-filter-group de mai jos). */
.dah-uni-filters-wrap { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--dah-line); }
.dah-uni-filter-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.dah-uni-filter-top .dah-uni-side-title { margin: 0; }
.dah-uni-filter-actions { display: flex; align-items: center; gap: 12px; }
.dah-uni-filter-apply { padding: 6px 16px; font-size: var(--fs-2); }
.dah-uni-filter-reset { font-size: var(--fs-2); color: var(--dah-muted); text-decoration: underline; }
.dah-uni-filter-reset:hover { color: var(--dah-accent); }

/* Chip-uri cu filtrele active */
.dah-uni-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; padding: 0; }
.dah-uni-chip {
    display: flex; align-items: center; gap: 6px; background: var(--dah-accent-soft); color: var(--dah-accent);
    border-radius: 20px; padding: 4px 6px 4px 12px; font-size: var(--fs-1); font-weight: 600;
}
.dah-uni-chip-x {
    display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px;
    border-radius: 50%; background: rgba(255,255,255,.6); color: var(--dah-accent); text-decoration: none;
    font-size: 13px; line-height: 1;
}
.dah-uni-chip-x:hover { background: #fff; }

/* Fiecare grup = un bloc acordeon (details/summary), unul sub altul, latime egala */
/* 2026-07-31 (cererea reala Alin): chenar VERDE pe fiecare caseta de grup (Vascozitate, Marca...). */
.dah-uni-filter-group { border: 1px solid var(--dah-accent); border-radius: 7px; margin-bottom: 8px; background: #fff; }
.dah-uni-filter-group + .dah-uni-filter-group { margin-top: 0; }
/* Etichete grup mai vizibile (feedback Alin 31-07): bold + o treapta mai mari (fs-3 -> fs-4);
   optiunile de sub ele NU se ating. */
.dah-uni-filter-summary {
    list-style: none; cursor: pointer; padding: 9px 12px; font-size: var(--fs-4); font-weight: 700;
    color: var(--dah-navy); display: flex; align-items: center; gap: 6px; user-select: none;
}
.dah-uni-filter-summary::-webkit-details-marker { display: none; }
.dah-uni-filter-summary::before {
    content: ''; width: 0; height: 0; flex-shrink: 0;
    border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 5px solid #b0b0b0;
    transition: transform .15s;
}
.dah-uni-filter-group[open] > .dah-uni-filter-summary::before { transform: rotate(90deg); }
.dah-uni-filter-summary-n { color: var(--dah-muted); font-weight: 400; font-size: var(--fs-1); }
.dah-uni-filter-body { padding: 0 12px 10px; }
.dah-uni-filter-search {
    /* box-sizing explicit (fix 2026-07-31, feedback Alin): fara el width:100% + padding
       iesea in dreapta peste chenarul grupului - regula veche de box-sizing a pluginului
       nu acoperea containerul universalelor (acelasi tipar ca la variabilele de culoare). */
    box-sizing: border-box;
    width: 100%; border: 1px solid var(--dah-line); border-radius: 6px; padding: 6px 9px;
    font-size: var(--fs-2); outline: none; margin-bottom: 6px;
}
.dah-uni-filter-search:focus { border-color: var(--dah-accent); }
.dah-uni-filter-list { max-height: 220px; overflow-y: auto; display: flex; flex-direction: column; gap: 1px; }
.dah-uni-filter-opt {
    display: flex; align-items: center; gap: 8px; padding: 5px 4px; font-size: var(--fs-2);
    color: var(--dah-ink); cursor: pointer; border-radius: 4px;
}
.dah-uni-filter-opt:hover { background: #f5f7f8; }
.dah-uni-filter-opt input[type="checkbox"] { flex-shrink: 0; margin: 0; }
.dah-uni-filter-opt-label { flex: 1; line-height: 1.3; }
.dah-uni-filter-n { color: var(--dah-muted); font-size: var(--fs-1); flex-shrink: 0; }
