/*
 * Ajustari de design pe antetul global, decise de client pe 2026-08-05,
 * aplicate pe TOATE paginile (link injectat de generate-page.ts dupa
 * bundle-ul fiecarei pagini, si de genereaza-lp-dinti-ficsi.ts pe paginile
 * LP). Poarta 3 va semnala antetul ca diferit de WordPress pe fiecare
 * pagina: intentionat, vezi README-ul migrarii.
 *
 * 1. Bara de meniu pe cremul site-ului (#FAF6EC), nu pe alb: acelasi fundal
 *    ca pe /lp-dinti-ficsi, cerut identic pe tot site-ul. Barele aurii din
 *    interior isi pastreaza fundalul propriu (se picteaza peste).
 * 2. Selectorul de limba (shortcode-ul TranslatePress, vizibil doar pe
 *    mobil): integrat in design, fundal crem si contur auriu discret, in
 *    loc de cutia alba. Variabilele originale sunt scrise INLINE pe element
 *    (style="--bg:#ffffff;..."), de-aia e nevoie de !important.
 * 3. Pe mobil: selectorul de limba sta in stanga burger-ului, pe acelasi
 *    rand, iar coloanele randului se centreaza vertical; antetul devine
 *    compact, nu mai curge pe trei randuri.
 */

/* 1: cremul site-ului pe tot antetul */
.elementor-668 { background-color: #FAF6EC; }

/* 2: selectorul de limba, integrat */
.trp-shortcode-switcher__wrapper {
  --bg: #FAF6EC !important;
  --bg-hover: rgba(201, 171, 129, 0.12) !important;
  --text: #1A1A1A !important;
  --text-hover: #1A1A1A !important;
  --border: 1px solid rgba(201, 171, 129, 0.45) !important;
  --border-color: rgba(201, 171, 129, 0.45) !important;
  --border-width: 1px !important;
  --border-radius: 999px !important;
}

/* 2c: dropdown-ul de limbi DESCHIS, integrat in design (cerinta din
   2026-08-05 seara: alb pe crem cu colturi taioase arata rupt din alt site).
   Overlay-ul (varianta care se deschide) devine un card crem cu contur auriu,
   umbra moale si itemi aerisisti cu hover auriu. */
.trp-shortcode-switcher__wrapper .trp-shortcode-overlay {
  background: #FDFAF2 !important;
  border: 1px solid rgba(201, 171, 129, 0.5) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(26, 26, 26, 0.12) !important;
  overflow: hidden !important;
}
.trp-shortcode-switcher__wrapper .trp-language-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px;
  padding: 11px 16px !important;
  background: transparent !important;
}
.trp-shortcode-switcher__wrapper .trp-language-item:hover,
.trp-shortcode-switcher__wrapper .trp-language-item:focus {
  background: rgba(201, 171, 129, 0.14) !important;
}
.trp-shortcode-switcher__wrapper .trp-shortcode-overlay .trp-language-item:not(:first-child) {
  border-top: 1px solid rgba(201, 171, 129, 0.22);
}
.trp-shortcode-switcher__wrapper .trp-flag-image { border-radius: 3px; }

/* 2b: iconul de burger, auriu ca pe restul site-ului, indiferent de pagina
   (pe LP mostenea culoarea de text a paginii si aparea negru) */
.elementor-668 .elementor-element-8b17925 .elementor-icon,
.elementor-668 .elementor-element-8b17925 .elementor-icon svg {
  color: #C9AB81 !important;
  fill: #C9AB81 !important;
}

/* 3: mobil compact, limba la stanga burger-ului */
@media (max-width: 1024px) {
  /* 3b (2026-08-05, seara): butonul PROGRAMARI ONLINE (00dbb7f) se scoate
     de pe mobil; randul ramane cu logo + facebook/instagram + limba + burger. */
  .elementor-668 .elementor-element-00dbb7f { display: none !important; }
  .elementor-668 .elementor-container { align-items: center; }
  /* 3d (2026-08-14): iconitele Facebook/Instagram (9306028) revin pe mobil,
     intre logo si grupul limba + burger (cerinta clientului). Coloanele au in
     DOM ordinea [programari][social][logo][limba+burger], deci randul se
     rearanjeaza cu flex order: logo la stanga, restul impinse la dreapta. */
  .elementor-668 .elementor-element-6e1a8f3 > .elementor-container {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  /* logo-ul: dimensiune fixa (pe telefon Elementor ii dadea coloana de 60%
     cu img de 30%, ~51px; in randul flex nou procentele s-ar prabusi la 0,
     asa ca img-ul primeste latime explicita) */
  /* specificitate cel putin egala cu regulile responsive Elementor
     (.elementor-element.elementor-element-x { width:60%/40% }) */
  .elementor-668 .elementor-element.elementor-element-61dec88 { order: 1; width: auto !important; flex: 0 0 auto; }
  .elementor-668 .elementor-element-61dec88 .elementor-widget-container { margin: 10px 0 10px 12px !important; }
  .elementor-668 .elementor-element-61dec88 img { width: 48px !important; }
  .elementor-668 .elementor-element.elementor-element-9306028 {
    order: 2;
    width: auto !important;
    flex: 0 0 auto;
    margin-left: auto;
    margin-right: 12px;
    /* coloana are un gradient Elementor pe fundal (cutie bej) peste care
       iconitele aurii nu se vad; se scoate */
    background: transparent !important;
  }
  .elementor-668 .elementor-element-9306028 > .elementor-widget-wrap { background: transparent !important; }
  .elementor-668 .elementor-element.elementor-element-bc656cc { order: 3; width: auto !important; flex: 0 0 auto; }
  .elementor-668 .elementor-element-9306028 .elementor-widget-container { margin: 0 !important; }
  .elementor-668 .elementor-element-9306028 .elementor-icon-list-items {
    display: flex;
    align-items: center;
    gap: 4px;
  }
  .elementor-668 .elementor-element-9306028 .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
  .elementor-668 .elementor-element-9306028 .elementor-icon-list-item > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
  }
  .elementor-668 .elementor-element-9306028 .elementor-icon-list-icon svg {
    width: 22px;
    height: 22px;
    color: #C9AB81 !important;
    fill: #C9AB81 !important;
  }
  .elementor-668 .elementor-element-9306028 .elementor-icon-list-text { display: none; }
  .elementor-668 .elementor-element-bc656cc > .elementor-widget-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
  }
  .elementor-668 .elementor-element-bc656cc .elementor-element-e476ac1,
  .elementor-668 .elementor-element-bc656cc .elementor-element-8b17925 {
    width: auto !important;
    margin: 0 !important;
  }
  .elementor-668 .elementor-element-bc656cc .elementor-widget-container {
    margin: 0 !important;
  }
  .elementor-668 .elementor-element-bc656cc,
  .elementor-668 .elementor-element-4180be5 {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  /* 3c: burgerul nu mai sta lipit de marginea dreapta. ULTIMA regula din
     blocul media, dupa compactarea care seteaza margin:0 !important pe
     acelasi widget: la specificitate egala castiga ordinea. */
  .elementor-668 .elementor-element-bc656cc .elementor-element-8b17925 { margin-right: 20px !important; }
}

/*
 * 4: bara sticky de contact pe mobil, decisa de client pe 2026-08-05.
 * Bara veche din template-ul de footer (patru butoane patrate: telefon,
 * email, facebook, whatsapp; containerul elementor-element-5e80313a) se
 * ascunde si e inlocuita de bara injectata de generate-page.ts inainte de
 * </body> pe fiecare pagina, in stilul LP-ului de dinti ficsi: apel,
 * WhatsApp si "Va sunam noi" catre pagina de programare.
 */
.elementor-element-5e80313a { display: none !important; }

.dc-sticky-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9000;
  display: none;
  /* Doua randuri (cerinta clientului din 2026-08-14): sus apel + WhatsApp,
     jos butonul lat "Vreau să fiu contactat(ă)" care deschide modalul. */
  flex-direction: column;
  gap: 0.5rem;
  align-items: stretch;
  padding: 0.7rem 0.9rem calc(0.7rem + env(safe-area-inset-bottom));
  background-color: rgba(250, 246, 236, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
}
.dc-sticky-rand {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
@media (max-width: 768px) {
  .dc-sticky-contact { display: flex; }
  /* doua randuri de 48px + gap + padding + safe-area */
  body { padding-bottom: 148px; }
}
.dc-sticky-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 48px;
  border-radius: 999px;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1;
  text-decoration: none;
}
.dc-sticky-suna {
  /* laturi EGALE (1 1 0), ca cercul de WhatsApp sa cada exact pe mijlocul ecranului */
  flex: 1 1 0;
  padding: 0 0.9rem;
  color: #A88955 !important;
  background-color: #FFFFFF;
  border: 1.5px solid #C9AB81;
}
.dc-sticky-suna svg { width: 17px; height: 17px; }
.dc-sticky-wa {
  flex: 0 0 48px;
  width: 48px;
  padding: 0;
  color: #FFFFFF !important;
  background-color: #25D366;
  border: 1.5px solid #25D366;
}
.dc-sticky-wa svg { width: 22px; height: 22px; display: block; }
.dc-sticky-form {
  /* copil direct al containerului pe coloana: latimea vine din stretch,
     inaltimea din .dc-sticky-btn; fara flex-grow, altfel ar creste vertical */
  flex: 0 0 auto;
  width: 100%;
  padding: 0 0.5rem;
  white-space: nowrap;
  font-size: 0.875rem;
  /* paginile Elementor au reguli generice pe <a> (auriu) care altfel castiga: auriu pe auriu = text invizibil */
  color: #FFFFFF !important;
  background-color: #C9AB81;
  border: 1.5px solid #C9AB81;
}

/*
 * 6: formularul scurt de lead din hero-ul homepage-ului (cerinta din
 * 2026-08-05 seara): inlocuieste butonul „Discuta cu un specialist" cu
 * acelasi tip de formular ca pe paginile LP (prenume + telefon + Va sunam
 * noi). Markup-ul si JS-ul le injecteaza generate-page.ts (formularHero).
 */
.dc-hero-form {
  max-width: 560px;
  margin: 0.75rem auto 0;
  background: #FFFFFF;
  border: 1px solid rgba(201, 171, 129, 0.35);
  border-radius: 18px;
  box-shadow: 0 8px 26px rgba(26, 26, 26, 0.07);
  padding: 0.9rem;
  text-align: center;
}
.dc-hero-form form {
  display: flex;
  gap: 0.5rem;
  flex-wrap: nowrap;
}
.dc-hero-form input {
  flex: 1 1 0;
  min-width: 0;
  height: 48px;
  padding: 0 0.9rem;
  border: 1.5px solid #E8DFC8;
  border-radius: 999px;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 0.95rem;
  color: #1A1A1A;
  background: #FDFAF2;
  outline: none;
}
.dc-hero-form input:focus { border-color: #C9AB81; }
.dc-hero-form button {
  flex: 0 0 auto;
  height: 48px;
  padding: 0 1.1rem;
  border: 1.5px solid #C9AB81;
  border-radius: 999px;
  background: #C9AB81;
  color: #FFFFFF !important;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  white-space: nowrap;
}
.dc-hero-form button:hover { background: #A88955; border-color: #A88955; }
.dc-hero-form__eroare { margin: 0.6rem 0 0; font-size: 0.85rem; color: #C62828; }
.dc-hero-form__succes { margin: 0.2rem; padding: 0.6rem; font-size: 1rem; color: #1A1A1A; }
@media (max-width: 640px) {
  .dc-hero-form form { flex-wrap: wrap; }
  .dc-hero-form input { flex: 1 1 100%; }
  .dc-hero-form button { flex: 1 1 100%; }
}

/*
 * 5: marquee-ul UNIC de presa, in stilul go.cris-smile.ro (cerinta din
 * 2026-08-05, seara): logo-uri COLOR mari, spatiere generoasa, derulare
 * continua cu drag si inertie (scriptul e emis de lib/presa-intl.ts, cu tot
 * cu markup). Publicatiile alterneaza romaneasca / internationala.
 */
.dc-press {
  width: 100%;
  overflow: hidden;
  padding: 36px 0 44px;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.dc-press.is-dragging { cursor: grabbing; }
.dc-press__track { display: flex; width: max-content; will-change: transform; }
.dc-press__set { display: flex; align-items: center; gap: 80px; padding-right: 80px; flex-shrink: 0; }
.dc-press__set img {
  height: 56px;
  width: auto;
  max-width: 240px;
  object-fit: contain;
  opacity: 0.95;
  pointer-events: none;
  -webkit-user-drag: none;
}
/* Insigna "Internațional" sub logo-urile publicatiilor externe (cerinta din
   2026-09-01): aparitiile internationale trebuie sa iasa in evidenta oriunde
   apare marquee-ul. Markup-ul vine din lib/presa-intl.ts (.dc-press__item). */
.dc-press__item { position: relative; display: inline-flex; align-items: center; flex-shrink: 0; }
/* absolut sub logo, ca logo-urile sa ramana aliniate pe aceeasi linie */
.dc-press__badge {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 7px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  color: #A88955;
  background: rgba(197, 165, 114, 0.14);
  border: 1px solid rgba(197, 165, 114, 0.45);
  border-radius: 999px;
  padding: 4px 10px;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .dc-press__set { gap: 50px; padding-right: 50px; }
  .dc-press__set img { height: 44px; max-width: 190px; }
  .dc-press__badge { font-size: 10px; padding: 3px 8px; }
}

/*
 * 7: meniul de mobil MODERNIZAT (cerinta clientului din 2026-08-05, seara).
 * Continutul popup-ului 3703 (placa aurie cu text alb peste gradient violet,
 * mostenire WordPress) devine o foaie moderna: crem integral, itemi mari cu
 * text inchis si separatoare subtiri aurii, submeniu discret, buton de
 * inchidere circular cu contur auriu. Acelasi set de reguli acopera AMBELE
 * invelisuri: dialogul Elementor de pe paginile portate
 * (#elementor-popup-modal-3703) si shell-ul propriu de pe paginile LP
 * (.lp-popup-suport).
 */
#elementor-popup-modal-3703 .dialog-widget-content {
  background-image: none !important;
  background-color: #FAF6EC !important;
}
#elementor-popup-modal-3703 .dialog-message {
  width: 100vw !important;
  max-width: 100vw !important;
}
.elementor-3703 .elementor-element-2b64cefe {
  background-color: transparent !important;
  background-image: none !important;
  padding: 16px 22px calc(28px + env(safe-area-inset-bottom)) !important;
}
/* butonul de inchidere: cerc alb cu contur si sageata aurie, dreapta sus */
.elementor-3703 .elementor-element-691a854e { text-align: right; }
.elementor-3703 .elementor-element-691a854e .elementor-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background-color: #FFFFFF !important;
  border: 1.5px solid #C9AB81 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 14px rgba(26, 26, 26, 0.08);
}
.elementor-3703 .elementor-element-691a854e .elementor-icon svg {
  fill: #C9AB81 !important;
  color: #C9AB81 !important;
  width: 18px !important;
  height: 18px !important;
}
/* itemii principali: mari, inchisi la culoare, cu separatoare fine aurii */
.elementor-3703 nav > ul > li { border-bottom: 1px solid rgba(201, 171, 129, 0.25); }
.elementor-3703 nav > ul > li:last-child { border-bottom: 0; }
.elementor-3703 a.elementor-item {
  color: #1A1A1A !important;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  padding: 15px 4px !important;
  background: transparent !important;
}
/* submeniul: discret, indentat, auriu-inchis */
.elementor-3703 ul.sub-menu {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 0 8px 14px !important;
}
.elementor-3703 a.elementor-sub-item {
  color: #A88955 !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  padding: 9px 4px !important;
  background: transparent !important;
}
/* chevron-ul de submeniu, auriu, valabil in ambele invelisuri */
.elementor-3703 li.menu-item-has-children > a::after {
  content: "" !important;
  display: inline-block !important;
  position: static !important;
  opacity: 1 !important;
  width: 0.42em !important;
  height: 0.42em !important;
  margin-left: 0.5em;
  margin-bottom: 0.18em;
  background: none !important;
  border-right: 2px solid #C9AB81 !important;
  border-bottom: 2px solid #C9AB81 !important;
  transform: rotate(45deg) !important;
}
/* invelisul LP (shell-ul propriu; gradientul violet vine din lp-header.css,
   care se incarca INAINTEA acestui fisier, deci override-ul e sigur) */
.lp-popup-continut {
  background-image: none !important;
  background-color: #FAF6EC !important;
}
/* corectii dupa prima verificare vizuala a meniului modernizat: */
/* placa aurie: specificitate identica cu regula Elementor (3 clase) */
.elementor-3703 .elementor-element.elementor-element-2b64cefe {
  background-color: transparent !important;
  background-image: none !important;
}
/* pe paginile portate, smartmenus injecteaza propriul .sub-arrow: fara dublura */
.elementor-3703 .sub-arrow { display: none !important; }
/* foaia acopera tot ecranul (in spate se vedea pagina prin overlay-ul beige) */
#elementor-popup-modal-3703 .dialog-widget-content {
  min-height: 100dvh !important;
  width: 100vw !important;
}
/* X-ul: e-font-icon-svg are width:1em, iar iconul avea font-size 0 => sageata invizibila */
.elementor-3703 .elementor-element.elementor-element-691a854e .elementor-icon {
  font-size: 18px !important;
}
.elementor-3703 .elementor-element.elementor-element-691a854e .elementor-icon svg {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  display: block !important;
}
/* overlay-ul de fundal Elementor al placii (::before absolut, auriu la 50%),
   gasit la analiza pe pixeli: el picta foaia in bej peste crem */
.elementor-3703 .elementor-element.elementor-element-2b64cefe::before { display: none !important; }

/*
 * 8: dropdown-urile meniului principal, modernizate (2026-08-05, noaptea):
 * cutia alba plata, lipita de item si fara umbra arata rupta din alt site.
 * Acelasi limbaj vizual ca dropdown-ul de limbi: card crem cu contur auriu,
 * colturi rotunjite, umbra moale, hover cu spalare aurie.
 */
.elementor-nav-menu--main ul.sub-menu {
  background: #FDFAF2 !important;
  border: 1px solid rgba(201, 171, 129, 0.5) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 30px rgba(26, 26, 26, 0.12) !important;
  padding: 8px !important;
  margin-top: 4px !important;
  min-width: 260px;
  overflow: hidden;
}
.elementor-nav-menu--main ul.sub-menu a.elementor-sub-item {
  border-radius: 9px !important;
  padding: 11px 14px !important;
  color: #1A1A1A !important;
  background: transparent !important;
}
.elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,
.elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:focus {
  background: rgba(201, 171, 129, 0.14) !important;
  color: #A88955 !important;
}

/*
 * 9: selectorul de limba cu 6 limbi (2026-08-05, noaptea), inlocuieste
 * complet TRP (care stia doar RO/EN). Pe desktop e un item de meniu cu
 * dropdown clasic (mosteneste cardul crem de la sectiunea 8). Pe mobil e un
 * <details> stilizat ca pastila, fara JS.
 */
.dc-lang-mobil { position: relative; }
.dc-lang-mobil summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  border: 1px solid rgba(201, 171, 129, 0.45);
  border-radius: 999px;
  background: #FAF6EC;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: 0.85rem;
  color: #1A1A1A;
  cursor: pointer;
}
.dc-lang-mobil summary::-webkit-details-marker { display: none; }
.dc-lang-mobil summary::after {
  content: "";
  width: 0.38em; height: 0.38em;
  border-right: 2px solid #A88955; border-bottom: 2px solid #A88955;
  transform: rotate(45deg);
  margin-left: 2px; margin-bottom: 2px;
}
.dc-lang-mobil[open] summary::after { transform: rotate(-135deg); margin-bottom: -2px; }
.dc-lang-mobil img { border-radius: 2px; display: inline-block; }
.dc-lang-mobil__lista {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 10020;
  min-width: 170px;
  background: #FDFAF2;
  border: 1px solid rgba(201, 171, 129, 0.5);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(26, 26, 26, 0.12);
  overflow: hidden;
}
.dc-lang-mobil__lista a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 16px;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 500;
  font-size: 0.9rem;
  color: #1A1A1A !important;
  text-decoration: none;
}
.dc-lang-mobil__lista a:hover { background: rgba(201, 171, 129, 0.14); }
.dc-lang-mobil__lista a + a { border-top: 1px solid rgba(201, 171, 129, 0.22); }
/* itemul de limba din meniuri: steagul curent + cod, dropdown-ul mosteneste sectiunea 8 */
.dc-lang-item > a img { vertical-align: -2px; }

/*
 * 10: modalul de callback deschis de „Va sunam noi" din bara sticky, pe
 * ORICE pagina (cerinta din 2026-08-06): formularul simplu prenume +
 * telefon, acelasi stil ca dc-hero-form. Markup-ul si JS-ul le injecteaza
 * generate-page.ts (stickyContact).
 */
button.dc-sticky-form {
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.dc-callback {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(26, 26, 26, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
.dc-callback[hidden] { display: none; }
.dc-callback__panou {
  position: relative;
  width: 100%;
  max-width: 420px;
  background: #FAF6EC;
  border: 1px solid #E8DFC8;
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(26, 26, 26, 0.25);
  padding: 1.75rem 1.5rem 1.5rem;
  text-align: center;
}
.dc-callback__inchide {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #F1EAD8;
  color: #A88955;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
}
.dc-callback__inchide:hover { background: #E8DFC8; }
.dc-callback__titlu {
  margin: 0 0 0.35rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1A1A1A;
}
.dc-callback__text {
  margin: 0 0 1.1rem;
  font-size: 0.9375rem;
  color: #4A4A4A;
  line-height: 1.5;
}
.dc-callback form {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.dc-callback input {
  width: 100%;
  padding: 0.85rem 1.1rem;
  border: 1px solid #E8DFC8;
  border-radius: 999px;
  font-size: 1rem;
  font-family: inherit;
  background: #FFFFFF;
  color: #1A1A1A;
  box-sizing: border-box;
}
.dc-callback input:focus { outline: 2px solid #C5A572; outline-offset: 1px; }
.dc-callback form button {
  padding: 0.95rem 1.5rem;
  border: 0;
  border-radius: 999px;
  background: #C5A572;
  color: #FFFFFF;
  font-size: 1.0625rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s ease;
}
.dc-callback form button:hover { background: #A88955; }
.dc-callback__eroare {
  margin: 0.6rem 0 0;
  color: #b3261e;
  font-size: 0.875rem;
}
.dc-callback__succes {
  background: #FFFFFF;
  border: 1px solid #C5A572;
  border-radius: 14px;
  padding: 1rem 1.25rem;
  color: #1A1A1A;
  font-size: 1rem;
}

/*
 * 11: antetul pe desktop, un singur rand + dropdown-uri stabile (2026-08-07).
 *
 * Cu noua structura de meniu sunt 9 itemi plus selectorul de limba: itemii
 * cereau 1269 px intr-o coloana de 890 px, deci meniul cadea pe DOUA randuri,
 * iar dropdown-ul unui item din randul 1 acoperea randul 2. De acolo venea si
 * senzatia de „hit & miss": drumul mausului spre sub-meniu trecea peste alti
 * itemi, care inchideau lista si deschideau alta.
 *
 * Se recupereaza latime fara sa se micsoreze logoul: coloana logoului nu mai
 * rezerva 245 px (imaginea ramane la 88 px, cat era), coloana butonului se
 * strange la latimea butonului, iar itemii primesc 14 px si padding mai mic.
 * Rezultat masurat la 1440 px: un singur rand, cu 26 px pana la buton.
 *
 * Dropdown-ul nu mai depinde de detectia de mouse a smartmenus: `:hover` pe
 * <li> (sub-meniul e copilul lui) il tine deschis, lipit de item (top:100%,
 * fara gol) si peste continut. Pozitia si opacitatea sunt fortate, altfel
 * stilurile inline puse de JS il mutau sau il faceau transparent.
 */
@media (min-width: 1025px) {
  .elementor-element-4180be5 { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
  .elementor-element-4180be5 img { width: 88px !important; max-width: 88px !important; height: auto !important; }
  .elementor-element-2c4b3fa { flex: 1 1 auto !important; }
  .elementor-element-4e651e0 { display: none !important; }
  .elementor-element-5e19019 { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
  .elementor-element-5e19019 .elementor-button { padding: 12px 18px !important; font-size: 11px !important; }
  .elementor-nav-menu--layout-horizontal .elementor-item {
    font-size: 14px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .elementor-nav-menu--layout-horizontal li.menu-item-has-children { position: relative !important; }
  .elementor-nav-menu--layout-horizontal li.menu-item-has-children > ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    min-width: 270px;
    margin: 0 !important;
    padding-top: 10px !important;
    z-index: 1200 !important;
  }
  .elementor-nav-menu--layout-horizontal li.menu-item-has-children:hover > ul.sub-menu,
  .elementor-nav-menu--layout-horizontal li.menu-item-has-children:focus-within > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}

/* Treapta pentru laptopuri (1025-1365 px): acelasi meniu, dar mai stramt, ca
   sa incapa tot pe un rand si acolo. Sub 1025 px intra meniul mobil. */
@media (min-width: 1025px) and (max-width: 1365px) {
  .elementor-nav-menu--layout-horizontal .elementor-item {
    font-size: 13px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  .elementor-element-5e19019 .elementor-button { padding: 11px 14px !important; font-size: 10px !important; }
}

/*
 * Optimizare DESKTOP pentru cele 16 pagini de tratamente (designul tp),
 * decisa de Lucas pe 2026-08-21: coloana de continut mai lata si listele pe
 * doua coloane pe ecranele mari; sub 1200 px (mobil, tablete, laptopuri
 * mici) nimic nu se schimba.
 *
 * De ce AICI si nu in STYLE-ul generatoarelor: modulele din
 * scripts/tratamente/ (si pilotul genereaza-pagini-tratamente.ts) au rulat O
 * SINGURA DATA peste portarea WordPress si nu sunt re-rulabile; editarea
 * constantelor STYLE de acolo nu mai are niciun efect pe site. Fisierul de
 * fata e incarcat ULTIMUL pe toate paginile si nu e regenerat de nimic.
 *
 * Ancorare: .tp-page:has(.tp-lead-form). Formularul de lead e injectat de
 * lib/tratamente-conversie.ts EXCLUSIV pe cele 16 pagini de tratamente
 * (verificat: Tarife are .tp-content dar NU are formular, Despre/Contact/
 * Finantare/Proteze nici atat), deci restul paginilor tp raman neatinse.
 * :has() e deja folosit in designul paginii Despre; browserele fara el
 * pastreaza pur si simplu layout-ul actual de 860 px.
 */
@media (min-width: 1200px) {
  /* coloana de continut: 860 -> 1040 px */
  .tp-page:has(.tp-lead-form) .tp-content .tp-container-narrow,
  .tp-page:has(.tp-lead-form) .tp-sectiune-conv .tp-container-narrow { max-width: 1040px; }

  /* randurile de text raman la o lungime lizibila; listele, grilele,
     treptele si figurile folosesc toata latimea noua */
  .tp-page:has(.tp-lead-form) .tp-card-body > p { max-width: 74ch; }

  /* listele cu bife aflate DIRECT in corpul cardului trec pe doua coloane;
     grid, nu columns: li-urile sunt flex cu bifa SVG, iar columns le-ar fi
     taiat intre coloane. Listele din pasii timeline-ului, imbricate mai
     adanc, raman pe o coloana. */
  .tp-page:has(.tp-lead-form) .tp-card-body > ul.tp-list-bife {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 2.5rem;
  }

  /* figurile stau langa text, nu pe un ecran propriu; flow-root inchide
     float-ul in card, iar treptele si grilele care urmeaza incep sub el */
  .tp-page:has(.tp-lead-form) .tp-card-body { display: flow-root; }
  .tp-page:has(.tp-lead-form) .tp-card-body > figure.tp-figura {
    float: right;
    width: 44%;
    margin: .25rem 0 1rem 2rem;
  }
  .tp-page:has(.tp-lead-form) .tp-card-body > .tp-trepte,
  .tp-page:has(.tp-lead-form) .tp-card-body > .tp-grila-2col { clear: both; }

  /* blocurile injectate se aliniaza la latimea noua */
  .tp-page:has(.tp-lead-form) .tp-sectiune-conv .tp-tarife-tabel { max-width: 900px; }
  .tp-page:has(.tp-lead-form) .tp-sectiune-conv .tp-faq-lista { max-width: 1000px; }
}
