/* ===== HERO ===== */
.hero {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #1a2a3a 0%, #2a3a4a 100%);
  color: var(--white);
  overflow: hidden;
  padding: 60px 0;
}
/* Imagine hero reala (LCP) — pozitionata in spatele continutului.
   Folosirea unui <img> in loc de background-image permite preload,
   srcset responsive si fetchpriority -> scor LCP / PageSpeed superior. */
.hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  z-index: 0;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    var(--grad-hero),
    radial-gradient(ellipse at center, transparent 0%, rgba(7,46,74,.55) 100%);
  pointer-events: none;
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(ellipse at center, transparent 0%, rgba(7,46,74,.45) 100%);
  pointer-events: none;
}
.hero-inner { position: relative; z-index: 2; text-align: center; max-width: 920px; padding: 0 20px; }

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--green);
  color: var(--white);
  padding: 7px 18px;
  border-radius: 50px;
  font-family: 'Montserrat',sans-serif;
  font-weight: 800;
  font-size: 12.5px;
  letter-spacing: .5px;
  margin-bottom: 14px;
  box-shadow: 0 6px 18px rgba(34,197,94,.45), inset 0 1px 0 rgba(255,255,255,.3);
  text-transform: uppercase;
}

.hero h1 {
  color: var(--white);
  font-size: clamp(1.7rem, 3.8vw, 2.5rem);
  font-weight: 800;
  line-height: 1.18;
  margin-bottom: 14px;
  text-shadow: 0 3px 12px rgba(0,0,0,.4);
}
.hero h1 .accent {
  background: linear-gradient(180deg, #6EE7A0 0%, #34D17A 38%, #22C55E 64%, #16A34A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #34D17A;                 /* fallback browsere fara clip */
  text-shadow: 0 2px 14px rgba(34,197,94,.35);
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.18));
}

.hero-sub {
  font-size: clamp(.95rem, 1.4vw, 1.05rem);
  color: rgba(255,255,255,.95);
  max-width: 760px;
  margin: 0 auto 22px;
  line-height: 1.5;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}
.hero-sub b { color: var(--gold-light); font-weight: 700; }

.hero-cta { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 15px 32px;
  border-radius: 50px;
  font-family: 'Montserrat',sans-serif;
  font-weight: 800;
  font-size: 15.5px;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all .28s;
  position: relative;
  overflow: hidden;
  letter-spacing: .3px;
}
.btn-gold {
  background:
    linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #F0CE72 0%, #E8C060 18%, #D4A017 55%, #B8860B 100%);
  color: var(--navy-dark);
  box-shadow:
    0 10px 26px rgba(184,134,11,.55),
    0 2px 5px rgba(184,134,11,.45),
    inset 0 1px 0 rgba(255,255,255,.75),
    inset 0 -2px 6px rgba(120,80,0,.30);
  border: 1px solid rgba(184,134,11,.55);
}
.btn-gold::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.10) 46%, transparent 60%);
  border-radius: 50px;
  pointer-events: none;
  z-index: 1;
}
/* shine care traverseaza butonul la hover */
.btn-gold::after {
  content: '';
  position: absolute;
  top: 0; left: -120%;
  width: 80%; height: 100%;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform: skewX(-18deg);
  pointer-events: none;
  z-index: 1;
  transition: left .65s cubic-bezier(.2,.7,.2,1);
}
.btn-gold:hover::after { left: 140%; }
.btn-gold > * { position: relative; z-index: 2; }
.btn-gold:hover {
  transform: translateY(-3px);
  box-shadow:
    0 16px 34px rgba(184,134,11,.62),
    0 4px 10px rgba(184,134,11,.5),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -2px 7px rgba(120,80,0,.32);
}
.btn-gold:active { transform: translateY(-1px); }
.btn-outline-white {
  background: rgba(255,255,255,.08);
  color: var(--white);
  border: 2px solid rgba(255,255,255,.55);
  backdrop-filter: blur(6px);
}
.btn-outline-white:hover { background: var(--white); color: var(--navy); border-color: var(--white); transform: translateY(-2px); }
.btn-navy {
  background: var(--grad-nav);
  color: var(--white);
  box-shadow: 0 6px 18px rgba(10,61,98,.4);
}
.btn-navy:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(10,61,98,.55); }

/* ===== TRUST BADGES ===== */
.trust-badges {
  background: var(--white);
  padding: 28px 0;
  border-bottom: 1px solid var(--border);
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.trust-card {
  text-align: center;
  padding: 16px;
}
.trust-shield {
  width: 84px;
  height: 94px;
  margin: 0 auto 10px;
  background: linear-gradient(180deg, var(--navy-mid) 0%, var(--navy) 50%, var(--navy-dark) 100%);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 16px;
  clip-path: polygon(50% 0%, 100% 15%, 100% 70%, 50% 100%, 0% 70%, 0% 15%);
  border: 2px solid var(--gold);
  box-shadow: 0 6px 16px rgba(7,46,74,.3);
}
.trust-shield::before {
  content: '';
  position: absolute;
  inset: 4px;
  background: linear-gradient(180deg, rgba(212,160,23,.18) 0%, transparent 60%);
  clip-path: polygon(50% 0%, 100% 15%, 100% 70%, 50% 100%, 0% 70%, 0% 15%);
}
.trust-shield .icon { font-size: 26px; color: var(--gold-light); margin-bottom: 2px; position: relative; z-index: 2; }
.trust-shield .lbl {
  font-family: 'Montserrat',sans-serif;
  font-size: 7.5px;
  font-weight: 800;
  color: var(--gold-light);
  letter-spacing: .3px;
  text-align: center;
  position: relative;
  z-index: 2;
  padding: 0 2px;
  line-height: 1.15;
  max-width: 64px;
  text-transform: uppercase;
}
.trust-card h4 { color: var(--navy); font-size: 1.05rem; margin-bottom: 6px; }
.trust-card p { font-size: .92rem; color: var(--gray); margin: 0; }

/* ===== SECTIONS ===== */
section { padding: 70px 0; }
.section-title { text-align: center; margin-bottom: 14px; }
.section-sub { text-align: center; color: var(--gray); max-width: 720px; margin: 0 auto 50px; font-size: 1.05rem; }
.gold-line {
  width: 70px; height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  margin: 14px auto 24px;
  border-radius: 2px;
}
.bg-light { background: var(--grad-section); }
.bg-white { background: var(--white); }

/* ===== SERVICE AUTORIZAT ===== */
.autorizat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
}
.autorizat-text h2 { margin-bottom: 18px; }
.autorizat-text p { margin-bottom: 14px; font-size: 1.02rem; }
.autorizat-text p b { color: var(--navy); }
.autorizat-features { list-style: none; margin-top: 22px; }
.autorizat-features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 0;
  font-size: .98rem;
}
.autorizat-features li::before {
  content: '✓';
  display: inline-flex;
  width: 24px; height: 24px;
  background: var(--green);
  color: var(--white);
  border-radius: 50%;
  align-items: center; justify-content: center;
  font-weight: 900;
  font-size: 13px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(34,197,94,.4);
}
.autorizat-visual {
  background: var(--grad-card);
  padding: 38px;
  border-radius: 16px;
  border: 1px solid var(--border);
  box-shadow: 0 10px 28px rgba(7,46,74,.08);
  position: relative;
  overflow: hidden;
}
.autorizat-visual::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--grad-gold);
}
.autorizat-stat {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 24px;
}
.stat-item {
  background: var(--white);
  padding: 22px;
  border-radius: 12px;
  text-align: center;
  border: 1px solid var(--border);
}
.stat-item .num {
  font-family: 'Montserrat',sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  color: var(--gold-hover);
  line-height: 1;
}
.stat-item .lbl {
  font-size: .85rem;
  color: var(--gray);
  margin-top: 6px;
  font-weight: 600;
}
.autorizat-quote {
  background: var(--navy-light);
  padding: 18px;
  border-radius: 10px;
  border-left: 4px solid var(--gold);
  font-style: italic;
  color: var(--navy-dark);
  font-size: .95rem;
}

/* =========================================================
   SISTEM IMAGINI PREMIUM RESPONSIVE
   - aspect-ratio fix -> zero layout shift (CLS = 0)
   - object-fit:cover + object-position -> fete vizibile
   - placeholder elegant cand poza lipseste
   ========================================================= */
.media {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  background: var(--grad-card);
  border: 1px solid var(--border);
  box-shadow: 0 14px 36px rgba(7,46,74,.12);
  isolation: isolate;
}
.media::before {                       /* accent auriu sus */
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--grad-gold);
  z-index: 3;
}
.media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;         /* tine fata in cadru la decupaj */
  display: block;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.media:hover img { transform: scale(1.04); }
.media-4x3 { aspect-ratio: 4 / 3; }
.media-3x4 { aspect-ratio: 3 / 4; }
.media-16x9 { aspect-ratio: 16 / 9; }
.media-1x1 { aspect-ratio: 1 / 1; }
/* eticheta peste imagine */
.media-caption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 26px 18px 14px;
  background: linear-gradient(transparent, rgba(7,46,74,.85));
  color: var(--white);
  font-family: 'Montserrat',sans-serif;
}
.media-caption .name { font-weight: 800; font-size: 1rem; line-height: 1.2; }
.media-caption .role { font-size: .82rem; color: var(--gold-light); margin-top: 3px; }
/* badge mic peste imagine (ex: "Service autorizat") */
.media-badge {
  position: absolute;
  top: 14px; left: 14px;
  z-index: 2;
  background: var(--green);
  color: var(--white);
  font-family: 'Montserrat',sans-serif;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .4px;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 50px;
  box-shadow: 0 4px 12px rgba(34,197,94,.4);
}
/* placeholder cand poza lipseste / inca neincarcata */
.media-ph {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 10px; text-align: center; padding: 20px;
  z-index: 1;
}
.media-ph svg { width: 54px; height: 54px; stroke: var(--gold); fill: none; stroke-width: 1.4; }
.media-ph span { font-size: .85rem; font-weight: 600; color: var(--gray); }

/* Service Autorizat: imagine in coloana de vizual */
.autorizat-photo .media { margin-bottom: 24px; }

/* ===== GALERIE / ECHIPA ===== */
.galerie-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.galerie-card .media { aspect-ratio: 3 / 4; }
.galerie-info { text-align: center; padding: 16px 8px 0; }
.galerie-info h3 { color: var(--navy); font-size: 1.1rem; margin-bottom: 4px; }
.galerie-info p { color: var(--gold-hover); font-family:'Montserrat',sans-serif; font-weight: 700; font-size: .9rem; }

/* ===== PROBLEME ===== */
.probleme-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.problema-card {
  background: var(--grad-card);
  padding: 26px 22px;
  border-radius: 14px;
  border: 1px solid var(--border);
  box-shadow: 0 6px 18px rgba(7,46,74,.06);
  transition: all .3s;
  position: relative;
  overflow: hidden;
}
.problema-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--grad-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s;
}
.problema-card:hover { transform: translateY(-5px); box-shadow: 0 14px 30px rgba(7,46,74,.14); border-color: var(--gold-light); }
.problema-card:hover::before { transform: scaleX(1); }
.problema-icon {
  width: 50px; height: 50px;
  background: var(--grad-gold);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: var(--navy-dark);
  margin-bottom: 14px;
  box-shadow: 0 4px 10px rgba(212,160,23,.35), inset 0 1px 0 rgba(255,255,255,.4);
}
.problema-card h3 { font-size: 1.05rem; margin-bottom: 8px; color: var(--navy); }
.problema-card p { font-size: .92rem; color: var(--gray); margin: 0; }

/* ===== SERVICII INCLUSE ===== */
.servicii-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.serviciu-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  background: var(--white);
  border-radius: 12px;
  border: 1px solid var(--border);
  transition: all .25s;
}
.serviciu-item:hover { box-shadow: 0 6px 16px rgba(7,46,74,.1); transform: translateX(4px); border-color: var(--gold-light); }
.serviciu-check {
  width: 32px; height: 32px;
  background: var(--green-light);
  color: var(--green-dark);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900;
  font-size: 16px;
  flex-shrink: 0;
  border: 2px solid var(--green);
}
.serviciu-item h4 { color: var(--navy); font-size: 1rem; margin-bottom: 3px; font-weight: 700; }
.serviciu-item p { font-size: .9rem; color: var(--gray); margin: 0; }

/* ===== COMPARATIE ===== */
.comparatie-wrap {
  background: var(--white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(7,46,74,.1);
  border: 1px solid var(--border);
}
.comparatie-table { width: 100%; border-collapse: collapse; }
.comparatie-table th {
  padding: 22px 18px;
  font-family: 'Montserrat',sans-serif;
  font-weight: 800;
  text-align: center;
  font-size: 1.05rem;
}
.comparatie-table th.label { background: var(--navy-light); color: var(--navy); text-align: left; }
.comparatie-table th.autorizat {
  background: var(--grad-nav);
  color: var(--white);
  position: relative;
}
/* badge RECOMANDAT definit mai jos (bloc premium) */
.comparatie-table th.neautorizat { background: #f8f9fa; color: var(--gray); }
.comparatie-table td {
  padding: 16px 18px;
  border-top: 1px solid var(--border);
  text-align: center;
  font-size: .95rem;
}
.comparatie-table td.label-cell { text-align: left; font-weight: 700; color: var(--navy); background: var(--off-white); }
.yes { color: var(--green-dark); font-weight: 700; }
.yes::before { content: '✓ '; font-weight: 900; }
.no { color: #c92a2a; font-weight: 700; }
.no::before { content: '✗ '; font-weight: 900; }

/* ===== BENEFICII ===== */
.beneficii-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.beneficiu {
  text-align: center;
  padding: 32px 24px;
  background: var(--grad-card);
  border-radius: 14px;
  border: 1px solid var(--border);
  transition: all .3s;
}
.beneficiu:hover { transform: translateY(-6px); box-shadow: 0 14px 30px rgba(7,46,74,.12); border-color: var(--gold-light); }
.beneficiu-ico {
  width: 64px; height: 64px;
  background: var(--grad-gold);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 30px;
  margin: 0 auto 18px;
  color: var(--navy-dark);
  box-shadow: 0 6px 16px rgba(212,160,23,.35), inset 0 1px 0 rgba(255,255,255,.4);
}
.beneficiu h3 { margin-bottom: 10px; }
.beneficiu p { color: var(--gray); font-size: .96rem; }

/* ===== PASI ===== */
.pasi-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-top: 30px;
}
.pas {
  background: var(--white);
  padding: 28px 22px;
  border-radius: 14px;
  border: 1px solid var(--border);
  position: relative;
  text-align: center;
  box-shadow: 0 6px 16px rgba(7,46,74,.06);
}
.pas-num {
  width: 52px; height: 52px;
  background: var(--grad-nav);
  color: var(--gold-light);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Montserrat',sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  margin: 0 auto 14px;
  border: 2px solid var(--gold);
  box-shadow: 0 4px 12px rgba(7,46,74,.25);
}
.pas h3 { font-size: 1.05rem; margin-bottom: 8px; }
.pas p { font-size: .92rem; color: var(--gray); }

/* ===== TARIFE ===== */
.tarife-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.tarif-card {
  background: var(--white);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: 0 8px 22px rgba(7,46,74,.08);
  transition: all .3s;
}
.tarif-card:hover { transform: translateY(-5px); box-shadow: 0 16px 36px rgba(7,46,74,.14); }
.tarif-head {
  background: var(--grad-nav);
  color: var(--white);
  padding: 22px;
  text-align: center;
  position: relative;
}
.tarif-head::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--grad-gold);
}
.tarif-head h3 { color: var(--white); margin: 0; font-size: 1.15rem; }
.tarif-pret {
  padding: 24px;
  text-align: center;
  background: var(--navy-light);
}
.tarif-pret .val {
  font-family: 'Montserrat',sans-serif;
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold-hover);
  line-height: 1;
}
.tarif-pret .info { font-size: .85rem; color: var(--gray); margin-top: 6px; }
.tarif-body { padding: 22px 24px 28px; }
.tarif-body ul { list-style: none; }
.tarif-body li {
  padding: 8px 0;
  font-size: .92rem;
  border-bottom: 1px dashed var(--border);
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.tarif-body li:last-child { border: 0; }
.tarif-body li::before { content: '•'; color: var(--gold-hover); font-weight: 900; }
.tarif-note {
  background: var(--gold-pale);
  padding: 18px 22px;
  border-radius: 10px;
  margin-top: 30px;
  border-left: 4px solid var(--gold);
  font-size: .92rem;
  color: var(--text-body);
}
.tarif-note b { color: var(--navy); }

/* ===== BRANDURI ===== */
.brand-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px;
}
.brand-item {
  background: var(--white);
  padding: 22px 16px;
  border-radius: 12px;
  border: 1px solid var(--border);
  text-align: center;
  transition: all .25s;
  font-family: 'Montserrat',sans-serif;
  font-weight: 700;
  color: var(--navy);
  font-size: 1rem;
  position: relative;
  overflow: hidden;
}
.brand-item::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--grad-gold);
  transform: scaleX(0);
  transition: transform .3s;
}
.brand-item:hover { box-shadow: 0 8px 20px rgba(7,46,74,.12); transform: translateY(-3px); border-color: var(--gold-light); }
.brand-item:hover::before { transform: scaleX(1); }

/* ===== ZONE ===== */
.zone-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.zona {
  background: var(--white);
  padding: 14px 18px;
  border-radius: 10px;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 10px;
  transition: all .25s;
  font-size: .95rem;
  font-weight: 600;
  color: var(--navy);
}
.zona::before {
  content: '📍';
  font-size: 1rem;
}
.zona:hover { background: var(--navy-light); border-color: var(--gold-light); transform: translateX(4px); }

/* ===== FAQ ===== */
.faq-list { max-width: 920px; margin: 0 auto; }
.faq-item {
  background: var(--white);
  border-radius: 12px;
  margin-bottom: 14px;
  border: 1px solid var(--border);
  overflow: hidden;
  transition: all .25s;
  box-shadow: 0 4px 12px rgba(7,46,74,.05);
}
.faq-item[open] { box-shadow: 0 8px 22px rgba(7,46,74,.1); border-color: var(--gold-light); }
.faq-q {
  padding: 18px 24px;
  cursor: pointer;
  font-family: 'Montserrat',sans-serif;
  font-weight: 700;
  color: var(--navy);
  font-size: 1.02rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  list-style: none;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after {
  content: '+';
  width: 30px; height: 30px;
  background: var(--grad-gold);
  color: var(--navy-dark);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  font-weight: 800;
  flex-shrink: 0;
  transition: transform .25s;
  box-shadow: 0 3px 8px rgba(212,160,23,.35);
}
.faq-item[open] .faq-q::after { transform: rotate(45deg); }
.faq-a {
  padding: 0 24px 22px;
  color: var(--text-body);
  font-size: .98rem;
  line-height: 1.7;
}

/* ===== FORMULAR ===== */
.form-section {
  background: var(--grad-final);
  padding: 70px 0;
}
.form-wrap {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 50px;
  align-items: start;
  max-width: 1100px;
  margin: 0 auto;
}
.form-info h2 { margin-bottom: 16px; }
.form-info p { margin-bottom: 22px; font-size: 1.02rem; }
.form-contact-block {
  background: var(--white);
  padding: 24px;
  border-radius: 12px;
  border: 1px solid var(--border);
  margin-bottom: 18px;
  border-left: 4px solid var(--gold);
}
.form-contact-block h4 { color: var(--navy); margin-bottom: 8px; font-size: 1rem; }
.form-contact-block p { margin: 0; font-size: .94rem; color: var(--gray); }
.form-contact-block .tel {
  display: block;
  color: var(--gold-hover);
  font-family: 'Montserrat',sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  margin-top: 6px;
}

.form-card {
  background: var(--white);
  padding: 36px;
  border-radius: 16px;
  box-shadow: 0 14px 36px rgba(7,46,74,.12);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.form-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--grad-gold);
}
.form-card h3 { margin-bottom: 6px; color: var(--navy); }
.form-card .form-sub { color: var(--gray); font-size: .92rem; margin-bottom: 22px; }
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.form-group { margin-bottom: 14px; }
.form-group label {
  display: block;
  font-family: 'Montserrat',sans-serif;
  font-size: .85rem;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  letter-spacing: .3px;
}
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-family: 'Open Sans',sans-serif;
  font-size: .95rem;
  color: var(--text);
  background: var(--off-white);
  transition: all .2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--gold);
  background: var(--white);
  box-shadow: 0 0 0 3px rgba(212,160,23,.15);
}
.form-group textarea { resize: vertical; min-height: 90px; }
.checkbox-group { display: flex; gap: 10px; align-items: flex-start; margin: 18px 0; font-size: .88rem; color: var(--text-body); }
.checkbox-group input { width: 18px; height: 18px; accent-color: var(--gold-hover); margin-top: 2px; }
.checkbox-group a { color: var(--gold-hover); font-weight: 700; }
.form-submit {
  width: 100%;
  padding: 16px;
  font-size: 1.02rem;
}

/* ===== CTA FINAL ===== */
.cta-final {
  background: var(--grad-dark);
  color: var(--white);
  padding: 80px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-final::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--grad-gold);
}
.cta-final::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--grad-gold);
}
.cta-final h2 { color: var(--white); margin-bottom: 14px; font-size: clamp(1.7rem, 3.4vw, 2.4rem); }
.cta-final h2 .accent { color: var(--gold-light); }
.cta-final p {
  color: rgba(255,255,255,.9);
  font-size: 1.08rem;
  max-width: 700px;
  margin: 0 auto 30px;
}
.cta-final-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ===== FOOTER ===== */
.footer {
  background: var(--grad-dark);
  color: rgba(255,255,255,.85);
  padding: 60px 0 0;
  font-size: .92rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.footer-brand .footer-logo {
  font-family: 'Montserrat',sans-serif;
  color: var(--gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 4px;
}
.footer-brand h3 {
  color: var(--white);
  font-size: 1.5rem;
  margin-bottom: 14px;
  font-weight: 800;
}
.footer-brand p { font-size: .92rem; line-height: 1.7; margin-bottom: 18px; }
.footer-tel {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--grad-gold);
  color: var(--navy-dark);
  padding: 12px 22px;
  border-radius: 50px;
  font-family: 'Montserrat',sans-serif;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(212,160,23,.4), inset 0 1px 0 rgba(255,255,255,.4);
  transition: all .25s;
}
.footer-tel:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(212,160,23,.55); }

.footer-col h4 {
  color: var(--gold-light);
  font-family: 'Montserrat',sans-serif;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .5px;
  margin-bottom: 18px;
  padding-bottom: 10px;
  position: relative;
  text-transform: uppercase;
}
.footer-col h4::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 36px;
  height: 2px;
  background: var(--grad-gold);
}
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 9px; }
.footer-col a {
  color: rgba(255,255,255,.78);
  font-size: .9rem;
  transition: all .2s;
  display: inline-block;
}
.footer-col a:hover { color: var(--gold-light); padding-left: 4px; }

.footer-bottom {
  padding: 22px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  font-size: .85rem;
  color: rgba(255,255,255,.65);
}
.footer-legal { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-legal a { color: rgba(255,255,255,.7); transition: color .2s; }
.footer-legal a:hover { color: var(--gold-light); }
.footer-anpc {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.footer-anpc a {
  font-size: .82rem;
  color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.06);
  padding: 6px 14px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.12);
}
.footer-anpc a:hover { background: rgba(212,160,23,.15); color: var(--gold-light); border-color: var(--gold); }

/* ===== BOTTOM BAR FIX ===== */
.bottom-bar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 12px 16px;
  background: var(--white);
  z-index: 999;
  box-shadow: 0 -4px 16px rgba(0,0,0,.12);
  border-top: 1px solid var(--border);
}
.bottom-bar a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 50px;
  font-family: 'Montserrat',sans-serif;
  font-weight: 800;
  font-size: 1rem;
  letter-spacing: .3px;
  transition: all .25s;
  box-shadow: 0 4px 12px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.4);
}
.bottom-bar a:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.45); }
.bottom-bar svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
  flex-shrink: 0;
}
.bb-wa { background: linear-gradient(135deg, #25D366 0%, #128C7E 100%); color: var(--white); }
.bb-call { background: var(--grad-gold); color: var(--navy-dark); }

/* ===== RESPONSIVE ===== */
/* ===== GUARANTEE BAND (imagine + text garantie) ===== */
.guarantee-band {
  margin-top: 46px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: center;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 14px 36px rgba(7,46,74,.10);
}
.guarantee-band .media { aspect-ratio: 4 / 3; }
.guarantee-copy h3 { font-size: clamp(1.25rem,2.4vw,1.75rem); margin-bottom: 12px; }
.guarantee-copy p { color: var(--gray); margin-bottom: 14px; }
.guarantee-list { list-style: none; margin-top: 16px; }
.guarantee-list li { padding: 8px 0; display: flex; gap: 10px; align-items: flex-start; color: var(--text-body); font-weight: 600; }
.guarantee-list li::before {
  content: '✓';
  width: 24px; height: 24px;
  background: var(--green); color: #fff;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 900; flex-shrink: 0; font-size: 13px;
}

/* ===== FAMILY PROOF (imagine emotionala finala) ===== */
.family-proof {
  background: var(--grad-section);
  padding: 70px 0;
}
.family-proof-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 44px;
  align-items: center;
}
.family-proof .media { aspect-ratio: 4 / 3; }
.family-proof-copy h2 { margin-bottom: 14px; }
.family-proof-copy p { font-size: 1.04rem; color: var(--text-body); margin-bottom: 18px; }
.family-proof-points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.family-proof-points span {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px 14px;
  font-weight: 700;
  color: var(--navy);
  box-shadow: 0 5px 14px rgba(7,46,74,.06);
}

@media (max-width: 980px) {
  .autorizat-grid { grid-template-columns: 1fr; }
  .guarantee-band { grid-template-columns: 1fr; padding: 18px; }
  .family-proof-grid { grid-template-columns: 1fr; }
  .family-proof-points { grid-template-columns: 1fr; }
  .galerie-grid { grid-template-columns: repeat(2, 1fr); }
  .autorizat-photo .media { aspect-ratio: 16 / 9; }
  .probleme-grid { grid-template-columns: repeat(2, 1fr); }
  .servicii-grid { grid-template-columns: 1fr; }
  .beneficii-grid { grid-template-columns: 1fr; }
  .pasi-grid { grid-template-columns: repeat(2, 1fr); }
  .tarife-grid { grid-template-columns: 1fr; }
  .form-wrap { grid-template-columns: 1fr; gap: 30px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .comparatie-table { font-size: .85rem; }
  .comparatie-table th, .comparatie-table td { padding: 12px 8px; }
}
@media (max-width: 760px) {
  .mobile-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .nav-menu {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--grad-nav);
    flex-direction: column;
    align-items: stretch;
    padding: 14px;
    gap: 4px;
    display: none;
    box-shadow: 0 10px 22px rgba(0,0,0,.22);
    border-top: 2px solid var(--gold);
  }
  .nav-menu.open { display: flex; }
  .nav-menu > li > a { padding: 12px 14px; }
  .submenu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: rgba(255,255,255,.05); border-top: 1px solid rgba(212,160,23,.3); border-radius: 6px; margin-top: 4px; padding: 4px; min-width: 0; }
  .submenu-wide { left: auto; transform: none; min-width: 0; padding: 4px; }
  .nav-menu > li:hover > .submenu-wide,
  .nav-menu > li:focus-within > .submenu-wide { transform: none; }
  .submenu-grid { grid-template-columns: 1fr; gap: 0; }
  .submenu-section-title { color: var(--gold-light); border-bottom-color: rgba(212,160,23,.3); padding: 8px 10px; }
  .submenu a { color: rgba(255,255,255,.85); }
  .submenu a:hover { background: rgba(212,160,23,.15); color: var(--gold-light); }
  .submenu .menu-ico { background: rgba(255,255,255,.08); }
  .submenu .menu-ico svg { stroke: var(--gold-light); }
  .submenu .menu-ico svg.filled { fill: var(--gold-light); stroke: var(--gold-light); }
  .nav-cta { justify-content: center; }
  .topbar-inner { gap: 8px; font-size: 11.5px; }
  .topbar-social { gap: 12px; }
  .topbar-info { display: none; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  section { padding: 50px 0; }
  .hero { min-height: 540px; padding: 40px 0; }
  .probleme-grid { grid-template-columns: 1fr; }
  .galerie-grid { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; }
  .galerie-card .media { aspect-ratio: 4 / 5; }
  .autorizat-photo .media { aspect-ratio: 4 / 3; }
  .media img { object-position: center 25%; }
  .hero-bg { object-position: center 30%; }
  .pasi-grid { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: 1fr; gap: 18px; }
  .brand-grid { grid-template-columns: repeat(2, 1fr); }
  .comparatie-table { font-size: .8rem; }
}

/* =========================================================
   UPGRADE PREMIUM — gradient + glossy (aspect luxury)
   ========================================================= */
/* Buton outline alb -> glass subtil */
.btn-outline-white {
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.30);
}

/* Badge hero -> luciu glossy */
.hero-badge {
  background:
    linear-gradient(180deg, rgba(255,255,255,.40) 0%, rgba(255,255,255,0) 52%),
    linear-gradient(180deg, #2EE06A 0%, #22C55E 55%, #16A34A 100%);
  position: relative;
  overflow: hidden;
}

/* Shield-uri trust -> sheen diagonal + adancime */
.trust-shield {
  background:
    linear-gradient(135deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 40%),
    var(--grad-nav);
  position: relative;
  overflow: hidden;
}
.trust-shield::after {
  content: '';
  position: absolute;
  top: -40%; left: -30%;
  width: 60%; height: 180%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.18), transparent);
  transform: skewX(-20deg);
  pointer-events: none;
}

/* Carduri (probleme/servicii/beneficii/tarife) -> luciu fin sus + lift la hover */
.problema-card, .serviciu-card, .beneficiu, .tarif-card, .pas-card, .brand-card {
  position: relative;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s ease;
}
.problema-card::before, .serviciu-card::before, .beneficiu::before,
.tarif-card::before, .pas-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 42%;
  background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0));
  border-radius: inherit;
  pointer-events: none;
  opacity: .55;
}
.problema-card:hover, .serviciu-card:hover, .beneficiu:hover,
.tarif-card:hover, .pas-card:hover, .brand-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(7,46,74,.16);
}

/* Bara de jos (WhatsApp / Suna) -> glossy bombat */
.bottom-bar a {
  position: relative;
  overflow: hidden;
}
.bottom-bar a::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 50%);
  pointer-events: none;
}

/* Sectiunea CTA finala -> profunzime gradient + vignette */
.cta-final {
  position: relative;
  overflow: hidden;
}
.cta-final::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(212,160,23,.12), transparent 60%);
  pointer-events: none;
}

/* Titluri sectiuni -> linia aurie cu glow fin */
.gold-line { box-shadow: 0 2px 10px rgba(212,160,23,.4); }

/* Navbar CTA telefon -> glossy auriu */
.nav-cta .btn-gold, .topbar-right .btn-gold { backdrop-filter: none; }

/* ===== ICONITE SVG premium (probleme + beneficii) ===== */
.problema-icon .ic, .beneficiu-ico .ic, .categorie-ico .ic { display:block; }
.problema-icon .ic { width: 26px; height: 26px; color: var(--navy-dark); }
.beneficiu-ico .ic { width: 32px; height: 32px; color: var(--navy-dark); }
.problema-icon, .beneficiu-ico { overflow: visible; }

/* ===== Badge RECOMANDAT mutat deasupra liniei "ServiceHome Autorizat" ===== */
.comparatie-table th.autorizat { padding-top: 30px; }
.comparatie-table th.autorizat::after {
  content: 'RECOMANDAT';
  position: absolute;
  top: 8px; left: 50%;
  transform: translateX(-50%);
  font-family: 'Montserrat',sans-serif;
  font-size: 9.5px;
  font-weight: 800;
  background: var(--grad-gold);
  color: var(--navy-dark);
  padding: 3px 12px;
  border-radius: 50px;
  letter-spacing: 1px;
  white-space: nowrap;
  box-shadow: 0 3px 8px rgba(184,134,11,.45), inset 0 1px 0 rgba(255,255,255,.5);
  border: 1px solid rgba(184,134,11,.5);
}

/* ===== Camp securitate formular (anti-bot) ===== */
.form-security {
  margin-top: 4px;
}
.form-security label { font-weight: 600; color: var(--navy); display:block; margin-bottom:6px; }
.form-security .sec-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.form-security .sec-q {
  background: var(--navy-light);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 16px;
  font-weight: 800;
  color: var(--navy);
  font-family: 'Montserrat',sans-serif;
  font-size: 1rem;
  white-space: nowrap;
}
.form-security input {
  max-width: 130px;
}
/* honeypot ascuns */
.hp-field { position:absolute !important; left:-9999px !important; top:-9999px !important; height:0; width:0; opacity:0; overflow:hidden; }

/* ===================================================
   HOMEPAGE — stiluri specifice (in plus fata de cele existente)
   =================================================== */

/* HERO homepage — mai inalt, cu doua coloane pe desktop */
.home-hero {
  position: relative;
  background:
    linear-gradient(215deg, rgba(7,46,74,.92) 0%, rgba(10,61,98,.78) 45%, rgba(13,79,124,.55) 100%),
    linear-gradient(45deg, #2a3a4a 0%, #1a2a3a 100%);
  background-size: cover;
  background-position: center;
  color: var(--white);
  overflow: hidden;
  padding: 76px 0 84px;
}
.home-hero::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 80%, transparent 0%, rgba(7,46,74,.4) 100%);
  pointer-events: none;
}
.home-hero-inner { position: relative; z-index: 2; max-width: 980px; margin: 0 auto; text-align: center; padding: 0 20px; }
.home-hero .eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(34,197,94,.16); border: 1px solid rgba(34,197,94,.45);
  color: #c9f7d8; font-family: 'Montserrat',sans-serif; font-weight: 700;
  font-size: 12.5px; letter-spacing: .6px; text-transform: uppercase;
  padding: 8px 18px; border-radius: 50px; margin-bottom: 22px;
  backdrop-filter: blur(4px);
}
.home-hero h1 {
  font-family: 'Montserrat',sans-serif; font-weight: 900; color: #fff;
  font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.1; margin-bottom: 20px;
  text-shadow: 0 2px 18px rgba(0,0,0,.25);
}
.home-hero h1 .hl {
  background: linear-gradient(180deg,#7ef0a3 0%,#22C55E 60%,#16A34A 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.home-hero p.lead {
  font-size: clamp(1.02rem, 2vw, 1.25rem); line-height: 1.6;
  max-width: 760px; margin: 0 auto 30px; color: rgba(255,255,255,.92);
}
.home-hero p.lead b { color: var(--gold-light); }
.home-hero-cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.home-hero-meta {
  margin-top: 30px; display: flex; gap: 28px; justify-content: center; flex-wrap: wrap;
  font-size: .92rem; color: rgba(255,255,255,.85);
}
.home-hero-meta span { display: inline-flex; align-items: center; gap: 8px; }
.home-hero-meta svg { width: 18px; height: 18px; stroke: var(--gold-light); fill: none; stroke-width: 2; }

/* SECTION intro generic */
.sec-intro { text-align: center; max-width: 720px; margin: 0 auto 44px; }
.sec-eyebrow {
  display: inline-block; font-family: 'Montserrat',sans-serif; font-weight: 800;
  font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--gold-hover); margin-bottom: 10px;
}

/* GRID SERVICII (homepage) */
.home-servicii-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px;
}
.serv-card {
  position: relative; background: var(--grad-card); border: 1px solid var(--border);
  border-radius: 16px; padding: 26px 22px; text-decoration: none;
  display: flex; flex-direction: column; gap: 12px;
  transition: transform .25s, box-shadow .25s, border-color .25s;
  overflow: hidden;
}
.serv-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--grad-gold); transform: scaleX(0); transform-origin: left;
  transition: transform .3s;
}
.serv-card:hover { transform: translateY(-6px); box-shadow: 0 16px 38px rgba(10,61,98,.16); border-color: var(--gold-light); }
.serv-card:hover::before { transform: scaleX(1); }
.serv-ico {
  width: 56px; height: 56px; border-radius: 14px; background: var(--grad-gold);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  box-shadow: 0 5px 14px rgba(212,160,23,.35), inset 0 1px 0 rgba(255,255,255,.4);
}
.serv-ico svg { width: 28px; height: 28px; stroke: var(--navy-dark); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.serv-card h3 { font-family: 'Montserrat',sans-serif; font-size: 1.12rem; color: var(--navy); margin: 0; }
.serv-card p { font-size: .92rem; color: var(--gray); margin: 0; line-height: 1.5; flex: 1; }
.serv-card .serv-link {
  font-family: 'Montserrat',sans-serif; font-weight: 700; font-size: .9rem; color: var(--gold-hover);
  display: inline-flex; align-items: center; gap: 6px; margin-top: 4px;
}
.serv-card .serv-link svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; transition: transform .2s; }
.serv-card:hover .serv-link svg { transform: translateX(4px); }

/* BRANDURI showcase (homepage) */
.home-brands {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px;
}
.brand-tile {
  background: var(--white); border: 1px solid var(--border); border-radius: 14px;
  padding: 26px 20px; text-align: center; text-decoration: none;
  transition: transform .25s, box-shadow .25s, border-color .25s;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.brand-tile:hover { transform: translateY(-5px); box-shadow: 0 14px 32px rgba(212,160,23,.22); border-color: var(--gold-light); }
.brand-tile .bt-badge {
  width: 46px; height: 52px; flex-shrink: 0;
  background: linear-gradient(180deg, var(--navy-mid) 0%, var(--navy) 50%, var(--navy-dark) 100%);
  clip-path: polygon(50% 0%, 100% 15%, 100% 70%, 50% 100%, 0% 70%, 0% 15%);
  border: 1.5px solid var(--gold); display: flex; align-items: center; justify-content: center;
}
.brand-tile .bt-badge svg { width: 20px; height: 20px; stroke: var(--gold-light); fill: none; stroke-width: 2; }
.brand-tile .bt-name { font-family: 'Montserrat',sans-serif; font-weight: 800; font-size: 1.15rem; color: var(--navy); }
.brand-tile .bt-tag { font-size: .8rem; color: var(--gray); }

/* STATS band */
.stats-band { background: var(--grad-dark); color: var(--white); position: relative; overflow: hidden; }
.stats-band::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(212,160,23,.12) 0%, transparent 50%);
}
.stats-grid {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center;
}
.stat-big .num {
  font-family: 'Montserrat',sans-serif; font-weight: 900;
  font-size: clamp(2.2rem, 4vw, 3rem);
  background: linear-gradient(180deg,#E8C060 0%,#D4A017 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  line-height: 1;
}
.stat-big .lbl { font-size: .95rem; color: rgba(255,255,255,.85); margin-top: 8px; }

/* TESTIMONIALE */
.reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.review-card {
  background: var(--grad-card); border: 1px solid var(--border); border-radius: 16px;
  padding: 26px; display: flex; flex-direction: column; gap: 14px;
  box-shadow: 0 6px 18px rgba(10,61,98,.06);
}
.review-stars { color: var(--gold); font-size: 1.05rem; letter-spacing: 2px; }
.review-text { font-size: .98rem; color: var(--text-body); line-height: 1.6; font-style: italic; }
.review-author { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.review-avatar {
  width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
  background: var(--grad-nav); color: var(--gold-light);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Montserrat',sans-serif; font-weight: 800; font-size: 1.05rem;
}
.review-author .ra-name { font-family: 'Montserrat',sans-serif; font-weight: 700; color: var(--navy); font-size: .95rem; }
.review-author .ra-loc { font-size: .82rem; color: var(--gray); }

/* WHY (autoritate) — 2 coloane */
.why-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 44px; align-items: center; }
.why-points { display: flex; flex-direction: column; gap: 18px; }
.why-point { display: flex; gap: 16px; align-items: flex-start; }
.why-point .wp-ico {
  width: 46px; height: 46px; border-radius: 12px; flex-shrink: 0;
  background: var(--green-light); border: 1px solid rgba(34,197,94,.3);
  display: flex; align-items: center; justify-content: center;
}
.why-point .wp-ico svg { width: 24px; height: 24px; stroke: var(--green-dark); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.why-point h3 { font-family: 'Montserrat',sans-serif; font-size: 1.08rem; color: var(--navy); margin: 0 0 4px; }
.why-point p { font-size: .94rem; color: var(--gray); margin: 0; line-height: 1.55; }
.why-visual {
  background: var(--grad-nav); border-radius: 20px; padding: 40px 34px; color: var(--white);
  box-shadow: 0 18px 40px rgba(10,61,98,.28); position: relative; overflow: hidden;
}
.why-visual::before {
  content: ''; position: absolute; top: -40px; right: -40px; width: 160px; height: 160px;
  background: radial-gradient(circle, rgba(212,160,23,.25) 0%, transparent 70%);
}
.why-visual .wv-eyebrow { color: var(--gold-light); font-family: 'Montserrat',sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.why-visual h3 { font-family: 'Montserrat',sans-serif; font-size: 1.5rem; margin: 10px 0 16px; line-height: 1.2; color: #fff; }
.why-visual p { color: rgba(255,255,255,.88); line-height: 1.6; margin-bottom: 22px; }
.why-visual .wv-phone {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Montserrat',sans-serif; font-weight: 800; font-size: 1.4rem; color: var(--white);
  text-decoration: none;
}
.why-visual .wv-phone svg { width: 26px; height: 26px; fill: var(--gold-light); }

/* PASI homepage (reutilizam .pasi-grid existent, doar wrapper) */

@media (max-width: 900px) {
  .why-grid { grid-template-columns: 1fr; gap: 30px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; }
}
@media (max-width: 600px) {
  .home-hero-meta { gap: 14px 20px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===================================================
   HOMEPAGE MODERN — imagini, glassmorphism, animatii
   =================================================== */

/* HERO cu imagine reala de fundal */
.home-hero.with-photo {
  background:
    linear-gradient(110deg, rgba(7,46,74,.94) 0%, rgba(10,61,98,.82) 42%, rgba(7,46,74,.55) 70%, rgba(7,46,74,.35) 100%),
    url('/images/home/hero-interventie-domiciliu.jpg');
  background-size: cover; background-position: center right;
  padding: 0;
}
.home-hero.with-photo .home-hero-inner {
  max-width: 1200px; text-align: left; margin: 0 auto;
  padding: 80px 40px 90px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center;
}
.home-hero.with-photo .hh-text { max-width: 640px; }
.home-hero.with-photo h1 { font-size: clamp(2.1rem, 4.4vw, 3.3rem); }
.home-hero.with-photo .home-hero-cta { justify-content: flex-start; }
.home-hero.with-photo .home-hero-meta { justify-content: flex-start; }
.home-hero.with-photo .eyebrow { margin-bottom: 20px; }

/* Card glassmorphism flotant in hero */
.hero-glass {
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px; padding: 28px; color: #fff;
  box-shadow: 0 20px 50px rgba(0,0,0,.3);
}
.hero-glass .hg-rating { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.hero-glass .hg-score {
  font-family: 'Montserrat',sans-serif; font-weight: 900; font-size: 2.6rem; line-height: 1;
  background: linear-gradient(180deg,#E8C060,#D4A017); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.hero-glass .hg-stars { color: var(--gold-light); font-size: 1.05rem; letter-spacing: 2px; }
.hero-glass .hg-rating-lbl { font-size: .82rem; color: rgba(255,255,255,.8); margin-top: 2px; }
.hero-glass .hg-list { list-style: none; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; }
.hero-glass .hg-list li { display: flex; align-items: center; gap: 11px; font-size: .96rem; color: rgba(255,255,255,.95); }
.hero-glass .hg-list svg { width: 20px; height: 20px; flex-shrink: 0; stroke: #7ef0a3; fill: none; stroke-width: 2.4; }
.hero-glass .hg-divider { height: 1px; background: rgba(255,255,255,.18); margin: 18px 0; }

/* ECHIPA tehnicieni */
.team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.team-card {
  background: var(--white); border: 1px solid var(--border); border-radius: 18px; overflow: hidden;
  box-shadow: 0 8px 24px rgba(10,61,98,.08); transition: transform .25s, box-shadow .25s;
}
.team-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(10,61,98,.16); }
.team-card .tc-photo { position: relative; aspect-ratio: 3/2; overflow: hidden; background: var(--navy-light); }
.team-card .tc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.team-card:hover .tc-photo img { transform: scale(1.04); }
.team-card .tc-badge {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  background: rgba(34,197,94,.92); color: #fff; font-family: 'Montserrat',sans-serif; font-weight: 700;
  font-size: 11px; letter-spacing: .4px; padding: 5px 12px; border-radius: 30px;
}
.team-card .tc-body { padding: 18px 20px 22px; }
.team-card .tc-name { font-family: 'Montserrat',sans-serif; font-weight: 800; color: var(--navy); font-size: 1.15rem; }
.team-card .tc-role { color: var(--gold-hover); font-weight: 600; font-size: .9rem; margin: 2px 0 10px; }
.team-card .tc-skills { display: flex; flex-wrap: wrap; gap: 6px; }
.team-card .tc-skills span { background: var(--navy-light); color: var(--navy); font-size: .76rem; padding: 4px 10px; border-radius: 20px; }

/* Foto in why-grid (inlocuieste cardul navy gol) */
.why-photo { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 18px 44px rgba(10,61,98,.24); }
.why-photo img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; display: block; }
.why-photo .wp-overlay {
  position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,46,74,.92) 0%, rgba(7,46,74,.3) 45%, transparent 70%);
  display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; color: #fff;
}
.why-photo .wp-overlay .wpo-eyebrow { color: var(--gold-light); font-family: 'Montserrat',sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.why-photo .wp-overlay h3 { font-family: 'Montserrat',sans-serif; font-size: 1.4rem; margin: 8px 0 12px; color: #fff; }
.why-photo .wp-overlay a {
  display: inline-flex; align-items: center; gap: 10px; align-self: flex-start;
  font-family: 'Montserrat',sans-serif; font-weight: 800; font-size: 1.3rem; color: #fff; text-decoration: none;
}
.why-photo .wp-overlay a svg { width: 24px; height: 24px; fill: var(--gold-light); }

/* fade-in subtil la scroll (CSS only) */
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.serv-card, .brand-tile, .team-card, .review-card { animation: fadeUp .5s ease both; }

@media (max-width: 900px) {
  .home-hero.with-photo .home-hero-inner { grid-template-columns: 1fr; padding: 56px 24px 64px; }
  .home-hero.with-photo .hh-text { text-align: center; max-width: 100%; }
  .home-hero.with-photo .home-hero-cta, .home-hero.with-photo .home-hero-meta { justify-content: center; }
  .hero-glass { max-width: 460px; margin: 0 auto; }
}


/* ===================================================
   PAGINA PRETURI — stiluri specifice
   =================================================== */

/* HERO */
.pr-hero {
  position: relative; overflow: hidden; color: #fff; padding: 0;
  background:
    linear-gradient(115deg, rgba(7,46,74,.96) 0%, rgba(10,61,98,.9) 48%, rgba(7,46,74,.7) 100%),
    url("../../images/price/Header-7C2av9J.jpg");
  background-size: cover; background-position: center;
}
.pr-hero-inner { max-width: 1100px; margin: 0 auto; padding: 76px 40px 82px; text-align: center; position: relative; z-index: 2; }
.pr-hero .eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(34,197,94,.16); border: 1px solid rgba(34,197,94,.45); color: #c9f7d8;
  font-family:'Montserrat',sans-serif; font-weight: 700; font-size: 12.5px; letter-spacing: .6px;
  text-transform: uppercase; padding: 8px 18px; border-radius: 50px; margin-bottom: 22px; backdrop-filter: blur(4px);
}
.pr-hero h1 { font-family:'Montserrat',sans-serif; font-weight: 900; color: #fff; font-size: clamp(2rem, 4.6vw, 3.2rem); line-height: 1.12; margin-bottom: 18px; text-shadow: 0 2px 18px rgba(0,0,0,.3); }
.pr-hero h1 .hl { background: linear-gradient(180deg,#7ef0a3 0%,#22C55E 60%,#16A34A 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.pr-hero p.lead { font-size: clamp(1.02rem,2vw,1.22rem); line-height: 1.6; max-width: 720px; margin: 0 auto 28px; color: rgba(255,255,255,.92); }
.pr-hero p.lead b { color: var(--gold-light); }
.pr-hero-cta { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* Banda incredere */
.pr-trust { background: var(--grad-dark); color: #fff; padding-top: 26px; padding-bottom: 26px; }
.pr-trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.pr-trust-item { display: flex; align-items: center; gap: 12px; justify-content: center; }
.pr-trust-item svg { width: 28px; height: 28px; stroke: var(--gold-light); fill: none; stroke-width: 2; flex-shrink: 0; }
.pr-trust-item b { font-family:'Montserrat',sans-serif; font-size: .98rem; display: block; }
.pr-trust-item span { font-size: .8rem; color: rgba(255,255,255,.75); }

/* Caseta diagnostic / deplasare (cu accent) */
.pr-diag {
  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%); color: #fff;
  border-radius: 20px; padding: 40px 36px; text-align: center; position: relative; overflow: hidden;
  box-shadow: 0 18px 40px rgba(10,61,98,.24);
}
.pr-diag::before { content:''; position:absolute; top:-40px; right:-40px; width:200px; height:200px; background: radial-gradient(circle, rgba(212,160,23,.22) 0%, transparent 70%); }
.pr-diag .pd-label { position: relative; z-index: 2; font-family:'Montserrat',sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .6px; text-transform: uppercase; color: var(--gold-light); margin-bottom: 12px; }
.pr-diag .pd-price { position: relative; z-index: 2; font-family:'Montserrat',sans-serif; font-weight: 900; font-size: clamp(2rem,5vw,3rem); line-height: 1; margin-bottom: 10px; }
.pr-diag .pd-price .cur { font-size: .5em; vertical-align: super; color: var(--gold-light); }
.pr-diag .pd-note { position: relative; z-index: 2; color: rgba(255,255,255,.85); max-width: 560px; margin: 0 auto 6px; line-height: 1.55; }
.pr-diag .pd-edit { position: relative; z-index: 2; display: inline-block; margin-top: 10px; font-size: .78rem; color: rgba(255,255,255,.5); font-style: italic; }

/* Grid preturi pe categorii */
.preturi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: 20px; }
.pret-card {
  background: var(--grad-card); border: 1px solid var(--border); border-radius: 16px; padding: 26px 24px;
  transition: transform .25s, box-shadow .25s, border-color .25s; position: relative;
}
.pret-card:hover { transform: translateY(-5px); box-shadow: 0 16px 36px rgba(10,61,98,.16); border-color: var(--gold-light); }
.pret-card .pc-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.pret-card .pc-ico { width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0; background: var(--navy-light); display: flex; align-items: center; justify-content: center; }
.pret-card .pc-ico svg { width: 26px; height: 26px; stroke: var(--navy); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pret-card h3 { font-family:'Montserrat',sans-serif; font-size: 1.12rem; color: var(--navy); margin: 0; }
.pret-card .pc-from { font-family:'Montserrat',sans-serif; font-weight: 900; font-size: 1.5rem; color: var(--navy-dark); margin-top: 2px; }
.pret-card .pc-from .lbl { font-family:'Open Sans',sans-serif; font-weight: 400; font-size: .8rem; color: var(--gray); display: block; }
.pret-card .pc-from .cur { font-size: .65em; color: var(--gold-hover); }
.pret-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.pret-card ul li { display: flex; gap: 9px; align-items: flex-start; font-size: .9rem; color: var(--text-body); line-height: 1.45; }
.pret-card ul li svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; stroke: var(--green); fill: none; stroke-width: 2.4; }

/* Disclaimer preturi */
.pr-disclaimer { background: var(--green-light); border: 1px solid rgba(34,197,94,.3); border-radius: 14px; padding: 20px 24px; display: flex; gap: 14px; align-items: flex-start; }
.pr-disclaimer svg { width: 26px; height: 26px; flex-shrink: 0; stroke: var(--green-dark); fill: none; stroke-width: 2; margin-top: 1px; }
.pr-disclaimer p { margin: 0; font-size: .95rem; color: var(--text-body); line-height: 1.55; }
.pr-disclaimer b { color: var(--navy); }

/* Cum se formeaza pretul - pasi */
.pret-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 20px; }
.pret-form-item { background: var(--white); border: 1px solid var(--border); border-radius: 14px; padding: 24px 20px; text-align: center; }
.pret-form-item .pf-circ { width: 54px; height: 54px; margin: 0 auto 14px; border-radius: 50%; background: var(--grad-gold); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(212,160,23,.35), inset 0 1px 0 rgba(255,255,255,.4); }
.pret-form-item .pf-circ svg { width: 26px; height: 26px; stroke: var(--navy-dark); fill: none; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.pret-form-item h3 { font-family:'Montserrat',sans-serif; font-size: 1.02rem; color: var(--navy); margin: 0 0 6px; }
.pret-form-item p { font-size: .9rem; color: var(--gray); margin: 0; line-height: 1.5; }

@media (max-width: 900px) {
  .pr-trust-grid { grid-template-columns: repeat(2,1fr); gap: 22px 14px; }
}

/* ===================================================
   PLACEHOLDERE POZE — pagina Preturi
   =================================================== */

/* Placeholder vizibil generic */
.img-placeholder {
  position: relative; background: repeating-linear-gradient(45deg, #eef2f6, #eef2f6 12px, #e6ebf1 12px, #e6ebf1 24px);
  border: 2px dashed var(--navy-mid); border-radius: 16px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  text-align: center; padding: 28px; color: var(--navy); min-height: 220px;
}
.img-placeholder .ph-ico { width: 48px; height: 48px; opacity: .55; }
.img-placeholder .ph-ico svg { width: 100%; height: 100%; stroke: var(--navy); fill: none; stroke-width: 1.6; }
.img-placeholder .ph-title { font-family:'Montserrat',sans-serif; font-weight: 800; font-size: 1rem; letter-spacing: .3px; }
.img-placeholder .ph-file { font-family: monospace; font-size: .82rem; background: var(--navy); color: #fff; padding: 4px 12px; border-radius: 6px; }
.img-placeholder .ph-hint { font-size: .8rem; color: var(--gray); max-width: 320px; line-height: 1.4; }
/* cand atasezi imaginea reala: pune <img> peste si placeholder dispare; sau scoate clasa */
.img-real { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; display: block; }

/* DIAGNOSTIC cu imagine: layout pe 2 coloane */
.pr-diag-wrap { display: grid; grid-template-columns: 1fr 0.85fr; gap: 28px; align-items: stretch; }
.pr-diag-wrap .pr-diag { margin: 0; }
.pr-diag-photo { border-radius: 20px; overflow: hidden; min-height: 100%; }
.pr-diag-photo .img-placeholder { min-height: 100%; height: 100%; border-radius: 20px; }

/* SECTIUNE CLIENT MULTUMIT (emotie) */
.client-emotie { }
.client-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.client-photo { border-radius: 18px; overflow: hidden; box-shadow: 0 16px 40px rgba(10,61,98,.18); min-height: 340px; }
.client-photo .img-placeholder { min-height: 340px; height: 100%; border-radius: 18px; }
.client-text h2 { text-align: left; }
.client-text .gold-line { margin-left: 0; }
.client-text p { color: var(--text-body); line-height: 1.65; }
.client-quote { background: var(--green-light); border-left: 4px solid var(--green); border-radius: 0 12px 12px 0; padding: 18px 22px; margin: 20px 0; font-style: italic; color: var(--navy-dark); }
.client-quote .cq-author { display: block; margin-top: 8px; font-style: normal; font-weight: 700; font-size: .9rem; color: var(--navy); }
.client-cta { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 8px; }

/* CTA FINAL cu imagine de fundal */
.cta-final.with-photo {
  position: relative; overflow: hidden;
}
.cta-final.with-photo .cta-ph-bg { position: absolute; inset: 0; z-index: 0; }
.cta-final.with-photo .cta-ph-bg .img-placeholder { width: 100%; height: 100%; min-height: 100%; border-radius: 0; border-color: var(--gold); background: repeating-linear-gradient(45deg, rgba(255,255,255,.08), rgba(255,255,255,.08) 12px, rgba(255,255,255,.14) 12px, rgba(255,255,255,.14) 24px); }
.cta-final.with-photo .cta-ph-bg .img-placeholder .ph-ico svg,
.cta-final.with-photo .cta-ph-bg .img-placeholder .ph-title { stroke: #fff; color: #fff; }
.cta-final.with-photo .cta-ph-bg .img-placeholder .ph-hint { color: rgba(255,255,255,.8); }
.cta-final.with-photo .container { position: relative; z-index: 2; }

@media (max-width: 900px) {
  .pr-diag-wrap { grid-template-columns: 1fr; }
  .client-grid { grid-template-columns: 1fr; gap: 28px; }
  .client-text h2 { text-align: center; }
  .client-text .gold-line { margin: 0 auto; }
  .client-cta { justify-content: center; }
}

/* Buton outline navy (pentru fundal alb - sectiunea client) */
.btn-outline-navy {
  background: transparent; color: var(--navy); border: 2px solid var(--navy);
  font-family:'Montserrat',sans-serif; font-weight: 700; padding: 13px 26px; border-radius: 10px;
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: all .2s;
}
.btn-outline-navy:hover { background: var(--navy); color: #fff; transform: translateY(-2px); }

/* ===================================================
   NOUL MODEL TARIFARE — tarif unic, manopera gratuita
   =================================================== */

/* Cum functioneaza tariful - 3 pasi verticali */
.how-tarif { display: flex; flex-direction: column; gap: 16px; }
.ht-step { display: flex; gap: 18px; align-items: flex-start; background: var(--white); border: 1px solid var(--border); border-radius: 14px; padding: 22px 24px; transition: transform .2s, box-shadow .2s; }
.ht-step:hover { transform: translateX(4px); box-shadow: 0 10px 24px rgba(10,61,98,.12); }
.ht-num { width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0; background: var(--grad-gold); color: var(--navy-dark); display: flex; align-items: center; justify-content: center; font-family:'Montserrat',sans-serif; font-weight: 900; font-size: 1.15rem; box-shadow: 0 5px 14px rgba(212,160,23,.35), inset 0 1px 0 rgba(255,255,255,.4); }
.ht-num-green { background: var(--green); color: #fff; box-shadow: 0 5px 14px rgba(34,197,94,.4); }
.ht-step h3 { font-family:'Montserrat',sans-serif; font-size: 1.05rem; color: var(--navy); margin: 0 0 5px; }
.ht-step p { font-size: .93rem; color: var(--gray); margin: 0; line-height: 1.5; }

/* Grid 4 tarife */
.tarife-4 { grid-template-columns: repeat(4, 1fr); }
.tarif-card { display: flex; flex-direction: column; text-align: center; padding-top: 30px; }
.tarif-card .tc-price { font-family:'Montserrat',sans-serif; font-weight: 900; font-size: 2.6rem; line-height: 1; color: var(--navy-dark); }
.tarif-card .tc-price .cur { font-size: .4em; color: var(--gold-hover); vertical-align: super; margin-left: 2px; }
.tarif-card .tc-incluse { font-size: .82rem; color: var(--gray); margin-top: 6px; padding-bottom: 16px; border-bottom: 1px solid var(--border); margin-bottom: 16px; }
.tarif-card .tc-list-head { font-family:'Montserrat',sans-serif; font-weight: 700; font-size: .82rem; color: var(--navy); text-transform: uppercase; letter-spacing: .4px; margin-bottom: 12px; text-align: left; }
.tarif-card ul { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 9px; text-align: left; flex-grow: 1; }
.tarif-card ul li { display: flex; gap: 9px; align-items: flex-start; font-size: .92rem; color: var(--text-body); line-height: 1.4; }
.tarif-card ul li svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; stroke: var(--green); fill: none; stroke-width: 2.6; }
.tarif-card .tc-free { background: var(--green-light); border: 1px solid rgba(34,197,94,.35); border-radius: 10px; padding: 11px 12px; font-family:'Montserrat',sans-serif; font-weight: 700; font-size: .85rem; color: var(--green-dark); line-height: 1.35; margin-top: auto; }

@media (max-width: 1100px) {
  .tarife-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .tarife-4 { grid-template-columns: 1fr; }
}

/* ===================================================
   FIX 1: Comparatie paralela (carduri vs egale, aliniate)
   =================================================== */
.client-emotie .vs-grid,
section .vs-grid { align-items: stretch; }
.vs-card { display: flex; flex-direction: column; height: 100%; }
.vs-card .vs-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,.06); }
.vs-card .vs-list { flex-grow: 1; }

/* ===================================================
   FIX 2: CTA placeholder fundal - nu mai suprapune textul
   Placeholder-ul ramane vizibil dar mutat jos, sub butoane
   =================================================== */
.cta-final.with-photo { padding-bottom: 48px; }
.cta-final.with-photo .cta-ph-bg .img-placeholder {
  justify-content: flex-end; /* impinge continutul placeholder-ului in jos */
  padding-bottom: 18px;
  gap: 4px;
}
.cta-final.with-photo .cta-ph-bg .img-placeholder .ph-ico { display: none; } /* ascunde iconita mare ca sa nu cada peste titlu */
.cta-final.with-photo .cta-ph-bg .img-placeholder .ph-title { font-size: .8rem; opacity: .65; }
.cta-final.with-photo .cta-ph-bg .img-placeholder .ph-file { font-size: .72rem; opacity: .8; }
.cta-final.with-photo .cta-ph-bg .img-placeholder .ph-hint { font-size: .68rem; max-width: 90%; opacity: .55; }

/* ===================================================
   VS-GRID complet si corect (rescris, fara bug de extragere)
   =================================================== */
.vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.vs-card { border-radius: 18px; padding: 30px 28px; border: 1px solid var(--border); display: flex; flex-direction: column; height: 100%; }
.vs-card.good { background: linear-gradient(160deg, #F0FDF4 0%, #ffffff 100%); border-color: rgba(34,197,94,.4); }
.vs-card.bad { background: linear-gradient(160deg, #FFF5F5 0%, #ffffff 100%); border-color: rgba(220,80,80,.3); }
.vs-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid rgba(0,0,0,.06); }
.vs-head .vs-badge { width: 44px; height: 44px; border-radius: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.vs-card.good .vs-head .vs-badge { background: var(--green); }
.vs-card.bad .vs-head .vs-badge { background: #d65151; }
.vs-head .vs-badge svg { width: 24px; height: 24px; stroke: #fff; fill: none; stroke-width: 2.6; }
.vs-head h3 { font-family:'Montserrat',sans-serif; font-size: 1.15rem; color: var(--navy); margin: 0; }
.vs-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; flex-grow: 1; }
.vs-list li { display: flex; gap: 10px; align-items: flex-start; font-size: .96rem; line-height: 1.5; color: var(--text-body); }
.vs-list li svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 2px; stroke-width: 2.4; fill: none; }
.vs-card.good .vs-list li svg { stroke: var(--green); }
.vs-card.bad .vs-list li svg { stroke: #d65151; }

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