*, *::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:#EE2A24;
  --red-dark:#C31A15;
  --red-soft:rgba(238,42,36,.12);
  --signal:#FF7A18;
  --ink:#101215;
  --graphite:#191D22;
  --steel:#2A3138;
  --paper:#FFFFFF;
  --mist:#F4F6F8;
  --mist-2:#ECEFF3;
  --line:#E2E8F0;
  --muted:#5A646E;
  --muted-2:#8A939C;

  --font-display:'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-body:'IBM Plex Sans', 'Segoe UI', Arial, sans-serif;
  --font-mono:'Archivo', 'Helvetica Neue', Arial, sans-serif;

  --radius-sm:8px;
  --radius:14px;
  --radius-lg:24px;
  --shadow:0 10px 30px rgba(16,18,21,.08);
  --shadow-hover:0 20px 50px rgba(16,18,21,.16);
  --transition:.3s cubic-bezier(.22,1,.36,1);
  --header-h:72px;
}

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

h1,h2,h3,h4{ font-family:var(--font-display); line-height:1.08; text-wrap:balance; }
h1{ font-size:clamp(2.6rem,6vw,5rem); font-weight:800; letter-spacing:-.02em; }
h2{ font-size:clamp(1.45rem,2.6vw,2.15rem); font-weight:800; letter-spacing:-.018em; }
h3{ font-size:clamp(1.1rem,2vw,1.5rem); font-weight:700; letter-spacing:-.01em; line-height:1.25; }
h4{ font-size:1.05rem; font-weight:700; line-height:1.3; }
p{ text-align:left; }
a{ color:inherit; }
img{ max-width:100%; height:auto; display:block; object-fit:cover; }
ul{ list-style:none; }
strong{ font-weight:700; }

.eyebrow{
  font-family:var(--font-mono);
  font-size:.75rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em;
  color:var(--red); display:flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:''; width:26px; height:2px; background:var(--red); flex:none; }
.eyebrow--light{ color:#fff; }
.eyebrow--light::before{ background:var(--red); }

.section-full{ width:100%; position:relative; }
.container{ max-width:1280px; margin:0 auto; padding:0 clamp(20px,5vw,64px); }
.pad{ padding:clamp(38px,5vw,68px) 0; }
.pad-sm{ padding:clamp(30px,4vw,48px) 0; }
.bg-mist{ background:var(--mist); }
.bg-ink{ background:var(--ink); color:#fff; }
.bg-ink h2,.bg-ink h3{ color:#fff; }
.bg-ink p{ color:#B7BFC7; }

.lead{ font-size:clamp(1.02rem,1.5vw,1.18rem); color:var(--muted); max-width:62ch; }
.bg-ink .lead{ color:#B7BFC7; }

.sec-head{ max-width:720px; margin-bottom:clamp(28px,4vw,52px); }
.sec-head .eyebrow{ margin-bottom:14px; }
.sec-head p{ margin-top:14px; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:48px; padding:13px 24px;
  font-family:var(--font-display); font-weight:700; font-size:.95rem; letter-spacing:.01em;
  border:2px solid transparent; border-radius:var(--radius-sm);
  cursor:pointer; text-decoration:none; transition:var(--transition);
  white-space:nowrap;
}
.btn svg,.btn i{ width:18px; font-size:17px; line-height:1; }
.btn--red{ background:var(--red); color:#fff; box-shadow:0 8px 22px rgba(238,42,36,.3); }
.btn--red:hover{ background:var(--red-dark); transform:translateY(-2px); box-shadow:0 14px 32px rgba(238,42,36,.38); }
.btn--ink{ background:var(--ink); color:#fff; }
.btn--ink:hover{ background:var(--steel); transform:translateY(-2px); }
.btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.btn--ghost:hover{ border-color:#fff; background:rgba(255,255,255,.1); }
.btn--outline{ background:#fff; color:var(--ink); border-color:var(--line); }
.btn--outline:hover{ border-color:var(--ink); transform:translateY(-2px); }
.btn--wa{ background:#25D366; color:#fff; }
.btn--wa:hover{ background:#1EB955; transform:translateY(-2px); }
.btn--lg{ min-height:56px; padding:16px 30px; font-size:1.02rem; }
.btn--block{ width:100%; }
.btn--phone{ font-family:var(--font-mono); font-weight:700; letter-spacing:.01em; }

.phone-cta{
  display:inline-flex; align-items:center; gap:14px; text-decoration:none;
  background:var(--red); color:#fff; border-radius:var(--radius); padding:12px 24px;
  box-shadow:0 10px 28px rgba(238,42,36,.34); transition:var(--transition);
}
.phone-cta:hover{ background:var(--red-dark); transform:translateY(-2px); box-shadow:0 16px 36px rgba(238,42,36,.42); }
.phone-cta i{ font-size:22px; flex:none; }
.phone-cta b{
  display:block; font-family:var(--font-mono); font-weight:700; line-height:1;
  font-size:clamp(1.35rem,2.6vw,1.9rem); letter-spacing:-.01em;
}
.phone-cta small{
  display:block; margin-top:5px; font-family:var(--font-mono); font-size:.66rem;
  text-transform:uppercase; letter-spacing:.09em; opacity:.9;
}
.phone-cta--sm{ padding:10px 20px; }
.phone-cta--sm b{ font-size:clamp(1.2rem,2.2vw,1.5rem); }

.reply{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:.78rem; font-weight:600;
  letter-spacing:.03em; color:var(--muted);
}
.reply .dot{ width:8px; height:8px; border-radius:50%; background:#2ECC71; flex:none; box-shadow:0 0 0 4px rgba(46,204,113,.18); }
.reply--light{ color:#C6CDD4; }

/* ---------- logo ---------- */
.logo{ display:flex; align-items:center; gap:11px; text-decoration:none; flex:none; }
.logo__bars{ display:flex; gap:3px; flex:none; }
.logo__bars i{ display:block; width:5px; height:30px; background:var(--red); transform:skewX(-16deg); border-radius:1px; }
.logo__bars i:nth-child(2){ opacity:.7; }
.logo__bars i:nth-child(3){ opacity:.4; }
.logo__type{ display:flex; flex-direction:column; line-height:1; }
.logo__top{
  font-family:var(--font-display); font-weight:800; font-size:.94rem;
  letter-spacing:.16em; color:var(--ink); transition:color var(--transition);
}
.logo__bottom{
  font-family:var(--font-display); font-weight:900; font-size:1.28rem;
  letter-spacing:.03em; color:var(--red); margin-top:3px;
}
.logo--light .logo__top{ color:#fff; }

/* ---------- header ---------- */
.header{
  position:fixed; top:0; left:0; right:0; width:100%; z-index:1000;
  height:var(--header-h); display:flex; align-items:center;
  background:transparent; transition:background var(--transition), box-shadow var(--transition), border-color var(--transition);
  border-bottom:1px solid transparent;
}
.header > .container{ width:100%; }
.header__inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nav{ display:flex; align-items:center; gap:clamp(14px,2vw,30px); margin-left:auto; }
.nav a{
  font-family:var(--font-display); font-weight:600; font-size:.88rem; letter-spacing:.01em;
  color:#fff; text-decoration:none; position:relative; padding:6px 0; transition:color var(--transition);
}
.nav a::after{
  content:''; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--red);
  transition:width var(--transition);
}
.nav a:hover::after,.nav a.is-active::after{ width:100%; }
.nav a.is-active{ color:var(--red); }
.header__cta{ display:flex; align-items:center; gap:10px; }
.header__phone{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none;
  font-family:var(--font-mono); font-weight:700; font-size:.95rem; color:#fff;
  transition:color var(--transition);
}
.header__phone i{ font-size:15px; color:var(--red); }

.header.is-stuck{ background:rgba(255,255,255,.97); box-shadow:0 4px 24px rgba(16,18,21,.1); border-bottom-color:var(--line); }
.header.is-stuck .nav a{ color:var(--ink); }
.header.is-stuck .nav a.is-active{ color:var(--red); }
.header.is-stuck .header__phone{ color:var(--ink); }
.header.is-stuck .logo__top{ color:var(--ink); }
.header.is-stuck .burger span{ background:var(--ink); }

.burger{
  display:none; width:44px; height:44px; border:0; background:transparent; cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.burger span{ display:block; width:24px; height:2px; background:#fff; border-radius:2px; transition:background var(--transition); }

/* ---------- mobile overlay ---------- */
.mobnav{
  position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.96);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease;
  padding:80px 24px 40px; overflow-y:auto;
}
.mobnav.is-open{ opacity:1; visibility:visible; }
.mobnav a{
  color:#fff; text-decoration:none; font-family:var(--font-display); font-weight:700;
  font-size:1.4rem; padding:11px 16px; min-height:44px; display:flex; align-items:center;
}
.mobnav a.is-active{ color:var(--red); }
.mobnav__foot{ margin-top:22px; display:flex; flex-direction:column; gap:12px; width:100%; max-width:300px; }
.mobnav__close{
  position:fixed; top:20px; right:20px; width:44px; height:44px; color:#fff;
  background:rgba(255,255,255,.15); border-radius:50%; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.mobnav__close i{ font-size:20px; }

/* ---------- pages ---------- */
.page{ display:block; }

/* ---------- hero ---------- */
.hero{
  width:100%; min-height:92vh; display:flex; align-items:center;
  padding:calc(var(--header-h) + 44px) 0 52px;
  background-image:linear-gradient(100deg, rgba(10,11,13,.82) 0%, rgba(10,11,13,.72) 45%, rgba(10,11,13,.45) 100%), url('img/hero-service-auto-lift.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  color:#fff; position:relative;
}
.hero::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:6px;
  background:repeating-linear-gradient(115deg,var(--red) 0 28px,#0d0e10 28px 56px);
}
.hero .container{ display:grid; grid-template-columns:1fr; row-gap:18px; column-gap:clamp(28px,3.6vw,48px); align-items:start; }
.hero__content{ width:100%; max-width:none; }
.hero__content h1{
  color:#fff; margin:14px 0 14px; text-transform:uppercase;
  font-weight:900; line-height:.95; letter-spacing:-.01em;
  font-size:clamp(2.1rem,4.4vw,3.6rem);
}
.hero__content h1 em{ font-style:normal; color:var(--red); display:block; }
.hero__content p{ color:#CBD2D9; max-width:56ch; font-size:1rem; line-height:1.6; margin-bottom:0; }

.hero__proof{ display:flex; flex-direction:column; gap:14px; align-items:flex-start; margin-top:2px; }
.gbadge{
  display:inline-flex; align-items:center; gap:12px; background:#fff; color:var(--ink);
  border-radius:12px; padding:9px 16px; box-shadow:0 14px 34px rgba(0,0,0,.32);
}
.gbadge__g{ width:24px; height:24px; flex:none; }
.gbadge__score{ font-family:var(--font-display); font-weight:900; font-size:1.35rem; line-height:1; }
.gbadge__stars{ display:flex; gap:2px; color:#F5A623; font-size:12px; }
.gbadge__lbl{ font-family:var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); margin-top:3px; display:block; }

.hstrip{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 0; }
.hstrip span{
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.1em; color:#C6CDD4;
  padding-right:16px; margin-right:16px; border-right:1px solid rgba(255,255,255,.2);
}
.hstrip span:last-child{ border-right:0; padding-right:0; margin-right:0; }
.hstrip i{ color:var(--red); font-size:12px; }
.hstrip small{ font-size:.62rem; letter-spacing:.06em; color:#8A939C; text-transform:none; }

/* booking card */
.bcard{
  width:100%; background:#fff; color:var(--ink); border-radius:20px;
  padding:clamp(20px,2.6vw,28px); position:relative; overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.48);
}
.bcard::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--red); }
.bcard h3{ text-transform:uppercase; font-weight:900; letter-spacing:-.005em; font-size:1.25rem; }
.bcard__reply{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:9px 0 20px; font-size:.85rem; color:var(--muted); }
.bcard__reply i{ color:var(--red); font-size:13px; }
.bcard__reply .tag{
  background:#E6F7EC; color:#186B39; border-radius:999px; padding:3px 11px;
  font-weight:600; font-size:.78rem;
}
.phone-group{ display:grid; grid-template-columns:auto 1fr; gap:8px; }
.prefix{
  display:flex; align-items:center; gap:8px; background:var(--mist);
  border:1.5px solid #e2e8f0; border-radius:var(--radius-sm); padding:0 13px;
  min-height:48px; font-family:var(--font-mono); font-weight:600; font-size:.9rem; color:var(--ink);
}
.flag-ro{
  width:22px; height:15px; border-radius:2px; flex:none; border:1px solid rgba(0,0,0,.14);
  background:linear-gradient(90deg,#002B7F 0 33.33%,#FCD116 33.33% 66.66%,#CE1126 66.66% 100%);
}
.bcard__row2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
.bcard__row2 .btn{ padding:13px 10px; font-size:.86rem; }
.bcard__note{ font-size:.76rem; color:var(--muted-2); margin-top:14px; text-align:center; line-height:1.5; }
.bcard__note a{ color:var(--red); }

/* compact card sizing */
.bcard{ padding:22px; }
.bcard h3{ font-size:1.05rem; }
.bcard__reply{ margin:5px 0 14px; font-size:.79rem; gap:6px; }
.bcard__reply .tag{ font-size:.72rem; padding:2px 9px; }
.bcard .field{ margin-bottom:10px; }
.bcard .field label{ font-size:.78rem; margin-bottom:5px; }
.bcard input[type=text],.bcard input[type=tel],.bcard input[type=number],.bcard input[type=date],
.bcard select,.bcard textarea{ padding:9px 12px; font-size:.94rem; min-height:40px; }
.bcard select{ padding-right:38px; }
.bcard textarea{ min-height:76px; }
.bcard .select-wrap::after{ right:14px; width:8px; height:8px; }
.bcard .prefix{ min-height:40px; padding:0 10px; font-size:.85rem; }
.bcard .btn,.bcard .btn--lg{ min-height:42px; padding:10px 16px; font-size:.9rem; }
.bcard .grid-2{ gap:0 10px; }
.bcard .check{ margin:2px 0 12px; }
.bcard .check label{ font-size:.78rem; }
.bcard__row2{ margin-top:8px; }
.bcard__note{ font-size:.72rem; margin-top:10px; }

/* ---------- forms ---------- */
.field{ margin-bottom:16px; }
.field label{
  display:block; font-family:var(--font-display); font-weight:600; font-size:.83rem;
  letter-spacing:.02em; margin-bottom:7px; color:var(--ink);
}
.field label .req{ color:var(--red); }
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=number],select,textarea{
  font-family:var(--font-body); font-size:.95rem; color:var(--ink); background:#fff;
  border:1.5px solid #e2e8f0; border-radius:var(--radius-sm); padding:12px 16px; width:100%;
  transition:border-color var(--transition), box-shadow var(--transition);
  min-height:48px; line-height:1.4;
}
textarea{ min-height:120px; resize:vertical; }
input::placeholder,textarea::placeholder{ color:#A6AEB6; }
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(238,42,36,.12);
}
.select-wrap{ position:relative; }
select{ appearance:none; -webkit-appearance:none; -moz-appearance:none; padding-right:44px; cursor:pointer; }
.select-wrap::after{
  content:''; position:absolute; right:17px; top:50%; width:9px; height:9px;
  border-right:2px solid var(--ink); border-bottom:2px solid var(--ink);
  transform:translateY(-70%) rotate(45deg); pointer-events:none;
}
input[type=date]{ cursor:pointer; }
input[type=date]::-webkit-calendar-picker-indicator{ opacity:.55; cursor:pointer; }
.field.has-error input,.field.has-error select,.field.has-error textarea{
  border-color:var(--red); box-shadow:0 0 0 3px rgba(238,42,36,.1);
}
.err{ display:none; font-size:.8rem; color:var(--red); margin-top:6px; font-weight:600; }
.field.has-error .err{ display:block; }
.grid-2{ display:grid; grid-template-columns:1fr; gap:0 16px; }
.check{ display:flex; align-items:flex-start; gap:11px; margin:6px 0 18px; }
.check input{
  appearance:none; -webkit-appearance:none; width:20px; height:20px; min-height:20px; flex:none;
  border:1.5px solid #e2e8f0; border-radius:5px; margin-top:3px; cursor:pointer; background:#fff;
  transition:var(--transition);
}
.check input:checked{ background:var(--red); border-color:var(--red); }
.check input:checked::after{
  content:''; display:block; width:5px; height:10px; margin:2px auto 0;
  border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(42deg);
}
.check input:focus{ outline:none; box-shadow:0 0 0 3px rgba(238,42,36,.12); }
.check label{ font-size:.84rem; color:var(--muted); line-height:1.55; margin:0; font-family:var(--font-body); font-weight:400; }
.check label a{ color:var(--red); }
.form-ok{
  display:none; background:#EAF8EF; border:1.5px solid #A9E0BE; color:#186B39;
  border-radius:var(--radius-sm); padding:16px 18px; font-size:.92rem; margin-top:16px;
}
.form-ok.is-on{ display:block; }

/* ---------- cards / bento ---------- */
.bento{ display:grid; grid-template-columns:1fr; gap:16px; }
.svc{
  position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 24px 28px; transition:var(--transition); overflow:hidden; text-decoration:none; display:block;
}
.svc::before{
  content:''; position:absolute; left:0; top:0; height:4px; width:0; background:var(--red);
  transition:width var(--transition);
}
.svc:hover{ transform:translateY(-4px); box-shadow:var(--shadow-hover); border-color:transparent; }
.svc:hover::before{ width:100%; }
.svc__ico{
  width:46px; height:46px; border-radius:12px; background:var(--red-soft); color:var(--red);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
}
.svc__ico i{ font-size:21px; }
.svc h3{ margin-bottom:8px; }
.svc p{ font-size:.93rem; color:var(--muted); }
.svc__more{
  display:inline-flex; align-items:center; gap:6px; margin-top:14px;
  font-family:var(--font-display); font-weight:700; font-size:.83rem; color:var(--red);
}
.svc__more i{ font-size:13px; }

.svc--feature{
  color:#fff; border:0; padding:0; min-height:340px; display:flex; align-items:flex-end;
  background-image:linear-gradient(0deg, rgba(10,11,13,.95) 8%, rgba(10,11,13,.25) 70%), url('img/mecanic-verifica-roata-elevator.jpg');
  background-size:cover; background-position:center;
}
.svc--feature .svc__body{ padding:28px 26px; }
.svc--feature h3{ color:#fff; }
.svc--feature p{ color:#C6CDD4; }
.svc--feature .svc__ico{ background:var(--red); color:#fff; }

/* ---------- steps ---------- */
.steps{ display:grid; grid-template-columns:1fr; gap:0; counter-reset:st; }
.step{
  display:grid; grid-template-columns:auto 1fr; gap:20px; padding:26px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.step:last-child{ border-bottom:0; }
.step__n{
  font-family:var(--font-mono); font-weight:700; font-size:clamp(2rem,4vw,3rem);
  color:var(--red); line-height:1; letter-spacing:-.03em; min-width:64px;
}
.step h3{ margin-bottom:8px; }
.step p{ font-size:.95rem; }

/* ---------- split ---------- */
.split{ display:grid; grid-template-columns:1fr; gap:clamp(28px,5vw,64px); align-items:center; }
.split__media{ position:relative; border-radius:var(--radius-lg); overflow:hidden; }
.split__media img{ width:100%; height:100%; min-height:280px; }
.split__badge{
  position:absolute; left:0; bottom:0; background:var(--red); color:#fff; padding:16px 22px;
  border-top-right-radius:var(--radius);
}
.split__badge b{ font-family:var(--font-display); font-size:1.6rem; font-weight:900; display:block; line-height:1; }
.split__badge span{ font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }

.ticks{ margin-top:24px; display:grid; gap:14px; }
.ticks li{ display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start; }
.ticks i{ font-size:17px; color:var(--red); margin-top:7px; width:20px; text-align:center; flex:none; }
.ticks b{ font-family:var(--font-display); font-weight:700; display:block; font-size:1rem; }
.ticks span{ font-size:.92rem; color:var(--muted); }
.bg-ink .ticks span{ color:#A8B1B9; }
.bg-ink .ticks b{ color:#fff; }

/* ---------- counters ---------- */
.counters{
  background-image:linear-gradient(0deg, rgba(16,18,21,.93), rgba(16,18,21,.93)), url('img/hala-service-masina-ridicata.jpg');
  background-size:cover; background-position:center; background-attachment:scroll;
}
.counters__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:28px 20px; }
.counter b{
  display:block; font-family:var(--font-display); font-weight:900;
  font-size:clamp(2.4rem,5vw,3.6rem); line-height:1; color:#fff; letter-spacing:-.03em;
}
.counter b .num,.counter b .suf{ display:inline; font-family:inherit; font-size:inherit; letter-spacing:inherit; text-transform:none; }
.counter b .suf{ color:var(--red); }
.counter > span{
  display:block; margin-top:9px; font-family:var(--font-mono); font-size:.76rem;
  text-transform:uppercase; letter-spacing:.1em; color:#98A2AC;
}

/* ---------- pricing ---------- */
.ptable{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.ptable th,.ptable td{ text-align:left; padding:15px 18px; border-bottom:1px solid var(--line); font-size:.93rem; }
.ptable thead th{
  background:var(--ink); color:#fff; font-family:var(--font-mono); font-weight:600;
  font-size:.74rem; text-transform:uppercase; letter-spacing:.1em;
}
.ptable tbody tr:nth-child(even){ background:var(--mist); }
.ptable tbody tr:last-child td{ border-bottom:0; }
.ptable td:first-child{ font-weight:600; }
.ptable td.pcell{ font-family:var(--font-mono); font-weight:700; color:var(--red); white-space:nowrap; }
.ptable td .dur{ display:block; font-size:.8rem; color:var(--muted-2); font-family:var(--font-mono); font-weight:500; }
.pnote{
  margin-top:18px; padding:16px 18px; background:#FFF6F5; border-left:4px solid var(--red);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0; font-size:.88rem; color:var(--muted);
}
.tscroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ---------- testimonials ---------- */
.revs{ display:grid; grid-template-columns:1fr; gap:18px; }
.rev{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px;
  position:relative; transition:var(--transition);
}
.rev:hover{ box-shadow:var(--shadow-hover); transform:translateY(-3px); }
.rev__stars{ display:flex; gap:2px; color:#F5A623; margin-bottom:12px; }
.rev__stars i{ font-size:14px; }
.rev p{ font-size:.95rem; color:var(--ink); }
.rev__who{ display:flex; align-items:center; gap:12px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.rev__av{
  width:40px; height:40px; border-radius:50%; background:var(--ink); color:#fff; flex:none;
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:.9rem;
}
.rev__who b{ display:block; font-family:var(--font-display); font-size:.94rem; }
.rev__who span{ font-size:.8rem; color:var(--muted-2); font-family:var(--font-mono); }

/* ---------- CTA band ---------- */
.cta-band{
  background-image:linear-gradient(90deg, rgba(10,11,13,.95) 10%, rgba(10,11,13,.6) 100%), url('img/hala-vopsitorie-service.jpg');
  background-size:cover; background-position:center; color:#fff;
}
.cta-band h2{ color:#fff; max-width:16ch; }
.cta-band .lead{ color:#C6CDD4; margin-top:16px; }
.cta-band__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

/* ---------- page banner ---------- */
.pbanner{
  padding:calc(var(--header-h) + 56px) 0 clamp(40px,6vw,72px);
  background:var(--ink); color:#fff; position:relative; overflow:hidden;
}
.pbanner::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:5px;
  background:repeating-linear-gradient(115deg,var(--red) 0 24px,#0d0e10 24px 48px);
}
.pbanner--img{ background-size:cover; background-position:center; }
.pbanner h1{ color:#fff; margin:12px 0 0; font-size:clamp(1.75rem,3.1vw,2.7rem); line-height:1.06; padding-bottom:2px; }
.pbanner .lead{ color:#B7BFC7; margin-top:16px; }
.crumb{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); }
.crumb a{ color:var(--muted-2); text-decoration:none; }
.crumb a:hover{ color:#fff; }

/* ---------- service detail ---------- */
.sd-list{ display:grid; gap:11px; margin-top:18px; }
.sd-list li{ display:grid; grid-template-columns:auto 1fr; gap:11px; font-size:.94rem; color:var(--muted); }
.sd-list i{ font-size:14px; color:var(--red); margin-top:8px; width:18px; text-align:center; flex:none; }
.sd-box{ background:var(--mist); border-radius:var(--radius); padding:26px 24px; }
.sd-box h3{ margin-bottom:10px; }
.sd-price{
  display:flex; align-items:baseline; gap:10px; margin-top:16px;
  font-family:var(--font-mono); font-weight:700; font-size:1.5rem; color:var(--red);
}
.sd-price small{ font-family:var(--font-body); font-size:.8rem; color:var(--muted); font-weight:500; }

/* ---------- services full list ---------- */
.slist{ display:grid; gap:16px; }
.slist__item{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 24px; display:grid; grid-template-columns:1fr; gap:20px;
  transition:var(--transition);
}
.slist__item:hover{ box-shadow:var(--shadow); border-color:#cfd8e2; }
.slist__head{ display:flex; gap:14px; align-items:flex-start; }
.slist__n{
  font-family:var(--font-mono); font-weight:700; font-size:.8rem; color:var(--red);
  border:1.5px solid var(--red); border-radius:6px; padding:2px 7px; flex:none; margin-top:3px;
}
.slist__col b{
  display:block; font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase;
  letter-spacing:.1em; color:var(--muted-2); margin-bottom:9px;
}

/* ---------- contact ---------- */
.cinfo{ display:grid; gap:14px; }
.cinfo__row{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:16px 0; border-bottom:1px solid var(--line); }
.cinfo__row:last-child{ border-bottom:0; }
.cinfo__ico{
  width:42px; height:42px; border-radius:11px; background:var(--red-soft); color:var(--red);
  display:flex; align-items:center; justify-content:center; flex:none;
}
.cinfo__ico i{ font-size:18px; }
.cinfo__row b{ display:block; font-family:var(--font-display); font-size:.95rem; }
.cinfo__row a,.cinfo__row span{ font-size:.94rem; color:var(--muted); text-decoration:none; }
.cinfo__row a:hover{ color:var(--red); }
.map{ width:100%; height:clamp(280px,45vw,440px); border:0; display:block; border-radius:var(--radius); }
.hours{ display:grid; gap:8px; margin-top:6px; }
.hours div{ display:flex; justify-content:space-between; gap:16px; font-size:.92rem; padding:7px 0; border-bottom:1px dashed var(--line); }
.hours div:last-child{ border-bottom:0; }
.hours span:last-child{ font-family:var(--font-mono); font-weight:600; }
.hours .closed{ color:var(--muted-2); }

/* ---------- legal ---------- */
.legal{ max-width:820px; }
.legal h2{ font-size:clamp(1.3rem,2.4vw,1.8rem); margin:34px 0 12px; }
.legal h3{ margin:24px 0 8px; }
.legal p{ color:var(--muted); margin-bottom:12px; font-size:.95rem; }
.legal ul{ margin:0 0 16px 0; display:grid; gap:8px; }
.legal ul li{ display:grid; grid-template-columns:auto 1fr; gap:10px; color:var(--muted); font-size:.95rem; }
.legal ul li::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--red); margin-top:11px; }
.legal .updated{ font-family:var(--font-mono); font-size:.78rem; color:var(--muted-2); }

/* ---------- footer ---------- */
.footer{ background:var(--ink); color:#fff; padding:clamp(36px,4.5vw,58px) 0 0; }
.footer__grid{ display:grid; grid-template-columns:1fr; gap:38px; padding-bottom:44px; }
.footer p{ color:#98A2AC; font-size:.92rem; }
.footer h4{ font-family:var(--font-mono); font-size:.75rem; text-transform:uppercase; letter-spacing:.12em; color:#fff; margin-bottom:18px; }
.footer nav{ display:grid; gap:11px; }
.footer nav a{ color:#98A2AC; text-decoration:none; font-size:.93rem; transition:color var(--transition); width:fit-content; }
.footer nav a:hover{ color:var(--red); }
.footer__contact{ display:grid; gap:13px; }
.footer__contact a,.footer__contact span{ color:#98A2AC; text-decoration:none; font-size:.93rem; display:flex; gap:10px; align-items:flex-start; }
.footer__contact a:hover{ color:#fff; }
.footer__contact i{ font-size:15px; color:var(--red); margin-top:6px; width:18px; text-align:center; flex:none; }
.footer__bar{
  border-top:1px solid rgba(255,255,255,.1); padding:22px 0 26px;
  display:flex; flex-direction:column; gap:16px; align-items:flex-start;
}
.footer__bar p{ font-size:.84rem; }
.footer__legal{ display:flex; flex-wrap:wrap; gap:8px 18px; }
.footer__legal a{ color:#98A2AC; font-size:.84rem; text-decoration:none; }
.footer__legal a:hover{ color:#fff; }
.anpc{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.anpc img{ height:38px; width:auto; border-radius:3px; }

/* ---------- floating ---------- */
.preloader{
  position:fixed; inset:0; z-index:12000; background:var(--ink);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px;
  transition:opacity .4s ease, visibility .4s ease;
}
.preloader.is-off{ opacity:0; visibility:hidden; }
.preloader__bar{ width:140px; height:3px; background:rgba(255,255,255,.15); border-radius:3px; overflow:hidden; }
.preloader__bar i{ display:block; height:100%; width:40%; background:var(--red); animation:slide 1s infinite ease-in-out; }
@keyframes slide{ 0%{transform:translateX(-100%)} 100%{transform:translateX(320%)} }

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

.mbar{ display:none; }

/* Bannerul de cookie-uri sta discret in coltul din stanga-jos, nu ca banda pe tot ecranul. */
.cookie{
  position:fixed; left:16px; right:auto; bottom:16px; z-index:1100;
  width:min(340px, calc(100vw - 32px)); background:var(--ink); color:#fff;
  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(.22,1,.36,1), visibility .35s ease;
}
.cookie.is-on{ opacity:1; visibility:visible; transform:translateY(0); }
.cookie__in{
  display:flex; flex-direction:column; gap:11px; align-items:flex-start;
  padding:15px 17px; width:auto; max-width:none;
}
.cookie p{ font-size:.78rem; line-height:1.55; color:#B7BFC7; max-width:none; }
.cookie a{ color:var(--red); }
.cookie .btn{ min-height:36px; padding:8px 20px; font-size:.8rem; }


/* ---------- booking module ---------- */
.bnotice{
  background:#FFF8E6; border:1px solid #F0E0B0; border-radius:var(--radius);
  padding:16px 18px; display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start;
}
.bnotice i{ color:#B8860B; font-size:16px; margin-top:4px; }
.bnotice p{ font-size:.9rem; color:#6B5A25; }

.booking{ display:grid; grid-template-columns:1fr; gap:22px; align-items:start; }
.bside{ display:grid; gap:16px; min-width:0; }

.cal{ min-width:0; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(12px,3.5vw,18px); box-shadow:var(--shadow); }
.cal__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; gap:10px; }
.cal__nav{
  width:36px; height:36px; border-radius:8px; border:1px solid var(--line); background:#fff;
  cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--ink); transition:var(--transition);
}
.cal__nav:hover:not(:disabled){ border-color:var(--ink); }
.cal__nav:disabled{ opacity:.3; cursor:not-allowed; }
.cal__title{ font-family:var(--font-display); font-weight:700; font-size:1rem; text-transform:capitalize; }
.cal__grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal__dow{
  font-family:var(--font-mono); font-size:.64rem; text-transform:uppercase; letter-spacing:.05em;
  color:var(--muted-2); text-align:center; padding:6px 0;
}
.cal__dow.sun{ color:var(--red); }
.cal__day{
  aspect-ratio:1; min-height:38px; border:1.5px solid transparent; border-radius:8px; background:transparent;
  font-family:var(--font-mono); font-size:.85rem; font-weight:600; color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:var(--transition);
}
.cal__day:hover:not(:disabled){ background:var(--mist); }
.cal__day:disabled{ color:#C6CDD4; cursor:not-allowed; background:var(--mist-2); }
.cal__day.is-sel{ border-color:var(--red); color:var(--red); background:#FFF3F2; }
.cal__day.is-empty{ visibility:hidden; }
.legend{ display:flex; flex-wrap:wrap; gap:9px 16px; margin-top:14px; }
.legend span{ display:flex; align-items:center; gap:7px; font-size:.72rem; color:var(--muted); font-family:var(--font-mono); }
.legend i{ width:12px; height:12px; border-radius:3px; display:block; flex:none; }
.legend .av{ background:#fff; border:1.5px solid var(--line); }
.legend .un{ background:var(--mist-2); }
.legend .se{ background:#FFF3F2; border:1.5px solid var(--red); }

.sidecard{ min-width:0; border-radius:var(--radius); padding:20px; color:#fff; display:grid; gap:11px; }
.sidecard--red{ background:var(--red); }
.sidecard--wa{ background:#25D366; }
.sidecard__ico{
  width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.22);
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.sidecard b{ font-family:var(--font-display); font-size:1rem; display:block; line-height:1.3; }
.sidecard p{ font-size:.86rem; color:rgba(255,255,255,.92); }
.sidecard .btn{ background:#fff; color:var(--ink); box-shadow:none; }
.sidecard .btn:hover{ background:#fff; transform:translateY(-2px); }

.stepper{ display:flex; align-items:center; flex-wrap:wrap; row-gap:10px; margin-bottom:24px; }
.stepper__it{ display:flex; align-items:center; gap:9px; font-family:var(--font-display); font-weight:700; font-size:.84rem; color:var(--muted-2); white-space:nowrap; }
.stepper__n{
  width:28px; height:28px; border-radius:50%; background:var(--mist-2); color:var(--muted-2);
  display:flex; align-items:center; justify-content:center; font-size:.8rem; flex:none; transition:var(--transition);
}
.stepper__it.is-on{ color:var(--ink); }
.stepper__it.is-on .stepper__n{ background:var(--red); color:#fff; }
.stepper__line{ flex:1 1 12px; height:2px; background:var(--line); margin:0 8px; min-width:12px; }

.bpanel{ min-width:0; scroll-margin-top:calc(var(--header-h) + 20px); background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(20px,3vw,30px); box-shadow:var(--shadow); }
.bstep{ display:none; }
.bstep.is-on{ display:block; }
.svcgrid{ display:grid; grid-template-columns:1fr; gap:12px; margin-top:16px; min-width:0; }
.svcopt{ position:relative; border:1.5px solid var(--line); border-radius:var(--radius-sm); padding:13px 16px; cursor:pointer; transition:var(--transition); display:block; }
.svcopt:hover{ border-color:#cfd8e2; }
.svcopt input{ position:absolute; opacity:0; pointer-events:none; }
.svcopt b{ display:block; font-family:var(--font-display); font-size:.95rem; }
.svcopt span{ font-family:var(--font-mono); font-size:.73rem; color:var(--muted-2); }
.svcopt.is-sel{ border-color:var(--red); background:#FFF7F6; }

.slots{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:16px; min-width:0; }
.slot{
  min-width:0; min-height:44px; border:1.5px solid var(--line); border-radius:var(--radius-sm); background:#fff;
  font-family:var(--font-mono); font-weight:600; font-size:.85rem; color:var(--ink); cursor:pointer; transition:var(--transition);
}
.slot:hover:not(:disabled){ border-color:var(--ink); }
.slot:disabled{ background:var(--mist-2); color:#B4BCC4; cursor:not-allowed; text-decoration:line-through; }
.slot.is-sel{ background:var(--red); border-color:var(--red); color:#fff; }
.bactions{ display:flex; justify-content:space-between; gap:12px; margin-top:26px; flex-wrap:wrap; }
.bactions .btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }
.summary{ background:var(--mist); border-radius:var(--radius-sm); padding:16px 18px; display:grid; gap:7px; margin-bottom:20px; }
.summary div{ display:flex; justify-content:space-between; gap:14px; font-size:.9rem; }
.summary span:first-child{ color:var(--muted); }
.summary b{ font-family:var(--font-mono); font-weight:700; text-align:right; min-width:0; overflow-wrap:anywhere; }
.chosen-date{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin-top:8px; }
.bstep h3{ margin-bottom:4px; }
.bstep .hint{ font-size:.9rem; color:var(--muted); }

@media (min-width:560px){ .svcgrid{ grid-template-columns:1fr 1fr; } }
@media (min-width:700px){ .slots{ grid-template-columns:repeat(5,1fr); } }
@media (min-width:980px){ .booking{ grid-template-columns:minmax(290px,32fr) 68fr; gap:28px; } }

/* ---------- reveal ---------- */
/* Animatia de aparitie porneste vizibila, ca widgetul sa se vada in editorul Elementor.
   Ascunderea initiala se face doar pe frontend. */
.rv{ opacity:1; transform:none; transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1); }
body:not(.elementor-editor-active) .rv{ opacity:0; transform:translateY(24px); }
body:not(.elementor-editor-active) .rv.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .rv, body:not(.elementor-editor-active) .rv{ opacity:1; transform:none; transition:none; }
  .fab-wa{ animation:none; }
  *{ scroll-behavior:auto !important; }
}

/* ---------- responsive ---------- */
@media (min-width:600px){
  .grid-2{ grid-template-columns:1fr 1fr; }
  .counters__grid{ grid-template-columns:repeat(4,1fr); }
  .footer__bar{ flex-direction:row; align-items:center; justify-content:space-between; }
  .bento{ grid-template-columns:repeat(2,1fr); }
  .revs{ grid-template-columns:repeat(2,1fr); }
  .slist__item{ grid-template-columns:1fr 1fr; }
}
@media (min-width:980px){
  .hero .container{ grid-template-columns:55fr 45fr; column-gap:clamp(32px,4vw,64px); grid-template-rows:auto auto; }
  .hero__content{ grid-column:1; grid-row:1; }
  .hero__proof{ grid-column:1; grid-row:2; align-self:start; }
  .hero__card{ grid-column:2; grid-row:1 / span 2; align-self:start; }
}
@media (min-width:900px){
  .split{ grid-template-columns:1fr 1fr; }
  .split--rev .split__media{ order:2; }
  .revs{ grid-template-columns:repeat(3,1fr); }
  .bento{ grid-template-columns:repeat(3,1fr); }
  .svc--feature{ grid-column:span 2; grid-row:span 2; }
  .footer__grid{ grid-template-columns:1.5fr 1fr 1.2fr; gap:56px; }
  .slist__item{ grid-template-columns:1.1fr 1fr 1fr; }
  .steps{ grid-template-columns:repeat(2,1fr); column-gap:56px; }
}
@media (max-width:767px){
  :root{ --header-h:64px; }
  .nav,.header__phone{ display:none; }
  .header__cta > .btn{ display:none; }
  .burger{ display:flex; }
  body{ padding-bottom:62px; }
  .mbar{
    display:grid; grid-template-columns:1fr 1fr; position:fixed; left:0; right:0; bottom:0;
    z-index:1000; background:var(--ink); border-top:1px solid rgba(255,255,255,.12);
  }
  .mbar a{
    display:flex; align-items:center; justify-content:center; gap:8px; min-height:62px;
    color:#fff; text-decoration:none; font-family:var(--font-display); font-weight:700; font-size:.92rem;
  }
  .mbar a i{ font-size:17px; }
  .mbar a:first-child{ background:var(--red); }
  .mbar a:last-child{ background:#25D366; }
  .fab-wa{ bottom:78px; }
  .fab-top{ bottom:142px; }
  .cookie{ bottom:70px; left:12px; width:calc(100vw - 24px); }
  .hero{ min-height:auto; padding-top:calc(var(--header-h) + 40px); }
  .step{ grid-template-columns:1fr; gap:8px; }
  .step__n{ font-size:2.2rem; }
}

/* Hero-ul foloseste exact fonturile din header: fara familia monospace,
   care facea sa para ca sunt doua tipografii diferite pe aceeasi pagina. */
.hero .eyebrow,
.hero .tag,
.hero .bcard__reply,
.hero .hero__trust,
.hero .hero__trust *,
.hero .grating,
.hero .grating *,
.hero .phone-group,
.hero .btn{ font-family: var(--font-display); letter-spacing:.02em; }
.hero .bcard label,
.hero .bcard input,
.hero .bcard .dd__btn,
.hero .bcard textarea{ font-family: var(--font-body); }

/* Logo-ul firmei. Varianta cu text alb pe fundal inchis, cea normala pe alb. */
.logo__img{ height:42px; width:auto; display:block; }
.header.is-stuck .logo__img{ content: url("img/logo-service.png"); }
.footer .logo__img{ height:48px; }
@media (max-width:640px){ .logo__img{ height:34px; } }

/* ---------- Filmul din fundalul hero-ului ----------
   Ruleaza fara sunet si in bucla; daca omul a cerut mai putina miscare
   sau daca fisierul nu porneste, ramane fotografia din poster. */
.hero{ position:relative; overflow:hidden; }
.hero__video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  z-index:0; pointer-events:none;
}
.hero > .container{ position:relative; z-index:2; }
.hero::before{ z-index:1; }
@media (prefers-reduced-motion: reduce){
  .hero__video{ display:none; }
}
@media (max-width:640px){
  .hero__video{ opacity:.85; }
}

/* Toate textele din hero folosesc familia din header, inclusiv cele mici. */
.hero .prefix, .hero .gbadge__lbl, .hero span, .hero small,
.hero .eyebrow, .hero .tag, .hero .bcard__reply{ font-family: var(--font-display); }
.hero input, .hero textarea, .hero .dd__btn, .hero .dd__opt,
.hero label, .hero p{ font-family: var(--font-body); }

/* Peste film punem un strat mai gros, ca titlul sa se citeasca fara efort. */
.hero::before{
  content:""; position:absolute; inset:0; z-index:1;
  background: linear-gradient(100deg, rgba(12,14,17,.94) 0%, rgba(12,14,17,.82) 42%, rgba(12,14,17,.55) 100%);
}
.hero__video{ filter: saturate(.85) contrast(1.02); }

/* Diacriticele cu sedila au nevoie de putin loc sub linie. */
.hero h1{ line-height:1.14; padding-bottom:2px; }
/* Argumentele scurte stau pe un singur rand, fara separator orfan. */
/* Cele trei argumente stau pe un rand; separatorul nu ramane atarnat la capat de rand. */
@media (min-width: 861px){
  .hero .hstrip{ flex-wrap:nowrap; }
  .hero .hstrip span{ white-space:nowrap; padding-right:13px; margin-right:13px; letter-spacing:.07em; }
}

/* Recenziile stau pe un singur rand si se deruleaza lateral, pe orice ecran. */
.revs{
  display:flex; grid-template-columns:none; flex-wrap:nowrap;
  overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none; padding-bottom:4px;
}
.revs::-webkit-scrollbar{ display:none; }
.revs > *{ flex:0 0 min(86%, 340px); scroll-snap-align:start; }
.rec-nav{ display:flex; gap:10px; justify-content:flex-end; margin-top:16px; }
.rec-nav button{
  width:42px; height:42px; border-radius:50%; background:#fff;
  border:1px solid var(--line); color:var(--ink);
  display:inline-flex; align-items:center; justify-content:center;
  transition:var(--transition);
}
.rec-nav button:hover{ border-color:var(--red); color:var(--red); }
@media (min-width: 992px){
  /* Doua carduri intregi si o parte din al treilea: banda are mereu ce sa deruleze,
     asa ca miscarea automata se vede si pe ecran mare. */
  .revs > *{ flex:0 0 min(46%, 520px); }
}

@media (min-width: 992px){
  /* Doua servicii pe rand, ca lista sa nu mai ceara atata derulare. */
  .slist{ grid-template-columns:repeat(2,1fr); }
  .slist__item{ grid-template-columns:1fr; }
}

/* ============================================================
   INTEGRARE ELEMENTOR
   Sectiunile prototipului isi poarta singure latimea si spatierea,
   asa ca anulam containerul si padding-ul pe care le adauga Elementor.
   ============================================================ */
.elementor-widget-container > .section-full,
.elementor-widget-container > .hero{ width:100%; }
.sas-full > .elementor-widget-container{ padding:0 !important; }
.elementor-section-full-width > .elementor-container,
.sas-page .e-con-inner{ max-width:none !important; }
.sas-page .e-con{ padding:0 !important; --padding-top:0; --padding-bottom:0; --padding-left:0; --padding-right:0; }
.sas-page .elementor-widget:not(:last-child){ margin-bottom:0; }
.elementor-editor-active .preloader{ display:none; }

/* Regula de grila: niciun card singur pe ultimul rand.
   La patru carduri trecem pe 2x2, nu pe 3+1. */
@media (min-width:900px){
  .bento[data-carduri="4"]{ grid-template-columns:repeat(2,1fr); }
  .bento[data-carduri="2"]{ grid-template-columns:repeat(2,1fr); }
  .revs[data-carduri="4"]{ }
}
@media (min-width:600px) and (max-width:899px){
  .bento[data-carduri="3"] > *:last-child{ grid-column:span 2; }
}
