/* ==========================================================================
   ALTUS DYNAMICS — Design tokens
   ========================================================================== */
:root {
  /* Paleta de bază (brand) — valorile originale */
  --navy: #0A1930;
  --antracit: #262A2E;
  --bronz: #B8793E;
  --bronz-light: #D9A066;
  --cream: #F3EDE4;
  --slate: #5B6068;
  --slate-light: #9096A0;

  /* Accente per linie de vânzare: variantă luminoasă (pe fundal închis) și variantă închisă (pe fundal deschis) */
  --hi-industrial: #F58E6A;
  --hi-corporate: #79B2D6;
  --hi-institutional: #9DB2EA;
  --hi-residential: #93BB86;
  --lt-industrial: #B0431F;
  --lt-corporate: #2D6283;
  --lt-institutional: #3B4F8C;
  --lt-residential: #46663C;

  /* ===== TEMA IMPLICITĂ: NOAPTE (V1) =====
     Tema se alege în PHP (partials/tema.php) după răsăritul și apusul soarelui la Timișoara
     și ajunge ca atribut data-theme pe <html>. Culorile se schimbă DOAR aici. */
  --bg: #13294B;                 /* fundalul paginii și al secțiunilor „întunecate" */
  --card: #1D3A64;
  --card-hover: #234571;
  --text: #F6F1E8;
  --head: #F6F1E8;
  --text2: #B4C0D2;
  --bronz-t: #E6B27A;            /* bronz folosit ca text pe fundalul temei */
  --accent-default: #E0A465;     /* accent când pagina nu are linie de vânzare */
  --on-accent: #0A1930;          /* text pe butoane colorate */
  --line: rgba(246, 241, 232, 0.14);
  --line-soft: rgba(246, 241, 232, 0.10);
  --glow: rgba(230, 178, 122, 0.18);
  --warn-t: #F2917D;
  --l-bg: #F3EDE4;               /* secțiunile deschise (text lung, formulare) */
  --cta-bg: #1D3A64;
  --cta-head: #F6F1E8;
  --cta-text: #B4C0D2;
  --line-industrial: var(--hi-industrial);
  --line-corporate: var(--hi-corporate);
  --line-institutional: var(--hi-institutional);
  --line-residential: var(--hi-residential);

  /* Antet și subsol: rămân albastru închis în ambele teme (sigla există doar pe fundal închis) */
  --chrome: #0F2342;
  --chrome-text: #F6F1E8;
  --chrome-text2: #B4C0D2;
  --chrome-line: rgba(246, 241, 232, 0.12);
  --chrome-card: #1D3A64;
  --chrome-accent: #E6B27A;

  --font-display: 'Space Grotesk', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-body: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  --max-width: 1180px;
  --edge: clamp(20px, 5vw, 64px);
}

/* ===== TEMA DE ZI ===== */
html[data-theme="day"] {
  --bg: #F6F2EA;
  --card: #FFFFFF;
  --card-hover: #FBF9F4;
  --text: #2B3340;
  --head: #0F2748;
  --text2: #4F5662;
  --bronz-t: #8E5826;
  --accent-default: #8E5826;
  --on-accent: #FFFFFF;
  --line: #DDD5C6;
  --line-soft: #E6E0D3;
  --glow: rgba(184, 121, 62, 0.16);
  --warn-t: #A8432A;
  --l-bg: #E9EEF5;
  --cta-bg: #17407A;
  --cta-head: #F6F1E8;
  --cta-text: #D3DCEA;
  --line-industrial: var(--lt-industrial);
  --line-corporate: var(--lt-corporate);
  --line-institutional: var(--lt-institutional);
  --line-residential: var(--lt-residential);
}

/* ==========================================================================
   Reset & base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 {
  font-family: var(--font-display);
  margin: 0;
  font-weight: 700;
  letter-spacing: -0.01em;
}
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--bronz-t); outline-offset: 3px; }
.site-header :focus-visible, .site-footer :focus-visible { outline-color: var(--chrome-accent); }
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

.wrap {
  max-width: var(--max-width);
  margin: 0 auto;
  padding-left: var(--edge);
  padding-right: var(--edge);
}

/* ==========================================================================
   Header
   ========================================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(15, 35, 66, 0.94);
  background: color-mix(in srgb, var(--chrome) 94%, transparent);
  backdrop-filter: blur(8px);
  color: var(--chrome-text);
  border-bottom: 1px solid var(--chrome-line);
}
.site-header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
}
.brand {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.brand span { color: var(--chrome-accent); }

.main-nav { display: flex; align-items: center; gap: 2.1rem; }
.main-nav a {
  font-size: 0.92rem;
  color: var(--chrome-text2);
  transition: color 0.15s ease;
  white-space: nowrap;
}
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--chrome-text); }
.main-nav a[aria-current="page"] { border-bottom: 1.5px solid var(--bronz); padding-bottom: 4px; }

.header-phone {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--chrome-text);
  border: 1px solid rgba(246, 241, 232, 0.3);
  padding: 0.5rem 1.1rem;
  border-radius: 2px;
  font-size: 0.9rem;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.header-phone:hover { border-color: var(--chrome-accent); background: rgba(184, 121, 62, 0.14); }

.nav-toggle { display: none; }

/* ==========================================================================
   Hero
   ========================================================================== */
.hero {
  padding: clamp(64px, 12vw, 128px) 0 clamp(56px, 8vw, 96px);
  background:
    radial-gradient(ellipse 900px 500px at 85% -10%, var(--glow), transparent 60%),
    var(--bg);
}
.hero-inner { max-width: 760px; }
.eyebrow {
  display: block;
  font-family: var(--font-display);
  font-size: 0.85rem;
  color: var(--bronz-t);
  margin-bottom: 1.4rem;
  font-weight: 500;
}
.hero h1 {
  font-size: clamp(2.3rem, 5.2vw, 3.75rem);
  line-height: 1.08;
  color: var(--head);
}
.hero .subhead {
  margin-top: 1.6rem;
  font-size: 1.15rem;
  line-height: 1.65;
  color: var(--text2);
  max-width: 620px;
}

/* ==========================================================================
   Direction cards
   ========================================================================== */
.directions {
  padding: 0 0 clamp(64px, 8vw, 96px);
}
.directions-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
}
.direction-card {
  background: var(--card);
  padding: 2.2rem 2.1rem 2.4rem;
  border-top: 3px solid var(--card-accent, var(--bronz));
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  transition: background 0.18s ease;
}
.direction-card:hover { background: var(--card-hover); }
.direction-card .segment-label {
  font-family: var(--font-display);
  font-size: 0.78rem;
  color: var(--card-accent, var(--bronz-t));
  font-weight: 500;
}
.direction-card blockquote {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.28rem;
  line-height: 1.38;
  color: var(--head);
  font-weight: 500;
}
.direction-card .cta-link {
  margin-top: auto;
  font-size: 0.94rem;
  color: var(--card-accent, var(--bronz-t));
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.4rem;
}
.direction-card .cta-link::after {
  content: "";
  width: 18px;
  height: 1px;
  background: currentColor;
  transition: width 0.15s ease;
}
.direction-card:hover .cta-link::after { width: 30px; }

.direction-card.industrial { --card-accent: var(--line-industrial); }
.direction-card.corporate { --card-accent: var(--line-corporate); }
.direction-card.institutional { --card-accent: var(--line-institutional); }
.direction-card.residential { --card-accent: var(--line-residential); }

/* ==========================================================================
   Ce facem
   ========================================================================== */
.what-we-do {
  padding: clamp(56px, 8vw, 96px) 0;
  background: var(--l-bg);
  color: var(--antracit);
}
.what-we-do .wrap {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(2rem, 6vw, 5rem);
  align-items: start;
}
.what-we-do h2 {
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  color: var(--navy);
  line-height: 1.2;
}
.what-we-do p {
  font-size: 1.08rem;
  line-height: 1.7;
  color: #3c4045;
}

/* ==========================================================================
   Trust band
   ========================================================================== */
.trust-band {
  background: var(--bg);
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  padding: 1.6rem 0;
}
.trust-band ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 0;
  justify-content: center;
}
.trust-band li {
  font-size: 0.88rem;
  color: var(--text2);
  padding: 0 1.4rem;
  border-left: 1px solid var(--line);
}
.trust-band li:first-child { border-left: none; }

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer {
  padding: clamp(48px, 6vw, 72px) 0 2.5rem;
  background: var(--chrome);
  color: var(--chrome-text);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  gap: 2.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--chrome-line);
}
.footer-grid h4 {
  font-size: 0.82rem;
  color: var(--chrome-accent);
  font-weight: 500;
  margin-bottom: 1rem;
}
.footer-brand .brand { display: block; margin-bottom: 0.9rem; }
.footer-brand p { color: var(--chrome-text2); font-size: 0.92rem; max-width: 320px; }
.footer-grid a, .footer-grid li {
  display: block;
  font-size: 0.92rem;
  color: var(--chrome-text2);
  margin-bottom: 0.6rem;
}
.footer-grid a:hover { color: var(--chrome-text); }
.footer-bottom {
  padding-top: 1.6rem;
  display: flex;
  justify-content: space-between;
  font-size: 0.82rem;
  color: var(--chrome-text2);
  flex-wrap: wrap;
  gap: 0.6rem;
}
.footer-bottom a:hover { color: var(--chrome-text); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 900px) {
  .main-nav { display: none; }
  .what-we-do .wrap { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 1.8rem; }
}
@media (max-width: 640px) {
  .directions-grid { grid-template-columns: 1fr; }
  .trust-band li { border-left: none; padding: 0 1.4rem; width: 100%; text-align: center; }
}

/* ==========================================================================
   Theme accents per linie de vânzare (pagini de segment)
   ========================================================================== */
body.theme-industrial { --current-accent: var(--line-industrial); }
body.theme-corporate { --current-accent: var(--line-corporate); }
body.theme-institutional { --current-accent: var(--line-institutional); }
body.theme-residential { --current-accent: var(--line-residential); }
.main-nav a[aria-current="page"] { border-bottom-color: var(--current-accent, var(--accent-default)); }

/* ==========================================================================
   Page hero (pagini de segment / despre / contact)
   ========================================================================== */
.page-hero {
  padding: clamp(56px, 10vw, 108px) 0 clamp(48px, 7vw, 72px);
  background:
    radial-gradient(ellipse 900px 500px at 85% -10%, color-mix(in srgb, var(--current-accent, var(--accent-default)) 20%, transparent), transparent 60%),
    var(--bg);
}
.page-hero .wrap { max-width: 780px; }
.page-hero .eyebrow { color: var(--current-accent, var(--bronz-t)); }
.page-hero h1 {
  font-size: clamp(2rem, 4.3vw, 3.05rem);
  line-height: 1.16;
  color: var(--head);
}
.page-hero .pitch {
  margin-top: 1.5rem;
  font-size: 1.08rem;
  line-height: 1.72;
  color: var(--text2);
  max-width: 680px;
}

/* ==========================================================================
   Benefits list
   ========================================================================== */
.benefits-section {
  padding: clamp(56px, 8vw, 88px) 0;
  background: var(--l-bg);
  color: var(--antracit);
}
.benefits-section h2 {
  color: var(--navy);
  font-size: clamp(1.5rem, 2.6vw, 1.9rem);
  margin-bottom: 2.2rem;
  max-width: 620px;
}
.benefits-list { display: grid; gap: 1.5rem; max-width: 760px; }
.benefits-list li {
  position: relative;
  padding-left: 2rem;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #3c4045;
}
.benefits-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.58em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--current-accent, var(--accent-default));
}

/* ==========================================================================
   Price table (Rezidențial)
   ========================================================================== */
.price-section { padding: clamp(48px, 7vw, 72px) 0; background: var(--card); }
.price-section h2 { color: var(--head); font-size: clamp(1.4rem, 2.4vw, 1.7rem); margin-bottom: 1.8rem; }
.price-table { width: 100%; max-width: 760px; border-collapse: collapse; }
.price-table th, .price-table td {
  padding: 1rem 1.3rem 1rem 0;
  text-align: left;
  border-bottom: 1px solid var(--line);
  font-size: 0.98rem;
}
.price-table th {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--bronz-t);
  font-size: 0.82rem;
}
.price-table td { color: var(--text2); }
.price-table td.figure { color: var(--head); font-weight: 500; font-family: var(--font-display); }
.price-table td.tbd { color: var(--warn-t); font-style: italic; }
.price-note { margin-top: 1.4rem; font-size: 0.88rem; color: var(--warn-t); max-width: 620px; line-height: 1.6; }

/* ==========================================================================
   CTA band
   ========================================================================== */
.cta-band { padding: clamp(56px, 8vw, 88px) 0; background: var(--cta-bg); }
.cta-band .wrap { max-width: 760px; }
.cta-band h2 { font-size: clamp(1.5rem, 3vw, 2rem); color: var(--cta-head); margin-bottom: 1rem; }
.cta-band p { color: var(--cta-text); font-size: 1.02rem; margin-bottom: 2rem; max-width: 600px; }
.btn-primary {
  display: inline-block;
  background: var(--current-accent, var(--accent-default));
  color: var(--on-accent);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.95rem;
  padding: 0.9rem 1.9rem;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  transition: filter 0.15s ease;
}
.btn-primary:hover { filter: brightness(1.12); }

/* ==========================================================================
   Contact page
   ========================================================================== */
.contact-section { padding: clamp(56px, 8vw, 88px) 0; background: var(--l-bg); color: var(--antracit); }
.contact-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(2rem, 6vw, 5rem); }
.contact-details h3 { color: var(--navy); font-size: 1.05rem; margin-bottom: 1.4rem; }
.contact-details p, .contact-details a { display: block; margin-bottom: 0.8rem; font-size: 1rem; color: #3c4045; }
.contact-details a:hover { color: var(--navy); }
.contact-form { display: grid; gap: 1.1rem; }
.contact-form label { display: block; font-size: 0.86rem; color: #5a5e63; margin-bottom: 0.4rem; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%;
  padding: 0.8rem 0.9rem;
  border: 1px solid #d8d2c6;
  border-radius: 2px;
  font-family: var(--font-body);
  font-size: 0.98rem;
  background: #fff;
  color: var(--antracit);
}
.contact-form textarea { min-height: 120px; resize: vertical; }
.form-note { font-size: 0.82rem; color: #5a5e63; margin-top: -0.3rem; }

/* ==========================================================================
   Legal page (Confidențialitate & cookie-uri)
   ========================================================================== */
.legal-section { padding: clamp(48px, 7vw, 80px) 0 clamp(64px, 8vw, 100px); background: var(--l-bg); color: var(--antracit); }
.legal-section .wrap { max-width: 760px; }
.legal-section h2 { color: var(--navy); font-size: 1.3rem; margin: 2.4rem 0 1rem; }
.legal-section h2:first-of-type { margin-top: 0; }
.legal-section p { color: #3c4045; font-size: 1rem; line-height: 1.75; margin-bottom: 1rem; }
.legal-section ul { margin: 0 0 1rem; padding-left: 1.2rem; list-style: disc; }
.legal-section li { color: #3c4045; font-size: 1rem; line-height: 1.7; margin-bottom: 0.5rem; }
.updated-note { color: var(--slate); font-size: 0.86rem; margin-bottom: 2.4rem; }

@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Simple text section (Despre)
   ========================================================================== */
.text-section { padding: clamp(48px, 7vw, 80px) 0; background: var(--l-bg); color: var(--antracit); }
.text-section .wrap { max-width: 720px; }
.text-section p { font-size: 1.08rem; line-height: 1.75; color: #3c4045; }

/* ==========================================================================
   Form feedback (contact.php)
   ========================================================================== */
.form-alert { padding: 0.9rem 1.1rem; border-radius: 2px; font-size: 0.95rem; margin-bottom: 1.4rem; }
.form-alert-ok { background: #e4ede1; color: #3f5c37; border: 1px solid #c3d6bc; }
.form-alert-err { background: #f5e2dd; color: #8a3a24; border: 1px solid #e6bcae; }

/* ==========================================================================
   Support line, legal id, form extras
   ========================================================================== */
.page-hero .support-line {
  margin-top: 1.2rem;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 500;
  color: var(--current-accent, var(--bronz-t));
}
.footer-brand p.legal-id { margin-top: 1rem; font-size: 0.82rem; line-height: 1.7; }
.price-note-neutral { margin-top: 1.4rem; font-size: 0.88rem; color: var(--text2); max-width: 620px; line-height: 1.6; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-form label.consent { display: block; font-size: 0.88rem; color: #5a5e63; margin: 0; }
.contact-form label.consent input { width: auto; margin-right: 0.5rem; }
.contact-form label.consent a { text-decoration: underline; }

/* ==========================================================================
   Logo
   ========================================================================== */
.brand { display: inline-flex; align-items: center; line-height: 0; }
.brand img { height: 44px; width: auto; display: block; }
.footer-brand .brand { display: inline-flex; margin-bottom: 1rem; }
.footer-brand .brand img { height: 48px; }
@media (max-width: 640px) { .brand img { height: 38px; } }


/* ==========================================================================
   Adăugiri (13 oct 2026): accesibilitate, meniu mobil, footer legal, pagini legale, FAQ
   ========================================================================== */
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--bronz-light); color: var(--navy); padding: 0.7rem 1.1rem; font-weight: 600;
}
.skip-link:focus { left: 0.5rem; top: 0.5rem; }

/* Meniu mobil (fără JavaScript) */
.mobile-nav { display: none; position: relative; }
.mobile-nav summary {
  list-style: none; cursor: pointer; font-family: var(--font-display); font-weight: 500;
  font-size: 0.9rem; color: var(--chrome-text); border: 1px solid rgba(246,241,232,0.3);
  padding: 0.5rem 1.1rem; border-radius: 2px;
}
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav[open] summary { border-color: var(--chrome-accent); }
.mobile-nav nav {
  position: absolute; right: 0; top: calc(100% + 12px); min-width: 230px;
  display: flex; flex-direction: column; background: var(--chrome-card);
  border: 1px solid var(--chrome-line); padding: 0.6rem 0;
}
.mobile-nav nav a { padding: 0.7rem 1.3rem; font-size: 0.97rem; color: var(--chrome-text); }
.mobile-nav nav a[aria-current="page"] { color: var(--chrome-accent); }
@media (max-width: 900px) {
  .mobile-nav { display: block; }
  .header-phone { display: none; }
}

/* Footer: bloc legal și identificare */
.footer-legal {
  display: flex; flex-wrap: wrap; gap: 0.5rem 1.6rem;
  padding: 1.6rem 0 1.2rem; border-bottom: 1px solid var(--chrome-line);
}
.footer-legal a { font-size: 0.86rem; color: var(--chrome-text2); }
.footer-legal a:hover { color: var(--chrome-text); }
.footer-sal { padding: 1.2rem 0 0; margin: 0; }
.footer-sal a { display: inline-block; background: #fff; padding: 6px 8px; border-radius: 2px; line-height: 0; }
.footer-sal img { display: block; height: auto; max-width: 100%; }
.footer-id { padding: 1.2rem 0 0; font-size: 0.8rem; line-height: 1.7; color: var(--chrome-text2); }
@media (max-width: 1100px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1fr; }
}

/* Pagini legale */
.legal-hero { padding-bottom: 2.4rem; }
.legal-section .wrap { max-width: 820px; }
.legal-section h3 { color: var(--navy); font-size: 1.05rem; margin: 1.6rem 0 0.7rem; }
.legal-section a { text-decoration: underline; text-underline-offset: 2px; }
.legal-section ol { margin: 0 0 1rem; padding-left: 1.3rem; }
.legal-toc {
  background: #fff; border: 1px solid #e4ddd0; border-left: 3px solid var(--bronz);
  padding: 1.1rem 1.4rem; margin: 0 0 2.4rem; font-size: 0.95rem;
}
.legal-toc strong { display: block; margin-bottom: 0.5rem; color: var(--navy); font-family: var(--font-display); }
.legal-toc ol { margin: 0; padding-left: 1.2rem; columns: 2; column-gap: 2rem; }
.legal-toc li { margin-bottom: 0.25rem; font-size: 0.93rem; break-inside: avoid; }
.legal-toc a { text-decoration: none; color: #3c4045; }
.legal-toc a:hover { color: var(--navy); text-decoration: underline; }
@media (max-width: 640px) { .legal-toc ol { columns: 1; } }
.legal-note {
  background: #fff; border: 1px solid #e4ddd0; border-left: 3px solid var(--current-accent, var(--accent-default));
  padding: 1rem 1.3rem; margin: 1.2rem 0 1.6rem; font-size: 0.97rem; line-height: 1.7; color: #3c4045;
}
.legal-table-wrap { overflow-x: auto; margin: 0 0 1.4rem; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; min-width: 640px; }
.legal-table th, .legal-table td {
  text-align: left; vertical-align: top; padding: 0.75rem 0.9rem 0.75rem 0;
  border-bottom: 1px solid #ded7c9; color: #3c4045; line-height: 1.55;
}
.legal-table th { font-family: var(--font-display); font-size: 0.8rem; color: var(--navy); }
.legal-form-model {
  background: #fff; border: 1px dashed #b9b0a0; padding: 1.2rem 1.4rem; margin: 1rem 0 1.4rem;
  font-size: 0.95rem; line-height: 1.8; color: #3c4045;
}

/* Disclaimer discret pentru cifre și estimări */
.disclaimer-note { margin-top: 1.8rem; max-width: 760px; font-size: 0.84rem; line-height: 1.65; color: var(--slate); }
.price-section .disclaimer-note { color: var(--text2); }
.cta-band .disclaimer-note { color: var(--cta-text); }

/* FAQ */
.faq-section { padding: clamp(48px, 7vw, 80px) 0 clamp(64px, 8vw, 100px); background: var(--l-bg); color: var(--antracit); }
.faq-section .wrap { max-width: 820px; }
.faq-section h2 { color: var(--navy); font-size: 1.35rem; margin: 2.4rem 0 1rem; }
.faq-section h2:first-of-type { margin-top: 0; }
.faq-item { border-bottom: 1px solid #ded7c9; }
.faq-item summary {
  cursor: pointer; list-style: none; padding: 1.1rem 2rem 1.1rem 0; position: relative;
  font-family: var(--font-display); font-weight: 500; font-size: 1.05rem; color: var(--navy);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 0.3rem; top: 1rem; font-size: 1.4rem; color: var(--bronz); }
.faq-item[open] summary::after { content: "–"; }
.faq-item .faq-a { padding: 0 0 1.3rem; }
.faq-item .faq-a p { color: #3c4045; font-size: 1rem; line-height: 1.75; margin-bottom: 0.8rem; }
.faq-item .faq-a a { text-decoration: underline; text-underline-offset: 2px; }

/* Formular */
.form-note a { text-decoration: underline; text-underline-offset: 2px; }
.contact-details .contact-id { font-size: 0.9rem; line-height: 1.7; color: #5a5e63; margin-top: 1.4rem; }

/* 404 */
.notfound { padding: clamp(64px, 12vw, 140px) 0; text-align: left; }


/* ==========================================================================
   v3 (19 oct 2026): header, secțiuni, carduri, pași, tabele, calculator
   ========================================================================== */

/* Header: link discret Divizia Rezidențială */
.main-nav { gap: 1.6rem; }
.header-side { display: flex; align-items: center; gap: 1.3rem; }
.header-resid { font-size: 0.84rem; color: var(--chrome-text2); white-space: nowrap; transition: color 0.15s ease; }
.header-resid:hover, .header-resid[aria-current="page"] { color: var(--chrome-text); }
.mobile-nav nav a.mobile-resid { font-size: 0.9rem; color: var(--chrome-text2); border-top: 1px solid var(--chrome-line); margin-top: 0.3rem; }
.site-header .brand { flex-shrink: 0; }
/* Cu linkul „Calculator” și „Divizia Rezidențială”, meniul complet are nevoie de ~1100 px; sub acest prag folosim meniul compact. */
@media (max-width: 1240px) {
  .main-nav { gap: 1.1rem; }
  .main-nav a { font-size: 0.88rem; }
  .header-side { gap: 0.9rem; }
  .header-phone { padding: 0.5rem 0.8rem; }
}
@media (max-width: 1100px) {
  .main-nav, .header-resid { display: none; }
  .mobile-nav { display: block; }
}

/* Hero: CTA-uri și accent în subtitlu */
.hero .subhead { max-width: 680px; }
.hero .subhead strong, .page-hero .pitch strong { color: var(--head); font-weight: 600; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-top: 2.2rem; }
.btn-secondary {
  display: inline-block;
  background: transparent;
  color: var(--head);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.95rem;
  padding: calc(0.9rem - 1px) 1.7rem;
  border: 1px solid var(--bronz-t);
  border-radius: 2px;
  transition: background 0.15s ease;
}
.btn-secondary:hover { background: rgba(184, 121, 62, 0.14); }

/* Secțiuni generice */
.section { padding: clamp(56px, 8vw, 92px) 0; }
.section-light { background: var(--l-bg); color: var(--antracit); }
.section-white { background: #FBF8F3; color: var(--antracit); }
.section-dark { background: var(--bg); }
.section-head { max-width: 760px; margin-bottom: 2.2rem; }
.section-head h2 { font-size: clamp(1.5rem, 2.8vw, 2.05rem); line-height: 1.2; color: var(--head); }
.section-head .lead { margin-top: 0.8rem; font-size: 1.04rem; line-height: 1.65; color: var(--text2); }
.section-light .section-head h2, .section-white .section-head h2 { color: var(--navy); }
.section-light .section-head .lead, .section-white .section-head .lead { color: #4a4e53; }
.section-tag {
  display: inline-block; font-family: var(--font-display); font-size: 0.78rem; font-weight: 500;
  color: var(--slate); border: 1px solid #d8d2c6; padding: 0.2rem 0.6rem; border-radius: 2px; margin-bottom: 0.9rem;
}

/* Carduri de direcție: varianta cu 3 coloane și text explicativ */
.directions-grid.three { grid-template-columns: repeat(3, 1fr); }
.direction-card p { color: var(--text2); font-size: 0.95rem; line-height: 1.6; }
@media (max-width: 900px) { .directions-grid.three { grid-template-columns: 1fr; } }

/* Carduri informative cu sursă */
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.info-card {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid #e4ddd0; border-left: 3px solid var(--current-accent, var(--accent-default));
  padding: 1.5rem 1.5rem 1.3rem;
}
.info-card h3 { color: var(--navy); font-size: 1.08rem; line-height: 1.35; margin-bottom: 0.7rem; }
.info-card p { color: #3c4045; font-size: 0.96rem; line-height: 1.65; }
.info-card p + p { margin-top: 0.7rem; }
.info-card .highlight { color: #A8432A; font-weight: 500; }
.info-card .price-strong { color: var(--navy); font-weight: 600; }
.info-card .card-source {
  margin-top: auto; padding-top: 0.9rem; border-top: 1px dashed #d8d2c6;
  font-size: 0.8rem; line-height: 1.55; color: var(--slate);
}
.info-card .card-body { margin-bottom: 1rem; }
.info-card .card-source a { text-decoration: underline; text-underline-offset: 2px; word-break: break-word; }
.info-card ul { display: grid; gap: 0.45rem; }
.info-card li { position: relative; padding-left: 1.1rem; font-size: 0.95rem; line-height: 1.55; color: #3c4045; }
.info-card li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 6px; height: 6px; border-radius: 50%; background: var(--current-accent, var(--accent-default)); }
.section-dark .info-card { background: var(--card); border-color: var(--line-soft); border-left-color: var(--current-accent, var(--accent-default)); }
.section-dark .info-card h3 { color: var(--head); }
.section-dark .info-card p, .section-dark .info-card li { color: var(--text2); }
.section-dark .info-card .card-source { color: var(--text2); border-top-color: var(--line); }
.card-grid.four { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .card-grid.four { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .card-grid, .card-grid.four { grid-template-columns: 1fr; } }

/* Cei 4 pași */
.steps-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: #ded7c9; border: 1px solid #ded7c9;
}
.step { background: #fff; display: flex; flex-direction: column; }
.step h3 { background: var(--navy); color: var(--cream); font-size: 0.98rem; padding: 0.95rem 1.2rem; line-height: 1.35; }
.step h3 .step-nr { color: var(--bronz-light); margin-right: 0.35rem; }
.step ul { padding: 1.1rem 1.2rem 1.3rem; display: grid; gap: 0.45rem; }
.step li { font-size: 0.94rem; line-height: 1.5; color: #3c4045; }
.step li strong { color: var(--navy); }
.step li em { color: var(--slate); }
@media (max-width: 900px) { .steps-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .steps-grid { grid-template-columns: 1fr; } }

/* Tabele de date (fundal deschis) */
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e4ddd0; font-size: 0.95rem; }
.data-table caption { text-align: left; }
.data-table th {
  background: var(--navy); color: var(--cream); text-align: left; vertical-align: top;
  font-family: var(--font-display); font-weight: 500; font-size: 0.86rem; padding: 0.85rem 1rem;
}
.data-table td { padding: 0.85rem 1rem; border-bottom: 1px solid #ebe5da; color: #3c4045; vertical-align: top; line-height: 1.55; }
.data-table td.num { color: #A8432A; font-family: var(--font-display); font-weight: 600; white-space: nowrap; }
.table-note { margin-top: 1rem; font-size: 0.88rem; color: #4a4e53; }
@media (max-width: 640px) {
  .data-table th, .data-table td { padding: 0.7rem 0.6rem; font-size: 0.88rem; }
  .data-table td.num { white-space: normal; }
}

/* Casetă de notă (fundal deschis) */
.note-list { list-style: disc; padding-left: 1.2rem; margin: 0.5rem 0; display: grid; gap: 0.25rem; }
.note-box {
  background: #fff; border: 1px solid #e4ddd0; border-left: 3px solid var(--bronz);
  padding: 1rem 1.3rem; margin-top: 1.6rem; max-width: 820px; font-size: 0.92rem; line-height: 1.65; color: #3c4045;
}

/* ==========================================================================
   Calculator (pagina /calculator.php și teaser)
   ========================================================================== */
.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; align-items: start; }
.calc-panel { background: #fff; border: 1px solid #e4ddd0; padding: 1.6rem 1.6rem 1.7rem; color: var(--antracit); }
.calc-panel h2 { color: var(--navy); font-size: 1.15rem; margin-bottom: 1.2rem; }
.calc-result { border-top: 3px solid var(--current-accent, var(--line-industrial)); }
.calc-form { display: grid; gap: 1.1rem; }
.calc-field label, .calc-field .field-label {
  display: block; font-size: 0.82rem; font-weight: 500; color: #4a4e53; margin-bottom: 0.4rem;
}
.calc-field input[type="number"], .calc-field select {
  width: 100%; padding: 0.7rem 0.8rem; border: 1px solid #cfc8bb; border-radius: 2px;
  font-family: var(--font-body); font-size: 0.98rem; background: #fff; color: var(--antracit);
}
.calc-field input[type="range"] { width: 100%; margin: 0.2rem 0 0.5rem; accent-color: var(--bronz); }
.calc-field .field-hint { display: block; font-size: 0.8rem; color: var(--slate); margin-top: 0.3rem; }
.calc-inline { display: flex; align-items: center; gap: 0.6rem; }
.calc-inline input { flex: 1; min-width: 0; }
.calc-inline .unit { font-size: 0.9rem; color: #4a4e53; white-space: nowrap; }
.calc-advanced { border-top: 1px dashed #d8d2c6; padding-top: 0.9rem; }
.calc-advanced summary { cursor: pointer; font-size: 0.88rem; color: #4a4e53; margin-bottom: 0.6rem; }
.calc-form .btn-primary { justify-self: start; }
.calc-out { margin: 0; }
.calc-row { display: flex; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid #ebe5da; }
.calc-row dt { font-size: 0.95rem; color: #3c4045; }
.calc-row dd { margin: 0; font-family: var(--font-display); font-weight: 600; color: #A8432A; text-align: right; white-space: nowrap; }
.calc-msg { margin-top: 1rem; padding: 0.85rem 1rem; font-size: 0.93rem; line-height: 1.6; border-left: 3px solid var(--bronz); background: #f7f2ea; color: #3c4045; }
.calc-msg a { text-decoration: underline; text-underline-offset: 2px; }
.calc-msg.calc-ok { border-left-color: var(--line-residential); background: #e9f0e5; color: #34502c; }
.calc-msg.calc-limit { border-left-color: #C08A2E; background: #f8efdc; color: #6b4a12; }
.calc-msg.calc-warn { border-left-color: #b4665a; background: #f6ebe8; color: #6e2c1a; }
.calc-msg.calc-error { border-left-color: #8a3a24; background: #f5e2dd; color: #8a3a24; }
.calc-fixed-note { margin-top: 1rem; font-size: 0.86rem; line-height: 1.6; color: #4a4e53; }
.calc-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.3rem; }
.section-light .btn-secondary, .section-white .btn-secondary, .calc-panel .btn-secondary { color: var(--navy); border-color: var(--bronz); }
.calc-label-tag { font-size: 0.8rem; color: var(--slate); font-weight: 500; }
[hidden] { display: none !important; }
@media (max-width: 900px) { .calc-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .calc-panel { padding: 1.2rem 1.1rem 1.3rem; }
  .calc-row { flex-direction: column; gap: 0.2rem; }
  .calc-row dd { text-align: left; white-space: normal; }
}

/* Teaser calculator (Acasă / Industrial) */
.teaser-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.teaser-form .btn-primary { grid-column: 1 / -1; justify-self: start; }
@media (max-width: 640px) { .teaser-form { grid-template-columns: 1fr; } }


/* ==========================================================================
   Teme zi/noapte (adăugat 24 oct 2026)
   ========================================================================== */
/* Pe secțiunile deschise accentele per linie folosesc varianta închisă, cu text alb pe butoane. */
.what-we-do, .benefits-section, .contact-section, .legal-section, .text-section, .faq-section,
.section-light, .section-white {
  --current-accent: var(--current-accent-lt, #8E5826);
  --on-accent: #FFFFFF;
}
body.theme-industrial { --current-accent-lt: var(--lt-industrial); --current-accent-hi: var(--hi-industrial); }
body.theme-corporate { --current-accent-lt: var(--lt-corporate); --current-accent-hi: var(--hi-corporate); }
body.theme-institutional { --current-accent-lt: var(--lt-institutional); --current-accent-hi: var(--hi-institutional); }
body.theme-residential { --current-accent-lt: var(--lt-residential); --current-accent-hi: var(--hi-residential); }
/* Sublinierea din meniu: accentul luminos, pentru că antetul e mereu închis */
.main-nav a[aria-current="page"] { border-bottom-color: var(--current-accent-hi, var(--chrome-accent)); }

/* Banda CTA: în tema de zi e albastră, deci butoanele au nevoie de culori proprii */
.cta-band .btn-secondary { color: var(--cta-head); border-color: #E0A465; }
html[data-theme="day"] .cta-band .btn-primary { background: #E0A465; color: #0F2748; }
html[data-theme="day"] .cta-band .btn-primary:hover { filter: brightness(1.06); }

/* Tema de zi: carduri cu contur și umbră discretă, ca să se separe de fundal */
html[data-theme="day"] .direction-card { box-shadow: 0 1px 2px rgba(15, 39, 72, 0.06); }
html[data-theme="day"] .directions-grid { background: transparent; border: none; gap: 18px; }
html[data-theme="day"] .directions-grid .direction-card { border: 1px solid var(--line); border-top: 3px solid var(--card-accent, var(--bronz)); }
html[data-theme="day"] .price-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
html[data-theme="day"] .trust-band { background: var(--l-bg); }
