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

.dah-selector-wrap,
.dah-part-search-wrap,
.dah-hero,
.dah-cat-section,
.dah-trust-bar,
.dah-brand-strip {
    --dah-navy: #15181c;        /* dark (negru-gri) — sectiuni inchise, text titluri */
    --dah-navy-2: #232a31;      /* dark mai deschis — gradient */
    --dah-accent: #04724d;      /* verde brand digitalautohub.ro (--nv-primary-accent) */
    --dah-accent-2: #04583c;    /* verde hover (--nv-secondary-accent) */
    --dah-accent-soft: #e4f0ea; /* verde foarte deschis — fundal iconite */
    --dah-ink: #2c2c2c;         /* text digitalautohub.ro (--nv-text-color) */
    --dah-muted: #6b7682;
    --dah-line: #e6eaee;
    --dah-soft: #f5f7f8;
    --dah-radius: 14px;
    --dah-radius-sm: 9px;
    --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-trust-bar *,
.dah-brand-strip * { box-sizing: border-box; }

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

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

/* 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)
   ========================================================== */

.dah-hero {
    position: relative;
    overflow: hidden;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 64px 20px 84px;
    background:
        radial-gradient(120% 120% at 85% 10%, rgba(4,114,77,.30) 0%, rgba(4,114,77,0) 45%),
        linear-gradient(135deg, #101317 0%, #15181c 45%, #20272d 100%);
    color: #fff;
}
.dah-hero-decor {
    position: absolute;
    right: -90px;
    bottom: -120px;
    color: #ffffff;
    opacity: .05;
    pointer-events: none;
    line-height: 0;
}
.dah-hero-decor-ic { display: block; }

.dah-hero-inner {
    position: relative;
    max-width: 860px;
    margin: 0 auto;
    text-align: center;
    z-index: 1;
}
.dah-hero-title {
    font-size: clamp(1.7em, 4vw, 2.6em);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.12;
    margin: 0 0 10px;
    color: #fff;
}
.dah-hero-sub {
    font-size: 1.05em;
    opacity: .82;
    margin: 0 0 30px;
    font-weight: 400;
}

.dah-hero-card {
    background: #fff;
    border-radius: var(--dah-radius);
    padding: 22px 22px 26px;
    box-shadow: var(--dah-shadow-lg);
    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 {
    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); }

/* 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) */
.dah-hero-search {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1.5px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    overflow: hidden;
    background: #fff;
    transition: border-color .15s, box-shadow .15s;
}
.dah-hero-search:focus-within { border-color: var(--dah-accent); box-shadow: 0 0 0 3px var(--dah-accent-soft); }
.dah-hero-search-ic { display: flex; align-items: center; padding: 0 8px 0 14px; color: var(--dah-muted); }
.dah-hero-search-input {
    flex: 1;
    border: none !important;
    outline: none;
    padding: 14px 12px;
    font-size: 1.02em;
    background: transparent;
    box-shadow: none !important;
}
.dah-hero-search .dah-btn-primary { border-radius: 0; margin: 0; }

/* 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);
}

/* Selector orizontal */
.dah-vsel {
    display: flex;
    gap: 8px;
    align-items: stretch;
    flex-wrap: wrap;
}
.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;
    min-width: 130px;
    padding: 11px 13px;
    border: 1.5px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    font-size: .92em;
    background: #fff;
    color: var(--dah-ink);
    cursor: pointer;
    transition: border-color .15s;
}
.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: var(--dah-soft); color: var(--dah-muted); cursor: not-allowed; }
.dah-vsel-go { flex-shrink: 0; }
.dah-vsel-go:disabled { background: #c4ccc8; cursor: not-allowed; transform: none; }

/* 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; }

/* 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
   ========================================================== */

.dah-part-search-wrap { max-width: 920px; margin: 0 auto; }
.dah-search-bar { display: flex; gap: 10px; margin-bottom: 8px; }
.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); }
.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; }

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

.dah-cat-section { max-width: 1080px; margin: 56px auto; padding: 0 20px; }
.dah-cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
}
.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: 64px; height: 64px;
    border-radius: 16px;
    background: var(--dah-soft);
    color: var(--dah-navy);
    transition: background .15s, color .15s;
}
.dah-cat-tile:hover .dah-cat-icon { background: var(--dah-accent-soft); color: var(--dah-accent); }
.dah-cat-name { font-size: .92em; font-weight: 600; text-align: center; }

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

.dah-trust-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 18px;
    max-width: 1080px;
    margin: 48px auto;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius);
    box-shadow: var(--dah-shadow);
}
.dah-trust-item { display: flex; align-items: center; gap: 14px; }
.dah-trust-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px; height: 48px;
    border-radius: 50%;
    background: var(--dah-accent-soft);
    color: var(--dah-accent);
    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
   ========================================================== */

.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;
}
.dah-brand-chip {
    padding: 12px 24px;
    border: 1px solid var(--dah-line);
    border-radius: var(--dah-radius-sm);
    background: #fff;
    font-weight: 800;
    color: var(--dah-navy);
    letter-spacing: .03em;
    font-size: .92em;
    transition: border-color .15s, color .15s, transform .15s;
}
.dah-brand-chip:hover { border-color: var(--dah-accent); color: var(--dah-accent); transform: translateY(-2px); }

/* ==========================================================
   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; }

/* ==========================================================
   ASTRA: pe homepage ascundem titlul paginii "Acasa"
   ========================================================== */
.home .entry-title,
.page-template-default.home .ast-article-single > .entry-header { display: none; }

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width: 782px) {
    .dah-type-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .dah-hero { padding: 44px 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-search-bar { flex-direction: column; }
    .dah-btn-primary { text-align: center; }
    .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; }
}
