/*
 * SIDEPOL — branding (override CSS variables Metronic v9 / Tailwind v4).
 * Paletă navy SIDEPOL. La un update Metronic, fișierul ăsta NU se atinge.
 * NOTĂ: paletă provizorie — de aliniat cu decizia finală (navy+gold vs gradient app).
 */
:root {
  --primary: #1a3a5c;              /* navy SIDEPOL */
  --primary-foreground: #ffffff;
  /* Accent auriu premium (paletă Trust & Authority: navy + gold) */
  --gold: #d4a017;
  --gold-soft: #e8b923;
  --gold-deep: #b8860b;
  --gold-glow: 212, 160, 23;      /* RGB pt shadow-uri cu alpha */
}
.dark {
  --primary: #4A7FD4;             /* navy mai luminos pe dark */
  --primary-foreground: #ffffff;
  --gold: #e8b923;
  --gold-soft: #f2c94c;
  --gold-deep: #d4a017;
}

/*
 * Headerele cardurilor: tentă subtilă din culoarea de brand.
 * Derivată din var(--primary) → se adaptează automat light/dark.
 */
.kt-card > .kt-card-header {
  background: color-mix(in srgb, var(--primary) 6%, transparent);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

/*
 * FIX OVERFLOW ORIZONTAL MOBIL (cauză rădăcină, global).
 * Page wrapper (body > .flex.grow), kt-wrapper și main sunt flex items cu
 * min-width:auto → primesc min-content din conținut. Un element lat (carusel cu
 * min-width:max-content, tabel) lățea TOT lanțul peste viewport, iar
 * kt-scrollable-x-auto nu mai putea scrolla (n-avea lățime impusă de părinte).
 * min-width:0 pe tot lanțul îl lasă să se restrângă la viewport → scroll-ul
 * intern (carusel) funcționează. Înlocuiește clasa `grid` defensivă per pagină.
 */
body > .flex,
.kt-wrapper,
.kt-wrapper > main {
  min-width: 0;
}

/*
 * Logo SIDEPOL în sidebar — logo-ul orizontal (siglă + text) e mai „dens" decât
 * un logo-text, deci îl ținem mai mic decât default-ul Metronic (max-w 150px).
 */
.kt-sidebar-logo .default-logo {
  max-height: 40px;
  width: auto;
  max-width: 190px;
}

/*
 * Item ACTIV în meniul vertical (pagina curentă). Detecția e corectă server-side
 * (Menu::isActive pune `.kt-menu-item-active`), DAR variantele Tailwind
 * `kt-menu-item-active:bg-accent/60` / `:text-primary` lipsesc din build-ul
 * Metronic dist → fără stil explicit nimic nu se evidenția. Brand navy, vizibil.
 * Acoperă atât link-urile principale cât și sub-itemii (accordion bullet).
 */
.kt-menu-item-active > .kt-menu-link {
  background: color-mix(in srgb, var(--primary) 10%, transparent);
  border-color: color-mix(in srgb, var(--primary) 22%, transparent);
}
.kt-menu-item-active > .kt-menu-link .kt-menu-title {
  color: var(--primary);
  font-weight: 600;
}
.kt-menu-item-active > .kt-menu-link .kt-menu-icon i {
  color: var(--primary);
}
.kt-menu-item-active > .kt-menu-link .kt-menu-bullet::before {
  background: var(--primary);
}

/*
 * ── Utilitare Tailwind absente din build-ul Metronic dist ──
 * Folosite de zona publică (Components/partials). TEMPORAR aici până la build-ul
 * Tailwind v4 cu @source→partials (care le va compila automat). Vezi PLAN META.
 * Când apare al 2-lea site public, se mută în CSS-ul CORE (sunt generice, nu branding).
 */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.object-cover { object-fit: cover; }
.backdrop-blur-sm { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.max-w-3xl { max-width: 48rem; }

/*
 * Typography pentru conținutul articolelor (HTML din CMS). Generic, refolosibil.
 */
.articol-continut { line-height: 1.75; }
.articol-continut h2 { font-size: 1.5rem; font-weight: 700; margin: 1.75rem 0 .75rem; }
.articol-continut h3 { font-size: 1.25rem; font-weight: 600; margin: 1.5rem 0 .5rem; }
.articol-continut p { margin-bottom: 1rem; }
.articol-continut ul, .articol-continut ol { margin: 0 0 1.15rem 0; padding-left: 0; }
.articol-continut li { margin-bottom: .6rem; }
/* listă numerotată: cifră cu accent în pastilă, spațiu confortabil față de text */
.articol-continut ol { list-style: none; counter-reset: ils-li; margin-left: .25rem; }
.articol-continut ol > li { position: relative; padding-left: 2.1rem; counter-increment: ils-li; }
.articol-continut ol > li::before {
  content: counter(ils-li); position: absolute; left: 0; top: .1em;
  width: 1.45rem; height: 1.45rem; display: inline-flex; align-items: center; justify-content: center;
  font-size: .72rem; font-weight: 700; line-height: 1; border-radius: 50%;
  color: var(--primary); background: color-mix(in srgb, var(--primary) 12%, transparent);
}
/* listă cu buline: punct în culoarea brandului + halo soft, distanțat de text */
.articol-continut ul { list-style: none; }
.articol-continut ul > li { position: relative; padding-left: 1.7rem; }
.articol-continut ul > li::before {
  content: ""; position: absolute; left: .2rem; top: .68em; transform: translateY(-50%);
  width: 7px; height: 7px; border-radius: 50%; background: var(--primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);
}
.articol-continut a { color: var(--primary); text-decoration: underline; }
.articol-continut img { max-width: 100%; height: auto; border-radius: .5rem; margin: 1rem 0; }
/* normalizează conținutul migrat din WP: un singur font, fără justify, fără font-size-uri inline aiurea */
.articol-continut, .articol-continut * { font-family: inherit !important; }
.articol-continut, .articol-continut p, .articol-continut div, .articol-continut span,
.articol-continut li, .articol-continut td { text-align: left !important; }
.articol-continut [style*="font-size"] { font-size: revert !important; }
.articol-continut [style*="color"]:not(a) { color: inherit !important; }
.articol-continut p:empty, .articol-continut p > br:only-child { display: none; }
.articol-continut blockquote { border-inline-start: 3px solid var(--primary); padding-inline-start: 1rem; margin: 1rem 0; color: var(--secondary-foreground, #666); }
.articol-continut strong { font-weight: 600; }

/* Marquee — carusel continuu de logo-uri (afilieri/parteneri), se rulează singur.
   Logo-urile sunt duplicate ×2 în HTML → -50% = un set complet → loop fără salt. */
@keyframes ils-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-viewport { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track { display: flex; align-items: center; gap: 3.5rem; width: max-content; animation: ils-marquee 28s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
.marquee-track.reverse { animation-direction: reverse; }
.marquee-track.cards { gap: 1.25rem; align-items: stretch; animation-duration: 48s; }

/* iOS Safari face auto-zoom la focus pe inputuri cu font < 16px (sare layoutul,
   „iese din pagină"). Forțăm 16px pe mobil → fără zoom, fără a dezactiva pinch-zoom. */
@media (max-width: 767px) {
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .kt-input input,
  .kt-select {
    font-size: 16px !important;
  }
}

/* Full-bleed pe mobil — anulează padding-ul container-ului (24px) → edge-to-edge.
   Aplicabil pe orice secțiune/card mare; pe desktop revine la normal. */
@media (max-width: 767px) {
  .bleed-mobile { margin-left: -24px; margin-right: -24px; border-radius: 0 !important; }
}

/* FAQ accordion (details/summary nativ — fără JS) */
.faq-item summary { list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-ico { transition: transform .2s ease; }
.faq-item[open] .faq-ico { transform: rotate(45deg); }
.faq-item { transition: border-color .2s, box-shadow .2s; }
.faq-item[open] { border-color: color-mix(in srgb, var(--gold) 55%, transparent); box-shadow: 0 6px 22px -10px rgba(var(--gold-glow), .35); }

/* ════════════════════════════════════════════════════════════════════
   STRAT PREMIUM — gradienți fini + accent auriu + efecte (navy + gold).
   Generic/refolosibil; la al 2-lea site public se mută în CSS-ul CORE.
   ════════════════════════════════════════════════════════════════════ */

/* ── Buton premium auriu: gradient + glow + sheen sweep la hover.
   Mai mare, mai viu, mai vizibil (cerință user). Folosit pe CTA-urile cheie. */
.btn-premium {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: linear-gradient(135deg, var(--gold-soft), var(--gold-deep));
  color: #2a1d04 !important;
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: .01em;
  border: none;
  border-radius: 13px;
  padding: .95rem 2.1rem;
  cursor: pointer;
  box-shadow: 0 8px 24px -8px rgba(var(--gold-glow), .6), inset 0 1px 0 rgba(255,255,255,.35);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease;
}
.btn-premium:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px -8px rgba(var(--gold-glow), .75), inset 0 1px 0 rgba(255,255,255,.5);
  color: #2a1d04 !important;
}
.btn-premium:active { transform: translateY(-1px); }
/* sheen — fâșie de lumină care traversează butonul la hover */
.btn-premium::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 28%, rgba(255,255,255,.55) 50%, transparent 72%);
  transform: translateX(-160%);
  transition: transform .75s ease;
  pointer-events: none;
}
.btn-premium:hover::after { transform: translateX(160%); }

/* Buton premium „light" (alb cu glow) — pentru fundaluri aurii/colorate dacă e cazul */
.btn-premium-light {
  background: #fff;
  color: var(--primary) !important;
  box-shadow: 0 8px 24px -8px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.6);
}
.btn-premium-light:hover { color: var(--primary) !important; box-shadow: 0 16px 34px -8px rgba(0,0,0,.45); }

/* ── Hover-lift premium pe carduri (depth + ridicare fină) */
.card-lift { transition: transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s ease, border-color .3s; }
.card-lift:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px -16px rgba(15, 23, 42, .28);
}

/* ── „Spotlight" la scroll: cardul/rândul din centrul ecranului se ridică, iar
   următorul îl coboară pe cel dinainte. Clasa .raised e pusă din JS (vezi /oferte). */
.oferta-card.raised {
  transform: translateY(-10px);
  box-shadow: 0 26px 54px -18px rgba(15, 23, 42, .32);
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .oferta-card.raised { transform: none; box-shadow: none; }
}

/* ── Cuvânt evidențiat în titlurile hero — auriu viu + glow fin pt lizibilitate
   pe imaginea de fundal (gradient-clip ar fi prea slab peste poză). */
.hero-hl {
  color: var(--gold-soft);
  text-shadow: 0 1px 10px rgba(var(--gold-glow), .45), 0 2px 14px rgba(0,0,0,.5);
}

/* ── Organizare: carduri selector tip filială + hartă interactivă ── */
.org-card {
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  padding: 1.4rem 1rem; text-align: center; cursor: pointer;
  border: 2px solid var(--border); border-radius: 16px;
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--primary) 3%, #fff));
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.dark .org-card { background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 8%, transparent), transparent); }
.org-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--primary) 45%, transparent); box-shadow: 0 14px 32px -14px rgba(15,23,42,.25); }
.org-card.active {
  border-color: var(--gold-deep, #b8860b);
  background: linear-gradient(135deg, color-mix(in srgb, var(--gold) 12%, #fff), #fff);
  box-shadow: 0 12px 30px -12px rgba(var(--gold-glow, 212,160,23), .45);
}
.dark .org-card.active { background: linear-gradient(135deg, color-mix(in srgb, var(--gold) 16%, transparent), transparent); }
.org-card .org-ico {
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 14px; font-size: 1.5rem;
  background: color-mix(in srgb, var(--primary) 10%, transparent); color: var(--primary);
  transition: background .25s, color .25s;
}
.org-card.active .org-ico { background: linear-gradient(135deg, var(--gold-soft,#e8b923), var(--gold-deep,#b8860b)); color: #2a1d04; }
.org-card .org-titlu { font-weight: 600; color: var(--mono, #111); }
.org-card .org-count { font-size: .8rem; color: var(--secondary-foreground, #666); }

/* harta interactivă — județe cu filială colorate navy, selectat = auriu */
#organizare-harta svg { width: 100%; height: auto; display: block; }
#organizare-harta path {
  fill: color-mix(in srgb, var(--primary) 8%, #fff);
  stroke: #fff; stroke-width: 1.4;
  transition: fill .25s ease, filter .2s ease;
}
.dark #organizare-harta path { fill: color-mix(in srgb, var(--primary) 22%, #16181d); stroke: #16181d; }
#organizare-harta path.has-filiala {
  fill: var(--primary); cursor: pointer;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.15));
}
#organizare-harta path.has-filiala:hover { filter: brightness(1.18); }
#organizare-harta path.selectat {
  fill: var(--gold-deep, #b8860b);
  stroke: #fff; stroke-width: 3;       /* border alb constant (ridicat deasupra din JS) */
}

/* ── Text cu gradient auriu (clip pe text) — accent elegant pe fundal închis */
.text-gradient-gold {
  background: linear-gradient(135deg, var(--gold-soft), var(--gold-deep));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ── Suprafață card cu gradient fin (tentă navy spre bază) — adâncime subtilă.
   Semi-transparent → merge pe orice fundal de card (light + dark). */
.surface-grad {
  background-image: linear-gradient(170deg, transparent 35%, color-mix(in srgb, var(--primary) 6%, transparent) 100%);
}

/* ── Fundal „aurora" — lumini radiale fine navy + auriu, cu PLUTIRE lentă (animated
   gradient, ca în app_traseu_aplicativ): background-size > 100% + poziție animată.
   Refolosibil pe orice pagină publică (body.aurora-bg). */
body.aurora-bg {
  background:
    radial-gradient(50% 45% at 80% 12%, rgba(212,160,23,.12), transparent 60%),
    radial-gradient(48% 42% at 12% 22%, rgba(26,58,92,.12), transparent 58%),
    radial-gradient(46% 50% at 96% 88%, rgba(26,58,92,.10), transparent 60%),
    var(--background);
  background-size: 160% 160%, 170% 170%, 150% 150%, 100% 100%;
  background-position: 0% 0%, 100% 0%, 50% 100%, 0 0;
  animation: auroraDrift 28s ease-in-out infinite;
}
.dark body.aurora-bg {
  background:
    radial-gradient(50% 45% at 80% 12%, rgba(232,185,35,.08), transparent 60%),
    radial-gradient(48% 42% at 12% 22%, rgba(74,127,212,.12), transparent 58%),
    radial-gradient(46% 50% at 96% 88%, rgba(74,127,212,.09), transparent 60%),
    var(--background);
  background-size: 160% 160%, 170% 170%, 150% 150%, 100% 100%;
  background-position: 0% 0%, 100% 0%, 50% 100%, 0 0;
  animation: auroraDrift 28s ease-in-out infinite;
}
@keyframes auroraDrift {
  0%   { background-position: 0% 0%,    100% 0%,   50% 100%, 0 0; }
  33%  { background-position: 55% 35%,  45% 45%,   75% 55%,  0 0; }
  66%  { background-position: 25% 70%,  80% 25%,   20% 85%,  0 0; }
  100% { background-position: 0% 0%,    100% 0%,   50% 100%, 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.aurora-bg { animation: none; }
}

/* ── Card „feature" cu linie auriu-gradient care apare sus la hover */
.feature-card {
  position: relative;
  background-image: linear-gradient(170deg, transparent 40%, color-mix(in srgb, var(--primary) 6%, transparent) 100%);
}
.feature-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  border-radius: 12px 12px 0 0;
  background: linear-gradient(90deg, var(--gold-soft), var(--gold-deep));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
.feature-card:hover::before { transform: scaleX(1); }
/* iconița din feature card capătă tentă caldă la hover */
.feature-card .feature-ico { transition: background .3s, color .3s, transform .3s; }
.feature-card:hover .feature-ico {
  transform: scale(1.06) rotate(-3deg);
  background: linear-gradient(135deg, color-mix(in srgb, var(--gold) 22%, transparent), color-mix(in srgb, var(--gold) 8%, transparent)) !important;
  color: var(--gold-deep) !important;
}

/* ── Eyebrow auriu cu liniuțe decorative (centrat) */
.eyebrow-gold {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: var(--gold-deep) !important;
}
.eyebrow-gold::before, .eyebrow-gold::after {
  content: '';
  width: 26px; height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--gold));
}
.eyebrow-gold::after { background: linear-gradient(90deg, var(--gold), transparent); }

/* ── Glow auriu radial subtil în colțul panourilor navy (adâncime + căldură) */
.panel-glow { position: relative; isolation: isolate; }
.panel-glow::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(var(--gold-glow), .16), transparent 55%),
    radial-gradient(90% 70% at 0% 100%, rgba(255,255,255,.06), transparent 50%);
  pointer-events: none;
}
/* linie auriu fină sub slogan/heading în panourile întunecate */
.gold-rule {
  width: 64px; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, var(--gold-soft), var(--gold-deep));
  margin: 1rem 0 0;
}

/* ── Numeric badge (pași „cum devii membru") cu gradient + glow */
.step-num {
  background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--primary) 55%, #000)) !important;
  box-shadow: 0 8px 20px -8px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.18);
  position: relative;
}
.step-num::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: inherit;
  border: 1.5px solid color-mix(in srgb, var(--gold) 50%, transparent);
  opacity: .65;
}

/* ── CTA „Background Boxes" (efect Aceternity) — grilă skewed în perspectivă care
   se luminează cu accente colorate la hover; estompată spre margini de o mască radială. */
.cta-boxes {
  position: relative;
  /* fără width:100% — pe mobil bleed-mobile (margini -24px) îl întinde la auto
     până la marginile ecranului (ca panoul Despre noi). width:100% l-ar fixa. */
  height: clamp(340px, 44vh, 440px);
  overflow: hidden;
  background: color-mix(in srgb, var(--primary) 80%, #000);   /* navy brand, adâncit */
  display: flex; align-items: center; justify-content: center;
}
.cta-boxes-grid {
  position: absolute; top: 50%; left: 50%;
  display: flex; z-index: 0;
  transform: translate(-50%, -50%) skewX(-48deg) skewY(14deg) scale(1.1);
}
.cta-col { display: flex; flex-direction: column; border-left: 1px solid rgba(148,163,184,.13); }
.cta-box {
  width: 58px; height: 30px;
  border-top: 1px solid rgba(148,163,184,.13);
  border-right: 1px solid rgba(148,163,184,.13);
  transition: background-color 1.6s ease;
}
.cta-boxes-mask {
  position: absolute; inset: 0; z-index: 20;
  background: color-mix(in srgb, var(--primary) 80%, #000);   /* identic cu fundalul → vignette continuu */
  -webkit-mask-image: radial-gradient(transparent 18%, #000 78%);
  mask-image: radial-gradient(transparent 18%, #000 78%);
  pointer-events: none;
}
.cta-boxes-content { position: relative; z-index: 30; text-align: center; padding: 0 1.5rem; max-width: 660px; }
.cta-boxes-eyebrow { color: rgba(255,255,255,.82); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1.1rem; }
.cta-boxes-title { color: #fff; font-size: clamp(1.7rem, 4vw, 2.7rem); font-weight: 800; line-height: 1.15; margin-bottom: 2rem; text-shadow: 0 2px 20px rgba(0,0,0,.6); }

/* ── SCROLL REVEAL — fade + slide-up la intrarea în viewport.
   Robust: clasele se ascund DOAR când <html> are .reveal-on (setat de JS).
   Fără JS / reduced-motion → conținutul rămâne vizibil normal. */
html.reveal-on .reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
html.reveal-on .reveal.in { opacity: 1; transform: none; }

/* Respectă preferința de mișcare redusă — anulează toate animațiile premium */
@media (prefers-reduced-motion: reduce) {
  .btn-premium, .btn-premium::after, .card-lift, .feature-card::before,
  .feature-card .feature-ico, html.reveal-on .reveal {
    transition: none !important;
    animation: none !important;
  }
  html.reveal-on .reveal { opacity: 1 !important; transform: none !important; }
  .btn-premium:hover, .card-lift:hover { transform: none !important; }
}
