/* ==========================================================================
   Header + Footer
   ========================================================================== */
.hdr {
  position: fixed; inset: 0 0 auto; z-index: 80;
  transition: background var(--t-slow), box-shadow var(--t-slow), border-color var(--t-slow);
  border-bottom: 1px solid transparent;
}
.hdr__inner {
  max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter);
  display: flex; align-items: center; gap: 28px; height: var(--header-h);
}
.hdr__logo img { height: 30px; width: auto; }
.hdr__nav { display: flex; align-items: center; gap: 26px; margin-left: auto; font-size: var(--fs-base); }
.hdr__nav > li { position: relative; list-style: none; }
.hdr__nav a { color: var(--c-ink); opacity: .82; transition: opacity var(--t-fast); }
.hdr__nav a:hover { opacity: 1; }
.hdr__actions { display: flex; align-items: center; gap: 16px; }
.hdr__phone { display: flex; flex-direction: column; line-height: 1.15; font-size: var(--fs-sm); }
.hdr__phone b { font-size: var(--fs-base); font-weight: 600; }
.hdr__phone span { color: var(--c-ink-soft); font-size: var(--fs-xs); }

/* variantă peste hero întunecat */
.hdr[data-over="dark"]:not([data-stuck]) { --hdr-fg: #fff; }
.hdr[data-over="dark"]:not([data-stuck]) .hdr__nav a,
.hdr[data-over="dark"]:not([data-stuck]) .hdr__phone { color: #fff; }
.hdr[data-over="dark"]:not([data-stuck]) .hdr__phone span { color: rgba(255,255,255,.68); }
.hdr[data-over="dark"]:not([data-stuck]) .hdr__logo img { filter: brightness(0) invert(1); }
.hdr[data-stuck] {
  background: rgba(244,242,237,.92); backdrop-filter: saturate(140%) blur(12px);
  border-bottom-color: var(--c-surface-3);
}

/* dropdown */
.hdr__sub {
  position: absolute; top: calc(100% + 12px); left: -14px; min-width: 232px;
  background: #fff; border: 1px solid var(--c-surface-3); border-radius: var(--r-md);
  padding: 8px; display: grid; gap: 2px;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity var(--t-fast), transform var(--t-fast), visibility var(--t-fast);
  box-shadow: 0 12px 34px rgba(23,19,15,.09);
}
.hdr__sub li { list-style: none; }
.hdr__sub a { display: block; padding: 9px 12px; border-radius: 9px; color: var(--c-ink); opacity: .86; font-size: 14.5px; }
.hdr__sub a:hover { background: var(--c-surface); opacity: 1; }
.hdr__nav li:hover > .hdr__sub,
.hdr__nav li:focus-within > .hdr__sub { opacity: 1; visibility: visible; transform: translateY(0); }
.hdr__caret { display: inline-block; margin-left: 5px; font-size: 9px; opacity: .6; }

/* burger + meniu mobil */
.hdr__burger { display: none; width: 42px; height: 42px; border: 0; border-radius: var(--r-full); background: var(--c-surface-3); cursor: pointer; }
.hdr[data-over="dark"]:not([data-stuck]) .hdr__burger { background: rgba(255,255,255,.16); color: #fff; }
@media (max-width: 1000px) {
  .hdr__nav, .hdr__phone { display: none; }
  .hdr__burger { display: grid; place-items: center; }
  .hdr__actions { margin-left: auto; }
}
.mnav { border: 0; padding: 0; width: min(420px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0 0 0 auto; background: var(--c-bg); }
.mnav::backdrop { background: rgba(23,19,15,.5); }
.mnav__inner { padding: 24px var(--gutter) 40px; display: grid; gap: 8px; align-content: start; height: 100%; overflow-y: auto; }
.mnav__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.mnav a { display: block; padding: 12px 0; font-size: var(--fs-md); border-bottom: 1px solid var(--c-surface-3); }
.mnav details summary { padding: 12px 0; font-size: var(--fs-md); cursor: pointer; border-bottom: 1px solid var(--c-surface-3); list-style: none; }
.mnav details summary::-webkit-details-marker { display: none; }
.mnav details a { padding-left: 16px; font-size: var(--fs-base); color: var(--c-ink-soft); }

/* --- Footer --- */
.ftr { background: var(--c-dark); color: var(--c-on-dark-soft); padding-bottom: 34px; }
.ftr__marquee { overflow: hidden; background: var(--c-dark-3); padding-block: 26px; margin-bottom: 52px; }
.ftr__track { display: flex; align-items: center; gap: 40px; white-space: nowrap; animation: ch-slide 34s linear infinite; will-change: transform; }
.ftr__track span { font-family: var(--f-display); font-size: clamp(38px, 6vw, 74px); font-weight: 600; letter-spacing: var(--ls-tight); color: #fff; }
.ftr__track span.dim { color: rgba(255,255,255,.16); }
.ftr__track i {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: clamp(50px,5vw,70px); height: clamp(50px,5vw,70px); border-radius: var(--r-full);
  background: var(--c-on-dark-fill); border: 1px solid var(--c-on-dark-line);
  font-style: normal; font-size: 12.5px; color: var(--c-on-dark-soft);
}
@keyframes ch-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ftr__track { animation: none; } }

.ftr__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 34px; }
@media (max-width: 900px) { .ftr__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ftr__cols { grid-template-columns: 1fr; } }
.ftr h4 { font-family: var(--f-body); font-size: var(--fs-sm); font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); margin-bottom: 14px; }
.ftr ul { list-style: none; display: grid; gap: 9px; }
.ftr a { color: var(--c-on-dark-soft); font-size: var(--fs-base); transition: color var(--t-fast); }
.ftr a:hover { color: #fff; }
.ftr__logo img { height: 30px; filter: brightness(0) invert(1); margin-bottom: 14px; }
.ftr__bottom { margin-top: 44px; padding-top: 22px; border-top: 1px solid var(--c-on-dark-line); display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; font-size: var(--fs-xs); color: rgba(255,255,255,.5); }

/* CTA din header: ascuns pe ecrane mici (rămâne în meniul mobil) */
@media (max-width: 720px) {
  .hdr__actions .btn { display: none; }
  .hdr__logo img { height: 26px; }
}

/* telefonul din header e buton (deschide popup-ul cu agenți) */
.hdr__phone { all: unset; cursor: pointer; display: flex; flex-direction: column; line-height: 1.15; font-size: var(--fs-sm); }
.hdr__phone:hover b { color: var(--c-accent); }
@media (max-width: 1000px) { .hdr__phone { display: none; } }
