/* Termoscor, varianta D: „imaginea termică”.
   Fond rece (gri-albăstrui de iarnă), text bleumarin, butoane indigo.
   Culorile calde (violet → portocaliu → galben) apar doar unde e vorba de căldură pierdută.
   Archivo (SIL Open Font License 1.1, assets/fonts/Archivo-OFL.txt), găzduit local. */
@font-face {
  font-family: "Archivo";
  src: url("../assets/fonts/Archivo-Variable.woff") format("woff");
  font-weight: 400 800;
  font-stretch: 100% 125%;
  font-display: swap;
}

:root {
  --d-frost: #eef2f6;
  --d-paper: #ffffff;
  --d-ink: #131c33;
  --d-ink-2: #4b5670;
  --d-ink-3: #6f7a91;
  --d-line: #d3dae4;
  --d-line-2: #b9c3d1;
  --d-indigo: #2e3a8c;
  --d-indigo-deep: #1e2766;
  --d-indigo-soft: #e6e9f6;
  --d-night: #141b33;
  --d-warm: #e8542f;
  --d-warm-ink: #b13a12;
  --d-warm-soft: #fdebe3;
  --d-ramp: linear-gradient(90deg, #241a6b 0%, #5c2696 22%, #b02c80 46%, #e85436 68%, #f9ac28 86%, #fde28c 100%);
  --d-radius: 10px;
  --ink: var(--d-ink);
  --muted: var(--d-ink-2);
  --line: var(--d-line);
  --paper: var(--d-frost);
  --white: var(--d-paper);
  --accent: var(--d-indigo);
  --accent-soft: var(--d-indigo-soft);
  --compare-yellow: var(--d-indigo);
  --compare-yellow-strong: var(--d-indigo-deep);
  --compare-yellow-soft: var(--d-indigo-soft);
}

html { -webkit-text-size-adjust: 100%; }
body {
  font-family: "Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-stretch: 100%;
  background: var(--d-frost) !important;
  color: var(--d-ink);
  font-size: 16px;
  line-height: 1.55;
  font-variant-numeric: lining-nums;
}
button, input, select, textarea { font-family: inherit !important; }
h1, h2, h3, .answer-headline {
  font-stretch: 116%;
  letter-spacing: -.012em;
  color: var(--d-ink);
}
h1 { font-weight: 780; }
h2, h3 { font-weight: 720; }
:focus-visible { outline: 3px solid var(--d-indigo) !important; outline-offset: 2px; }

/* Etichetele mici scrise cu majuscule nu mai apar: titlurile spun deja ce e acolo. */
.eyebrow { display: none !important; }

/* ---------- Antet ---------- */
.topbar {
  background: var(--d-night) !important;
  color: #c4cbe0 !important;
  font-size: 12.5px !important;
  padding: 6px 16px !important;
}
header {
  background: var(--d-paper) !important;
  border-bottom: 1px solid var(--d-line) !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
.brand { min-width: 0 !important; flex: 0 0 auto !important; text-decoration: none; }
.d-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 23px;
  font-weight: 800;
  font-stretch: 125%;
  letter-spacing: -.02em;
  color: var(--d-ink);
}
.d-wordmark i {
  width: 22px;
  height: 22px;
  border-radius: 3px;
  background: var(--d-ramp);
  box-shadow: inset 0 0 0 3px var(--d-ink);
}
.navlinks button, .navlinks a, .lang {
  color: var(--d-ink) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  border-radius: 8px !important;
}
.navlinks button:hover, .navlinks a:hover { background: var(--d-indigo-soft) !important; color: var(--d-indigo-deep) !important; }
.navlinks button.active, .navlinks a.active { background: transparent !important; color: var(--d-indigo) !important; }
.navlinks button.active::after, .navlinks a.active::after { background: var(--d-indigo) !important; height: 3px !important; }
.navlinks .nav-compare {
  background: var(--d-indigo) !important;
  color: #fff !important;
  border-radius: var(--d-radius) !important;
}
.navlinks .nav-compare:hover, .navlinks .nav-compare.active { background: var(--d-indigo-deep) !important; color: #fff !important; }
.lang { border: 1px solid var(--d-line-2) !important; }
.menu-toggle span { background: var(--d-ink) !important; height: 2px !important; }
.comparebar { background: var(--d-paper) !important; color: var(--d-ink) !important; border-top: 1px solid var(--d-line) !important; }
#compareNow { background: var(--d-indigo) !important; color: #fff !important; border-radius: var(--d-radius) !important; }
#compareNow:disabled { background: #c9d0dc !important; color: #56607a !important; }

/* Mesajul „nu vindem ferestre” stă acum pe prima pagină și în cererea de ofertă. */
.intent-strip { display: none !important; }

/* ---------- Butoane ---------- */
.answer-primary, .home-primary, #offerSection.quote-panel button, .quote-foot button#quoteNext, .glass-picker-foot button.primary, .mobile-offer-bar button {
  background: var(--d-indigo) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--d-radius) !important;
  font-weight: 700 !important;
}
.answer-primary:hover, #offerSection.quote-panel button:hover, .mobile-offer-bar button:hover { background: var(--d-indigo-deep) !important; }
.answer-secondary {
  background: transparent !important;
  color: var(--d-indigo) !important;
  border: 1.5px solid var(--d-indigo) !important;
  border-radius: var(--d-radius) !important;
  font-weight: 700 !important;
}

/* ---------- Pagina de start ---------- */
main.home-mode { max-width: 1120px; margin: 0 auto; }
main.home-mode .panel { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.home-view { gap: 0 !important; padding: 0 !important; }

.d-start { padding: clamp(28px, 6vw, 72px) 0 clamp(32px, 5vw, 56px); }
.d-start h1 {
  margin: 0 0 14px;
  max-width: 15ch;
  font-size: clamp(38px, 7vw, 80px);
  line-height: .98;
  font-weight: 800;
  font-stretch: 125%;
  letter-spacing: -.035em;
}
.d-start-lead { margin: 0 0 clamp(26px, 4vw, 40px); max-width: 52ch; font-size: clamp(17px, 2vw, 20px); color: var(--d-ink-2); }

/* Propoziția „Compar … cu …” */
.d-sentence {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
  font-size: clamp(24px, 3.4vw, 38px);
  line-height: 1.2;
  font-weight: 650;
  font-stretch: 112%;
}
.d-word { color: var(--d-ink-2); }
.d-slot { position: relative; display: inline-flex; align-items: baseline; min-height: 1.4em; }
.d-slot.is-filled {
  gap: 10px;
  padding: 2px 4px 4px 0;
  border-bottom: 4px solid var(--d-ink);
  color: var(--d-ink);
}
.d-slot.is-filled small { align-self: center; font-size: 13px; font-weight: 600; font-stretch: 100%; color: var(--d-ink-3); }
.d-slot.is-filled b { font-weight: 780; }
.d-slot.is-filled button {
  align-self: center;
  width: 32px; height: 32px;
  border: 1px solid var(--d-line-2);
  border-radius: 50%;
  background: var(--d-paper);
  color: var(--d-ink-2);
  font-size: 18px;
  line-height: 1;
}
.d-slot.is-filled button:hover { border-color: var(--d-warm); color: var(--d-warm-ink); }
.d-slot.is-wait { color: #a5aec0; border-bottom: 4px dotted #c2c9d6; padding-bottom: 4px; font-weight: 600; }
.d-slot .profile-search { position: relative; }
.d-slot .profile-search-toggle {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  min-height: 0 !important;
  width: auto !important;
  padding: 2px 4px 4px 0 !important;
  border: 0 !important;
  border-bottom: 4px solid var(--d-indigo) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--d-indigo) !important;
  font-size: inherit !important;
  font-weight: 650 !important;
  font-stretch: inherit;
  box-shadow: none !important;
}
.d-slot .profile-search-toggle svg { width: .7em; height: .7em; stroke: currentColor; }
.d-slot .profile-search-toggle:hover { color: var(--d-indigo-deep) !important; border-bottom-color: var(--d-indigo-deep) !important; }
.d-slot .profile-search-panel { font-size: 16px; font-weight: 400; font-stretch: 100%; top: calc(100% + 10px) !important; z-index: 60; }

.d-go { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 18px; margin-top: clamp(26px, 4vw, 40px); }
#homeGo {
  min-height: 58px;
  padding: 0 34px;
  border: 0;
  border-radius: var(--d-radius);
  background: var(--d-indigo);
  color: #fff;
  font-size: 18px;
  font-weight: 750;
  font-stretch: 112%;
}
#homeGo:hover:not(:disabled) { background: var(--d-indigo-deep); }
#homeGo:disabled { background: #c9d0dc; color: #56607a; cursor: not-allowed; }
#homeGoHint { color: var(--d-ink-2); font-size: 15px; }
.d-brands { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; font-size: 15px; color: var(--d-ink-3); }
.d-brands a { color: var(--d-ink); font-weight: 650; text-decoration: underline; text-decoration-color: var(--d-line-2); text-underline-offset: 4px; }
.d-brands a:hover { text-decoration-color: var(--d-indigo); color: var(--d-indigo); }

/* Exemplul termic: singurul panou întunecat, ca ecranul unei camere termice */
.d-read {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  padding: clamp(32px, 5vw, 56px) 0;
  border-top: 1px solid var(--d-line);
}
.d-read h2, .d-steps h2, .d-honest h2 { margin: 0 0 14px; font-size: clamp(24px, 3vw, 34px); line-height: 1.1; }
.d-read p { margin: 0 0 12px; max-width: 54ch; color: var(--d-ink-2); font-size: 17px; }
.d-read-demo { margin: 0; }
.d-demo-pair {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 3vw, 32px);
  padding: clamp(20px, 3vw, 34px);
  border-radius: 14px;
  background: var(--d-night);
}
.d-demo-pair::before, .d-demo-pair::after {
  content: "";
  position: absolute;
  width: 18px; height: 18px;
  border: 2px solid rgba(255, 255, 255, .35);
}
.d-demo-pair::before { top: 10px; left: 10px; border-right: 0; border-bottom: 0; }
.d-demo-pair::after { bottom: 10px; right: 10px; border-left: 0; border-top: 0; }
.d-demo-pair > div { display: grid; gap: 10px; justify-items: center; }
.d-demo-pair span { color: #c9cfe2; font-size: 14px; text-align: center; }
.d-demo-pair .d-thermal { width: 100%; max-width: 190px; height: auto; display: block; }
.d-read-demo figcaption { margin-top: 10px; font-size: 13px; color: var(--d-ink-3); }

/* Pași: chiar sunt o succesiune, deci au numere */
.d-steps { padding: clamp(32px, 5vw, 56px) 0; border-top: 1px solid var(--d-line); }
.d-steps ol { counter-reset: dstep; list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 3vw, 40px); }
.d-steps li { counter-increment: dstep; padding-top: 16px; border-top: 3px solid var(--d-ink); }
.d-steps li::before {
  content: counter(dstep);
  display: block;
  margin-bottom: 8px;
  font-size: 40px;
  line-height: 1;
  font-weight: 800;
  font-stretch: 125%;
  color: var(--d-indigo);
}
.d-steps strong { display: block; font-size: 19px; font-stretch: 110%; margin-bottom: 6px; }
.d-steps p { margin: 0; color: var(--d-ink-2); font-size: 16px; }

.d-honest { padding: clamp(28px, 4vw, 44px) 0; border-top: 1px solid var(--d-line); display: grid; grid-template-columns: minmax(0, .45fr) minmax(0, 1fr); gap: 24px; }
.d-honest p { margin: 0; font-size: 18px; color: var(--d-ink); max-width: 62ch; }

.d-links { padding: 0 0 clamp(32px, 5vw, 56px); gap: 12px !important; }
.d-links button {
  min-height: 0 !important;
  padding: 18px 20px !important;
  background: var(--d-paper) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: var(--d-radius) !important;
}
.d-links button:hover { border-color: var(--d-indigo) !important; }
.d-links strong { font-size: 17px !important; font-stretch: 110%; }
.d-links span { color: var(--d-ink-2) !important; font-size: 15px !important; }

/* ---------- Comparația ---------- */
.compare-hero h1 { font-size: clamp(28px, 4.4vw, 52px) !important; line-height: 1.04 !important; font-stretch: 120%; letter-spacing: -.03em; }
.compare-context { color: var(--d-ink-2) !important; }
.compare-links .text-link, .hero-action {
  color: var(--d-indigo) !important;
  border: 1.5px solid var(--d-line-2) !important;
  background: var(--d-paper) !important;
  border-radius: var(--d-radius) !important;
  font-weight: 650 !important;
}
.compare-tabs {
  background: var(--d-paper) !important;
  border: 1px solid var(--d-line) !important;
  border-radius: 12px !important;
  padding: 5px !important;
  gap: 4px !important;
  box-shadow: 0 6px 20px rgba(19, 28, 51, .06) !important;
}
.compare-tabs [data-compare-tab] {
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--d-ink-2) !important;
}
.compare-tabs [data-compare-tab][aria-selected="true"] { background: var(--d-ink) !important; color: #fff !important; }
.compare-tabs [data-compare-tab][aria-selected="true"] small { color: #c7cde0 !important; }
.compare-tabs .compare-tab-arrow { display: none !important; }

.d-summary { display: block !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.d-verdict { max-width: 64ch; margin: 8px 0 26px; }
.d-verdict .answer-headline { margin: 0 0 10px !important; font-size: clamp(24px, 3vw, 36px) !important; line-height: 1.12 !important; }
.d-verdict .answer-lead { margin: 0 0 8px !important; font-size: 18px !important; color: var(--d-ink) !important; }
.d-scope { margin: 0; font-size: 14px; color: var(--d-ink-3); }

.d-cards { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.d-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--d-paper);
  border: 1px solid var(--d-line);
  border-radius: 14px;
  overflow: hidden;
}
.d-card.is-best { border-color: var(--d-indigo); box-shadow: 0 0 0 2px var(--d-indigo); }
.d-card .remove-system {
  position: absolute; top: 10px; right: 10px; z-index: 2;
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  font-size: 18px;
}
.d-card .remove-system:hover { background: rgba(255, 255, 255, .28); }
.d-card-pic { position: relative; display: grid; place-items: center; padding: 22px 18px; background: var(--d-night); }
.d-card-pic .d-best { position: absolute; left: 10px; top: 10px; margin: 0; }
.d-card-pic .d-thermal { width: min(150px, 70%); height: auto; display: block; }
.d-card-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.d-best { align-self: flex-start; margin-bottom: 4px; padding: 3px 9px; border-radius: 999px; background: var(--d-indigo); color: #fff; font-size: 12.5px; font-weight: 700; }
.d-maker { font-size: 13px; color: var(--d-ink-3); font-weight: 600; }
.d-name { font-size: 20px; line-height: 1.15; font-weight: 780; font-stretch: 112%; }
.d-heat { margin: 8px 0 6px; }
.d-heat-figure b { display: block; font-size: 26px; line-height: 1.05; font-weight: 800; font-stretch: 116%; font-variant-numeric: tabular-nums; }
.d-heat-figure span { display: block; font-size: 13.5px; color: var(--d-ink-2); }
.d-heat-track { height: 8px; margin: 10px 0 8px; border-radius: 4px; background: #e3e8ef; overflow: hidden; }
.d-heat-track span { display: block; height: 100%; border-radius: 4px; }
.d-heat-meta { margin: 0; font-size: 13.5px; color: var(--d-ink-2); }
.d-heat-missing { color: var(--d-ink-2); }
.d-glass { display: grid; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--d-line); font-size: 14px; color: var(--d-ink); }
.d-glass-change {
  justify-self: start;
  min-height: 40px;
  padding: 0 14px;
  border: 1.5px solid var(--d-line-2);
  border-radius: 8px;
  background: var(--d-paper);
  color: var(--d-indigo);
  font-weight: 650;
}
.d-glass-change:hover { border-color: var(--d-indigo); }
.d-sheet { font-size: 14px; color: var(--d-indigo); font-weight: 650; text-underline-offset: 3px; }
.d-card--add { align-self: start; align-items: stretch; justify-content: center; gap: 12px; padding: 20px; background: transparent; border: 2px dashed var(--d-line-2); }
.d-card--add p { margin: 0; color: var(--d-ink-2); }

.d-scale { display: grid; grid-template-columns: minmax(160px, 260px) minmax(0, 1fr); gap: 6px 22px; align-items: start; margin: 18px 0 30px; }
.d-scale-bar { height: 10px; border-radius: 5px; background: var(--d-ramp); margin-top: 6px; }
.d-scale-ends { grid-column: 1; display: flex; justify-content: space-between; font-size: 12.5px; color: var(--d-ink-3); }
.d-scale p { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: 14px; color: var(--d-ink-2); max-width: 70ch; }

.d-diff { margin: 0 0 24px; }
.d-diff-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 10px; }
.d-diff-head h3 { margin: 0; font-size: 22px; }
.d-toggle { min-height: 40px; padding: 0 14px; border: 1.5px solid var(--d-line-2); border-radius: 8px; background: var(--d-paper); color: var(--d-indigo); font-weight: 650; }
.d-table { background: var(--d-paper); border: 1px solid var(--d-line); border-radius: 14px; overflow: hidden; }
.d-row { display: grid; grid-template-columns: minmax(200px, .8fr) minmax(0, 2fr); border-top: 1px solid var(--d-line); }
.d-row:first-child { border-top: 0; }
.d-q { padding: 14px 18px; }
.d-q strong { display: block; font-size: 16px; }
.d-q small { display: block; font-size: 13px; color: var(--d-ink-3); }
.d-cells { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); }
.d-cell { padding: 14px 16px; border-left: 1px solid var(--d-line); font-size: 15px; font-variant-numeric: tabular-nums; }
.d-cell-name { display: none; }
.d-cell em { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; font-style: normal; font-size: 12.5px; font-weight: 700; }
.d-cell.is-better { box-shadow: inset 4px 0 0 var(--d-indigo); }
.d-cell.is-better em { background: var(--d-indigo-soft); color: var(--d-indigo-deep); }
.d-cell.is-worse { box-shadow: inset 4px 0 0 var(--d-warm); }
.d-cell.is-worse em { background: var(--d-warm-soft); color: var(--d-warm-ink); }
.d-all-same { margin: 0; padding: 16px 18px; color: var(--d-ink-2); }

.d-summary .answer-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.d-summary .answer-actions button { min-height: 52px; padding: 0 22px; font-size: 16px; }

/* Cererea de ofertă */
#offerSection.quote-panel {
  background: var(--d-paper) !important;
  border: 1px solid var(--d-line) !important;
  border-left: 6px solid var(--d-indigo) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
#offerSection.quote-panel h2 { font-stretch: 116%; }

/* ---------- Restul paginilor: suprafețe albe, colțuri egale, fără umbre grele ---------- */
.panel, .card, .manufacturer-card, .system-card, .glass-method-box, .coefficient-guide, .info-card, .legend-item, .rule, .factory-card, .window-configurator, .project-results, .project-result-card, .detailed-compare-intro {
  border-radius: 14px !important;
  box-shadow: none !important;
  border-color: var(--d-line) !important;
}
.intro h1, #pageTitle { font-size: clamp(30px, 4.6vw, 56px) !important; line-height: 1.04 !important; font-stretch: 120%; letter-spacing: -.03em; font-weight: 800 !important; }
#pageLead { color: var(--d-ink-2) !important; }
.trust { color: var(--d-ink-2) !important; }
.trust i { background: var(--d-indigo) !important; }
input[type="search"], input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea { border-radius: 8px !important; border-color: var(--d-line-2) !important; }
.notice, #catalogNotice { background: var(--d-paper) !important; border: 1px solid var(--d-line) !important; border-left: 4px solid var(--d-indigo) !important; color: var(--d-ink-2) !important; border-radius: 10px !important; }

/* Subsol */
.site-footer { background: var(--d-night) !important; color: #c4cbe0 !important; border-top: 0 !important; }
.site-footer * { color: inherit; }
.site-footer strong, .site-footer h2, .site-footer h3 { color: #fff !important; }
.site-footer a { color: #fff !important; }

/* ---------- Telefon ---------- */
@media (max-width: 820px) {
  .d-wordmark { font-size: 20px; }
  main.home-mode { padding-left: 18px !important; padding-right: 18px !important; }
  .d-start h1 { max-width: none; }
  .d-sentence { flex-direction: column; align-items: stretch; gap: 6px; font-size: 25px; }
  .d-word { font-size: 17px; font-weight: 600; font-stretch: 100%; margin-top: 6px; }
  .d-slot { display: flex; }
  .d-slot.is-filled { justify-content: space-between; }
  .d-slot.is-filled small { order: -1; position: absolute; top: -18px; left: 0; display: none; }
  .d-slot .profile-search { width: 100%; }
  .d-slot .profile-search-toggle { width: 100% !important; justify-content: flex-start; }
  .d-go { flex-direction: column; align-items: stretch; }
  #homeGo { width: 100%; }
  #homeGoHint { text-align: center; }
  .d-read, .d-honest { grid-template-columns: 1fr; }
  .d-steps ol { grid-template-columns: 1fr; }

  .d-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .d-card-pic { padding: 16px 10px; }
  .d-card-body { padding: 12px 12px 14px; }
  .d-name { font-size: 16.5px; }
  .d-heat-figure b { font-size: 21px; }
  .d-heat-figure span, .d-heat-meta { font-size: 12.5px; }
  .d-glass { font-size: 13px; }
  .d-glass-change { width: 100%; padding: 0 8px; font-size: 13.5px; }
  .d-card--add { grid-column: 1 / -1; }
  .d-scale { grid-template-columns: 1fr; }
  .d-scale p { grid-column: 1; grid-row: auto; }

  .d-row { grid-template-columns: 1fr; }
  .d-q { padding: 12px 14px 4px; }
  .d-cell { border-left: 0; padding: 6px 14px 12px; font-size: 14px; }
  .d-cells .d-cell + .d-cell { border-left: 1px solid var(--d-line); }
  .d-cell-name { display: block; font-size: 11.5px; color: var(--d-ink-3); }
  .d-cell em { display: table; margin: 4px 0 0; }
  .d-summary .answer-actions { flex-direction: column; }
  .d-summary .answer-actions button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* Subsolul ocupă toată lățimea */
.site-footer { max-width: none !important; margin: 56px 0 0 !important; padding-left: max(20px, calc((100vw - 1120px) / 2)) !important; padding-right: max(20px, calc((100vw - 1120px) / 2)) !important; }
header { z-index: 80 !important; }
#primaryNav { z-index: 90; }
#comparisonPage.tablewrap { border: 0 !important; border-radius: 0 !important; overflow: visible !important; }
.d-card-pic .d-best { top: auto !important; bottom: 10px; }

/* Sigla D: fereastra cu pata de căldură */
.d-wordmark svg { width: 30px; height: 30px; flex: none; }
@media (max-width: 820px) { .d-wordmark svg { width: 26px; height: 26px; } }

/* Cererile de ofertă: buton „în curând”, fără clic */
#offerSection.quote-panel button.quote-soon-button,
#offerSection.quote-panel button.quote-soon-button:hover {
  min-height: 52px;
  padding: 0 22px;
  border: 1.5px dashed var(--d-line-2) !important;
  border-radius: var(--d-radius) !important;
  background: var(--d-indigo-soft) !important;
  color: var(--d-ink-2) !important;
  font-weight: 700;
  cursor: not-allowed;
  opacity: 1;
}
#offerSection.quote-panel button.quote-soon-link { width: auto !important; min-height: 0 !important; margin-top: 10px; padding: 0 !important; border: 0 !important; background: none !important; color: var(--d-indigo) !important; font-weight: 650 !important; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Mărcile fără acord: numele scris, în locul siglei */
.manufacturer-card .manufacturer-logo .manufacturer-logo-fallback, .manufacturer-logo-fallback { color: var(--d-ink) !important; font-family: "Archivo", sans-serif; font-weight: 800; font-stretch: 118%; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.01em; color: var(--d-ink); }

/* Prima pagină: titlul care spune ce face site-ul + comparatorul cu două câmpuri */
.d-start h1 { max-width: 22ch !important; font-size: clamp(30px, 4.6vw, 56px) !important; line-height: 1.04 !important; letter-spacing: -.03em; }
.d-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 860px; }
.d-pick { position: relative; display: grid; gap: 8px; padding: 16px 18px; background: var(--d-paper); border: 1.5px solid var(--d-line-2); border-radius: 12px; }
.d-pick-label { font-size: 14px; font-weight: 700; color: var(--d-ink-2); }
.d-pick .profile-search-toggle { width: 100% !important; min-height: 52px !important; justify-content: flex-start; gap: 10px; padding: 0 14px !important; border: 1.5px solid var(--d-indigo) !important; border-radius: 10px !important; background: var(--d-paper) !important; color: var(--d-indigo) !important; font-size: 17px !important; font-weight: 650 !important; }
.d-pick .profile-search-toggle svg { width: 18px; height: 18px; stroke: currentColor; }
.d-pick .profile-search-panel { z-index: 60; }
.d-pick.is-filled { border-color: var(--d-ink); }
.d-pick-value small { display: block; font-size: 13px; color: var(--d-ink-3); font-weight: 600; }
.d-pick-value b { display: block; font-size: 22px; line-height: 1.15; font-weight: 780; font-stretch: 112%; }
.d-pick-remove { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 1px solid var(--d-line-2); border-radius: 50%; background: var(--d-paper); color: var(--d-ink-2); font-size: 18px; line-height: 1; }
.d-pick-remove:hover { border-color: var(--d-warm); color: var(--d-warm-ink); }
.d-pick-more { grid-column: 1 / -1; margin: 0; font-size: 14px; color: var(--d-ink-2); }
@media (max-width: 820px) { .d-picker { grid-template-columns: 1fr; } }

/* Totaluri pe locuință */
.d-dwelling { margin: 0 0 16px; padding: 16px 18px; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: 14px; }
.d-dwelling-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.d-dwelling-head strong { font-size: 17px; font-stretch: 110%; }
.d-dwelling-options { display: flex; flex-wrap: wrap; gap: 8px; }
.d-dwelling-options button { min-height: 44px; padding: 0 14px; border: 1.5px solid var(--d-line-2); border-radius: 999px; background: var(--d-paper); color: var(--d-ink); font-weight: 650; font-size: 15px; }
.d-dwelling-options button[aria-pressed="true"] { background: var(--d-ink); border-color: var(--d-ink); color: #fff; }
.d-dwelling-info { position: relative; }
.d-dwelling-info > summary { list-style: none; display: grid; place-items: center; width: 36px; height: 36px; border: 1.5px solid var(--d-indigo); border-radius: 50%; color: var(--d-indigo); font-weight: 800; cursor: pointer; }
.d-dwelling-info > summary::-webkit-details-marker { display: none; }
.d-dwelling-info[open] > div { position: absolute; right: 0; top: 44px; z-index: 30; width: min(440px, 86vw); padding: 14px 16px; background: var(--d-paper); border: 1px solid var(--d-line-2); border-radius: 12px; box-shadow: 0 12px 30px rgba(19, 28, 51, .14); font-size: 14px; color: var(--d-ink-2); }
.d-dwelling-info ul { margin: 6px 0 10px; padding-left: 18px; display: grid; gap: 4px; }
.d-dwelling-info p { margin: 0; }
@media (max-width: 820px) {
  .d-dwelling-options { display: grid; grid-template-columns: 1fr 1fr; }
  .d-dwelling-options button { border-radius: 10px; font-size: 14px; }
}

/* Mărci: aceeași culoare neutră pentru toate */
.brand-index .manufacturer-card { --brand-accent: var(--d-indigo) !important; --brand-hover-text: #fff !important; }

/* Fabrici: în curând */
.factories-soon { max-width: 70ch; padding: 8px 0 22px; }
.factories-soon h2 { margin: 0 0 12px; font-size: clamp(22px, 3vw, 32px); line-height: 1.15; }
.factories-soon p { margin: 0 0 12px; font-size: 17px; color: var(--d-ink-2); }
.factories-soon-cta { margin-top: 6px; min-height: 50px; padding: 0 22px; border: 0; border-radius: var(--d-radius); background: var(--d-indigo); color: #fff; font-weight: 700; font-size: 16px; }
.factories-soon-cta:hover { background: var(--d-indigo-deep); }

/* Pagina „Montaj” */
.mounting-view { display: none; padding: clamp(16px, 3vw, 28px) clamp(16px, 3vw, 28px); }
.mounting { max-width: 1080px; color: var(--d-ink); }
.mounting h2 { font-size: clamp(28px, 4vw, 44px); line-height: 1.08; margin: .3em 0 .4em; font-stretch: 118%; }
.mounting h3 { font-size: clamp(20px, 2.4vw, 26px); margin: 1.6em 0 .6em; }
.mounting h4 { font-size: 22px; margin: 0; }
.mounting h5 { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 .5em; color: var(--d-ink-2); }
.mounting p, .mounting li { font-size: 16px; line-height: 1.6; color: var(--d-ink-2); }
.m-lead { font-size: clamp(17px, 2vw, 19px) !important; max-width: 70ch; color: var(--d-ink) !important; }
.m-why p { max-width: 75ch; }
.m-jobs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.m-job { background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); padding: 16px; }
.m-job b { display: flex; align-items: center; gap: 10px; font-size: 17px; }
.m-job b span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--d-indigo); color: #fff; font-size: 14px; }
.m-job p { margin: .5em 0 0; font-size: 15px; }
.m-type { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: clamp(16px, 3vw, 32px); background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); padding: clamp(16px, 2.5vw, 24px); margin-bottom: 16px; }
.m-draw { width: 100%; height: auto; display: block; border: 1px solid var(--d-line); border-radius: 8px; font-family: "Archivo", sans-serif; }
.m-num { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--d-warm); color: #fff; font-weight: 800; margin-bottom: 8px; }
.m-sub { margin: .2em 0 1em; font-weight: 600; color: var(--d-ink-3) !important; }
.m-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 12px 0; }
.m-cols ul { margin: 0; padding-left: 18px; }
.m-cols li { font-size: 15px; margin-bottom: .4em; }
.m-good { background: #eef6f1; border-radius: 8px; padding: 12px 14px; }
.m-limits { background: var(--d-warm-soft); border-radius: 8px; padding: 12px 14px; }
.m-cost { margin: 0; font-size: 15px !important; }
.m-myth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.m-myth { background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); padding: 14px 16px; }
.m-myth b { font-size: 16px; }
.m-myth p { margin: .4em 0 0; font-size: 15px; }
.m-ask ol { padding-left: 22px; }
.m-note { font-size: 14px !important; color: var(--d-ink-3) !important; }
.m-sources ul { padding-left: 18px; }
.m-sources li { font-size: 14px; }
.m-sources a { color: var(--d-indigo); }
@media (max-width: 820px) {
  .m-type { grid-template-columns: 1fr; }
  .m-jobs, .m-cols, .m-myth-grid { grid-template-columns: 1fr; }
}

/* Card comparator: economia în față, pierderea dedesubt, Uw mic */
.d-versus { display: inline-block; margin: 0 0 8px; padding: 3px 9px; border-radius: 999px; background: var(--d-warm-soft); color: var(--d-warm-ink); font-size: 12.5px; font-weight: 700; }
.d-save b { display: block; color: #1f7a4d; font-size: 24px; line-height: 1.1; font-weight: 800; font-stretch: 112%; font-variant-numeric: tabular-nums; }
.d-save span { display: block; margin-top: 3px; font-size: 13px; color: var(--d-ink-2); }
.d-loss { margin: 12px 0 0; font-size: 15px; font-weight: 600; color: var(--d-ink); }
.d-heat-meta { font-size: 12.5px !important; color: var(--d-ink-3) !important; }
@media (max-width: 820px) { .d-save b { font-size: 20px; } .d-loss { font-size: 14px; } }
.d-climate { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--d-ink); }
.d-climate select { min-height: 40px; padding: 6px 10px; border: 1px solid var(--d-line); border-radius: 8px; background: var(--d-paper); font-size: 15px; color: var(--d-ink); max-width: 100%; }
.d-climate small { font-weight: 500; color: var(--d-ink-3); }

/* Sticle diferite: bandă pe card și avertizare deasupra cardurilor */
.d-glass-band { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 8px 0 10px; padding: 8px 12px; border-radius: 8px; color: #fff; }
.d-glass-band b { font-size: 15px; letter-spacing: .04em; font-weight: 800; }
.d-glass-band span { font-size: 12.5px; opacity: .92; }
.d-glass-band.is-double { background: #c2541f; }
.d-glass-band.is-triple { background: var(--d-indigo); }
.d-glass-warning { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0 0 14px; padding: 12px 16px; border: 1px solid #f0c3ad; border-left: 5px solid #c2541f; border-radius: 10px; background: var(--d-warm-soft); }
.d-glass-warning p { margin: 0; font-size: 15px; color: var(--d-ink); }
.d-glass-same { min-height: 40px; padding: 8px 14px; border: 1px solid var(--d-indigo); border-radius: 8px; background: #fff; color: var(--d-indigo); font-weight: 700; cursor: pointer; }
@media (max-width: 820px) { .d-glass-band { display: block; padding: 7px 10px; } .d-glass-band b { display: block; font-size: 14px; } .d-glass-band span { display: block; font-size: 12px; } }

/* Linkuri către rețelele sociale (subsol) */
.site-footer-social { display: inline-flex; gap: 10px; align-items: center; }
.site-footer .site-footer-social a { display: inline-grid !important; place-items: center; width: 38px; height: 38px; padding: 0 !important; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); color: #fff !important; text-decoration: none !important; transition: background .15s, border-color .15s; }
.site-footer .site-footer-social a:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.site-footer .site-footer-social a:focus-visible { outline: 3px solid #f9ac28 !important; outline-offset: 2px; }

/* Pagina „Casă nouă” (nZEB și casă pasivă): refolosește stilurile paginii Montaj */
.nh-table-wrap { overflow-x: auto; }
.nh-table { width: 100%; border-collapse: collapse; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); font-size: 15px; }
.nh-table th, .nh-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--d-line); color: var(--d-ink-2); vertical-align: top; }
.nh-table thead th { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--d-ink-3); }
.nh-table tbody th { color: var(--d-ink); font-weight: 700; }
.nh-table tr.is-key th, .nh-table tr.is-key td { background: var(--d-warm-soft); color: var(--d-ink); font-weight: 700; }
.nh-box { margin: 14px 0; }
.nh-box ul { margin: 0; padding-left: 18px; }
.nh-box p { margin: .3em 0; }
.nh-num { display: block; font-size: 28px !important; font-weight: 800; color: var(--d-indigo); }
.nh-conclusion { font-weight: 700; color: var(--d-ink) !important; }
.nh-link a { color: var(--d-indigo); font-weight: 700; }
@media (max-width: 640px) { .nh-facts { grid-template-columns: 1fr; } }

/* Meniul cu „Casă nouă” încape pe ecrane medii (între telefon și laptop mare) */
@media (min-width: 821px) and (max-width: 1320px) {
  .nav { padding-left: 20px !important; padding-right: 20px !important; gap: 14px !important; }
  .navlinks { gap: 6px !important; }
  .navlinks button, .navlinks a, .lang { font-size: 13px !important; padding-left: 6px !important; padding-right: 6px !important; }
  .navlinks .nav-compare #selectedText { display: none; }
}
@media (min-width: 821px) and (max-width: 1100px) {
  .navlinks button, .navlinks a, .lang { font-size: 12px !important; padding-left: 4px !important; padding-right: 4px !important; }
  .brand .d-wordmark { font-size: 0 !important; gap: 0 !important; }
  .navlinks .nav-compare span[data-ro] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .navlinks .nav-compare { padding-left: 10px !important; padding-right: 10px !important; }
  .nav { grid-template-columns: auto 1fr auto !important; }
}

/* Meniul derulant „Casă nouă” (nZEB / Casă pasivă) */
.nav-dropdown { position: relative; display: inline-flex; align-items: center; height: 100%; }
.navlinks .nav-dropdown-toggle { display: inline-flex; align-items: center; gap: 5px; }
.nav-dropdown-toggle svg { transition: transform .15s; }
.nav-dropdown.is-open .nav-dropdown-toggle svg { transform: rotate(180deg); }
.nav-dropdown-menu { display: none; position: absolute; top: calc(100% - 8px); left: 0; z-index: 60; min-width: 210px; padding: 6px; background: var(--d-paper); border: 1px solid var(--d-line); border-radius: 10px; box-shadow: 0 12px 28px rgba(19, 28, 51, .16) !important; }
.nav-dropdown.is-open .nav-dropdown-menu { display: grid; gap: 2px; }
.navlinks .nav-dropdown-menu button, .navlinks .nav-dropdown-menu a { display: block; width: 100%; height: auto !important; text-align: left; padding: 10px 12px !important; white-space: nowrap; }
.navlinks .nav-dropdown-menu button.active, .navlinks .nav-dropdown-menu a.active { background: var(--d-indigo-soft) !important; }
.navlinks .nav-dropdown-menu button::after, .navlinks .nav-dropdown-menu a::after { display: none !important; }
@media (max-width: 820px) {
  .nav-dropdown { display: block; height: auto; width: 100%; }
  .nav-dropdown-menu { position: static; box-shadow: none !important; border: 0; padding: 0 0 0 16px; min-width: 0; background: transparent; }
}

/* Pagini separate: titlul secțiunii poate fi h1 sau h2, titlul principal poate fi h1 sau h2 – arată la fel */
#pageTitle { margin: 0 0 .85rem; max-width: 920px; color: var(--d-ink); }
.d-start #homeTitle { margin: 0 0 14px; font-weight: 800; font-stretch: 125%; color: var(--d-ink); max-width: 22ch !important; font-size: clamp(30px, 4.6vw, 56px) !important; line-height: 1.04 !important; letter-spacing: -.03em; }
.navlinks a { text-decoration: none; }
/* Subsol: linkuri spre toate paginile (bandă sub subsol, aceeași culoare) */
.site-footer-pages { display: flex; flex-wrap: wrap; gap: 6px 18px; background: var(--d-night); padding: 14px max(20px, calc((100vw - 1120px) / 2)) 22px; border-top: 1px solid rgba(255,255,255,.12); }
.site-footer-pages a { color: #c4cbe0; font-size: 14px; font-weight: 600; text-decoration: none; }
.site-footer-pages a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 820px) { .site-footer-pages { padding-bottom: 108px; } .site-footer { padding-bottom: 20px !important; } }

/* Liste pliabile pe paginile „Casă nouă” (profile care se încadrează, certificate de casă pasivă) */
.nh-details { margin: 14px 0; border: 1px solid var(--d-line); border-radius: var(--d-radius); background: var(--d-paper); }
.nh-details > summary { cursor: pointer; list-style: none; padding: 14px 16px; font-weight: 800; color: var(--d-indigo); display: flex; align-items: center; gap: 8px; }
.nh-details > summary::-webkit-details-marker { display: none; }
.nh-details > summary::before { content: '▸'; display: inline-block; transition: transform .15s; }
.nh-details[open] > summary::before { transform: rotate(90deg); }
.nh-details > summary:hover { background: var(--d-indigo-soft); border-radius: var(--d-radius); }
.nh-details > :not(summary) { margin-left: 16px; margin-right: 16px; }
.nh-details > :last-child { margin-bottom: 16px; }
.nh-count { color: var(--d-ink-3); font-weight: 600; }
.nh-group { font-size: 16px !important; margin: 18px 16px 8px !important; }
.nh-list td, .nh-list th { font-size: 14px; }
.nh-list a { color: var(--d-indigo); }
.nh-ask-uw { background: var(--d-paper); border: 1px solid var(--d-line); border-radius: var(--d-radius); padding: 12px 16px; margin-bottom: 10px; }
.nh-ask-uw p { margin: .4em 0; }
.nh-legal { margin: 0 0 16px; padding: 10px 14px; border-left: 4px solid var(--d-indigo); background: var(--d-indigo-soft); border-radius: 0 8px 8px 0; font-size: 15px !important; color: var(--d-ink) !important; }
.nh-legal a { color: var(--d-indigo); font-weight: 700; white-space: nowrap; }
.nh-certs { margin: 22px 0; }
.nh-certs > h3 { margin-top: .4em; }
.nh-list td.nh-glass { font-weight: 700; color: var(--d-ink); }
