/* SenzoTech Systems — aceleași culori și același aranjament ca sistemesecuritateaek.ro
   bleumarin #091125, portocaliu #fca311, benzi gri închis, Roboto + Montserrat Alternates */

:root {
  --bleumarin: #091125;
  --bleumarin-2: #14213d;
  --portocaliu: #fca311;
  --portocaliu-inchis: #e85100;
  --auriu: #e9b44c;
  --banda: #3c3737;
  --banda-2: #3a3a3a;
  --cer: #6ec1e4;
  --text: #777777;
  --titlu: #242424;
  --inchis: #333333;
  --rosu: #d63c18;
  --subsol-jos: #02000f;
  --font: "Roboto", Arial, Helvetica, sans-serif;
  --font-alt: "Montserrat Alternates", "Roboto", Arial, sans-serif;
  --font-sigla: "Libre Baskerville", Georgia, "Times New Roman", serif;
  --font-erou: "Poppins", "Roboto", Arial, sans-serif;
  --latime: 1350px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; color-scheme: only light; }
body { margin: 0; font: 400 15px/1.7 var(--font); color: var(--text); background: #fff; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--portocaliu); text-decoration: none; }
a:hover { color: var(--portocaliu-inchis); }
h1, h2, h3 { margin: 0; color: var(--titlu); font-weight: 600; line-height: 1.25; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px dotted var(--portocaliu); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

.container { width: 100%; max-width: var(--latime); margin: 0 auto; padding: 0 24px; }
.ic { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.vizual-ascuns { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sari { position: absolute; left: 12px; top: -80px; z-index: 100; background: var(--portocaliu); color: #fff; padding: 10px 16px; font-weight: 500; }
.sari:focus { top: 12px; color: #fff; }

/* butoane */
.buton { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 3px; font: 600 16px/1.2 var(--font); padding: 14px 30px; transition: background-color .2s, color .2s; }
.buton--portocaliu { background: var(--portocaliu); color: #fff; font-size: 18px; padding: 19px 42px; }
.buton--portocaliu:hover { background: var(--portocaliu-inchis); color: #fff; }
.buton--inchis { background: var(--inchis); color: #fff; font-size: 15px; }
.buton--inchis:hover { background: var(--portocaliu); color: #fff; }
.buton--contur { background: none; color: var(--inchis); box-shadow: inset 0 0 0 1px #cfcfcf; }
.buton--contur:hover { color: var(--portocaliu-inchis); box-shadow: inset 0 0 0 1px var(--portocaliu); }

/* ---------- bara de sus ---------- */
.bara-sus { background: var(--bleumarin); font-size: 14px; font-weight: 600; }
.bara-sus__in { display: flex; align-items: center; gap: 34px; min-height: 50px; }
.bara-sus a, .bara-sus__item { display: inline-flex; align-items: center; gap: 8px; color: var(--portocaliu); }
.bara-sus a:hover { color: #fff; }
.bara-sus .ic { font-size: 20px; }
.bara-sus__harta .ic { font-size: 18px; }
.bara-sus__despartitor { width: 1px; height: 18px; background: rgba(255, 255, 255, .15); }
.bara-sus__slogan { margin-left: auto; color: #aeb6c6; font-weight: 400; letter-spacing: .06em; }

/* ---------- antet ---------- */
.antet-mijloc { background: var(--bleumarin); }
.antet-mijloc__in { display: flex; align-items: center; gap: 40px; min-height: 104px; padding-bottom: 12px; }
.sigla { display: flex; align-items: center; gap: 14px; margin-right: auto; color: #fff; }
.sigla:hover { color: #fff; }
.sigla img { width: 66px; height: 66px; border-radius: 4px; }
.sigla__nume { display: block; font: 700 30px/1 var(--font-sigla); }
.sigla__sub { display: block; margin-top: 7px; font: 400 13px/1.3 var(--font-sigla); letter-spacing: .02em; white-space: nowrap; color: #aeb6c6; }
.contact-rapid { display: flex; align-items: center; gap: 18px; color: #fff; line-height: 1.4; }
.contact-rapid .ic { font-size: 52px; color: var(--portocaliu); stroke-width: 1.4; }
.contact-rapid b { display: block; font-size: 16px; font-weight: 600; color: #fff; }
.contact-rapid__val { display: block; font-size: 17px; color: var(--portocaliu); }
.contact-rapid:hover b { color: var(--portocaliu); }
.antet-tel, .meniu-buton { display: none; }

/* ---------- meniu ---------- */
.meniu { background: #fff; position: relative; z-index: 20; }
.meniu__in { display: flex; align-items: center; min-height: 72px; }
.meniu__lista { display: flex; align-items: center; }
.meniu__lista > li { position: relative; display: flex; align-items: center; }
.meniu__lista > li + li::before { content: ""; width: 1px; height: 20px; background: #8d8d8d; }
.meniu__lista > li > a { position: relative; display: flex; align-items: center; gap: 8px; padding: 22px 30px; color: #6b6b6b; font-size: 18px; font-weight: 700; }
.meniu__lista > li:first-child > a { padding-left: 0; }
.meniu__lista > li > a::after { content: ""; position: absolute; left: 30px; right: 30px; bottom: 12px; height: 3px; background: var(--portocaliu); transform: scaleX(0); transition: transform .2s; }
.meniu__lista > li:first-child > a::after { left: 0; }
.meniu__lista > li > a:hover, .meniu__lista > li > a.activ { color: var(--portocaliu); }
.meniu__lista > li > a:hover::after, .meniu__lista > li > a.activ::after { transform: scaleX(1); }
.meniu__lista .ic { font-size: 14px; stroke-width: 2.4; }
.submeniu { position: absolute; top: calc(100% - 6px); left: 12px; min-width: 270px; padding: 8px 0; background: #fff; border-top: 3px solid var(--portocaliu); box-shadow: 0 14px 34px rgba(9, 17, 37, .16); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s; }
.are-sub:hover .submeniu, .are-sub:focus-within .submeniu { opacity: 1; visibility: visible; transform: none; }
.submeniu a { display: block; padding: 10px 24px; color: #555; font-size: 14px; font-weight: 600; }
.submeniu a:hover { color: var(--portocaliu-inchis); background: #fbf7ee; }
.meniu__tel { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--inchis); font-weight: 600; }
.meniu__tel .ic { color: var(--portocaliu); font-size: 18px; }

/* ---------- erou (banner) ---------- */
.erou { padding: 52px 0 0; }
.erou__cadru { position: relative; display: flex; align-items: center; min-height: 500px; overflow: hidden; background: #1d2433; }
.erou__poza { position: absolute; top: 0; right: 0; width: 64%; height: 100%; object-fit: cover; object-position: 62% 45%; }
.erou__cadru::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #1d2433 0%, #1d2433 36%, rgba(29, 36, 51, .88) 45%, rgba(29, 36, 51, .4) 62%, rgba(29, 36, 51, .08) 100%); }
.erou__val { position: absolute; left: 0; bottom: 0; z-index: 1; width: 62%; height: 130px; pointer-events: none; }
.erou__val path { fill: none; stroke: var(--auriu); stroke-width: 1.2; stroke-dasharray: .5 6; stroke-linecap: round; opacity: .55; }
.erou__text { position: relative; z-index: 2; max-width: 740px; padding: 56px 54px 60px; }
.erou__supra { margin-bottom: 20px; color: var(--auriu); font: 300 19px/1.4 var(--font-erou); letter-spacing: .16em; text-transform: uppercase; }
.erou h1 { color: #fff; font-family: var(--font-erou); font-size: 38px; line-height: 1.4; font-weight: 600; text-transform: uppercase; }
.erou__r1, .erou__r2 { display: block; }
.erou__r2 { font-weight: 500; }
.erou__linie { display: block; width: 50px; height: 2px; margin: 28px 0; background: var(--auriu); }
.erou__iconite { display: flex; margin-bottom: 36px; }
.erou__iconite li { display: flex; align-items: center; gap: 12px; padding: 0 22px; border-left: 1px solid rgba(233, 180, 76, .5); color: #fff; font-family: var(--font-erou); font-size: 13.5px; line-height: 1.55; }
.erou__iconite li:first-child { padding-left: 0; border-left: 0; }
.erou__cerc { display: grid; place-items: center; width: 52px; height: 52px; border: 1.5px solid var(--auriu); border-radius: 50%; color: var(--auriu); }
.erou__cerc .ic { font-size: 26px; stroke-width: 1.4; }
.buton-pastila { display: inline-flex; align-items: center; gap: 8px; padding: 11px 26px; border-radius: 30px; background: #fff; color: var(--portocaliu); font-size: 13px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; transition: background-color .2s, color .2s; }
.buton-pastila .ic { font-size: 14px; stroke-width: 2.4; }
.buton-pastila:hover { background: var(--portocaliu); color: #fff; }

/* ---------- despre ---------- */
.despre { padding: 34px 0 74px; }
.despre__grila { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.despre__cadru {
  --l: #3a3a3a;
  position: relative; display: grid; place-items: center; width: min(100%, 520px); aspect-ratio: 520 / 420; margin: 0 auto;
  background:
    linear-gradient(var(--l), var(--l)) left top / 76px 1.5px no-repeat,
    linear-gradient(var(--l), var(--l)) left top / 1.5px 76px no-repeat,
    linear-gradient(var(--l), var(--l)) right top / 76px 1.5px no-repeat,
    linear-gradient(var(--l), var(--l)) right top / 1.5px 76px no-repeat,
    linear-gradient(var(--l), var(--l)) left bottom / 76px 1.5px no-repeat,
    linear-gradient(var(--l), var(--l)) left bottom / 1.5px 76px no-repeat,
    linear-gradient(var(--l), var(--l)) right bottom / 76px 1.5px no-repeat,
    linear-gradient(var(--l), var(--l)) right bottom / 1.5px 76px no-repeat;
}
.despre__cadru::after { content: ""; position: absolute; top: 30px; right: 34px; width: 20px; height: 20px; border-radius: 50%; background: var(--portocaliu); }
.despre__cadru img { width: 84%; border-radius: 14px; box-shadow: 0 18px 44px rgba(9, 17, 37, .16); }
.eticheta { margin-bottom: 14px; color: var(--portocaliu); font-size: 24px; font-weight: 600; }
.despre h2 { margin-bottom: 30px; color: #1f1f1f; font-size: 36px; }
.despre__lead { margin-bottom: 20px; color: #111; font-size: 19px; font-weight: 500; }
.despre__text p:not([class]) { font-size: 17px; line-height: 1.75; }
.principii { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; margin: 6px 0 34px; }
.principii li { position: relative; padding-left: 26px; color: #444; font-size: 15.5px; }
.principii li::before, .lista-bife li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 12px; height: 6px; border-left: 2px solid var(--portocaliu); border-bottom: 2px solid var(--portocaliu); transform: rotate(-45deg); }

/* ---------- banda cu file ---------- */
.banda-file { padding-top: 10px; background: var(--banda); }
.file { display: flex; justify-content: center; }
.file [role="tab"] { position: relative; margin-bottom: -1px; padding: 16px 26px 18px; border: 1px solid transparent; border-bottom: 0; background: none; color: #fff; font: 600 30px/1.2 var(--font-alt); }
.file [role="tab"][aria-selected="true"] { border-color: #dcdcdc; background: var(--banda); }
.file [role="tab"]:hover { color: var(--cer); }
.panou { border-top: 1px solid #dcdcdc; border-bottom: 1px solid #dcdcdc; }
.grila-file { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; padding: 38px 0 50px; }
.element-fila { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 6px 8px; border: 0; background: none; color: var(--cer); text-align: center; }
.element-fila .ic { font-size: 50px; stroke-width: 1.2; transition: transform .3s; }
.element-fila__titlu { font: 600 21px/1.45 var(--font-alt); }
.element-fila__desc { color: #c2bcbc; font-size: 13.5px; line-height: 1.5; }
.element-fila:hover .ic { transform: translateY(-5px); }
.element-fila:hover .element-fila__titlu { color: #fff; }

/* ---------- servicii (carusel) ---------- */
.servicii { padding: 58px 0 44px; }
.eticheta--centru { text-align: center; text-transform: uppercase; font-size: 22px; margin-bottom: 8px; }
.titlu-centru { margin-bottom: 30px; color: var(--inchis); font-size: 30px; text-align: center; }
.carusel { position: relative; max-width: 1440px; margin: 0 auto; }
.carusel__pista { display: flex; gap: 30px; padding: 0 38px 6px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 38px; scrollbar-width: none; }
.carusel__pista::-webkit-scrollbar { display: none; }
.card-poza { position: relative; flex: 0 0 calc((100% - 90px) / 3.25); min-width: 260px; aspect-ratio: 3 / 4; overflow: hidden; background: #111; scroll-snap-align: start; }
.card-poza img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.card-poza .poz-acces { object-position: 52% center; }
.card-poza .poz-bloc { object-position: 70% center; }
.card-poza .poz-birouri { object-position: 68% center; }
.card-poza::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9, 17, 37, .05) 25%, rgba(9, 17, 37, .45) 50%, rgba(16, 32, 78, .93) 100%); }
.card-poza__text { position: absolute; z-index: 1; left: 30px; right: 30px; top: 44%; }
.card-poza h3 { color: #fff; font-size: 23px; font-weight: 600; line-height: 1.35; text-shadow: 0 1px 10px rgba(0, 0, 0, .45); }
.card-poza p { margin: 14px 0 16px; color: #d6dcea; font-size: 15.5px; line-height: 1.6; opacity: 0; transform: translateY(10px); transition: opacity .3s, transform .3s; }
.card-poza__buton { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: none; color: var(--portocaliu); font-size: 15px; font-weight: 500; }
.card-poza__buton::before { content: ""; position: absolute; inset: 0; z-index: 2; }
.card-poza__buton .ic { font-size: 14px; stroke-width: 2.4; }
.card-poza:hover img { transform: scale(1.05); }
.card-poza:hover p, .card-poza:focus-within p { opacity: 1; transform: none; }
.card-poza:focus-within { outline: 2px dotted var(--portocaliu); outline-offset: 3px; }
.card-poza__buton:focus-visible { outline: none; }
.carusel__sageata { position: absolute; top: calc(50% - 40px); z-index: 3; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--inchis); box-shadow: 0 4px 16px rgba(0, 0, 0, .18); }
.carusel__sageata:hover { background: var(--portocaliu); color: #fff; }
.carusel__sageata .ic { font-size: 20px; stroke-width: 2.2; }
.carusel__sageata--st { left: 14px; }
.carusel__sageata--st .ic { transform: scaleX(-1); }
.carusel__sageata--dr { right: 14px; }
.carusel__puncte { display: flex; justify-content: center; gap: 10px; margin-top: 22px; min-height: 9px; }
.carusel__puncte button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #c4c4c4; }
.carusel__puncte button[aria-current="true"] { background: #555; }

/* ---------- avantaje (banda gri) ---------- */
.avantaje { padding: 12px 0; background: var(--banda-2); }
.grila-avantaje { display: grid; grid-template-columns: repeat(4, 1fr); }
.grila-avantaje li { display: flex; gap: 16px; padding: 18px 22px; border-left: 1px solid rgba(255, 255, 255, .2); }
.grila-avantaje li:nth-child(4n + 1) { border-left: 0; }
.grila-avantaje li:nth-child(-n + 4) { border-bottom: 1px solid rgba(255, 255, 255, .2); }
.grila-avantaje .ic { font-size: 46px; color: var(--portocaliu); stroke-width: 1.3; }
.grila-avantaje b { display: block; color: #fff; font-size: 20px; font-weight: 600; text-transform: uppercase; letter-spacing: -.03em; }
.grila-avantaje span { display: block; margin-top: 8px; color: #fff; font-size: 19px; font-weight: 600; line-height: 1.45; }

/* ---------- oferta (formular) ---------- */
.oferta { padding: 40px 0 56px; }
.oferta__grila { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.ilustratie { width: 100%; max-width: 600px; height: auto; }
.ilus-inel { fill: none; stroke: var(--bleumarin-2); stroke-width: 2; stroke-dasharray: 12 12; }
.ilus-nod { fill: var(--bleumarin-2); }
.ilus-ic { color: #fff; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.ilus-punct { fill: var(--portocaliu); }
.oferta h2 { color: var(--portocaliu); font-size: 36px; text-align: center; }
.oferta__sub { margin: 16px 0 38px; color: #111; font-size: 21px; font-weight: 600; line-height: 1.45; text-align: center; }
.formular { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 20px; }
.camp { display: flex; flex-direction: column; gap: 9px; }
.camp--lat, .acord, .formular__jos, .formular__mesaj { grid-column: 1 / -1; }
.camp label { color: #222; font-size: 14px; font-weight: 600; }
.obl { color: var(--rosu); }
.camp input, .camp select, .camp textarea { width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #d6d6d6; border-radius: 0; background: #fff; color: #333; font: 400 15px/1.5 var(--font); }
.camp select { appearance: none; padding-right: 36px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; }
.camp textarea { min-height: 190px; resize: vertical; }
.camp input:focus, .camp select:focus, .camp textarea:focus { outline: none; border-color: var(--portocaliu); box-shadow: 0 0 0 3px rgba(252, 163, 17, .2); }
.camp__eroare { color: var(--rosu); font-size: 13px; }
.camp__eroare:empty { display: none; }
.are-eroare input, .are-eroare select, .are-eroare textarea { border-color: var(--rosu); }
.acord { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 10px; color: #333; font-size: 14px; }
.acord input { width: 16px; height: 16px; margin: 3px 0 0; accent-color: var(--portocaliu); }
.acord label { flex: 1; }
.acord .camp__eroare { flex-basis: 100%; padding-left: 26px; }
.capcana { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.buton-trimite { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 300px; max-width: 100%; padding: 13px 0; border: 0; background: var(--portocaliu); color: #fff; font-size: 20px; font-weight: 600; text-transform: uppercase; transition: background-color .2s; }
.buton-trimite:hover { background: var(--portocaliu-inchis); }
.buton-trimite:disabled { opacity: .6; cursor: progress; }
.buton-trimite .ic { font-size: 22px; }
.formular__mesaj { padding: 14px 18px; border-left: 3px solid var(--portocaliu); background: #fbf6ec; color: #333; font-size: 15px; }
.formular__mesaj--ok { border-color: #3c9a49; background: #eef7ef; }
.formular__mesaj--eroare { border-color: var(--rosu); background: #fbefec; }
.formular__mesaj:empty { display: none; }

/* ---------- banda info ---------- */
.banda-info { background: var(--banda-2); }
.banda-info ul { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1440px; margin: 0 auto; }
.banda-info li { display: flex; align-items: center; gap: 16px; padding: 14px 20px; border-left: 1px solid rgba(255, 255, 255, .55); color: #fff; font-size: 22px; font-weight: 600; letter-spacing: -.02em; }
.banda-info li:first-child { border-left: 0; }
.banda-info li:last-child { border-left-color: var(--portocaliu); }
.banda-info a { color: #fff; }
.banda-info a:hover { color: var(--portocaliu); }
.banda-info .ic { font-size: 44px; stroke-width: 1.2; }

/* ---------- metoda (ca testimonialele) ---------- */
.metoda { padding: 66px 0 34px; }
.titlu-cer { color: var(--cer); font: 600 26px/1.3 var(--font-alt); }
.metoda__sub { margin: 26px 0 32px; color: #555; font-size: 14px; }
.grila-pasi { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.pas { display: flex; flex-direction: column; padding: 30px 26px 34px; background: #fff; box-shadow: 0 0 7px rgba(0, 0, 0, .12); text-align: center; }
.pas p:not(.pas__nr) { flex: 1; }
.pas__ic { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto 22px; border-radius: 50%; background: var(--bleumarin); color: var(--portocaliu); }
.pas__ic .ic { font-size: 36px; stroke-width: 1.4; }
.pas__nr { margin-bottom: 14px; color: #efb520; font-size: 15px; font-weight: 700; letter-spacing: .2em; }
.pas p { margin: 0; color: var(--text); font-size: 17px; line-height: 1.7; }
.pas h3 { margin-top: 22px; color: #222; font-size: 17px; font-weight: 500; text-transform: uppercase; }

/* ---------- contexte (ca peretele de sigle) ---------- */
.contexte { padding: 40px 0 74px; }
.contexte__titlu { margin-bottom: 30px; color: #9a9a9a; font-size: 14px; font-weight: 500; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
.contexte__lista { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; }
.contexte__lista li { display: flex; flex-direction: column; align-items: center; gap: 12px; color: #8b9099; font-size: 15px; font-weight: 500; line-height: 1.35; text-align: center; transition: color .2s; }
.contexte__lista .ic { font-size: 56px; stroke-width: 1.1; }
.contexte__lista li:hover { color: var(--bleumarin); }
.contexte__nota { margin: 30px 0 0; color: #a3a3a3; font-size: 13px; text-align: center; }

/* ---------- subsol ---------- */
.subsol { padding: 56px 0 50px; background: radial-gradient(ellipse 60% 120% at 8% 40%, #1b2542 0%, var(--bleumarin) 70%); color: #fff; }
.subsol__grila { display: grid; grid-template-columns: 1fr 1fr 1.05fr; gap: 44px; }
.subsol .sigla { display: inline-flex; margin-bottom: 30px; }
.subsol__date { margin-bottom: 26px; font-size: 16px; line-height: 1.8; }
.subsol__date b { font-weight: 600; }
.subsol h2 { margin-bottom: 22px; color: #fff; font-size: 22px; font-weight: 600; }
.subsol__linkuri a { font-size: 18px; line-height: 1.7; }
.subsol__linkuri a:hover { color: #fff; }
.subsol__contact p { margin: 0; font-size: 18px; line-height: 1.6; }
.subsol__contact .et { color: var(--portocaliu); }
.subsol__contact a { color: var(--portocaliu); }
.subsol__contact a:hover { color: #fff; }
.harta { display: grid; place-items: center; width: 100%; max-width: 430px; aspect-ratio: 43 / 20; margin-top: 12px; overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .55) 2px, transparent 2px) 0 0 / 46px 46px,
    linear-gradient(rgba(255, 255, 255, .55) 2px, transparent 2px) 0 0 / 46px 46px,
    linear-gradient(35deg, transparent 47%, #c7d3e3 47%, #c7d3e3 53%, transparent 53%),
    #e7ecf2; }
.harta__buton { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 0; background: #fff; color: #1a73e8; font-size: 15px; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.harta__buton .ic { color: var(--rosu); font-size: 20px; }
.harta__nota { display: block; margin-top: 6px; color: #8d97a9; font-size: 12.5px; }
.harta iframe { width: 100%; height: 100%; border: 0; }
.subsol-jos { padding: 12px 0; background: var(--subsol-jos); color: #fff; font-size: 14px; }
.subsol-jos p { margin: 0; }

/* buton sus */
.sus { position: fixed; right: 20px; bottom: 20px; z-index: 40; display: grid; place-items: center; width: 46px; height: 46px; border: 0; border-radius: 3px; background: var(--portocaliu); color: #fff; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s, transform .25s, visibility .25s; }
.sus.vizibil { opacity: 1; visibility: visible; transform: none; }
.sus .ic { font-size: 20px; stroke-width: 2.2; transform: rotate(-90deg); }
.sus:hover { background: var(--portocaliu-inchis); }

/* ---------- ferestre de detalii ---------- */
.detalii { width: calc(100% - 32px); max-width: 780px; max-height: calc(100% - 48px); padding: 0; border: 0; color: var(--text); box-shadow: 0 30px 80px rgba(0, 0, 0, .45); }
.detalii::backdrop { background: rgba(9, 17, 37, .74); }
.detalii__cap { position: relative; padding: 30px 84px 26px 36px; background: var(--bleumarin); border-bottom: 4px solid var(--portocaliu); }
.detalii__eticheta { margin: 0 0 6px; color: var(--portocaliu); font-size: 13px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.detalii h2 { color: #fff; font-size: 30px; }
.detalii__lead { margin: 12px 0 0; color: #cfd6e3; font-size: 17px; line-height: 1.6; }
.detalii__inchide { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .3); background: none; color: #fff; }
.detalii__inchide:hover { border-color: var(--portocaliu); color: var(--portocaliu); }
.detalii__inchide .ic { font-size: 20px; stroke-width: 2; }
.detalii__poza { width: 100%; height: 280px; object-fit: cover; }
.detalii__poza--intreaga { height: auto; max-height: 300px; object-fit: contain; background: #eceff3; }
.detalii__corp { padding: 8px 36px 34px; }
.detalii h3 { display: flex; align-items: center; gap: 12px; margin: 24px 0 8px; color: #222; font-size: 15px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.detalii h3::before { content: ""; width: 20px; height: 2px; background: var(--portocaliu); }
.detalii__corp p { margin: 0; color: #555; font-size: 16px; }
.lista-bife li { position: relative; margin: 7px 0; padding-left: 28px; color: #444; font-size: 16px; }
.detalii__nota { margin-top: 22px !important; padding: 12px 16px; border-left: 3px solid var(--portocaliu); background: #fbf6ec; font-size: 14.5px !important; }
.detalii__butoane { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.detalii__butoane .buton--portocaliu { padding: 14px 30px; font-size: 16px; }

/* ---------- ecrane mai mici ---------- */
@media (max-width: 1240px) {
  .bara-sus__slogan { display: none; }
  .antet-mijloc__in { gap: 28px; }
  .contact-rapid .ic { font-size: 42px; }
  .meniu__lista > li > a { padding: 22px 20px; }
  .meniu__lista > li > a::after { left: 20px; right: 20px; }
  .erou h1 { font-size: 34px; }
  .grila-avantaje b { font-size: 18px; }
  .grila-avantaje span { font-size: 17px; }
  .banda-info li { font-size: 19px; }
  .element-fila__titlu { font-size: 18px; }
}

@media (max-width: 1024px) {
  .contact-rapid--scrie, .meniu__tel { display: none; }
  .erou__poza { width: 72%; }
  .grila-file { grid-template-columns: repeat(3, 1fr); row-gap: 30px; }
  .card-poza { flex-basis: calc((100% - 60px) / 2.3); }
  .grila-avantaje { grid-template-columns: repeat(2, 1fr); }
  .grila-avantaje li:nth-child(n) { border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
  .grila-avantaje li:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, .2); }
  .grila-avantaje li:nth-last-child(-n + 2) { border-bottom: 0; }
  .grila-pasi { grid-template-columns: repeat(2, 1fr); }
  .contexte__lista { grid-template-columns: repeat(3, 1fr); row-gap: 36px; }
  .banda-info ul { grid-template-columns: 1fr; }
  .banda-info li { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .25); }
  .banda-info li:first-child { border-top: 0; }
}

@media (max-width: 900px) {
  .bara-sus { display: none; }
  .antet-mijloc__in { min-height: 78px; gap: 12px; padding-top: 10px; padding-bottom: 10px; }
  .sigla img { width: 52px; height: 52px; }
  .sigla__nume { font-size: 24px; }
  .sigla__sub { margin-top: 4px; font-size: 11px; letter-spacing: .01em; }
  .sigla__rand { display: block; }
  .contact-rapid, .antet-mijloc .buton--portocaliu { display: none; }
  .antet-tel { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255, 255, 255, .3); color: var(--portocaliu); }
  .antet-tel .ic { font-size: 22px; }
  .meniu-buton { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .3); background: none; color: #fff; font-size: 15px; font-weight: 600; }
  .meniu-buton .ic { font-size: 22px; }
  .meniu { display: none; border-bottom: 3px solid var(--portocaliu); box-shadow: 0 12px 24px rgba(0, 0, 0, .12); }
  .meniu.deschis { display: block; }
  .meniu__in { display: block; padding-top: 4px; padding-bottom: 14px; }
  .meniu__lista { display: block; }
  .meniu__lista > li { display: block; border-top: 1px solid #eee; }
  .meniu__lista > li:first-child { border-top: 0; }
  .meniu__lista > li + li::before, .meniu__lista > li > a::after, .meniu__lista > li > a .ic { display: none; }
  .meniu__lista > li > a { padding: 14px 0; font-size: 17px; }
  .submeniu { position: static; min-width: 0; padding: 0 0 10px 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .submeniu a { padding: 7px 0; color: #808080; }
  .submeniu a:hover { background: none; }
  .erou { padding-top: 24px; }
  .despre__grila, .oferta__grila { grid-template-columns: 1fr; gap: 40px; }
  .despre__cadru { width: min(100%, 440px); }
  .ilustratie { display: block; max-width: 360px; margin: 0 auto; }
  .subsol__grila { grid-template-columns: 1fr; gap: 36px; }
  .file [role="tab"] { font-size: 22px; padding: 14px 16px 16px; }
}

@media (max-width: 640px) {
  .container { padding: 0 16px; }
  .erou .container { padding: 0; }
  .erou { padding-top: 0; }
  .erou__cadru { flex-direction: column; align-items: stretch; min-height: 0; }
  .erou__poza { position: relative; width: 100%; height: 230px; object-position: 70% 40%; }
  .erou__cadru::before { background: linear-gradient(180deg, rgba(29, 36, 51, 0) 0, rgba(29, 36, 51, 0) 150px, #1d2433 232px); }
  .erou__val { width: 100%; }
  .erou__text { padding: 8px 20px 40px; }
  .erou__supra { font-size: 13px; letter-spacing: .12em; }
  .erou h1 { font-size: 24px; }
  .erou__linie { margin: 20px 0; }
  .erou__iconite { flex-direction: column; gap: 12px; }
  .erou__iconite li { padding: 0; border-left: 0; }
  .erou__iconite br { display: none; }
  .eticheta { font-size: 20px; }
  .despre h2, .oferta h2 { font-size: 28px; }
  .despre__lead { font-size: 17px; }
  .despre__text p:not([class]) { font-size: 16px; }
  .principii { grid-template-columns: 1fr; }
  .file { padding: 0 8px; }
  .file [role="tab"] { flex: 1; padding: 12px 8px 13px; font-size: 15.5px; }
  .grila-file { grid-template-columns: repeat(2, 1fr); padding: 30px 0 38px; }
  .element-fila .ic { font-size: 42px; }
  .element-fila__titlu { font-size: 16px; }
  .element-fila__desc { font-size: 12.5px; }
  .titlu-centru { font-size: 24px; }
  .carusel__pista { gap: 16px; padding: 0 16px 6px; scroll-padding: 0 16px; }
  .card-poza { flex-basis: 82%; min-width: 0; }
  .card-poza p { opacity: 1; transform: none; }
  .card-poza__text { top: auto; bottom: 26px; left: 22px; right: 22px; }
  .carusel__sageata { display: none; }
  .grila-avantaje { grid-template-columns: 1fr; }
  .grila-avantaje li:nth-child(n) { border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); }
  .grila-avantaje li:last-child { border-bottom: 0; }
  .oferta__sub { font-size: 18px; }
  .formular { grid-template-columns: 1fr; }
  .buton-trimite { width: 100%; }
  .banda-info li { font-size: 18px; padding: 12px 16px; }
  .banda-info .ic { font-size: 36px; }
  .grila-pasi { grid-template-columns: 1fr; }
  .contexte__lista { grid-template-columns: repeat(2, 1fr); }
  .detalii { width: 100%; max-width: none; max-height: 100%; height: 100%; }
  .detalii__cap { padding: 22px 70px 20px 20px; }
  .detalii h2 { font-size: 24px; }
  .detalii__inchide { top: 12px; right: 12px; }
  .detalii__poza { height: 200px; }
  .detalii__corp { padding: 4px 20px 28px; }
  .detalii__butoane .buton { width: 100%; }
}

@media (max-width: 400px) {
  .sigla { gap: 10px; }
  .sigla img { width: 44px; height: 44px; }
  .sigla__nume { font-size: 20px; }
  .sigla__sub { font-size: 10px; letter-spacing: 0; }
  .erou h1 { font-size: 22px; }
  .meniu-buton { padding: 0 12px; }
  .meniu-buton__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

@media (hover: none) {
  .card-poza p { opacity: 1; transform: none; }
}
