/* Baza comună a site-urilor NOIDEEA (noideea.ro, mobilacumvreitu.ro) — scrisă de noi, fără biblioteci.
   Culorile, fonturile, razele și straturile vin din variabilele temei fiecărui site (site.css):
   --c-*, --font-*, --radius-sm/md/lg, --z-dropdown/--z-modal/--z-toast. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--c-text);background:var(--c-bg);
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
img{display:block}
p img,li img,a img{display:inline-block}
a{color:var(--c-link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;color:var(--c-heading);text-wrap:balance;margin:0 0 .6em}
p{margin:0 0 1em}
p,li{text-wrap:pretty}
table{border-collapse:collapse;width:100%}
th,td{padding:.6em .8em;border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top}
hr{border:0;border-top:1px solid var(--c-line);margin:2rem 0}
:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px;border-radius:var(--radius-sm)}
.nw{white-space:nowrap}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.salt{position:absolute;left:1rem;top:-100px;z-index:var(--z-toast);background:var(--c-text);color:var(--c-bg);padding:.7rem 1rem;border-radius:var(--radius-md);font-weight:600;text-decoration:none}
.salt:focus{top:1rem}
.ic{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.2em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* antet + navigație (structura; aspectul în site.css) */
.antet{position:sticky;top:0;z-index:var(--z-dropdown)}
.antet-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:var(--latime);margin:0 auto;padding:.75rem var(--gutter,1.25rem)}
.logo{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.logo img{height:var(--logo-h);width:auto}
.nav{display:flex;align-items:center}
.nav ul{list-style:none;margin:0;padding:0}
.nav>ul{display:flex;align-items:center;gap:.25rem}
.nav a,.nav summary{display:block;padding:.55rem .8rem;text-decoration:none;color:inherit;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap}
.nav summary{list-style:none;display:flex;align-items:center;gap:.35rem}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:"";width:.45em;height:.45em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.nav details[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.nav details{position:relative}
.nav details ul{position:absolute;top:calc(100% + .4rem);left:0;min-width:220px;padding:.4rem;border-radius:var(--radius-lg);z-index:var(--z-dropdown)}
.nav [aria-current="page"]{font-weight:700}
.meniu-buton{display:none;align-items:center;gap:.5rem;background:none;border:1px solid currentColor;color:inherit;font:inherit;font-weight:600;
  padding:.5rem .9rem;border-radius:var(--radius-md);cursor:pointer}
.meniu-buton .linii{width:18px;height:2px;background:currentColor;position:relative;display:block}
.meniu-buton .linii::before,.meniu-buton .linii::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .2s}
.meniu-buton .linii::before{top:-6px}.meniu-buton .linii::after{top:6px}
@media (max-width:980px){
  .meniu-buton{display:inline-flex}
  .nav{position:fixed;inset:var(--antet-h) 0 0 0;display:none;overflow-y:auto;padding:1rem 1.25rem 3rem}
  .antet.deschis .nav{display:block}
  /* backdrop-filter face din antet referința lui position:fixed: panoul rămânea de 64 px în loc de tot ecranul (CEO nr. 2324-2325, 2 nov; proba: unelte/meniu.js) */
  .antet.deschis{-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav>ul{flex-direction:column;align-items:stretch;gap:0}
  .nav a,.nav summary{padding:.9rem .5rem;font-size:1.1rem;border-radius:0;border-bottom:1px solid var(--c-line)}
  .nav details ul{position:static;min-width:0;padding:0 0 .5rem 1rem;box-shadow:none;background:none}
  .antet.deschis .meniu-buton .linii{background:transparent}
  .antet.deschis .meniu-buton .linii::before{transform:translateY(6px) rotate(45deg)}
  .antet.deschis .meniu-buton .linii::after{transform:translateY(-6px) rotate(-45deg)}
}

/* conținut; pe paginile scurte subsolul rămâne jos (fără bandă goală sub el) */
body{min-height:100dvh;display:flex;flex-direction:column}
main{display:block;flex:1 0 auto}
.continut{max-width:var(--latime);margin:0 auto;padding:0 var(--gutter,1.25rem)}
/* documentele au aceeași muchie stângă ca antetul; doar coloana de text e îngustă */
.document{max-width:var(--latime);margin:0 auto;padding:2.5rem var(--gutter,1.25rem) 5rem}
.document>*{max-width:48rem}
.document h2{margin-top:2rem}
.document ul,.document ol{padding-left:1.3rem}
.document li{margin:.3rem 0}
.firimituri{max-width:var(--latime);margin:0 auto;padding:1.25rem var(--gutter,1.25rem) 0;font-size:.85rem;color:var(--c-muted)}
.firimituri ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.firimituri li+li::before{content:"/";margin-right:.4rem;opacity:.5}
.firimituri a{color:inherit}

/* formular de contact */
.formular{display:grid;gap:1rem;max-width:640px}
.formular .camp{display:grid;gap:.35rem}
.formular label{font-weight:600;font-size:.92rem}
.formular .optional{font-weight:400;color:var(--c-muted)}
.formular input,.formular textarea{font:inherit;width:100%;padding:.8rem .95rem;border:1px solid var(--c-line-strong);border-radius:var(--radius-md);background:var(--c-camp);color:var(--c-text)}
.formular textarea{min-height:150px;resize:vertical}
.formular input:focus,.formular textarea:focus{border-color:var(--c-focus);outline:2px solid var(--c-focus);outline-offset:1px}
.formular .capcana{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.formular .nota{font-size:.85rem;color:var(--c-muted);margin:0}
.formular button{justify-self:start;font:inherit;font-weight:700;cursor:pointer;border:0}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* pagina „Harta site-ului” (/harta-site/, CEO nr. 2304): XML-ul rămâne pentru motoare */
.document .harta-lista{list-style:none;margin:0 0 1rem;padding:0;display:grid}
.document .harta-lista li{display:grid;gap:.6rem;margin:0;padding:.95rem 0;border-top:1px solid var(--c-line)}
.document .harta-lista li::before{display:none}
.document .harta-lista li:last-child{border-bottom:1px solid var(--c-line)}
.harta-adresa{font-weight:500;overflow-wrap:anywhere}
.harta-poze{display:flex;flex-wrap:wrap;gap:.4rem}
.harta-poze img{width:96px;height:72px;object-fit:cover;background:var(--c-line)}

/* accesibilitatea (CEO nr. 2305, ca pe StatusDosar): butonul plutitor, panoul și efectele alegerilor (site.js +
   a11y-start.js, care pune clasele pe <html> înainte de prima afișare). Culorile modului „contrast ridicat” stau în tema
   fiecărui site (`html.a11y-contrast`). */
.a11y-buton{position:fixed;right:1rem;bottom:1rem;z-index:var(--z-modal);width:3.25rem;height:3.25rem;display:grid;place-items:center;padding:0;
  border:2px solid var(--c-bg);border-radius:50%;background:var(--c-heading);color:var(--c-bg);cursor:pointer}
.a11y-buton svg{width:1.7rem;height:1.7rem;fill:currentColor}
.a11y-panou{position:fixed;right:1rem;bottom:5rem;z-index:var(--z-modal);width:min(22rem,calc(100vw - 2rem));max-height:calc(100dvh - 7rem);overflow:auto;
  margin:0;padding:1.25rem;border:1px solid var(--c-line-strong);border-radius:var(--radius-lg);background:var(--c-bg);color:var(--c-text)}
.a11y-panou[hidden]{display:none}
.a11y-panou h2{font-size:1.3rem;margin:0 0 .35rem}
.a11y-panou p{font-size:.88rem;color:var(--c-muted);margin:0 0 1rem}
.a11y-optiuni{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.a11y-optiuni button,.a11y-jos button{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:2.9rem;padding:.6rem .9rem;
  font:inherit;font-size:.95rem;text-align:left;color:var(--c-text);background:transparent;border:1px solid var(--c-line-strong);border-radius:var(--radius-md);cursor:pointer}
.a11y-optiuni button[aria-pressed="true"]{background:var(--c-heading);color:var(--c-bg);border-color:var(--c-heading)}
.a11y-stare{font-size:.8rem;white-space:nowrap}
.a11y-jos{display:flex;gap:.6rem;margin-top:1rem}
.a11y-jos button{justify-content:center;font-size:.88rem}
@media print{.a11y-buton,.a11y-panou{display:none!important}}
html.a11y-text-1{font-size:112.5%}
html.a11y-text-2{font-size:125%}
html.a11y-text-3{font-size:140%}
html.a11y-legaturi a{text-decoration:underline!important;text-decoration-thickness:2px!important}
html.a11y-spatiere body{letter-spacing:.04em;word-spacing:.12em}
html.a11y-spatiere p,html.a11y-spatiere li{line-height:2!important}
html.a11y-fara-animatii *,html.a11y-fara-animatii *::before,html.a11y-fara-animatii *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media print{.antet,.subsol,.meniu-buton{display:none!important}body{color:var(--c-text);background:var(--c-bg)}}
