/*
Theme Name: GeneratePress Child - Digital Autohub
Theme URI: https://digitalautohub.ro
Description: Tema copil GeneratePress pentru demo TecDoc Digital Autohub. Port 1:1 din astra-child (migrare 2026-07-24: bug-uri arhitecturale repetate in Header Builder Astra, elementele injectate se ancorau la varful paginii in loc de randul header-ului). Ajustari header/footer + neutralizare stilizare agresiva Astra ramasa in zona catalogului (de reverificat pe GP).
Author: Digital Autohub
Template: generatepress
Version: 1.6.16
Text Domain: generatepress-child
*/

/* ===== Polish vizual INC1 (2026-07-24, GO Alin) - fundatia globala =====
   Audit live pe stiluri computate: GeneratePress ruleaza pe default-urile lui, nu pe ce dadea
   Astra prin Customizer. Suprascriem variabilele CSS documentate GP (Global Colors) + tipografia
   pe paleta brand si scara de font a proiectului (--fs-0..6 = 10..18px, body 14px = --fs-4).
   Fontul NU se schimba: stack-ul de sistem GP e identic cu --font din mockup-urile aprobate. */
:root {
  --accent: #04724d;      /* era albastrul default GP #1e73be */
  --contrast: #2c2c2c;    /* text brand, era #222222 */
  --base-2: #ffffff;      /* fondul body GP era gri #f7f8f9 */
}
body {
  background-color: #fff;
  color: #2c2c2c;
  font-size: 14px;
  line-height: 1.6;
}
.entry-content a:not(.button):not(.dah-allcat-btn),
.site-content a:not(.button) {
  color: #04724d;
}
/* Exceptie (24-07 seara, screenshot Alin): chips-urile "Cautari populare" din hero au hover
   verde cu text ALB in plugin, dar regula generala de mai sus are aceeasi specificitate si
   se incarca dupa - textul devenea verde pe fond verde (chip plin, ilizibil). Specificitate
   marita aici ca sa castige starea corecta. */
.entry-content .dah-hero-suggest a:not(.button),
.site-content .dah-hero-suggest a:not(.button),
.entry-content .dah-hero-suggest button.dah-hero-suggest-chip,
.site-content .dah-hero-suggest button.dah-hero-suggest-chip {
  color: #4a5158;
  text-decoration: none;
}
.entry-content .dah-hero-suggest a:not(.button):hover,
.site-content .dah-hero-suggest a:not(.button):hover,
.entry-content .dah-hero-suggest button.dah-hero-suggest-chip:hover,
.site-content .dah-hero-suggest button.dah-hero-suggest-chip:hover {
  color: #fff;
  text-decoration: none;
}
h1, h2, h3 { color: #15181c; font-weight: 700; }
h1 { font-size: 24px; }
h2 { font-size: 20px; }
h3 { font-size: 16px; }

/* ===== HEADER compact =====
   ELIMINAT fata de astra-child (nu inventat): selectoarele Astra de mai jos tinteau randul
   principal NATIV al Astra (.main-header-bar, .ast-primary-header-bar .main-header-bar,
   .site-logo-img img) - un rand care era deja dezactivat complet in astra-child prin
   astra_main_header_display=disabled, deci aceste reguli erau cod mort acolo. In GeneratePress
   randul nativ <header id="masthead"> nu se mai randeaza deloc (vezi functions.php,
   remove_action pe generate_header), deci nu exista echivalent de portat - acelasi cod mort,
   de data asta pur si simplu omis. Logo-ul vizibil e cel din .dah-logo mai jos (max-height:48px,
   deja definit acolo), identic ca inainte. */

/* ===== Header propriu (2026-07-24, inlocuieste header-ul nativ) =====
   Astra: #masthead ramanea in DOM (gol) si trebuia ascuns cu display:none!important.
   GeneratePress: remove_action('generate_header','generate_construct_header') in functions.php
   scoate complet callback-ul care ar fi randat <header id="masthead">...</header> - elementul
   nu mai apare deloc in DOM, deci hack-ul CSS de ascundere NU mai e necesar (eliminat aici,
   nu doar comentat). Linia-accent gradient + sticky + umbra raman pe .dah-own-header, neschimbat. */

.dah-own-header {
  background: #fff;
  border-bottom: 3px solid #04724d;
  position: sticky;
  top: 0;
  z-index: 50;
  box-shadow: 0 2px 14px rgba(13, 36, 56, .05);
}
.dah-own-header::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, #04724d 0%, #0aa06c 45%, #15181c 100%);
}
.dah-own-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.dah-logo { display: flex; align-items: center; flex-shrink: 0; gap: 12px; }
/* Titlu + slogan langa logo (24-07) - vizibile doar daca nu-s bifate "Ascunde..." in Customizer. */
.dah-site-branding { display: flex; flex-direction: column; line-height: 1.25; }
.dah-site-branding .dah-site-title a { font-size: 16px; font-weight: 800; color: #15181c; text-decoration: none; }
.dah-site-branding .dah-site-tagline { font-size: 11px; color: #8a8f97; }
@media (max-width: 560px) { .dah-site-branding { display: none; } }
.dah-logo img { max-height: 48px; width: auto; display: block; }
.dah-own-header-spacer { flex: 1; }

/* ===== Pagina WooCommerce Coming Soon =====
   Template propriu in coming-soon.php: nu folosim patternul implicit Woo, care seteaza
   logo-ul la 60px si afiseaza linkuri social placeholder. */
.dah-coming-soon {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  border-top: 3px solid #04724d;
  background: #fff;
  color: #15181c;
}
.wp-block-woocommerce-coming-soon .dah-coming-soon__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px clamp(20px, 4vw, 64px) 16px;
  border-bottom: 3px solid #04724d !important;
  box-shadow: 0 2px 14px rgba(13, 36, 56, .05);
}
.dah-coming-soon__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.dah-coming-soon__brand .custom-logo-link { display: block; flex: 0 0 auto; line-height: 0; }
.dah-coming-soon__brand .custom-logo {
  display: block;
  width: 250px;
  max-width: 38vw;
  height: auto;
}
/* 2026-09-22 (cerere directa Alin, "eliminare de pe ambele"): titlul site-ului a fost SCOS de sub
   logo din `templates/coming-soon.html` (blocul wp:site-title), deci regulile `.dah-coming-soon__site-name`
   de aici si din media query nu mai au obiect si au fost sterse odata cu el.
   ISTORIC, ca sa nu se reia munca: pe 2026-08-20 (GO Alin) acelasi element a fost REPARAT, nu scos -
   statea impins cu pixeli ficsi peste logo; reparatia si-a facut treaba, dar azi titlul nu se mai
   afiseaza deloc. Numele site-ului (`blogname`) NU a fost atins: el ramane in titlul din tab, pe
   emailuri si pe documente. */
.dah-coming-soon__login {
  flex: 0 0 auto;
  padding: 12px 16px;
  border-radius: 6px;
  background: #000;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
.dah-coming-soon__login:hover,
.dah-coming-soon__login:focus { background: #222; color: #fff; }
.dah-coming-soon__content {
  flex: 1;
  display: grid;
  place-items: center;
  padding: 48px 24px 112px;
  background: linear-gradient(180deg, #fff 0%, #f4faf7 100%);
  text-align: center;
}
.dah-coming-soon__content h1 {
  margin: 8px 0 0;
  color: #15181c;
  font-family: inherit;
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.2;
}
.dah-coming-soon__eyebrow {
  margin: 0;
  color: #04724d;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .14em;
}
.dah-coming-soon__description {
  max-width: 580px;
  margin: 18px auto 0;
  color: #59636e;
  font-size: 18px;
  line-height: 1.55;
}
@media (max-width: 560px) {
  .dah-coming-soon__header { padding: 18px 16px 12px; gap: 12px; }
  .dah-coming-soon__brand { gap: 3px; }
  .dah-coming-soon__brand .custom-logo { width: 145px; max-width: 46vw; }
  .dah-coming-soon__login { padding: 10px 12px; font-size: 13px; }
}

/* ===== Topbar utilitar (injectat din functions.php pe generate_before_header) ===== */
.dah-topbar {
  background: #15181c;
  color: #c7ccd1;
  font-size: 12px;
  line-height: 1;
}
.dah-topbar .dah-topbar-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.dah-topbar-left, .dah-topbar-right { display: flex; align-items: center; gap: 16px; }
.dah-topbar a { color: #c7ccd1; text-decoration: none; transition: color .15s; }
.dah-topbar a:hover { color: #fff; }
.dah-topbar-right span { color: #8a9099; }

/* ===== Bara de categorii (injectata din functions.php pe generate_after_header) ===== */
.dah-catbar { background: #15181c; color: #fff; }
.dah-catbar .dah-catbar-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 54px;
}
.dah-allcat-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #04724d;
  color: #fff;
  height: 38px;
  padding: 0 18px;
  flex-shrink: 0;
  white-space: nowrap;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2px;
  text-decoration: none;
  transition: background .15s;
}
.dah-allcat-btn:hover { background: #04583c; color: #fff; }
.dah-catbar-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 8px;
  overflow-x: auto;
  /* Fix mobil (2026-07-30, bug raportat Alin: "partea de jos a meniului intra in marginea
     ecranului"): .dah-catbar-nav e copil flex si are implicit min-width:auto = latimea
     continutului (linkuri white-space:nowrap). Pe telefon nav-ul NU se putea strange sub
     continut, deci overflow-x:auto nu se activa niciodata - intregul rand iesea din viewport
     si era taiat de overflow-x:clip de pe html/body (linkurile intrau in marginea ecranului).
     min-width:0 e fixul de fond: nav-ul se strange la spatiul ramas si scrolleaza intern. */
  min-width: 0;
}
.dah-catbar-nav a {
  padding: 0 14px;
  height: 54px;
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  color: #d4d8dd;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
  white-space: nowrap;
}
.dah-catbar-nav a:hover { color: #fff; border-color: #04724d; }
.dah-catbar-nav a.dah-demo { color: #8a9099; }

@media (max-width: 760px) {
  .dah-topbar-left a:not(:first-child) { display: none; }
  /* Varianta cu meniu WP (INC1): ancorele stau fiecare in <li> propriu, deci :not(:first-child)
     pe <a> nu mai ascunde nimic - regula se aplica pe <li>. */
  .dah-topbar-menu li:not(:first-child) { display: none; }
  .dah-catbar-nav a.dah-demo { display: none; }
}

/* ===== Header-actions (Contul meu / Cos cumparaturi), injectate din functions.php in
   .dah-own-header-inner (element NORMAL in randul flex, nu position:absolute).
   Stiluri h-btn/cart-badge preluate identic din astra-child. */
.dah-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.dah-header-actions .h-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  color: #2c2c2c;
  position: relative;
  text-decoration: none;
}
.dah-header-actions .h-btn:hover { background: #f5f7f8; }
.dah-header-actions .h-btn svg { width: 22px; height: 22px; stroke: #15181c; fill: none; stroke-width: 1.7; flex-shrink: 0; }
.dah-header-actions .h-btn span { display: flex; flex-direction: column; line-height: 1.2; }
.dah-header-actions .h-btn small { font-size: 10px; color: #8a8f97; font-weight: 500; }
.dah-header-actions .h-btn strong { font-size: 13px; font-weight: 700; }
.dah-cart-badge {
  position: absolute;
  top: 2px;
  left: 22px;
  background: #04724d;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
}
@media (max-width: 900px) {
  .dah-header-actions .h-btn span { display: none; }
}

/* ===== FOOTER compact =====
   ELIMINAT fata de astra-child (nu inventat): .footer-adv/.footer-adv-overlay/.ast-small-footer
   sunt selectoare specifice markup-ului de footer Astra, fara echivalent GeneratePress verificat.
   Compactarea footerului GP (daca se mai doreste) se face din Customizer (Appearance > Customize
   > Footer) sau dupa identificarea claselor reale din markup-ul GP la verificare live - nu ghicit
   aici. Textul de copyright in sine e tratat separat mai jos / in functions.php. */

/* ===== NEUTRALIZARE stilizare agresiva Astra in zona catalogului =====
   Astra stilizeaza global <button> si <table>; catalogul are stilurile proprii.
   Copiat NESCHIMBAT (clase proprii .dah-*, nu Astra) - ramane pana la verificare live pe
   GeneratePress (posibil inutil, GP nu impune stiluri globale agresive pe button/table). */
.dah-catalog-wrap button,
.dah-catalog-wrap .button,
.dah-detail button,
.dah-hero button {
  font-family: inherit;
  line-height: normal;
  letter-spacing: normal;
  text-transform: none;
  box-shadow: none;
}
.dah-catalog-wrap table,
.dah-catalog-wrap th,
.dah-catalog-wrap td,
.dah-detail table,
.dah-detail th,
.dah-detail td {
  background: none !important;
  border: 0;
}
/* Astra adauga uneori margini/padding pe tabelele din content */
.dah-catalog-wrap table { margin: 0; }

/* ===== Polish vizual INC2 (2026-07-24, GO Alin) - footer dark + butoane WooCommerce =====
   Selectori din DOM-ul real live demo1: footer GP = .site-footer > footer.site-info >
   .inside-site-info.grid-container > .copyright-bar. Cosul/checkout-ul Woo sunt pe BLOCURI
   (wc-block) - butonul primar avea default-ul wp-block gri #32373c cu textul mostenit verde
   (ilizibil). Butoanele comerciale = VERDE AUTOHUB #04724d/#04583c (dah-tecdoc.css:22,
   aliniat cu .dah-addcart). */
/* Culorile barei de copyright: administrate din Personalizare > Culori > Footer
   (restaurare 24-07 seara) - aici raman doar spatierea si marimea textului. */
.site-footer .inside-site-info {
  padding: 16px 20px;
}
.site-footer .copyright-bar {
  font-size: 12px;
  /* ancora pentru creditul asezat la dreapta (vezi .ah-footer-credit) */
  position: relative;
  /* CAUZA MASURATA a suprapunerii din prima varianta (reclamatie Alin, randare pe demo1):
     .inside-site-info e FLEX cu justify-content:center, iar .copyright-bar era element flex
     dimensionat pe continut - masurat 331px din 1104. Deci "right:0" cadea la 351px, adica
     exact peste iconitele social. Cu latimea intreaga, dreapta devine dreapta reala. */
  flex: 1 1 100%;
  width: 100%;
}

/* ===== Iconite social media footer (2026-08-20, GO Alin optiunea A; mutate 2026-08-22) =====
   Identice cu digitalautohub.ro. Randate din functions.php in callback-ul generate_copyright,
   imediat dupa textul de copyright (ECHO in acelasi callback - vezi comentariul din functions.php,
   nu exista hook oficial "dupa copyright"), deci ajung in .copyright-bar, sub text, centrate,
   cu o mica margine sus. Flow normal (static), fara position absolute/fixed. */
/* D-91 (2026-09-03): linkurile catre paginile de conditii demonstrative, deasupra barei de
   copyright (vezi generate_copyright din functions.php). */
/* Aliniat la STANGA (cerere Alin 06-09 seara, dupa verificare in browser): copyrightul porneste
   pe aceeasi verticala cu prima iconita social si cu randul juridic de dedesubt. Era 'center',
   ceea ce il lasa dezaliniat fata de cele doua blocuri de sub el. */
.ah-footer-bottom { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 6px 16px; }
.ah-footer-copy { font-size: .9em; }
/* CREDITUL DE AUTOR: stilul copiaza sursa de pe digitalautohub.ro - subliniat, fara bold,
   opacitate .85. */
/* Asezare: DREAPTA barei, centrat pe verticala fata de tot blocul (copyright + iconite +
   randul juridic) - cerinta Alin: "in dreapta poate sa fie in partea de jos sau centrat la
   mijloc dar in partea dreapta se duce". Ancora e .copyright-bar, facuta position:relative
   mai jos. Sub 900px devine STATIC si trece pe randul lui, ca sa nu se suprapuna peste
   linkurile juridice - exact defectul aparut pe digitalautohub.ro in august, unde creditul
   era absolut fara plasa (DEVELOPMENT/DECISIONS.md 2026-08-20 14:13). */
/* CORECTIE 2026-09-08 (a doua reclamatie de randare a lui Alin): centrat pe verticala, creditul
   ateriza PESTE butonul "inapoi sus". Masurat in pagina, cu fereastra derulata la subsol:
   butonul e FIXED la x 1034..1074 / y 1215..1255, iar creditul era la 947..1084 / 1212..1232 -
   suprapunere pe ambele axe. Cererea lui: "pune-l jos pe aceeasi linie cu Termeni & Conditii".
   DECI: bottom:0 il aliniaza exact cu randul juridic (ambele se termina la marginea de jos a
   barei), iar right:60px il tine la stanga celor doua butoane plutitoare (inapoi-sus 40px si
   WhatsApp 56px, amandoua lipite de marginea dreapta) - 10px joc fata de cel mai lat. */
.ah-footer-credit { position: absolute; right: 60px; bottom: 0; font-size: .9em; opacity: .85; white-space: nowrap; }
.ah-footer-credit a { color: inherit; text-decoration: underline; }
@media (max-width: 900px) {
  /* CAUZA MASURATA (reclamatie Alin "la mobil se duce aiurea in stanga", 2026-09-08): bara de
     copyright mosteneste text-align:center din setarile temei, iar celelalte blocuri (copyright,
     iconite, rand juridic) sunt flex cu justify-content:flex-start, deci nu sunt afectate.
     Creditul, fiind un span simplu pe display:block, urma centrarea si aparea indentat fata de
     tot restul. Aliniere explicita la stanga, ca sa porneasca de pe aceeasi verticala cu ele. */
  .ah-footer-credit { position: static; display: block; margin-top: 10px; text-align: left; }
}

/* ===== SUBSOL INCHIS LA CULOARE, ca pe digitalautohub.ro (2026-09-08, decizia B a lui Alin:
   "tot subsolul inchis la culoare ca la digitalautohub.ro") =====
   CULOAREA e citita din DOM-ul live al lui digitalautohub.ro, nu aleasa de mine: bara de jos
   acolo are background rgb(13,24,33) = #15181c, text alb, linkuri albe subliniate.
   DE CE AICI SI NU IN CUSTOMIZER: culorile subsolului veneau pana acum din Personalizare >
   Culori > Footer (vezi comentariul de mai sus, restaurare 24-07), adica din baza de date -
   deci NU s-ar fi propagat la o instalare noua de client, care e chiar scopul demo1. Puse in
   tema, merg cu produsul. Specificitatea e ridicata deliberat (body .site-footer ...) ca sa
   bata CSS-ul inline generat de GeneratePress din setarile Customizerului, FARA !important -
   regulile globale cu !important au produs bila rosie din 30-07 pe butoane.
   NEATINSE: dimensiunile textului, geometria coloanelor si verdele AUTOHUB al iconitelor. */
/* CORECTIE 2026-09-08, reclamatie Alin pe randare: "ai facut negru tot footerul nu doar zona de
   copyright". Prima varianta innegrea SI coloanele de widgeturi (#footer-widgets). Acum se
   inchide DOAR bara de jos (.site-info, adica zona copyright + iconite + randul juridic);
   coloanele raman exact cum erau. */
body .site-footer .site-info {
  background-color: #15181c;
  color: #FFFFFF;
  border-top-color: rgba(255, 255, 255, .25);
}
body .site-footer .site-info a,
body .site-footer .copyright-bar,
body .site-footer .copyright-bar a {
  color: #FFFFFF;
}
/* Linia verde de brand de deasupra coloanelor ramane - e semnatura AUTOHUB, se vede mai bine
   pe fond inchis decat pe gri. */
/* D-11 (06-09, corectat seara dupa verificarea lui Alin in browser): randul juridic sta SUB
   blocul de iconite social, ca pe digitalautohub.ro - nu langa copyright, cum era prima varianta.
   Aliniat la stanga, ca .ah-footer-social de sub care vine, si cu aceeasi margine de sus. */
.ah-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 6px 16px; margin-top: 10px; font-size: .9em; }
.ah-footer-links a { color: inherit; text-decoration: none; }
.ah-footer-links a:hover { text-decoration: underline; }
.ah-footer-social { display: flex; align-items: center; justify-content: flex-start; flex-wrap: nowrap; gap: 10px; margin-top: 10px; margin-bottom: 0; }
.ah-footer-social a { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: #04724d; display: flex; align-items: center; justify-content: center; transition: background .25s, transform .25s; }
.ah-footer-social a:hover { background: #04583c; transform: translateY(-2px); }
.ah-footer-social svg { width: 16px; height: 16px; fill: #fff; display: block; }
/* Link "AUTOHUB" din textul de copyright: culoare mostenita, fara underline, underline la hover
   (cerere Alin 2026-08-22). */
.site-footer .copyright-bar a { color: inherit; text-decoration: none; }
.site-footer .copyright-bar a:hover { text-decoration: underline; }
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background-color: #04724d;
  color: #fff;
  border-radius: 6px;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-components-button:not(.is-link):focus {
  background-color: #04583c;
  color: #fff;
}
/* ===== Izolare blocuri Woo (cos + checkout) de stilurile globale GeneratePress =====
   (2026-07-30, a DOUA semnalare Alin - pe PC; inlocuieste peticul de dimineata pe
   .wc-block-components-quantity-selector, care era carpeala pe UN selector, nu fix de fond.)

   AUDIT LA SURSA (reguli citite din fisierele reale servite pe demo1):
   - generatepress/assets/css/main.min.css (parinte, minificat - regulile citate ca text):
     (G1) input[type=email],input[type=number],...,select,textarea
          { border:1px solid; border-radius:0; padding:10px 15px; max-width:100% }
     (G2) button,input[type=button],input[type=reset],input[type=submit]
          { background:#55555e; color:#fff; border:1px solid transparent; padding:10px 20px }
     (G3) body,button,input,select,textarea { font-size:17px; line-height:1.5 }
   - woocommerce/assets/client/blocks/cart.css (stilurile blocului):
     inputul de cantitate isi declara border/background/font-size cu specificitate de clasa
     (castiga pe G1/G3 acolo), DAR padding-ul lui e declarat DOAR prin
     :where(.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input)
     { padding:.4em 0 } - :where() are specificitate ZERO, deci G1 (0-1-0) CASTIGA si baga
     padding 10px 15px + max-width in inputul dintr-un wrapper fix de 107px. Inputul devine
     mult mai inalt/lat decat butoanele +/- , randul flex se rupe: minusul pare "in" caseta,
     plusul e impins in afara, iar cosul de gunoi (remove-link) si toata coloana de cantitate
     se dezaliniaza. Pe butoane, line-height:1.5 din G3 ramane necontracarat (blocul nu
     declara line-height pe butoanele +/-).

   FIX DE FOND: compartiment scoped - in interiorul blocurilor Woo, TOATE proprietatile impuse
   global de tema pe input/button/select/textarea se readuc la valorile pe care CSS-ul blocului
   le asteapta de la UA/mostenire. Selectoarele au sub forma :is() blocul + elementul
   (0-1-1 minim), deci bat G1/G2/G3 (0-1-0 / 0-0-1) fara !important, iar :where() pe radacina
   tine specificitatea suficient de JOASA ca regulile proprii ale blocului (clase, 0-2-0+)
   sa castige in continuare acolo unde declara ele valori - nu suprascriem blocul, doar
   anulam tema. Acopera cos, checkout si mini-cos (drawer-ul e randat in body, nu in bloc). */
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=number],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=text],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=email],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=tel],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=search],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=url],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=password],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) select,
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) textarea {
  /* anuleaza G1 + G3; blocul isi pune singur border/padding unde vrea el */
  border: 0;
  border-radius: 0;
  padding: 0;
  max-width: none;
  font-size: inherit;
  line-height: inherit;
}
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) button,
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=button],
:where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-mini-cart__drawer) input[type=submit] {
  /* anuleaza G2 + G3 */
  background: transparent;
  color: inherit;
  border: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

/* Prins la verificarea live INC2: regula de linkuri din INC1 (.site-content a:not(.button))
   e mai specifica si lasa textul butonului-ancora wc-block VERDE pe fond verde. Regula de
   mai jos re-castiga specificitatea pentru butoanele block. */
.site-content a.wc-block-components-button:not(.is-link),
.site-content a.wc-block-cart__submit-button,
.site-content a.wc-block-components-button:not(.is-link):hover {
  color: #fff;
}

/* ===== Polish vizual INC3 (2026-07-24) - fix overflow orizontal =====
   Cauza masurata live: .dah-hero din plugin foloseste trucul full-bleed
   margin: calc(50% - 50vw), iar 100vw include scrollbar-ul - pagina iesea cu ~8px
   (latimea scrollbar-ului) pe desktop si era si sursa overflow-ului pre-existent pe
   mobil 375px (DECISIONS 2026-07-24 11:30). Fixul standard insotitor al trucului:
   overflow-x pe radacina. Se foloseste clip, NU hidden - hidden ar transforma body
   in container de scroll si ar strica position:sticky pe .dah-own-header. */
html, body {
  overflow-x: clip;
}

/* Fix mobil 375px (masurat live 24-07): logo-ul la latime naturala (255px la max-height 48px)
   + gap 24 + actiuni 100px + padding 40px = 419px > 375px - randul de header iesea din viewport
   (inainte de clip pagina se tragea lateral, dupa clip se taia). Sub 560px logo-ul se
   constrange pe latime si spatierile se strang; incap: 170+12+100+24=306px. */
@media (max-width: 560px) {
  .dah-own-header-inner { gap: 12px; padding: 10px 12px; }
  .dah-logo img { max-height: 36px; max-width: 170px; width: auto; height: auto; }
  /* Aliniere cu header-ul pe mobil (2026-07-30): randul header primeste padding lateral 12px
     mai sus, dar bara de categorii ramanea pe 20px - marginile celor doua randuri nu se
     aliniau. Acelasi 12px si aici. */
  .dah-catbar .dah-catbar-wrap { padding: 0 12px; }
}
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce-page .button.alt {
  background-color: #04724d;
  color: #fff;
  border-radius: 6px;
}
.woocommerce .button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background-color: #04583c;
  color: #fff;
}

/* ===== INC1 meniuri admin (2026-07-24) =====
   wp_nav_menu produce <ul><li><a>. Reset ca listele sa arate identic cu ancorele de acum;
   linkurile mostenesc stilurile existente (.dah-topbar a si .dah-catbar-nav a le acopera
   deja - nu se dubleaza regulile). */
.dah-topbar-menu, .dah-catbar-menu {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.dah-topbar-menu { gap: 16px; }
.dah-catbar-menu { gap: 4px; }
.dah-topbar-menu li, .dah-catbar-menu li { margin: 0; }

/* ===== INC2 footer 4 coloane (2026-07-24, GO Alin; restaurare culori 24-07 seara) =====
   CULORILE (fundal, text, linkuri, si pe zona widgets si pe bara de copyright) NU se mai
   seteaza aici - se administreaza din Personalizare > Culori > Footer (functie nativa
   GeneratePress free 3.1+, doc Global Colors Overview). Aici raman DOAR structura si
   decoratiunile fara control in Customizer: spatieri, linia verde de brand de sus, liniile
   separatoare, uppercase-ul titlurilor, wrap-ul pe mobil. Titlurile mostenesc culoarea
   (color:inherit) ca sa urmeze setarea din Customizer, nu regula globala h1-h3 inchisa. */
/* GEOMETRIA e a lui GeneratePress (analiza 24-07 seara, agent A2 + DOM): stylesheet-ul
   generate-widget-areas lucreaza cu padding 40px pe container + padding-left 40px pe coloane +
   margin-left -40px pe randul flex - toate legate matematic. Regula noastra veche
   (.footer-widgets-container max-width 1200/margin auto/padding 20px) rupea compensarea si
   impingea footerul in stanga. ELIMINATA - centrarea o face .grid-container al GP la latimea
   containerului din Customizer. Aici raman doar decoratiunile de brand. */
#footer-widgets {
  border-top: 3px solid #04724d;
  font-size: 13px;
}
#footer-widgets .widget-title,
#footer-widgets h1,
#footer-widgets h2,
#footer-widgets h3,
#footer-widgets h4 {
  color: inherit;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(128, 136, 144, .35);
}
#footer-widgets a {
  text-decoration: none;
  transition: color .15s;
}
#footer-widgets ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#footer-widgets ul li {
  margin: 0 0 8px;
  padding: 0;
}
/* Paragrafe si blocuri de lista de pagini (wp-block-page-list) - acelasi stil cu listele. */
#footer-widgets p { margin: 0 0 8px; font-size: 13px; }
#footer-widgets .wp-block-page-list { list-style: none; margin: 0; padding: 0; }
/* Spatierea intre coloane si stivuirea pe mobil raman ale GP (generate-widget-areas) -
   gap-ul nostru de 24px se aduna cu sistemul lui de padding-uri si strica alinierea. */
.site-footer .site-info {
  border-top: 1px solid rgba(128, 136, 144, .35);
}

/* ===== CTA rosu SCOPAT - inlocuieste regula globala din Customizer (2026-07-30, bila rosie) =====
   ISTORIC: in wp-custom-css (Customizer > CSS aditional, DB) exista o regula GLOBALA pe
   button / input[type=submit] / a.button / a.wp-block-button__link cu !important, care spargea
   butoanele +/- din cosul Woo Blocks (a 3-a reclamatie) si indicatorii caruselului
   (.dah-banner-dot). Decizie aprobata: regula se STERGE din Customizer si se inlocuieste AICI,
   scopata DOAR pe consumatorii reali identificati la inventar (agent 30-07):
   1. .dah-det-back = butonul "Inapoi la lista" de pe fisa de detaliu (dah-tecdoc.js:1384) -
      NU are niciun stil in dah-tecdoc.css, era stilizat EXCLUSIV de regula globala.
   2. Submit-ul CF7 (formular cerere piesa, form in DB) - pluginul nu-l stilizeaza.
   3. a.wp-block-button__link fara culoare proprie, din paginile de continut (DB).
   4. a.button clasic WooCommerce (notice "Vezi cosul" etc.) - child styleaza doar .button.alt.
   Toate celelalte butoane ale pluginului (.dah-btn-primary, .dah-buybtn, .dah-back-btn,
   .dah-garage-*, .dah-cat-*, .dah-toast-continue, .dah-banner-*) au stiluri proprii in
   dah-tecdoc.css si NU depindeau de regula. FARA !important (selectorii sunt specifici) si
   FARA sa atinga vreodata .wc-block-* sau .dah-banner-*. var(--fs-2) e definit in
   dah-tecdoc.css (:root, 12px) - fallback 12px pentru paginile fara CSS-ul pluginului. */
/* Bila rosie 2026-07-30 (panoul de comanda taia marginile pe rezolutii mici): blocul de cos e
   "alignwide" si primeste de la tema max-width calc(100% + 80px) + margini negative - iese cu
   40px in fiecare lateral PESTE padding-ul containerului (.inside-article are exact 40px), deci
   atinge marginea viewport-ului. Il readucem la latimea containerului; padding-ul lateral al
   paginii redevine vizibil pe orice rezolutie. Acelasi tratament pe checkout. */
.entry-content .wp-block-woocommerce-cart.alignwide,
.entry-content .wp-block-woocommerce-checkout.alignwide {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* a.dah-uni-backbtn (2026-07-31, feedback Alin): butoanele de intoarcere din catalogul de
   UNIVERSALE (pagina de produs + sidebar categorie/subcategorie) preiau acelasi buton rosu -
   "buton de intoarcere simetric peste tot". text-decoration:none pentru ca sunt ancore. */
.dah-detail .dah-det-back,
.dah-cat-crumb .dah-det-back, /* 26-08: butonul e randat in breadcrumb, FRATE cu .dah-detail (dah-tecdoc.js:1448) - selectorul vechi nu-l prindea si ramanea gri */
a.dah-uni-backbtn,
.wpcf7 input[type="submit"],
.site-content .wp-block-button__link:not(.has-background),
.entry-content .wp-block-button__link:not(.has-background),
.woocommerce a.button:not(.alt),
.woocommerce-page a.button:not(.alt) {
  color: #ffffff;
  text-decoration: none;
  background-color: #d30d0d;
  display: inline-block;
  width: 100%;
  max-width: 210px;
  padding: 10px 18px;
  border: 0;
  border-radius: 7px;
  font-size: var(--fs-2, 12px);
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
}
.dah-detail .dah-det-back:hover,
.dah-cat-crumb .dah-det-back:hover,
a.dah-uni-backbtn:hover,
.wpcf7 input[type="submit"]:hover,
.site-content .wp-block-button__link:not(.has-background):hover,
.entry-content .wp-block-button__link:not(.has-background):hover,
.woocommerce a.button:not(.alt):hover,
.woocommerce-page a.button:not(.alt):hover {
  background-color: #a80a0a;
  color: #ffffff;
}

/* Bila galbena 2026-07-31 (feedback vizual Alin): butonul rosu din SIDEBAR-ul universalelor avea
   alt gabarit decat chenarul verde de sub el (max-width 210px / padding 10px 18px / fs-2 din
   regula comuna de mai sus) si textul putea iesi inchis (linkurile temei bat a.dah-uni-backbtn
   la specificitate). Cerinta: ACELASI gabarit ca .dah-uni-side-current (dah-tecdoc.css:1716 -
   full width, padding 8px 12px, radius 5px, fs-5/700, aliniere stanga), text ALB fortat, identic
   in vederea de categorie si de subcategorie. Selectorii scopati (0,2,1) bat si regula comuna de
   mai sus si stilurile de link ale temei. */
.dah-uni-side a.dah-uni-backbtn,
.dah-uni-side a.dah-uni-backbtn:visited {
  display: block;
  width: 100%;
  max-width: none;
  padding: 8px 12px;
  border-radius: 5px;
  font-size: var(--fs-5, 16px);
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
  color: #ffffff;
}
/* Pagina de PRODUS universal: butonul sta in zona de continut, nu in sidebar - ramane compact
   (latime pe continut), dar cu acelasi stil si aceeasi inaltime/padding ca varianta din sidebar. */
.dah-uni-detail a.dah-uni-backbtn,
.dah-uni-detail a.dah-uni-backbtn:visited {
  display: inline-block;
  width: auto;
  max-width: none;
  padding: 8px 12px;
  border-radius: 5px;
  font-size: var(--fs-5, 16px);
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  color: #ffffff;
}
.dah-uni-side a.dah-uni-backbtn:hover,
.dah-uni-detail a.dah-uni-backbtn:hover {
  background-color: #a80a0a;
  color: #ffffff;
}
/* Verificare LIVE 31-07 dupa deploy: textul iesea VERDE - regula generala de link
   `.entry-content a:not(.button):not(.dah-allcat-btn)` (0,3,1) batea selectorul de mai sus
   (0,2,1). Acelasi tipar ca la chips-urile hero (24-07): specificitate marita cu prefixele
   .entry-content/.site-content, regula sta DUPA cea generala deci castiga la egalitate. */
.entry-content .dah-uni-side a.dah-uni-backbtn,
.site-content .dah-uni-side a.dah-uni-backbtn,
.entry-content .dah-uni-detail a.dah-uni-backbtn,
.site-content .dah-uni-detail a.dah-uni-backbtn {
  color: #ffffff;
  text-decoration: none;
}
.entry-content .dah-uni-side a.dah-uni-backbtn:hover,
.site-content .dah-uni-side a.dah-uni-backbtn:hover,
.entry-content .dah-uni-detail a.dah-uni-backbtn:hover,
.site-content .dah-uni-detail a.dah-uni-backbtn:hover {
  color: #ffffff;
}
/* Latimea: wrapper-ul .dah-cat-back2 avea padding lateral 16px -> butonul iesea la 208px
   fata de chenarul verde de 240px (masurat live). Fara padding lateral, butonul se aliniaza
   exact cu chenarul; paddingul de jos ramane ca spatiere. */
.dah-uni-side .dah-cat-back2 {
  padding-left: 0;
  padding-right: 0;
}

/* ===== 1.6.14 (Alin 17-09): butoanele comenzii pe "Multumim" si in Contul meu =====
   Masurat pe #712: "Plateste" si "Anuleaza" rosii rgb(211,13,13), lipite pe verticala (margin 0 10px 0 0).
   Plateste = verde ca "Plateste acum cu cardul"; Anuleaza = gri cu text negru, fara contur; spatiu intre ele. */
.woocommerce a.woocommerce-button.button.pay,
.woocommerce-page a.woocommerce-button.button.pay {
  background: #04724d !important;
  border: 0 !important;
  color: #fff !important;
  margin: 4px 10px 4px 0 !important;
}
.woocommerce a.woocommerce-button.button.pay:hover,
.woocommerce-page a.woocommerce-button.button.pay:hover {
  background: #05835a !important;
  color: #fff !important;
}
.woocommerce a.woocommerce-button.button.cancel,
.woocommerce-page a.woocommerce-button.button.cancel {
  background: #e5e7eb !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #15181c !important;
  margin: 4px 10px 4px 0 !important;
}
.woocommerce a.woocommerce-button.button.cancel:hover,
.woocommerce-page a.woocommerce-button.button.cancel:hover {
  background: #d1d5db !important;
  color: #15181c !important;
}
