/*
 * Acoperișuri Vest — bază: fonturi locale, tokens, reset și clase comune.
 * Sursa: blocul <style> din docs/redesign/design-reference/canvas/Main.dc.html
 * (+ ce diferă pe telefon din Mobil.dc.html, în media query-ul de la final).
 * Stilurile de secțiune (hero, carduri, header, footer) NU stau aici.
 */

/* ---------- Fonturi (latin + latin-ext, pentru ă â î ș ț) ---------- */

@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/archivo-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/archivo-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/archivo-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/archivo-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/archivo-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/archivo-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/ibm-plex-sans-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-ext-500-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokens ---------- */

:root{
  /* grafit (fundaluri închise) */
  --av-graphite:#14171A;
  --av-graphite-deep:#0E1012;
  --av-graphite-soft:#1C2024;
  --av-line-dark:#2B3036;
  /* fundaluri deschise */
  --av-zinc:#E6E7E4;
  --av-paper:#F4F4F2;
  --av-white:#FFFFFF;
  /* text */
  --av-text:#16191C;
  --av-text-2:#4A5056;
  --av-text-3:#575E65;
  --av-text-on-dark:#E6E7E4;
  --av-text-on-dark-2:#C9CDD1;
  --av-text-on-dark-3:#A3AAB1;
  /* roșu */
  --av-red:#B5352A;
  --av-red-hover:#962A21;
  --av-red-link-hover:#8E271E;
  --av-red-on-dark:#E0675B;
  /* linii și borduri pe deschis */
  --av-line:#E1E3E4;
  --av-line-2:#C3C7CA;
  --av-line-3:#CFD2D4;
  --av-field-border:#B9BDC1;
  --av-line-muted:#6B737B;
  /* fonturi */
  --av-font-display:'Archivo',sans-serif;
  --av-font-body:'IBM Plex Sans',sans-serif;
  --av-font-mono:'IBM Plex Mono',monospace;
  /* layout */
  --av-wrap:1240px;
  --av-gutter:32px;
  /* focus */
  --av-focus:var(--av-red);
  --av-focus-halo:var(--av-white);
}

/* ---------- Reset / bază ---------- */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--av-zinc);color:var(--av-text);font-family:var(--av-font-body);font-weight:400}
img,svg,video{max-width:100%;height:auto}
a{color:var(--av-red)}a:hover{color:var(--av-red-link-hover)}

/* Focus vizibil pe fundal deschis și închis: inel roșu cu halou alb. */
:focus{outline:none}
:focus-visible{outline:2px solid var(--av-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--av-focus-halo)}
/* Titlurile / blocurile cu tabindex="-1" (focus programatic după „Deviz”, pas, confirmare): fără contur la clic /
   atingere, conturul rămâne la tastatură (:focus-visible). Specificitate 0 (:where), ca regulile componentelor să
   câștige — ex. .av-contact__confirm are regulile ei: fără contur la :focus, contur gri doar la :focus-visible
   (pages/contact.css, B12). */
:where([tabindex="-1"]:focus:not(:focus-visible)){outline:none}

/* ---------- Clase comune ---------- */

.wrap{max-width:var(--av-wrap);margin:0 auto;padding:0 var(--av-gutter);box-sizing:border-box}
.mono{font-family:var(--av-font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.disp{font-family:var(--av-font-display);font-weight:800;letter-spacing:-.02em;margin:0}

.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-family:var(--av-font-body);font-weight:600;font-size:15px;text-decoration:none;border:0;cursor:pointer;box-sizing:border-box}
.btn-red{background:var(--av-red);color:var(--av-white)}.btn-red:hover{background:var(--av-red-hover);color:var(--av-white)}
/* contur pe fundal închis (Main, Mobil) */
.btn-line{background:transparent;color:var(--av-white);border:1px solid var(--av-line-muted)}.btn-line:hover{border-color:var(--av-white);color:var(--av-white)}
/* contur pe fundal deschis (în canvas tot .btn-line, în Contact / Serviciu) */
.btn-outline{background:transparent;color:var(--av-text);border:1px solid var(--av-graphite)}.btn-outline:hover{background:var(--av-graphite);color:var(--av-white)}
.btn-dark{background:var(--av-graphite);color:var(--av-white)}.btn-dark:hover{background:#000000;color:var(--av-white)}

.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:13px;font-weight:600;color:var(--av-text)}
.field input,.field select,.field textarea{border:1px solid var(--av-field-border);background:var(--av-white);padding:0 12px;font-family:var(--av-font-body);font-size:15px;color:var(--av-text);border-radius:0;box-sizing:border-box}
.field input,.field select{height:46px}
.field textarea{padding:12px;min-height:110px;resize:vertical}

.row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--av-line);font-size:14px}

/* acordeon (întrebări frecvente) */
details{border-top:1px solid var(--av-line-2)}
details:last-child{border-bottom:1px solid var(--av-line-2)}
summary{cursor:pointer;list-style:none;padding:22px 0;font-family:var(--av-font-display);font-weight:700;font-size:19px;display:flex;justify-content:space-between;gap:24px;color:var(--av-text)}
summary::-webkit-details-marker{display:none}

/* text doar pentru cititoare de ecran (folosit și de nucleul WP) */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:var(--av-white);clip:auto!important;clip-path:none;color:var(--av-text);display:block;height:auto;left:8px;padding:12px 16px;top:8px;width:auto;z-index:100000}

/* text cu variantă de telefon (Configurare temă → Acasă, „… pe telefon”): .av-doar-desktop peste 640 px,
   .av-doar-telefon sub; cea ascunsă are display:none, deci cititoarele de ecran o citesc doar pe cea vizibilă */
@media (min-width:640.02px){
  .av-doar-telefon{display:none}
}

/* ---------- Telefon (Mobil.dc.html) ---------- */

@media (max-width:640px){
  :root{--av-gutter:16px}
  .hide-sm,.av-doar-desktop{display:none}
  .mono{font-size:11px}
  .btn{justify-content:center;min-height:50px;padding:0 18px;font-size:16px}
  .field label{font-size:14px}
  .field input,.field select{height:50px}
  .field input,.field select,.field textarea{font-size:16px}
  summary{padding:18px 0;font-size:17px;gap:16px}
}
