/* Fonturile Google sunt incarcate din functions.php, cu preconnect, nu prin @import. */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { overflow-x: hidden; width: 100%; }
body { overflow-x: hidden; width: 100%; min-height: 100vh; }

:root{
  --red: #DB1324;
  --red-bright: #EE2A24;
  --red-deep: #A50D1B;
  --ink: #0B0C0E;
  --ink-soft: #16181C;
  --ink-line: #23262C;
  --slate: #4B535F;
  --slate-light: #7A828F;
  --line: #E4E7EC;
  --off: #F5F6F8;
  --off-2: #EDEFF3;
  --white: #FFFFFF;
  --green: #25D366;

  --font-display: 'Sora', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;

  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 24px;
  --shadow: 0 4px 24px rgba(11,12,14,.07), 0 1px 3px rgba(11,12,14,.05);
  --shadow-hover: 0 18px 48px rgba(11,12,14,.16), 0 2px 8px rgba(11,12,14,.06);
  --transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  --header-h: 72px;
}

body{
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.75;
  color: var(--slate);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,h2,h3,h4,h5{ font-family: var(--font-display); color: var(--ink); line-height:1.12; }
h1{ font-size: clamp(2.6rem, 6vw, 5rem); font-weight:800; letter-spacing:-0.02em; }
h2{ font-size: clamp(1.45rem, 2.6vw, 2.15rem); font-weight:700; letter-spacing:-0.02em; line-height:1.14; }
h3{ font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight:600; letter-spacing:-0.01em; line-height:1.3; }
h4{ font-size:1.05rem; font-weight:600; }
p{ text-align:left; }
a{ color: inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }
ul{ list-style:none; }
button{ font: inherit; cursor:pointer; border:0; background:none; color:inherit; }

.section-full{ width:100%; }
.container{ max-width:1280px; margin:0 auto; padding: 0 clamp(20px, 5vw, 64px); }
.pad{ padding-top: clamp(38px, 5vw, 68px); padding-bottom: clamp(38px, 5vw, 68px); }
.pad-sm{ padding-top: clamp(30px, 4vw, 48px); padding-bottom: clamp(30px, 4vw, 48px); }

.bg-white{ background: var(--white); }
.bg-off{ background: var(--off); }
.bg-off2{ background: var(--off-2); }
.bg-ink{ background: var(--ink); color: rgba(255,255,255,.66); }
.bg-ink h1,.bg-ink h2,.bg-ink h3,.bg-ink h4{ color:#fff; }

.eyebrow{
  font-family: var(--font-body);
  font-size:.75rem; text-transform:uppercase; letter-spacing:.12em;
  font-weight:600; color: var(--red); display:inline-flex; align-items:center; gap:10px; margin-bottom:16px;
}
.eyebrow::before{ content:""; width:26px; height:2px; background: var(--red); display:block; }
.bg-ink .eyebrow{ color: var(--red-bright); }
.lead{ font-size: clamp(1.02rem, 1.4vw, 1.15rem); color: var(--slate); max-width: 62ch; }
.bg-ink .lead{ color: rgba(255,255,255,.7); }
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.mt-56{margin-top:56px}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding: 0 26px; border-radius: var(--radius-sm);
  font-family: var(--font-body); font-weight:600; font-size:.95rem; letter-spacing:.01em;
  transition: var(--transition); cursor:pointer; text-align:center; border:1.5px solid transparent;
}
.btn i{ font-size:1.02rem; line-height:1; }
.btn--primary{ background: var(--red); color:#fff; box-shadow: 0 8px 22px rgba(219,19,36,.28); }
.btn--primary:hover{ background: var(--red-bright); transform: translateY(-2px); box-shadow: 0 14px 32px rgba(219,19,36,.36); }
.btn--dark{ background: var(--ink); color:#fff; }
.btn--dark:hover{ background:#000; transform: translateY(-2px); }
.btn--ghost{ border-color: rgba(255,255,255,.34); color:#fff; background: rgba(255,255,255,.06); backdrop-filter: blur(6px); }
.btn--ghost:hover{ background: rgba(255,255,255,.16); border-color:#fff; }
.btn--outline{ border-color: var(--line); color: var(--ink); background:#fff; }
.btn--outline:hover{ border-color: var(--ink); transform: translateY(-2px); }
.btn--wa{ background: var(--green); color:#fff; }
.btn--wa:hover{ background:#1eb757; transform: translateY(-2px); }
.btn--block{ width:100%; }
.btn--sm{ min-height:44px; padding:0 18px; font-size:.875rem; }

.link-arrow{ display:inline-flex; align-items:center; gap:8px; font-weight:600; color: var(--red); font-size:.92rem; transition: gap var(--transition); }
.link-arrow:hover{ gap:14px; }
.link-arrow i{ font-size:.85rem; }

/* ---------- PRELOADER ---------- */
#preloader{
  position:fixed; inset:0; z-index:99999; background: var(--ink);
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:26px;
  transition: opacity .45s ease, visibility .45s ease;
}
#preloader.hide{ opacity:0; visibility:hidden; pointer-events:none; }

.pre-bar{ width:150px; height:3px; background: rgba(255,255,255,.14); border-radius:2px; overflow:hidden; }
.pre-bar span{ display:block; height:100%; width:40%; background: var(--red); border-radius:2px; animation: preload 1s infinite ease-in-out; }
@keyframes preload{ 0%{transform:translateX(-100%)} 100%{transform:translateX(320%)} }

/* ---------- TOPBAR + HEADER ---------- */
.topbar{ width:100%; background: var(--ink); color: rgba(255,255,255,.86); font-size:.78rem; position:fixed; top:0; left:0; right:0; z-index:1001; border-bottom:1px solid rgba(255,255,255,.07); }
.topbar__in{ display:flex; align-items:center; justify-content:center; gap:26px; height:34px; overflow:hidden; white-space:nowrap; }
.topbar__in span{ display:inline-flex; align-items:center; gap:7px; letter-spacing:.02em; }
.topbar__in i{ font-size:.82rem; color: var(--red-bright); }

.site-header{
  position: fixed; width:100%; left:0; right:0; top:34px; z-index:1000;
  transition: background var(--transition), box-shadow var(--transition), top var(--transition);
  background: transparent;
}
.site-header__in{ display:flex; align-items:center; justify-content:space-between; gap:20px; height: var(--header-h); }
.brand{ display:flex; align-items:center; flex-shrink:0; }
.brand__plate{
  background: var(--red); padding:10px 18px; border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  display:flex; align-items:center; justify-content:center; box-shadow: 0 6px 20px rgba(219,19,36,.28);
  transition: background var(--transition);
}
.brand__plate img{ height:42px; width:auto; display:block; }
.site-header.scrolled .brand__plate{ box-shadow: 0 4px 14px rgba(219,19,36,.22); }
.site-nav{ display:flex; align-items:center; gap:4px; margin-left:auto; }
.site-nav a{
  font-size:.83rem; font-weight:600; letter-spacing:.07em; text-transform:uppercase;
  color:#fff; padding:10px 14px; border-radius: var(--radius-sm);
  transition: color var(--transition); position:relative; text-shadow: 0 1px 3px rgba(0,0,0,.35);
}
.site-header.scrolled .site-nav a{ text-shadow:none; }
.site-nav a::after{ content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px; background: var(--red); transform: scaleX(0); transform-origin:left; transition: transform var(--transition); }
.site-nav a:hover::after, .site-nav a.is-active::after{ transform: scaleX(1); }
.site-nav a.is-active{ color: #fff; }
.header-cta{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.phone-btn{ display:inline-flex; align-items:center; gap:9px; background: var(--red); color:#fff; height:46px; padding:0 20px; border-radius: var(--radius-sm); font-weight:700; font-size:.95rem; letter-spacing:.01em; transition: var(--transition); box-shadow:0 6px 18px rgba(219,19,36,.3); }
.phone-btn:hover{ background: var(--red-bright); transform: translateY(-2px); }
.phone-btn i{ font-size:1rem; }

.site-header.scrolled{ background:#fff; box-shadow: 0 2px 20px rgba(11,12,14,.09); }
.site-header.scrolled .site-nav a{ color: var(--ink); }
.site-header.scrolled .site-nav a:hover,
.site-header.scrolled .site-nav a.is-active{ color: var(--red); }

.burger{ display:none; width:44px; height:44px; align-items:center; justify-content:center; border-radius: var(--radius-sm); color:#fff; }
.site-header.scrolled .burger{ color: var(--ink); }
.burger i{ font-size:1.45rem; }

/* mobile menu */
.mobile-menu{
  position:fixed; inset:0; background: rgba(0,0,0,.96); z-index:9999;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  opacity:0; visibility:hidden; transition: opacity .3s ease, visibility .3s ease;
}
.mobile-menu.open{ opacity:1; visibility:visible; }
.mobile-menu a{ color:#fff; font-family: var(--font-display); font-size:1.4rem; font-weight:600; padding:12px 24px; min-height:44px; display:flex; align-items:center; }
.mobile-menu a.is-active{ color: var(--red-bright); }
.mobile-menu .mm-phone{ margin-top:22px; }
.mm-close{ position:fixed; top:20px; right:20px; width:44px; height:44px; color:#fff; background: rgba(255,255,255,.15); border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:10000; }
.mm-close i{ font-size:1.2rem; }
body.menu-open{ overflow:hidden; }

/* ---------- PAGES ---------- */
.page{ display:none; }
.page.is-visible{ display:block; }

/* ---------- BARA DE CĂUTARE (Acasă) ---------- */
.searchband{
  background:
    linear-gradient(180deg, rgba(11,12,14,.97) 0%, rgba(11,12,14,.93) 100%),
    url('img/parc-auto.jpg') center/cover no-repeat;
  padding: calc(var(--header-h) + 58px) 0 clamp(26px, 3.5vw, 38px);
  border-bottom: 3px solid var(--red);
}
.searchband__form{
  display:grid; grid-template-columns: repeat(6, 1fr) auto; gap:12px; align-items:end;
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13);
  border-radius: var(--radius); padding:16px; backdrop-filter: blur(8px);
}
.sb-field label{
  display:block; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em;
  color: rgba(255,255,255,.62); margin-bottom:7px;
}
.sb-field select{ min-height:46px; padding:10px 40px 10px 14px; font-size:.9rem; }
.sb-field--btn .btn{ min-height:46px; padding:0 30px; white-space:nowrap; }
.searchband__meta{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:20px; }
.sb-trust{ display:flex; flex-wrap:wrap; gap:10px 26px; }
.sb-trust li{ display:inline-flex; align-items:center; gap:8px; color: rgba(255,255,255,.72); font-size:.83rem; font-weight:500; }
.sb-trust i{ color: var(--red-bright); font-size:.85rem; }
.sb-phone{ display:inline-flex; align-items:center; gap:9px; color:#fff; font-family: var(--font-display); font-weight:700; font-size:1.12rem; letter-spacing:-.01em; }
.sb-phone i{ color: var(--red-bright); font-size:1rem; }
.sb-phone span{ font-family: var(--font-body); font-weight:400; font-size:.82rem; color: rgba(255,255,255,.55); letter-spacing:0; }
.sb-phone:hover{ color: var(--red-bright); }

/* ---------- HERO ---------- */
.hero{
  width:100%; min-height:92vh; display:flex; align-items:center; position:relative;
  padding: calc(var(--header-h) + 90px) 0 clamp(60px,9vw,110px);
  background-image: linear-gradient(100deg, rgba(8,9,11,.94) 0%, rgba(8,9,11,.8) 46%, rgba(8,9,11,.4) 100%), url('img/hero-atelier.jpg');
  background-size: cover; background-position: center right; background-repeat:no-repeat;
}
.hero__content{ width:100%; max-width:none; }
.hero h1{ color:#fff; max-width:none; }
.hero h1 em{ font-style:normal; color: var(--red-bright); }
.hero__lead{ color: rgba(255,255,255,.78); font-size: clamp(1.02rem,1.5vw,1.18rem); margin-top:22px; max-width:60ch; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.hero__note{ display:flex; align-items:center; gap:9px; margin-top:22px; color: rgba(255,255,255,.62); font-size:.87rem; }
.hero__note i{ font-size:.95rem; color: var(--green); }
.hero__badges{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.chip{ display:inline-flex; align-items:center; gap:8px; font-size:.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:#fff; background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); padding:8px 14px; border-radius:100px; backdrop-filter: blur(6px); }
.chip i{ font-size:.8rem; color: var(--red-bright); }

/* page hero (interior) */
/* Antetul de pagina este un container flex, iar .container ramanea ingust cat
   continutul lui. Pe restul paginilor latimea este cea a antetului site-ului. */
.phero > .container{ width:100%; }
.phero{
  width:100%; min-height:30vh; display:flex; align-items:center;
  padding: calc(var(--header-h) + 74px) 0 clamp(38px,4.5vw,58px);
  background-size:cover; background-position:center; position:relative;
}
.phero::before{ content:""; position:absolute; inset:0; background: linear-gradient(95deg, rgba(8,9,11,.93) 20%, rgba(8,9,11,.66) 100%); }
.phero .container{ position:relative; z-index:2; }
.phero h1{ color:#fff; font-size: clamp(2.1rem, 4.6vw, 3.6rem); max-width:none; }
.phero p{ color: rgba(255,255,255,.74); max-width:60ch; margin-top:16px; }

/* ---------- TRUST STRIP ---------- */
.trust-strip{ width:100%; background: var(--ink); border-top:1px solid var(--ink-line); }
.trust-grid{ display:grid; grid-template-columns: repeat(4, 1fr); }
.trust-item{ padding:30px 22px; display:flex; gap:14px; align-items:flex-start; border-right:1px solid var(--ink-line); }
.trust-item:last-child{ border-right:0; }
.trust-item i{ font-size:1.35rem; width:28px; text-align:center; color: var(--red-bright); flex-shrink:0; margin-top:4px; }
.trust-item strong{ display:block; color:#fff; font-family: var(--font-display); font-weight:600; font-size:1rem; }
.trust-item span{ font-size:.86rem; color: rgba(255,255,255,.55); line-height:1.6; display:block; }

/* ---------- COUNTERS ---------- */
.counters{ display:grid; grid-template-columns: repeat(4,1fr); gap: clamp(20px,3vw,40px); }
.counter{ border-left:3px solid var(--red); padding-left:22px; }
.counter__num{ font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.2rem); font-weight:800; letter-spacing:-.03em; color: var(--ink); line-height:1; }
.bg-ink .counter__num{ color:#fff; }
.counter__label{ font-size:.88rem; color: var(--slate-light); margin-top:10px; max-width:22ch; }

/* ---------- STEPS ---------- */
.steps{ display:grid; grid-template-columns: repeat(4,1fr); gap:2px; background: var(--line); border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; }
.step{ background:#fff; padding: clamp(26px,3vw,38px); transition: var(--transition); }
.step:hover{ background: var(--ink); }
.step:hover *{ color: rgba(255,255,255,.7); }
.step:hover h3{ color:#fff; }
.step__n{ font-family: var(--font-display); font-size:2.6rem; font-weight:800; color: var(--off-2); line-height:1; letter-spacing:-.04em; transition: var(--transition); }
.step:hover .step__n{ color: var(--red-bright); }
.step h3{ margin:16px 0 10px; }
.step p{ font-size:.92rem; line-height:1.7; }

/* ---------- SPLIT ---------- */
.split{ display:grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items:center; }
.split--wide-left{ grid-template-columns: 1.15fr 1fr; }
.split__media{ position:relative; border-radius: var(--radius-lg); overflow:hidden; }
.split__media img{ width:100%; height:100%; min-height:340px; object-fit:cover; }
/* Insigna sta calare pe muchia imaginii: cifra iese in evidenta prin marime,
   nu printr-un dreptunghi rosu peste poza. */
.split__tag{
  position:absolute; left:0; bottom:34px; display:flex; align-items:stretch;
  background:#fff; color:var(--ink); padding:0; border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  box-shadow:0 18px 44px rgba(11,12,14,.22); overflow:hidden; transform:translateX(-14px);
}
.split__tag::before{ content:""; width:5px; background:var(--red); flex:0 0 auto; }
.split__tag b{
  font-family:var(--font-display); font-weight:800; font-size:2.1rem; line-height:1;
  letter-spacing:-.02em; padding:16px 4px 16px 18px; color:var(--red);
}
.split__tag small{
  display:flex; align-items:center; max-width:15ch; padding:16px 20px 16px 12px;
  font-family:var(--font-body); font-weight:600; font-size:.76rem; line-height:1.35;
  text-transform:none; letter-spacing:0; color:var(--slate); opacity:1;
}

.check-list li{ display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--line); font-size:.95rem; }
.bg-ink .check-list li{ border-color: var(--ink-line); }
.check-list li:last-child{ border-bottom:0; }
.check-list i{ font-size:1rem; width:20px; text-align:center; color: var(--red); flex-shrink:0; margin-top:6px; }
.check-list strong{ color: var(--ink); font-weight:600; }
.bg-ink .check-list strong{ color:#fff; }

/* ---------- SERVICES ASYMMETRIC ---------- */
.svc-grid{ display:grid; grid-template-columns: 1.35fr 1fr 1fr; grid-template-rows: auto auto; gap:16px; }
.svc{ background: var(--ink-soft); border:1px solid var(--ink-line); border-radius: var(--radius); padding: clamp(24px,2.6vw,34px); transition: var(--transition); display:flex; flex-direction:column; }
.svc:hover{ border-color: var(--red); transform: translateY(-4px); }
.svc__ico{ width:48px; height:48px; border-radius: var(--radius-sm); background: rgba(219,19,36,.14); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.svc__ico i{ font-size:1.2rem; color: var(--red-bright); }
.svc h3{ margin-bottom:10px; }
.svc p{ font-size:.92rem; color: rgba(255,255,255,.6); line-height:1.7; }
.svc--feature{ grid-row: span 2; background: linear-gradient(160deg, #1B1D22 0%, #101216 100%); justify-content:space-between; }
.svc--feature .svc__ico{ background: var(--red); }
.svc--feature .svc__ico i{ color:#fff; }
.svc--feature p{ font-size:1rem; }
.svc__foot{ margin-top:26px; }

/* ---------- BANNER FULL IMAGE ---------- */
.banner{ width:100%; background-size:cover; background-position:center; position:relative; }
.banner::before{ content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(8,9,11,.94) 25%, rgba(8,9,11,.6) 78%, rgba(219,19,36,.35) 100%); }
.banner .container{ position:relative; z-index:2; padding-top: clamp(60px,9vw,110px); padding-bottom: clamp(60px,9vw,110px); }
.banner__box{ width:100%; max-width:none; }
.banner__box h2{ color:#fff; }
.banner__box p{ color: rgba(255,255,255,.75); margin-top:16px; max-width:60ch; }

/* ---------- CARD SCROLLER ---------- */
.scroller{ display:flex; gap:20px; overflow-x:auto; padding: 6px 0 26px; scroll-snap-type:x mandatory; scrollbar-width:thin; }
.scroller > *{ scroll-snap-align:start; flex: 0 0 320px; }
.scroller::-webkit-scrollbar{ height:6px; }
.scroller::-webkit-scrollbar-thumb{ background: var(--line); border-radius:6px; }
.scroller::-webkit-scrollbar-thumb:hover{ background: var(--slate-light); }

/* ---------- CAR CARD ---------- */
.car-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
.car{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); overflow:hidden; transition: var(--transition); display:flex; flex-direction:column; text-align:left; width:100%; }
.car:hover{ box-shadow: var(--shadow-hover); transform: translateY(-5px); border-color: transparent; }
.car__media{ position:relative; aspect-ratio: 4/3; overflow:hidden; background: var(--off-2); }
.car__media img{ width:100%; height:100%; object-fit:cover; transition: transform .6s cubic-bezier(0.22,1,0.36,1); }
.car:hover .car__media img{ transform: scale(1.05); }
.car__flags{ position:absolute; top:12px; left:12px; display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.flag{ font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:5px 10px; border-radius:5px; background: rgba(11,12,14,.82); color:#fff; backdrop-filter: blur(4px); }
.flag--red{ background: var(--red); }
.flag--green{ background:#0F8F4A; }
.car__body{ padding:20px; display:flex; flex-direction:column; flex:1; }
.car__title{ font-family: var(--font-display); font-weight:700; font-size:1.08rem; color: var(--ink); letter-spacing:-.01em; line-height:1.3; }
.car__sub{ font-size:.83rem; color: var(--slate-light); margin-top:4px; }
.car__specs{ display:grid; grid-template-columns: repeat(2,1fr); gap:8px 14px; margin:16px 0; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.car__specs div{ display:flex; align-items:center; gap:7px; font-size:.82rem; color: var(--slate); }
.car__specs i{ font-size:.82rem; width:16px; text-align:center; color: var(--slate-light); flex-shrink:0; }
.car__foot{ display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:auto; }
.car__price{ font-family: var(--font-display); font-size:1.45rem; font-weight:800; color: var(--ink); letter-spacing:-.02em; line-height:1.1; }
.car__rate{ font-size:.78rem; color: var(--slate-light); }
.car__cta{ font-size:.82rem; font-weight:700; color: var(--red); display:inline-flex; align-items:center; gap:6px; }
.car__cta i{ font-size:.8rem; }

/* ---------- FILTERS ---------- */
/* ---------- Carusele care se plimba singure ---------- */
/* ---------- Sertarul de filtre de pe mobil ---------- */
.filters-open{ display:none; width:100%; align-items:center; justify-content:center; gap:10px; min-height:50px; }
.filters-open .count{ background:var(--red); color:#fff; border-radius:999px; min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; font-size:.74rem; font-weight:700; padding:0 6px; }
.filters-veil{ position:fixed; inset:0; background:rgba(11,12,14,.55); opacity:0; visibility:hidden; transition:opacity .28s, visibility .28s; z-index:1200; }
.filters-veil.is-open{ opacity:1; visibility:visible; }
.filters-close{ display:none; }

@media (max-width: 900px){
  .filters-open{ display:flex; }
  .filters-close{ display:inline-flex; }

  .filters{
    position:fixed; top:0; left:0; bottom:0; z-index:1210;
    width:min(86vw, 360px); max-width:none; height:100%;
    border-radius:0; border:0; box-shadow:0 0 60px rgba(11,12,14,.3);
    padding:0; overflow-y:auto; overscroll-behavior:contain;
    transform:translateX(-102%); transition:transform .3s cubic-bezier(.22,1,.36,1);
    display:flex; flex-direction:column;
  }
  .filters.is-open{ transform:translateX(0); }
  .filters__head{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:16px 18px; border-bottom:1px solid var(--line); position:sticky; top:0; background:#fff; z-index:2;
  }
  .filters__head strong{ font-family:var(--font-display); font-size:1.02rem; }
  .filters__body{ padding:18px; flex:1; }
  .filters__foot{
    position:sticky; bottom:0; background:#fff; border-top:1px solid var(--line);
    padding:14px 18px; display:grid; grid-template-columns:1fr 1fr; gap:10px;
  }
  body.filters-locked{ overflow:hidden; }
}
@media (min-width: 901px){
  .filters__head{ display:none; }
  .filters__body{ padding:0; }
  /* subsolul cu Reseteaza si Vezi rezultatele apartine sertarului de pe mobil */
  .filters__foot{ display:none; }
}
.filters{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: clamp(18px,2.4vw,26px); box-shadow: var(--shadow); }
.filters__row{ display:grid; grid-template-columns: repeat(4,1fr); gap:14px; }
.filters__row2{ display:grid; grid-template-columns: 1fr 1fr auto; gap:14px; align-items:end; margin-top:16px; }
.field label{ display:block; font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.09em; color: var(--slate-light); margin-bottom:7px; }
.results-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin: 28px 0 22px; }
.results-bar strong{ font-family: var(--font-display); color: var(--ink); font-size:1.05rem; }
.empty{ text-align:center; padding:70px 20px; border:1.5px dashed var(--line); border-radius: var(--radius); }
.empty i{ font-size:2.4rem; color: var(--slate-light); display:block; margin-bottom:14px; }

/* range */
.range-wrap{ display:flex; align-items:center; gap:12px; }
input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:4px; background: var(--off-2); outline:none; }
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:22px; height:22px; border-radius:50%; background: var(--red); border:3px solid #fff; box-shadow:0 2px 8px rgba(219,19,36,.4); cursor:pointer; }
input[type=range]::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background: var(--red); border:3px solid #fff; box-shadow:0 2px 8px rgba(219,19,36,.4); cursor:pointer; }

/* ---------- FORMS ---------- */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-grid .full{ grid-column: 1 / -1; }
input[type=text], input[type=email], input[type=tel], input[type=number], textarea, select{
  border:1.5px solid #e2e8f0; border-radius: var(--radius-sm); padding:12px 16px; width:100%;
  font-family: var(--font-body); font-size:.95rem; color: var(--ink); background:#fff;
  transition: border-color .2s ease, box-shadow .2s ease; min-height:48px;
}
textarea{ min-height:130px; resize:vertical; line-height:1.65; }
input::placeholder, textarea::placeholder{ color:#A9B0BB; }
input:focus, textarea:focus, select:focus{ outline:none; border-color: var(--red); box-shadow: 0 0 0 3px rgba(219,19,36,.12); }
input.invalid, textarea.invalid, select.invalid{ border-color: var(--red); background: #FFF7F7; }
/* ---------- Dropdown propriu ----------
   Select-ul nativ ramane in pagina, ascuns: pastreaza valoarea, evenimentul
   change si trimiterea formularului. Deasupra lui desenam lista noastra. */
.select-wrap{ position:relative; }
.select-wrap select.dd-native{ position:absolute; opacity:0; pointer-events:none; width:1px; height:1px; }
.dd{ position:relative; width:100%; }
.dd__btn{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  min-height:48px; padding:11px 14px; background:#fff; color:var(--ink);
  border:1.5px solid var(--line); border-radius:var(--radius-sm);
  font-family:var(--font-body); font-size:.95rem; text-align:left; cursor:pointer;
  transition:border-color .18s, box-shadow .18s;
}
.dd__btn:hover{ border-color:#c9ced8; }
.dd__btn:focus-visible{ outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(219,19,36,.13); }
.dd.is-open .dd__btn{ border-color:var(--red); box-shadow:0 0 0 3px rgba(219,19,36,.13); }
.dd__val{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dd__val.is-placeholder{ color:#8b93a1; }
.dd__chev{ flex:0 0 auto; font-size:.72rem; color:var(--slate-light); transition:transform .2s; }
.dd.is-open .dd__chev{ transform:rotate(180deg); }
.dd__list{
  position:absolute; z-index:80; left:0; right:0; top:calc(100% + 6px);
  max-height:264px; overflow-y:auto; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius-sm);
  box-shadow:0 18px 44px rgba(11,12,14,.16); padding:5px;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .16s, transform .16s, visibility .16s;
}
.dd.is-open .dd__list{ opacity:1; visibility:visible; transform:translateY(0); }
.dd.drops-up .dd__list{ top:auto; bottom:calc(100% + 6px); transform:translateY(6px); }
.dd.is-open.drops-up .dd__list{ transform:translateY(0); }
.dd__opt{
  display:block; width:100%; text-align:left; padding:9px 11px; border-radius:6px;
  font-size:.92rem; color:var(--ink); cursor:pointer; background:none; border:0;
  font-family:var(--font-body); line-height:1.35;
}
.dd__opt:hover, .dd__opt.is-active{ background:var(--off-2); }
.dd__opt[aria-selected="true"]{ color:var(--red); font-weight:600; }
.dd--dark .dd__btn{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16); color:#fff; }
.dd--dark .dd__btn:hover{ border-color:rgba(255,255,255,.3); }
.dd--dark .dd__val.is-placeholder{ color:rgba(255,255,255,.6); }
.dd--dark .dd__chev{ color:rgba(255,255,255,.7); }
.select-wrap select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none; padding-right:44px; cursor:pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234B535F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position: right 15px center; background-size:16px;
}
.err{ display:none; font-size:.78rem; color: var(--red); margin-top:6px; font-weight:500; }
.err.show{ display:block; }
.form-note{ display:flex; align-items:center; gap:9px; font-size:.85rem; color: var(--slate); margin-top:14px; }
.form-note i{ font-size:1rem; color: var(--green); flex-shrink:0; }
.form-ok{ display:none; background:#EAF8F0; border:1.5px solid #A9E3C3; color:#0E6B3C; padding:14px 18px; border-radius: var(--radius-sm); font-size:.92rem; margin-top:16px; }
.form-ok.show{ display:flex; gap:10px; align-items:center; }
.form-ok i{ font-size:1.05rem; flex-shrink:0; }
.consent{ display:flex; gap:11px; align-items:flex-start; font-size:.83rem; color: var(--slate-light); line-height:1.6; }
.consent input{ width:19px; height:19px; min-height:19px; margin-top:3px; accent-color: var(--red); flex-shrink:0; }
.form-card{ background:#fff; border:1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(24px,3.2vw,44px); box-shadow: var(--shadow); }

/* ---------- TESTIMONIALS ---------- */
/* Recenziile stau pe un singur rand si se plimba cu sagetile sau cu degetul. */
.tst-wrap{ position:relative; }
.tst-grid{
  display:flex; gap:22px; overflow-x:auto; padding:6px 2px 10px;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none;
}
.tst-grid::-webkit-scrollbar{ display:none; }
.tst-grid > .tst{ flex:0 0 clamp(280px, 33%, 400px); scroll-snap-align:start; }
.tst-nav{ display:flex; gap:10px; justify-content:flex-end; margin-top:14px; }
.tst-nav button{
  width:44px; height:44px; border-radius:50%; border:1.5px solid var(--line);
  background:#fff; color:var(--ink); cursor:pointer; transition:var(--transition);
}
.tst-nav button:hover{ border-color:var(--red); color:var(--red); }
.tst-nav button:disabled{ opacity:.35; cursor:default; border-color:var(--line); color:var(--ink); }
.tst{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: clamp(24px,2.6vw,32px); display:flex; flex-direction:column; }
.stars{ display:flex; gap:3px; margin-bottom:16px; }
.stars i{ font-size:.95rem; color:#F5A524; }
.tst p{ font-size:.96rem; line-height:1.75; color: var(--slate); }
.tst__who{ margin-top:auto; padding-top:20px; display:flex; align-items:center; gap:13px; }
.avatar{ width:44px; height:44px; border-radius:50%; background: var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-family: var(--font-display); font-weight:700; font-size:.95rem; flex-shrink:0; }
.tst__who strong{ display:block; color: var(--ink); font-size:.93rem; font-weight:600; }
.tst__who span{ font-size:.79rem; color: var(--slate-light); }

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; padding:22px 46px 22px 0; position:relative; font-family: var(--font-display); font-weight:600; font-size:1.02rem; color: var(--ink); min-height:44px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:1.5rem; font-weight:400; color: var(--red); line-height:1; }
.faq details[open] summary::after{ content:"–"; }
.faq details p{ padding: 0 0 22px; font-size:.95rem; max-width:78ch; }

/* ---------- CTA BAND ---------- */
.cta-band{ width:100%; background: linear-gradient(112deg, var(--red-deep) 0%, var(--red) 55%, var(--red-bright) 100%); position:relative; overflow:hidden; }
.cta-band::after{ content:""; position:absolute; right:-90px; top:-90px; width:420px; height:420px; border-radius:50%; background: rgba(255,255,255,.07); }
.cta-band .container{ position:relative; z-index:2; padding-left: clamp(20px, 5vw, 64px); padding-right: clamp(20px, 5vw, 64px); }
.cta-band h2{ color:#fff; max-width:24ch; }
.cta-band p{ color: rgba(255,255,255,.88); margin-top:14px; max-width:52ch; }
.cta-band .btn--outline{ background:#fff; border-color:#fff; }
.cta-inner{ display:flex; align-items:center; justify-content:space-between; gap:36px; flex-wrap:wrap; }
.cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* ---------- LISTING DETAIL ---------- */
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.82rem; color: var(--slate-light); }
.crumbs a{ color: var(--slate-light); transition: color .2s; }
.crumbs a:hover{ color: var(--red); }
.crumbs span[aria-current]{ color: var(--ink); font-weight:500; }
.crumbs i{ font-size:.66rem; opacity:.6; }

.detail{ display:grid; grid-template-columns: 1.5fr 1fr; gap: clamp(28px,3.5vw,48px); align-items:start; }
.gallery__main{ border-radius: var(--radius); overflow:hidden; aspect-ratio:16/10; background: var(--off-2); }
.gallery__main img{ width:100%; height:100%; object-fit:cover; }
/* ---------- Galeria anuntului ---------- */
.gallery__main{ position:relative; cursor:zoom-in; }
.gallery__zoom{
  position:absolute; right:14px; bottom:14px; width:40px; height:40px; border-radius:50%;
  background:rgba(11,12,14,.62); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:.9rem; pointer-events:none; backdrop-filter:blur(3px);
}
/* Miniaturile se plimba pe orizontala in loc sa se ingramadeasca pe randuri. */
.thumbs-wrap{ position:relative; margin-top:10px; }
.thumbs{
  display:flex; gap:10px; margin:0; overflow-x:auto; scroll-behavior:smooth;
  scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; padding-bottom:2px;
}
.thumbs::-webkit-scrollbar{ display:none; }
.thumbs button{ flex:0 0 22%; scroll-snap-align:start; }
.thumbs-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:34px; height:34px; border-radius:50%; border:1px solid var(--line);
  background:rgba(255,255,255,.96); color:var(--ink); cursor:pointer;
  box-shadow:0 6px 18px rgba(11,12,14,.16); display:flex; align-items:center; justify-content:center; font-size:.72rem;
}
.thumbs-arrow--prev{ left:-6px; }
.thumbs-arrow--next{ right:-6px; }
.thumbs-arrow[hidden]{ display:none; }

/* ---------- Poza marita ---------- */
.lightbox{
  position:fixed; inset:0; z-index:1300; background:rgba(11,12,14,.93);
  display:flex; align-items:center; justify-content:center; padding:clamp(16px,4vw,48px);
  opacity:0; visibility:hidden; transition:opacity .25s, visibility .25s;
}
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox img{ max-width:100%; max-height:100%; object-fit:contain; border-radius:var(--radius-sm); }
.lightbox__close, .lightbox__nav{
  position:absolute; width:48px; height:48px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(255,255,255,.14); color:#fff; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center; transition:background .2s;
}
.lightbox__close:hover, .lightbox__nav:hover{ background:rgba(255,255,255,.28); }
.lightbox__close{ top:18px; right:18px; }
.lightbox__nav--prev{ left:18px; top:50%; transform:translateY(-50%); }
.lightbox__nav--next{ right:18px; top:50%; transform:translateY(-50%); }
.lightbox__count{
  position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,.8); font-size:.86rem; font-family:var(--font-body);
}
@media (max-width:640px){
  .thumbs button{ flex:0 0 30%; }
  .lightbox__nav{ width:42px; height:42px; }
}
.thumbs button{ border-radius: var(--radius-sm); overflow:hidden; aspect-ratio:4/3; border:2px solid transparent; transition: var(--transition); padding:0; }
.thumbs button img{ width:100%; height:100%; object-fit:cover; }
.thumbs button.active{ border-color: var(--red); }
.thumbs button:hover{ border-color: var(--slate-light); }

.buybox{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: clamp(22px,2.6vw,30px); box-shadow: var(--shadow); position:sticky; top: calc(var(--header-h) + 50px); }
.buybox__price{ font-family: var(--font-display); font-size:2.4rem; font-weight:800; color: var(--ink); letter-spacing:-.03em; line-height:1; }
.buybox__vat{ font-size:.8rem; color: var(--slate-light); margin-top:6px; }
/* ---------- Starea masinii in stoc ----------
   O masina rezervata sau vanduta ramane in pagina, dar se vede din prima ca
   nu mai este de cumparat. */

.car__stare{
  position:absolute; top:14px; right:14px; z-index:3;
  padding:6px 13px; border-radius:999px;
  font-family:var(--font-display); font-size:.72rem; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase; color:#fff;
}
.car__stare--rezervata{ background:#B7791F; }
.car__stare--vanduta{ background:#4A5568; }

/* Pozele isi pierd culoarea, dar textul ramane citibil. */
.car--vanduta .car__media img{ filter:grayscale(1); opacity:.6; }
.car--rezervata .car__media img{ opacity:.85; }
.car--vanduta .car__price,
.car--vanduta .car__rate{ text-decoration:line-through; color:var(--slate-light); }

.buybox__stare{
  margin:0 0 14px; padding:11px 14px; border-radius:8px;
  font-size:.9rem; line-height:1.5; font-weight:600;
}
.buybox__stare--rezervata{ background:#FFF6E5; color:#7B5804; }
.buybox__stare--vanduta{ background:#EDF0F4; color:#2D3748; }
.buybox--vanduta .buybox__price{ text-decoration:line-through; color:var(--slate-light); }

/* Nota de langa rata: o conditie proprie a masinii, scrisa in anunt. */
.buybox__fin-nota{
  margin-top:6px; font-size:.78rem; line-height:1.4; color:var(--red);
  font-weight:600;
}

.buybox__rate{ background: var(--off); border-radius: var(--radius-sm); padding:14px 16px; margin:18px 0; }
.buybox__rate strong{ font-family: var(--font-display); font-size:1.25rem; color: var(--red); }

.spec-table{ width:100%; border-collapse:collapse; }
.spec-table tr{ border-bottom:1px solid var(--line); }
.spec-table th{ text-align:left; font-weight:500; color: var(--slate-light); font-size:.88rem; padding:12px 12px 12px 0; width:46%; }
.spec-table td{ text-align:left; font-weight:600; color: var(--ink); font-size:.92rem; padding:12px 0; font-family: var(--font-body); }

.equip{ display:grid; grid-template-columns: repeat(3,1fr); gap:8px 22px; }
.equip li{ display:flex; gap:9px; align-items:flex-start; font-size:.9rem; padding:6px 0; }
.equip i{ font-size:.82rem; width:16px; text-align:center; color:#0F8F4A; flex-shrink:0; margin-top:7px; }

.calc{ background: var(--ink); border-radius: var(--radius-lg); padding: clamp(24px,3vw,40px); color: rgba(255,255,255,.7); }
.calc h3{ color:#fff; }
.calc__grid{ display:grid; grid-template-columns: 1fr 320px; gap: clamp(24px,3vw,40px); align-items:center; }
.calc label{ display:flex; justify-content:space-between; font-size:.84rem; font-weight:600; color: rgba(255,255,255,.72); margin-bottom:10px; }
.calc label b{ color:#fff; font-family: var(--font-display); }
.calc .rng{ margin-bottom:24px; }
.calc input[type=range]{ background: rgba(255,255,255,.15); }
.calc__out{ background: linear-gradient(150deg, var(--red) 0%, var(--red-deep) 100%); border-radius: var(--radius); padding:28px; text-align:left; }
.calc__out small{ display:block; color: rgba(255,255,255,.8); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; font-weight:600; }
.calc__out strong{ display:block; font-family: var(--font-display); font-size:2.8rem; font-weight:800; color:#fff; letter-spacing:-.03em; line-height:1.1; margin:6px 0 4px; }
.calc__out span{ font-size:.82rem; color: rgba(255,255,255,.82); }
.calc__disc{ font-size:.76rem; color: rgba(255,255,255,.42); margin-top:18px; line-height:1.6; }

/* ---------- INFO CARDS ---------- */
.info-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }
.info{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: clamp(22px,2.4vw,30px); transition: var(--transition); }
.info:hover{ box-shadow: var(--shadow-hover); transform: translateY(-4px); }
.info__ico{ width:46px;height:46px; border-radius: var(--radius-sm); background: rgba(219,19,36,.09); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.info__ico i{ font-size:1.15rem; color: var(--red); }
.info h3{ font-size:1.05rem; margin-bottom:8px; }
.info p, .info a{ font-size:.94rem; line-height:1.7; }
.info a{ color: var(--red); font-weight:600; display:block; }
.info a:hover{ text-decoration:underline; }

/* ---------- JOBS ---------- */
.job{ background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: clamp(22px,2.6vw,30px); display:flex; gap:24px; align-items:center; justify-content:space-between; flex-wrap:wrap; transition: var(--transition); }
.job:hover{ border-color: var(--ink); box-shadow: var(--shadow); }
.job__meta{ display:flex; gap:16px; flex-wrap:wrap; margin-top:10px; font-size:.83rem; color: var(--slate-light); }
.job__meta span{ display:inline-flex; align-items:center; gap:6px; }
.job__meta i{ font-size:.82rem; }

/* ---------- LEGAL ---------- */
.legal{ max-width: 82ch; }
.legal h2{ font-size: clamp(1.3rem,2.2vw,1.7rem); margin: 40px 0 14px; }
.legal h2:first-child{ margin-top:0; }
.legal p{ margin-bottom:14px; font-size:.97rem; }
.legal ul{ margin: 0 0 18px; padding-left:0; }
.legal ul li{ position:relative; padding-left:24px; margin-bottom:9px; font-size:.97rem; }
.legal ul li::before{ content:""; position:absolute; left:4px; top:11px; width:6px; height:6px; border-radius:50%; background: var(--red); }
.legal .updated{ font-size:.84rem; color: var(--slate-light); border-left:3px solid var(--red); padding-left:14px; }

/* ---------- TIMELINE ---------- */
.tl{ display:grid; grid-template-columns: repeat(4,1fr); gap:0; border-top:2px solid var(--line); }
.tl__item{ padding:28px 24px 0 0; position:relative; }
.tl__item::before{ content:""; position:absolute; top:-8px; left:0; width:14px; height:14px; border-radius:50%; background: var(--red); border:3px solid #fff; box-shadow:0 0 0 2px var(--red); }
.tl__year{ font-family: var(--font-display); font-size:1.6rem; font-weight:800; color: var(--ink); letter-spacing:-.02em; }
.tl__item p{ font-size:.9rem; margin-top:8px; line-height:1.7; }

/* ---------- FOOTER ---------- */
.site-footer{ width:100%; background: var(--ink); color: rgba(255,255,255,.6); }
.footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1.1fr; gap: clamp(30px,4vw,60px); padding: clamp(38px,4.5vw,60px) 0 44px; }
.site-footer h3, .site-footer h4{ color:#fff; font-family: var(--font-display); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; margin-bottom:20px; }
.f-plate{ background: var(--red); padding:12px 20px; border-radius: var(--radius-sm); display:inline-flex; margin-bottom:22px; }
.f-plate img{ height:46px; width:auto; display:block; }
.site-footer p{ font-size:.9rem; line-height:1.75; max-width:40ch; }
.f-links li{ margin-bottom:11px; }
.f-links a{ font-size:.92rem; transition: color .2s, padding-left .2s; display:inline-block; }
.f-links a:hover{ color: var(--red-bright); padding-left:5px; }
.f-contact li{ display:flex; gap:12px; margin-bottom:16px; font-size:.92rem; line-height:1.6; }
.f-contact i{ font-size:1rem; width:19px; text-align:center; color: var(--red-bright); flex-shrink:0; margin-top:6px; }
.f-contact a:hover{ color:#fff; }
.f-contact strong{ color:#fff; display:block; font-weight:600; }
.anpc{ display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.anpc img{ height:38px; width:auto; border-radius:3px; }
.footer-bottom{ border-top:1px solid var(--ink-line); padding:22px 0 26px; display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; font-size:.83rem; }
.footer-bottom nav{ display:flex; gap:20px; flex-wrap:wrap; }
.footer-bottom nav a:hover{ color:#fff; }

/* ---------- FLOATING ---------- */
.fab-wa{
  position:fixed; right:20px; bottom:20px; z-index:900; width:52px; height:52px; border-radius:50%;
  background: var(--green); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow: 0 8px 26px rgba(37,211,102,.42); animation: pulse 2.5s infinite ease-in-out;
}
.fab-wa i{ font-size:26px; line-height:1; }
@keyframes pulse{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.08);} }
.fab-top{
  position:fixed; right:20px; bottom:84px; z-index:900; width:48px; height:48px; border-radius:50%;
  background: var(--ink); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow-hover); opacity:0; visibility:hidden; transform: translateY(10px); transition: var(--transition);
}
.fab-top.show{ opacity:1; visibility:visible; transform:none; }
.fab-top i{ font-size:1.1rem; }
.fab-top:hover{ background: var(--red); }

.mobile-bar{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:950; background:#fff; border-top:1px solid var(--line); box-shadow:0 -4px 20px rgba(11,12,14,.1); }
.mobile-bar a{ flex:1; display:flex; align-items:center; justify-content:center; gap:8px; min-height:56px; font-weight:700; font-size:.92rem; }
.mobile-bar .mb-call{ background: var(--red); color:#fff; }
.mobile-bar .mb-wa{ background: var(--green); color:#fff; }
.mobile-bar i{ font-size:1rem; }

/* Bannerul de cookie-uri sta discret in coltul din stanga-jos, nu ca banda pe tot ecranul.
   Asa nu mai are de ce sa se fereasca butoanele flotante din dreapta. */
.cookie{
  position:fixed; left:16px; right:auto; bottom:16px; z-index:960;
  width:min(340px, calc(100vw - 32px)); background: var(--ink); color: rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.1); border-left:3px solid var(--red);
  border-radius:12px; box-shadow:0 14px 40px rgba(0,0,0,.4);
  opacity:0; visibility:hidden; transform: translateY(14px);
  transition: opacity .35s ease, transform .35s cubic-bezier(0.22,1,0.36,1), visibility .35s ease;
}
.cookie.show{ opacity:1; visibility:visible; transform: translateY(0); }
.cookie__in{
  display:flex; flex-direction:column; align-items:flex-start; gap:11px;
  padding:15px 17px; width:auto; max-width:none;
}
.cookie p{ font-size:.78rem; max-width:none; line-height:1.55; }
.cookie a{ color: var(--red-bright); text-decoration:underline; }
.cookie .btn{ min-height:36px; padding:0 20px; font-size:.8rem; }

/* ---------- REVEAL ---------- */
.reveal{ opacity:0; transform: translateY(24px); transition: opacity .55s cubic-bezier(0.22,1,0.36,1), transform .55s cubic-bezier(0.22,1,0.36,1); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .fab-wa{ animation:none; }
  *{ scroll-behavior:auto !important; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1080px){
  .site-nav a{ padding:10px 9px; font-size:.78rem; }
  .phone-btn span{ display:none; }
  .phone-btn{ padding:0 16px; }
  .svc-grid{ grid-template-columns: 1fr 1fr; }
  .svc--feature{ grid-row: span 1; grid-column: span 2; }
  .car-grid{ grid-template-columns: repeat(2,1fr); }
  .detail{ grid-template-columns:1fr; }
  .buybox{ position:static; }
  .filters__row{ grid-template-columns: repeat(3,1fr); }
  .searchband__form{ grid-template-columns: repeat(3,1fr); }
  .sb-field--btn{ grid-column: span 3; }
  .calc__grid{ grid-template-columns:1fr; }
  .tst-grid > .tst{ flex:0 0 86%; }
  .equip{ grid-template-columns: repeat(2,1fr); }
  .tl{ grid-template-columns: repeat(2,1fr); gap:0 20px; }
  .tl__item{ padding-bottom:26px; }
}
@media (max-width: 860px){
  .site-nav{ display:none; }
  .burger{ display:flex; }
  .trust-grid{ grid-template-columns: repeat(2,1fr); }
  .trust-item:nth-child(2){ border-right:0; }
  .trust-item:nth-child(1),.trust-item:nth-child(2){ border-bottom:1px solid var(--ink-line); }
  .counters{ grid-template-columns: repeat(2,1fr); gap:30px 20px; }
  .steps{ grid-template-columns: repeat(2,1fr); }
  .split{ grid-template-columns:1fr; }
  .split--wide-left{ grid-template-columns:1fr; }
  .split--rev .split__media{ order:-1; }
  .footer-grid{ grid-template-columns:1fr; }
  .info-grid{ grid-template-columns:1fr; }
  .cta-inner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 640px){
  :root{ --header-h: 64px; }
  body{ padding-bottom:56px; }
  .topbar__in{ justify-content:flex-start; gap:18px; font-size:.72rem; }
  .topbar__in span:nth-child(n+3){ display:none; }
  .mobile-bar{ display:flex; }
  .fab-wa{ bottom:70px; }
  .fab-top{ bottom:134px; }
  .cookie{ bottom:70px; left:12px; width:calc(100vw - 24px); }
  .car-grid{ grid-template-columns: repeat(2,1fr); gap:12px; }
  .car__body{ padding:12px; }
  .car__title{ font-size:.92rem; }
  .car__sub{ font-size:.74rem; }
  .car__specs{ grid-template-columns:1fr; gap:5px; margin:10px 0; padding:10px 0; font-size:.76rem; }
  .car__foot{ flex-direction:column; align-items:flex-start; gap:6px; }
  .car__flags{ top:8px; left:8px; gap:4px; }
  .car__flags .badge{ font-size:.6rem; padding:3px 7px; }
  .filters__row, .filters__row2{ grid-template-columns:1fr; }
  .searchband{ padding-top: calc(var(--header-h) + 52px); }
  .searchband__form{ grid-template-columns:1fr; }
  .sb-field--btn{ grid-column: span 1; }
  .searchband__meta{ flex-direction:column; align-items:flex-start; gap:14px; }
  .form-grid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .svc-grid{ grid-template-columns:1fr; }
  .svc--feature{ grid-column: span 1; }
  .equip{ grid-template-columns:1fr; }
  .hero{ min-height:auto; padding: calc(var(--header-h) + 74px) 0 62px; background-position: 70% center; }
  .hero__actions .btn{ width:100%; }
  .cta-actions{ width:100%; }
  .cta-actions .btn{ width:100%; }
  .btn{ min-height:50px; }
  .scroller > *{ flex: 0 0 82%; }
  .job{ flex-direction:column; align-items:flex-start; }
  .job .btn{ width:100%; }
  .tl{ grid-template-columns:1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
  .buybox__price{ font-size:2rem; }
  .calc__out strong{ font-size:2.2rem; }
}

/* Titlul paginii ramane pentru cititoarele de ecran si pentru motoarele de cautare,
   desi pagina incepe direct cu filtrele. */
.visually-hidden{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* Stocul pastreaza fotografia din spatele antetului, iar filtrele sunt imbracate
   la fel ca bara de cautare de pe pagina principala: panou de sticla peste poza,
   etichete deschise, campuri albe. */
.searchband--stoc{
  min-height:0; display:block;
  padding: calc(var(--header-h) + 46px) 0 clamp(26px, 3.2vw, 38px);
  border-bottom: 3px solid var(--red);
}
.searchband--stoc .container{ position:relative; z-index:2; }
.crumbs--light{ margin-bottom:14px; color: rgba(255,255,255,.6); }
.crumbs--light a{ color: rgba(255,255,255,.6); }
.crumbs--light a:hover{ color:#fff; }
.crumbs--light span[aria-current]{ color:#fff; }
.crumbs--light i{ color: rgba(255,255,255,.4); }

@media (min-width: 901px){
  .searchband--stoc .filters{
    margin:0; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13);
    border-radius: var(--radius); padding:16px; box-shadow:none; backdrop-filter: blur(8px);
  }
  .searchband--stoc .filters label{ color: rgba(255,255,255,.62); }
  .searchband--stoc .filters__row,
  .searchband--stoc .filters__row2{ gap:12px; }
  .searchband--stoc .filters__row2{ margin-top:14px; }
  .searchband--stoc .range__label{ color: rgba(255,255,255,.62); }
}

/* Prefixul de tara sta lipit de camp, ca omul sa nu mai scrie 0040 sau +40. */
.telrow{ display:flex; gap:8px; }
.telpfx{
  display:flex; align-items:center; gap:8px; flex:none;
  background: var(--off); border:1.5px solid var(--line); border-radius: var(--radius-sm);
  padding:0 13px; font-weight:600; font-size:.92rem; color: var(--ink); min-height:48px;
}
.flag-ro{
  width:20px; height:14px; border-radius:2px; flex:none;
  background:linear-gradient(90deg,#002B7F 0 33.33%,#FCD116 33.33% 66.66%,#CE1126 66.66% 100%);
}
.telrow input{ min-width:0; }

/* Eticheta de peste fotografie: cifrele stau mari, textele au nevoie de un corp
   mai mic si de voie sa treaca pe randul urmator, altfel se taie. */
.split__tag{ max-width: calc(100% - 14px); }
.split__tag b{ white-space:nowrap; }
.split__tag--text b{
  font-size:1.18rem; font-weight:800; line-height:1.2; white-space:normal;
  padding:14px 6px 14px 16px; color:var(--ink);
}
.split__tag--text small{ padding:14px 18px 14px 10px; max-width:12ch; }
@media (max-width: 560px){
  .split__tag b{ font-size:1.6rem; padding:13px 4px 13px 14px; }
  .split__tag--text b{ font-size:1.02rem; padding:12px 6px 12px 14px; }
  .split__tag small{ font-size:.72rem; padding:13px 14px 13px 10px; max-width:11ch; }
}

/* Fotografia mare se schimba prin glisare, deci nu trebuie sa poata fi trasa ca imagine. */
.gallery__main{ touch-action: pan-y; user-select:none; -webkit-user-drag:none; }
.gallery__main img{ pointer-events:none; }
.lightbox{ touch-action: pan-y; }

/* ============================================================
   ADAPTARI WORDPRESS
   Paginile erau candva ascunse si aratate dintr-un ruter pe partea de client.
   In WordPress fiecare pagina este reala, deci sectiunea ramane vizibila.
   ============================================================ */
.page{ display:block; }

/* Animatiile la scroll pornesc vizibile, ca editorul Elementor sa arate continutul.
   Doar pe frontend le ascundem inainte de a intra in ecran. */
.reveal{ opacity:1; transform:none; }
body:not(.elementor-editor-active) .reveal{
  opacity:0; transform: translateY(24px);
  transition: opacity .55s cubic-bezier(0.22,1,0.36,1), transform .55s cubic-bezier(0.22,1,0.36,1);
}
body:not(.elementor-editor-active) .reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  body:not(.elementor-editor-active) .reveal{ opacity:1; transform:none; transition:none; }
}

/* Elementor pune fiecare widget intr-un container propriu; sectiunile noastre
   sunt latime plina si isi poarta singure spatierile. */
.elementor-widget-container > .section-full{ width:100%; }

/* Grila de carduri nu lasa niciodata un card singur pe ultimul rand. */
.car-grid--2{ grid-template-columns: repeat(2,1fr); }
.info-grid--2{ grid-template-columns: repeat(2,1fr); }
@media (max-width: 860px){
  .car-grid--2, .info-grid--2{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
  .car-grid--2{ grid-template-columns: repeat(2,1fr); }
}
