/**
 * APNT Design System — CHROME UNIC (header + footer + layout partajat)
 * ======================================================================
 * Port 1:1 din referința aprobată Homepage.dc.html (design_handoff), cu:
 *  - tokenii --apnt-* (aliasurile de compatibilitate acoperă var(--primary) etc.)
 *  - dark: :root[data-theme="dark"] în loc de .theme-dark
 *  - responsive adăugat (referința e 1440 desktop; breakpoints 768/1024)
 *
 * Se include pe paginile migrate, după tokens.css + components.css.
 *
 * @author     Canny Agency SRL <office@canny.ro>
 * @copyright  2026 Canny Agency SRL
 */

/* ── Container ─────────────────────────────────────────────────────────── */
.ct { width: min(1200px, 100% - 64px); margin: 0 auto; }
@media (max-width: 767px) {
  .ct { width: min(1200px, 100% - 32px); }
}

/* ── Banner anunț (deasupra header-ului) ───────────────────────────────── */
.topbanner {
  background: var(--apnt-info-bg);
  color: var(--apnt-info-fg);
  font: 500 .9rem/1.4 var(--apnt-font-sans);
  padding: 10px 0;
  text-align: center;
}
.topbanner a { color: inherit; font-weight: 700; text-decoration: underline; }

/* ── Header unic (decizia 3): sticky, blur, bară gradient 3px ──────────── */
.apnt-hdr {
  position: sticky;
  top: 0;
  z-index: var(--apnt-z-sticky);
  background: color-mix(in srgb, var(--apnt-surface) 90%, transparent);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--apnt-border-light);
}
.apnt-hdr::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--apnt-primary), var(--apnt-primary-hover), var(--apnt-gold));
}
.apnt-hdr-in { display: flex; align-items: center; gap: 24px; padding: 12px 0; }

/* logo pe chip alb 56×46 — chipul rămâne ALB și în dark (decizia 3) */
.apnt-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--apnt-fg); }
.apnt-logo-m {
  width: 56px;
  height: 46px;
  border-radius: var(--apnt-radius-md);
  background: #fff;
  border: 1px solid var(--apnt-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  flex: none;
}
.apnt-logo-m img { width: 100%; height: 100%; object-fit: contain; display: block; }
.apnt-logo-t { font: 700 .95rem/1.2 var(--apnt-font-sans); }
.apnt-logo-s {
  font: 500 .7rem/1.2 var(--apnt-font-sans);
  color: var(--apnt-fg-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.apnt-hdr-nav { display: flex; align-items: center; gap: 8px; flex: 1; justify-content: center; }

/* căutare pill */
.apnt-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: var(--apnt-border-width-2) solid var(--apnt-border);
  border-radius: var(--apnt-radius-pill);
  padding: 8px 16px;
  min-height: 44px;
  width: 200px;
  color: var(--apnt-fg-muted);
  font: 500 .85rem/1 var(--apnt-font-sans);
  background: var(--apnt-surface);
  cursor: pointer;
  transition: border-color var(--apnt-transition-base);
}
.apnt-search:hover { border-color: var(--apnt-primary); }

/* hamburger mobil */
.apnt-hdr-burger { display: none; }

@media (max-width: 1023px) {
  .apnt-hdr-nav { display: none; }
  .apnt-search { width: auto; flex: 1; max-width: 320px; }
  .apnt-hdr-burger { display: inline-flex; }
  .apnt-hdr-in { gap: 12px; }
}
@media (max-width: 767px) {
  .apnt-logo-t { font-size: .85rem; }
  .apnt-search { min-width: 0; }
  .apnt-search span { display: none; } /* doar lupa pe mobil mic */
}

/* nav mobil (drawer sub header) */
.apnt-hdr-mnav {
  display: none;
  flex-direction: column;
  gap: 4px;
  padding: 12px 0 16px;
  border-top: 1px solid var(--apnt-border-light);
}
.apnt-hdr-mnav.open { display: flex; }

/* ── Footer unic (decizia 2): burgundy foarte închis ───────────────────── */
.apnt-ftr {
  background: var(--apnt-footer-bg);
  color: #e0d4d0;
  margin-top: 80px;
  /* full-bleed indiferent de containerul paginii-gazdă (paginile vechi îl
     includ în wrappere cu max-width) */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
/* header-ul la fel, pt paginile care îl includ într-un wrapper constrâns */
.apnt-hdr {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.apnt-ftr-in {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding: 56px 0 40px;
}
.apnt-ftr-t {
  font: 700 .75rem/1.4 var(--apnt-font-sans);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--apnt-gold);
  margin-bottom: 14px;
}
.apnt-ftr a { color: var(--apnt-footer-link); font: 400 .875rem/2.1 var(--apnt-font-sans); display: block; text-decoration: none; }
.apnt-ftr a:hover { color: var(--apnt-gold); }
.apnt-ftr-desc { font-size: .8125rem; margin-top: 16px; color: var(--apnt-footer-link); max-width: 280px; line-height: 1.7; }
.apnt-ftr-bot {
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font: 400 .8rem/1.5 var(--apnt-font-sans);
  color: #a68f8b;
}
.apnt-soc {
  width: 40px;
  height: 40px;
  border-radius: var(--apnt-radius-sm);
  background: rgba(255, 255, 255, .08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--apnt-footer-link);
  transition: background var(--apnt-transition-base), color var(--apnt-transition-base);
}
.apnt-soc:hover { background: var(--apnt-primary); color: #fff; }

/* logo-ul în footer: ALB prin invert, fără chip (decizia 2) */
.apnt-ftr .apnt-logo { color: #fff; }
.apnt-ftr .apnt-logo-m { background: transparent; border: 0; padding: 0; width: 52px; }
.apnt-ftr .apnt-logo-m img { filter: invert(1) brightness(1.8); }
.apnt-ftr .apnt-logo-s { color: #a68f8b; }

@media (max-width: 1023px) {
  .apnt-ftr-in { grid-template-columns: 1fr 1fr; gap: 32px; padding: 40px 0 32px; }
}
@media (max-width: 599px) {
  .apnt-ftr-in { grid-template-columns: 1fr; gap: 28px; }
}

/* ── Secțiuni + heading-uri partajate ──────────────────────────────────── */
.sec { padding: 72px 0 0; }
/* Conținutul direct al secțiunilor migrate primește lățimea de container
   (echivalent cu <div class="ct"> din referință, fără wrapper suplimentar) */
.sec > * {
  width: min(1200px, 100% - 64px);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .sec > * { width: min(1200px, 100% - 32px); }
}
.sec-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.sec-t { font: 700 1.9rem/1.15 var(--apnt-font-sans); letter-spacing: -.4px; margin-top: 8px; }
.sec-s { color: var(--apnt-fg-muted); font-size: .95rem; margin-top: 6px; }
@media (max-width: 767px) {
  .sec { padding: 48px 0 0; }
  .sec-h { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
  .sec-t { font-size: 1.5rem; }
}

/* ── Utilitare de layout din referință (folosite de paginile migrate) ──── */
.fx { display: flex; }
.col { display: flex; flex-direction: column; }
.ac { align-items: center; }
.jb { justify-content: space-between; }
.tc { text-align: center; }
.f1 { flex: 1; min-width: 0; }
.wrap { flex-wrap: wrap; }
.noshrink { flex-shrink: 0; }
.gap8 { gap: 8px; }
.gap12 { gap: 12px; }
.gap16 { gap: 16px; }
.gap24 { gap: 24px; }
.mt8 { margin-top: 8px; }
.mt12 { margin-top: 12px; }
.mt16 { margin-top: 16px; }
.mt24 { margin-top: 24px; }
.fs12 { font-size: .75rem; }
.fs13 { font-size: .8125rem; }
.fs14 { font-size: .875rem; }
.fs15 { font-size: .9375rem; }
.fs16 { font-size: 1rem; }
.fs20 { font-size: 1.25rem; }
.fw6 { font-weight: 600; }
.fw7 { font-weight: 700; }
