/*
 * Acoperișuri Vest — pagina unui serviciu (single-serviciu.php + template-parts/serviciu/).
 * Se încarcă pe cheia `serviciu` (inc/setup-pages.php), după components.css.
 * Sursa: docs/redesign/design-reference/canvas/Serviciu.dc.html (capturile Serviciu-1440 / Serviciu-390).
 * O secțiune per parte, în ordinea din pagină: hero + pe scurt (V2-17), conținut (V2-18),
 * lucrări + întrebări (V2-19), deviz (V2-20).
 */

/* ---------- Hero (template-parts/serviciu/hero.php) ---------- */
.av-sv-hero{background:var(--av-paper);border-bottom:1px solid var(--av-line-3)}
.av-sv-hero__in{display:flex;flex-wrap:wrap;gap:48px;align-items:stretch;padding-top:56px;padding-bottom:56px}
.av-sv-hero__text{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:22px;justify-content:center}
.av-sv-hero__pesmet{font-size:11px;color:var(--av-text-3)}
.av-sv-hero__pesmet a{color:var(--av-text-3);text-decoration:none}
.av-sv-hero__pesmet a:hover{color:var(--av-text)}
.av-sv-hero__pesmet span{color:var(--av-text)}
.av-sv-hero__eticheta{color:var(--av-red)}
.av-sv-hero__titlu{font-size:58px;line-height:1.02;overflow-wrap:break-word}
.av-sv-hero__descriere{margin:0;font-size:19px;line-height:1.6;color:#3E444A;overflow-wrap:break-word}
.av-sv-hero__pret{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 20px;padding:18px 0;border-top:1px solid var(--av-line-2);border-bottom:1px solid var(--av-line-2)}
.av-sv-hero__pret-val{font-size:34px}
.av-sv-hero__pret-nota{font-size:14px;color:var(--av-text-3)}
.av-sv-hero__butoane{display:flex;flex-wrap:wrap;gap:12px}
.av-sv-hero__media{flex:1 1 460px;min-width:0;position:relative;min-height:420px}
.av-sv-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.av-sv-hero__img-eticheta{position:absolute;left:0;bottom:0;background:var(--av-graphite);color:var(--av-white);font-size:10px;padding:10px 14px}

/* ---------- Pe scurt (template-parts/serviciu/hero.php) ---------- */
.av-sv-scurt__lista{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-left:1px solid var(--av-line-2)}
.av-sv-scurt__item{min-width:0;padding:26px 24px;border-right:1px solid var(--av-line-2);border-bottom:1px solid var(--av-line-2);overflow-wrap:break-word}
.av-sv-scurt__eticheta{font-size:10px;color:var(--av-text-3)}
.av-sv-scurt__valoare{margin:8px 0 0;font-size:26px}
.av-sv-scurt__nota{margin:4px 0 0;font-size:13px;color:var(--av-text-3)}

/* ---------- Conținut cu cuprins (template-parts/serviciu/continut.php) ---------- */
/* Lățimea cuprinsului și distanța până la coloană: comune cu alinierea părții următoare (av-sv-cont--urmare). */
.av-sv-cont{--av-sv-toc:220px;--av-sv-cont-gap:64px;padding:80px 0}
.av-sv-cont__in{display:flex;flex-wrap:wrap;gap:var(--av-sv-cont-gap);align-items:flex-start}
.av-sv-cont__toc{flex:1 1 var(--av-sv-toc);max-width:260px;min-width:0;display:flex;flex-direction:column}
.av-sv-cont__toc-titlu{font-size:11px;color:var(--av-text-3);padding-bottom:10px}
.av-sv-cont__toc-link{display:block;padding:8px 0;border-top:1px solid #D6D9DB;color:var(--av-text);text-decoration:none;font-size:14px;overflow-wrap:break-word}
.av-sv-cont__toc-link:hover{color:var(--av-red)}
.av-sv-cont__toc-link--deviz{color:var(--av-red);font-weight:600}
.av-sv-cont__toc-link--deviz:hover{color:var(--av-red-link-hover)}
.av-sv-cont__main{flex:999 1 640px;min-width:0;display:flex;flex-direction:column;gap:80px}
.av-sv-cont__bloc{display:flex;flex-direction:column;gap:24px;min-width:0;scroll-margin-top:24px}
.av-sv-cont__bloc--include{gap:18px}
.av-sv-cont__bloc--preturi{gap:20px}
/* Cuprinsul stă lângă coloană (lățimea la care nu se mai rupe pe rând nou) → rămâne lipit sus la derulare.
   Lățime fixă (nu crește spre 260 px), ca partea următoare să se poată alinia exact sub coloană. */
@media (min-width:1000px){
  .av-sv-cont__toc{flex:0 0 var(--av-sv-toc);position:sticky;top:24px}
  .admin-bar .av-sv-cont__toc{top:56px}
  /* Fără cuprins (sub 3 intrări, D-V5-3) coloana stă tot unde ar sta lângă el, aliniată cu partea următoare. */
  .av-sv-cont--fara-toc .av-sv-cont__in{padding-left:calc(var(--av-gutter) + var(--av-sv-toc) + var(--av-sv-cont-gap))}
}

/* „Despre serviciu” (D-V4-1): textul din editor cu tipografia paragrafelor de text din design (16 px / 1.6). */
.av-sv-despre{font-size:16px;line-height:1.6;color:var(--av-text-2);overflow-wrap:break-word}
.av-sv-despre>*{margin:0 0 16px}
.av-sv-despre>:last-child{margin-bottom:0}
.av-sv-despre img,.av-sv-despre iframe,.av-sv-despre video,.av-sv-despre table{max-width:100%;height:auto}

.av-sv-include{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));column-gap:40px}
.av-sv-include__item{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--av-line-2);font-size:16px;line-height:1.5;min-width:0;overflow-wrap:break-word}
.av-sv-include__bifa{flex:none;margin-top:2px;color:var(--av-red)}

.av-sv-pasi{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.av-sv-pasi__item{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--av-line-2)}
.av-sv-pasi__item:last-child{border-bottom:1px solid var(--av-line-2)}
.av-sv-pasi__nr{font-size:32px;color:var(--av-red)}
.av-sv-pasi__corp{min-width:0;overflow-wrap:break-word}
.av-sv-pasi__titlu{display:block;font-size:20px;font-weight:700}
.av-sv-pasi__text{display:block;font-size:15px;line-height:1.6;color:var(--av-text-2)}
/* Banda de poze de sub pași: coloane de cel puțin 160 px (4 lângă cuprins, 2 pe telefon), poze de 150 px decupate. */
.av-sv-pasi-poze{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:10px}
.av-sv-pasi-poze__img{display:block;width:100%;height:150px;object-fit:cover;background:var(--av-paper)}

.av-sv-preturi__nota{margin:0;font-size:16px;line-height:1.6;color:var(--av-text-2)}
/* Pe ecrane înguste derulează doar cutia tabelului (are tabindex="0" pentru tastatură). */
.av-sv-preturi__cutie{overflow-x:auto;border:1px solid var(--av-line-3);max-width:100%}
.av-sv-preturi__cutie:focus-visible{outline:2px solid var(--av-focus);outline-offset:2px}
.av-sv-preturi__tabel{border-collapse:collapse;width:100%;min-width:640px;background:var(--av-white)}
.av-sv-preturi__tabel th,.av-sv-preturi__tabel td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--av-line);font-size:15px;vertical-align:top}
.av-sv-preturi__tabel th{background:var(--av-graphite);color:var(--av-white);font-family:var(--av-font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.av-sv-preturi__indiciu{display:none;margin:-8px 0;font-size:13px;color:var(--av-text-3)}
/* Pe telefon tabelul (640 px) iese din cutie: textul de deasupra și umbra de pe marginea dreaptă arată că se
   derulează. Umbra stă fixă pe cutie (scroll); peste ea, la capătul conținutului, un gradient alb care
   derulează odată cu tabelul (local) o acoperă când s-a ajuns la capăt. Tabelul devine transparent ca să se vadă. */
@media (max-width:640px){
  .av-sv-preturi__indiciu{display:block}
  .av-sv-preturi__cutie{background:linear-gradient(to left,var(--av-white) 40%,rgba(255,255,255,0)) right center / 40px 100% no-repeat local,linear-gradient(to left,rgba(31,35,38,.22),rgba(31,35,38,0)) right center / 20px 100% no-repeat scroll,var(--av-white)}
  .av-sv-preturi__tabel{background:transparent}
}

/* Partea următoare (lucrări + întrebări, V2-19) continuă coloana de conținut: dacă secțiunea ei are
   clasa av-sv-cont--urmare și markupul .wrap.av-sv-cont__in > .av-sv-cont__main, se aliniază sub
   blocurile de mai sus (fără cuprins), la aceeași distanță de 80 px. */
.av-sv-cont + .av-sv-cont--urmare{padding-top:0}
@media (min-width:1000px){
  .av-sv-cont + .av-sv-cont--urmare .av-sv-cont__in{padding-left:calc(var(--av-gutter) + var(--av-sv-toc) + var(--av-sv-cont-gap))}
}

/* ---------- Lucrări + întrebări (template-parts/serviciu/lucrari-faq.php) ---------- */
.av-sv-lucrari{gap:20px}
.av-sv-lucrari .av-sh{gap:12px}
.av-sv-lucrari__grila{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}

/* ---------- Ținte de atingere pe telefon și tabletă (≥44 px, V4-44) ---------- */
/* Sub 1100 px și pe orice ecran tactil (pesmetul și „Toate →” = `.av-sh__link.av-tinta` sunt în components.css):
   rândurile cuprinsului cresc de la ~35 la 44 px. */
@media (max-width:1099.98px),(pointer:coarse){
  .av-sv-cont__toc-link{display:flex;align-items:center;min-height:44px;padding-top:6px;padding-bottom:6px}
}

/* ---------- Deviz + alte servicii (template-parts/serviciu/deviz.php) ---------- */
/* Secțiune proprie pe toată lățimea (nu continuă coloana de conținut): formularul + lista, pe grafit. */
.av-sv-deviz{background:var(--av-graphite);color:var(--av-text-on-dark);padding:88px 0}
.av-sv-deviz__in{display:flex;flex-wrap:wrap;gap:64px}
.av-sv-deviz__form{flex:1.4 1 480px;min-width:0}
/* Nota GDPR continuă caseta albă a formularului (ca .av-home-hero__nota pe Acasă). */
.av-sv-deviz__nota{margin:-20px 0 0;padding:0 36px 36px;background:var(--av-white);font-size:12px;line-height:1.5;color:var(--av-text-3);overflow-wrap:break-word}
.av-sv-deviz__alte{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:18px}
.av-sv-deviz__eticheta{margin:0;color:var(--av-red-on-dark)}
.av-sv-deviz__lista{display:flex;flex-direction:column}
.av-sv-deviz__lista .av-cs--alte{overflow-wrap:break-word}
.av-sv-deviz__lista .av-cs--alte span{flex:none}
.av-sv-deviz__toate{border-bottom:1px solid var(--av-line-dark)}
/* Pe telefon formularul păstrează spațierea și titlul din design (components.css le micșorează pentru hero);
   butonul rămâne pe toată lățimea, din components.css (V4-31). */
@media (max-width:640px){
  .av-sv-deviz .av-form--serviciu{padding:36px}
  .av-sv-deviz .av-form--serviciu .av-form__titlu{font-size:30px}
}
