/* ==========================================================================
   AmanetOnline - foaia de stil a site-ului
   Fara framework-uri, fara resurse externe. Fonturile sunt gazduite local.
   Cuprins: 1. Fonturi  2. Culori (light / dark)  3. Baza  4. Antet  5. Elemente comune
            6. Prima pagina  7. Pagini secundare  8. Subsol  9. Miscare  10. Tiparire
   ========================================================================== */

/* 1. Fonturi ---------------------------------------------------------------- */
@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal; font-weight: 200 800; font-display: swap;
  src: url("../fonts/bricolage-grotesque-latin-ext-wght-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: "Bricolage Grotesque";
  font-style: normal; font-weight: 200 800; font-display: swap;
  src: url("../fonts/bricolage-grotesque-latin-wght-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: "Onest";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/onest-latin-ext-wght-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: "Onest";
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/onest-latin-wght-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;
}

/* 2. Culori ----------------------------------------------------------------- */
:root {
  --albastru-marca: #0064c8;            /* culoarea logo-ului */
  --font-titlu: "Bricolage Grotesque", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --font-text: "Onest", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --latime: 75rem;
  --margine: clamp(1.15rem, 4vw, 2.5rem);
  --h-antet: 4.75rem;
  --raza: 1.15rem;
  --raza-mica: .6rem;
}
:root,
:root[data-theme="light"] {
  color-scheme: light;
  --fond: #f5f8fc;
  --fond-ton: #e9f0f9;
  --suprafata: #ffffff;
  --cerneala: #0a1e3c;
  --text: #2c3e58;
  --text-slab: #5b6c86;
  --linie: #d3ddeb;
  --albastru: #0064c8;
  --albastru-apasat: #004f9f;
  --albastru-pal: #dcebfb;
  --aur: #d99a12;
  --aur-text: #8b5d00;
  --aur-pal: #fbf0d6;
  --logo: #0064c8;
  --seif: #082349;
  --seif-2: #0b3168;
  --umbra: 0 1px 2px rgba(10, 30, 60, .06), 0 12px 32px -12px rgba(10, 30, 60, .18);
  --antet-fond: rgba(245, 248, 252, .86);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --fond: #07111f;
  --fond-ton: #0b192c;
  --suprafata: #10223a;
  --cerneala: #f1f6fd;
  --text: #c3d0e3;
  --text-slab: #8ea1bb;
  --linie: #213752;
  --albastru: #5aaeff;
  --albastru-apasat: #86c3ff;
  --albastru-pal: #12305a;
  --aur: #f0b63a;
  --aur-text: #f3c561;
  --aur-pal: #2b2412;
  --logo: #ffffff;
  --seif: #0c2a57;
  --seif-2: #11408a;
  --umbra: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 34px -14px rgba(0, 0, 0, .6);
  --antet-fond: rgba(7, 17, 31, .84);
}

/* 3. Baza ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--h-antet) + .5rem);
}
body {
  margin: 0;
  background: var(--fond);
  color: var(--text);
  font-family: var(--font-text);
  font-size: 1.0625rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
h1, h2, h3 {
  font-family: var(--font-titlu);
  color: var(--cerneala);
  margin: 0;
  line-height: 1.08;
  letter-spacing: -.02em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.55rem, 6.4vw, 4.7rem); font-weight: 750; letter-spacing: -.035em; line-height: .98; }
h2 { font-size: clamp(1.85rem, 3.9vw, 2.9rem); font-weight: 700; letter-spacing: -.03em; }
h3 { font-size: 1.2rem; font-weight: 650; line-height: 1.2; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
ul, dl, dd, figure, blockquote { margin: 0; padding: 0; }
ul { list-style: none; }
a { color: var(--albastru); text-underline-offset: .18em; text-decoration-thickness: .08em; }
a:hover { color: var(--albastru-apasat); }
img, svg { max-width: 100%; }
strong { color: var(--cerneala); font-weight: 650; }
:focus-visible { outline: 3px solid var(--aur); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--albastru-marca); color: #fff; }

.cadru { width: 100%; max-width: calc(var(--latime) + 2 * var(--margine)); margin-inline: auto; padding-inline: var(--margine); }
.ascuns { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.sari { position: absolute; left: 1rem; top: -4rem; z-index: 200; background: var(--albastru-marca); color: #fff; padding: .6rem 1rem; border-radius: var(--raza-mica); text-decoration: none; }
.sari:focus { top: 1rem; color: #fff; }

.ic { width: 1.5rem; height: 1.5rem; flex: none; }

/* 4. Antet ------------------------------------------------------------------ */
.antet {
  position: sticky; top: 0; z-index: 100;
  background: var(--antet-fond);
  -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .25s, box-shadow .25s;
}
.antet.micsorat { border-bottom-color: var(--linie); box-shadow: 0 8px 24px -18px rgba(10, 30, 60, .45); }
.antet-in {
  max-width: calc(var(--latime) + 2 * var(--margine)); margin-inline: auto; padding-inline: var(--margine);
  height: var(--h-antet);
  display: flex; align-items: center; gap: 1.25rem;
  transition: height .25s ease;
}
.antet.micsorat .antet-in { height: 3.6rem; }

.marca { display: inline-flex; align-items: center; gap: .6rem; color: var(--logo); text-decoration: none; flex: none; }
.marca:hover { color: var(--logo); }
.logo-simbol { width: 2.5rem; height: 2.5rem; flex: none; transition: width .25s, height .25s; }
.logo-text { height: 1.28rem; width: auto; display: block; transition: height .25s; }
.antet.micsorat .logo-simbol { width: 2rem; height: 2rem; }
.antet.micsorat .logo-text { height: 1.08rem; }
.logo-mic { width: 1.5rem; height: 1.5rem; }

.meniu { margin-left: auto; }
.meniu ul { display: flex; align-items: center; gap: .15rem; }
.meniu a:not(.buton):not(.medalion) {
  display: block; padding: .5rem .7rem;
  color: var(--text); text-decoration: none; font-weight: 500; font-size: .95rem;
  border-radius: 999px; position: relative;
  transition: color .15s, background-color .15s;
}
.meniu a:not(.buton):not(.medalion):hover { color: var(--cerneala); background: var(--fond-ton); }
.meniu a.activ:not(.buton):not(.medalion) { color: var(--albastru); background: var(--albastru-pal); }
.meniu-contact { margin-left: .5rem; }
.meniu-comutatoare { display: none; }

.comutatoare { display: flex; align-items: center; gap: .55rem; flex: none; }
.comutator {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .22rem; border: 1px solid var(--linie); border-radius: 999px; background: var(--suprafata);
}
.medalion {
  display: block; width: 1.75rem; height: 1.75rem; padding: 0; border: 0; border-radius: 50%;
  background: none; cursor: pointer; line-height: 0;
  opacity: .62; filter: saturate(.8);
  transition: opacity .15s, filter .15s, transform .15s, box-shadow .15s;
}
.medalion-svg { width: 100%; height: 100%; border-radius: 50%; display: block; }
.medalion:hover { opacity: .95; filter: none; transform: scale(1.06); }
.medalion.activ, .medalion[aria-current="true"] { opacity: 1; filter: none; box-shadow: 0 0 0 2px var(--suprafata), 0 0 0 4px var(--albastru); }
:root[data-theme="light"] .medalion[data-tema="light"],
:root[data-theme="dark"] .medalion[data-tema="dark"] { opacity: 1; filter: none; box-shadow: 0 0 0 2px var(--suprafata), 0 0 0 4px var(--albastru); }
.fara-js .comutator-tema { display: none; }

.buton-meniu {
  display: none; width: 2.6rem; height: 2.6rem; padding: 0; border: 1px solid var(--linie); border-radius: 50%;
  background: var(--suprafata); color: var(--cerneala); cursor: pointer; align-items: center; justify-content: center;
}
.buton-meniu .ic-inchis { display: none; }
.buton-meniu[aria-expanded="true"] .ic-inchis { display: block; }
.buton-meniu[aria-expanded="true"] .ic-deschis { display: none; }
.buton-meniu span { line-height: 0; }

@media (max-width: 71.99rem) {
  .cu-js .buton-meniu { display: inline-flex; }
  .antet-in { gap: .75rem; }
  .comutatoare { margin-left: auto; }
  .cu-js .meniu {
    position: absolute; left: 0; right: 0; top: 100%;
    margin: 0; padding: .75rem var(--margine) 1.5rem;
    background: var(--fond); border-bottom: 1px solid var(--linie);
    box-shadow: 0 24px 40px -24px rgba(10, 30, 60, .5);
    max-height: calc(100vh - 3.6rem); overflow-y: auto;
    visibility: hidden; opacity: 0; transform: translateY(-.5rem);
    transition: opacity .2s, transform .2s, visibility 0s .2s;
  }
  .cu-js .meniu.deschis { visibility: visible; opacity: 1; transform: none; transition: opacity .2s, transform .2s; }
  .meniu ul { flex-direction: column; align-items: stretch; gap: 0; }
  .meniu a:not(.buton):not(.medalion) { padding: .85rem .25rem; font-size: 1.1rem; border-radius: 0; border-bottom: 1px solid var(--linie); }
  .meniu a.activ:not(.buton):not(.medalion) { background: none; }
  .meniu-contact { margin: 1.1rem 0 0; }
  .meniu-contact .buton { width: 100%; }
  /* fara JavaScript: meniul ramane vizibil, sub antet */
  .fara-js .antet { position: static; }
  .fara-js .antet-in { height: auto; flex-wrap: wrap; padding-block: .75rem; }
  .fara-js .meniu { order: 3; width: 100%; margin: 0; }
}
@media (max-width: 30rem) {
  .antet-in > .comutatoare > .comutator { display: none; }
  .cu-js .meniu-comutatoare { display: flex; gap: .75rem; margin-top: 1.25rem; justify-content: center; }
  .meniu-comutatoare .medalion { width: 2.25rem; height: 2.25rem; }
  .meniu-comutatoare .comutator { gap: .5rem; padding: .3rem; }
  .fara-js .antet-in > .comutatoare > .comutator:first-child { display: inline-flex; }
}

/* 5. Elemente comune -------------------------------------------------------- */
.buton {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 3.25rem; padding: .8rem 1.6rem;
  background: var(--albastru-marca); color: #fff; border: 2px solid var(--albastru-marca); border-radius: 999px;
  font-family: var(--font-text); font-size: 1.05rem; font-weight: 600; line-height: 1.1; text-decoration: none;
  transition: background-color .15s, border-color .15s, transform .15s;
}
.buton:hover { background: #0054a8; border-color: #0054a8; color: #fff; }
.buton:active { transform: translateY(1px); }
.buton-mic { min-height: 2.5rem; padding: .45rem 1.15rem; font-size: .95rem; }
.buton-linie { background: transparent; color: var(--cerneala); border-color: var(--linie); font-variant-numeric: tabular-nums; }
.buton-linie:hover { background: var(--suprafata); border-color: var(--albastru); color: var(--cerneala); }
.buton-linie .ic { width: 1.2rem; height: 1.2rem; color: var(--albastru); }

.link-sageata { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: .15rem; }
.link-sageata .ic { width: 1.15rem; height: 1.15rem; transition: transform .2s; }
.link-sageata:hover .ic { transform: translateX(4px); }

.sectiune { padding-block: clamp(4.25rem, 9vw, 7.75rem); }
.sectiune-ton { background: var(--fond-ton); }
.sectiune-stransa { padding-block: clamp(3rem, 6vw, 5rem); }
.titlu-sectiune { max-width: 46rem; margin-bottom: clamp(2.25rem, 5vw, 3.75rem); }
.titlu-sectiune p { margin: 1.1rem 0 0; font-size: 1.2rem; line-height: 1.5; color: var(--text); max-width: 40rem; }
.mai-mult { margin: clamp(2rem, 4vw, 3rem) 0 0; }
.mai-mult-dublu { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; }
.nota { font-size: .9rem; color: var(--text-slab); margin: 0; }

.lista-bife li { position: relative; padding: .5rem 0 .5rem 1.9rem; }
.lista-bife li::before {
  content: ""; position: absolute; left: .1rem; top: 1.02rem;
  width: .95rem; height: .5rem; border-left: 2.5px solid var(--albastru); border-bottom: 2.5px solid var(--albastru);
  transform: rotate(-45deg); transform-origin: left bottom; translate: .3rem -.1rem;
}

/* 6. Prima pagina ----------------------------------------------------------- */
/* 6.1 Primul ecran */
.erou { padding-top: clamp(2rem, 5vw, 4.5rem); overflow: hidden; }
.erou-grila { display: grid; gap: 2.5rem; align-items: center; }
.erou-lider {
  display: inline-flex; align-items: center; gap: .55rem;
  margin: 0 0 1.4rem; padding: .35rem .95rem .35rem .8rem;
  border: 1.5px solid var(--aur); border-radius: 999px;
  color: var(--aur-text); background: var(--aur-pal);
  font-weight: 600; font-size: .95rem;
}
.erou-lider::before { content: ""; width: .6rem; height: .6rem; background: var(--aur); transform: rotate(45deg); border-radius: 1px; }
.erou-intro { font-size: clamp(1.12rem, 1.6vw, 1.3rem); line-height: 1.5; max-width: 36rem; margin: 1.6rem 0 0; }
.erou-actiuni { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2.1rem; }
.erou-desen { justify-self: center; width: min(100%, 37rem); }
.retea { display: block; width: 100%; height: auto; overflow: visible; }
.orbita { fill: none; stroke: var(--linie); stroke-width: 1.5; stroke-dasharray: 2 9; stroke-linecap: round; }
.raza-baza { stroke: var(--linie); stroke-width: 1.5; }
.raza { stroke: var(--albastru); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 34 260; stroke-dashoffset: 34; }
.hub-halo { fill: var(--albastru-pal); }
.nod-punct { fill: var(--suprafata); stroke: var(--albastru); stroke-width: 3; }
.nod-eticheta rect { fill: var(--suprafata); stroke: var(--linie); stroke-width: 1; }
.nod-eticheta text { font-family: var(--font-text); font-size: 14.5px; font-weight: 600; fill: var(--cerneala); }
.nod-5 .nod-eticheta rect, .nod-6 .nod-eticheta rect { fill: var(--aur-pal); stroke: var(--aur); }
.nod-5 .nod-eticheta text, .nod-6 .nod-eticheta text { fill: var(--aur-text); }
.nod-5 .nod-punct, .nod-6 .nod-punct { stroke: var(--aur); }
.raza-5, .raza-6 { stroke: var(--aur); }

@media (min-width: 60rem) {
  .erou-grila { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 2rem; }
  .erou-desen { justify-self: end; }
}

/* 6.2 Cifre */
.cifre {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
  border-top: 1px solid var(--linie);
}
.cifre > div { padding: 1.5rem 1rem 1.6rem 0; }
.cifre > div:nth-child(n+3) { border-top: 1px solid var(--linie); }
.cifre dt { font-family: var(--font-titlu); font-weight: 750; font-size: clamp(2.1rem, 4.6vw, 3.4rem); line-height: 1; letter-spacing: -.04em; color: var(--cerneala); font-variant-numeric: tabular-nums; }
.cifre dt span { font-size: .42em; letter-spacing: -.01em; font-weight: 650; }
.cifre dd { margin-top: .55rem; color: var(--text-slab); font-size: .98rem; line-height: 1.35; max-width: 15rem; }
@media (min-width: 52rem) {
  .cifre { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cifre > div { padding: 1.9rem 1.5rem 2.2rem; border-left: 1px solid var(--linie); }
  .cifre > div:first-child { padding-left: 0; border-left: 0; }
  .cifre > div:nth-child(n+3) { border-top: 0; }
}

/* 6.3 Comparatie */
.comparatie { border-radius: var(--raza); }
.comparatie-cap { display: none; }
.comparatie-rand { display: grid; margin-bottom: .9rem; border-radius: var(--raza); overflow: hidden; border: 1px solid var(--linie); }
.comparatie-rand .vechi { padding: 1rem 1.15rem; color: var(--text-slab); font-size: .98rem; background: transparent; }
.comparatie-eticheta { display: block; font-size: .82rem; font-weight: 600; color: var(--text-slab); opacity: .8; margin-bottom: .2rem; }
.comparatie-rand .nou { display: flex; gap: .8rem; padding: 1.1rem 1.15rem; background: var(--suprafata); color: var(--cerneala); font-weight: 500; }
.ic-bifa { color: #fff; background: var(--albastru-marca); border-radius: 50%; padding: .28rem; width: 1.55rem; height: 1.55rem; stroke-width: 2.6; margin-top: .05rem; }
@media (min-width: 52rem) {
  .comparatie { border: 1px solid var(--linie); overflow: hidden; background: transparent; }
  .comparatie-cap, .comparatie-rand { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); }
  .comparatie-cap > div { padding: 1.15rem 1.75rem; font-family: var(--font-titlu); font-weight: 650; font-size: 1.12rem; color: var(--text-slab); display: flex; align-items: center; gap: .6rem; }
  .comparatie-cap > div:last-child { background: var(--albastru-marca); color: #fff; }
  .comparatie-cap .logo-mic { background: #fff; border-radius: 50%; padding: 1px; }
  .comparatie-rand { margin: 0; border: 0; border-top: 1px solid var(--linie); border-radius: 0; }
  .comparatie-rand .vechi, .comparatie-rand .nou { padding: 1.25rem 1.75rem; }
  .comparatie-rand .nou { font-size: 1.06rem; }
  .comparatie-eticheta { display: none; }
}

.trei { display: grid; gap: 2rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.trei .ic { width: 2rem; height: 2rem; color: var(--albastru); margin-bottom: .9rem; }
.trei h3 { margin-bottom: .5rem; }
.trei p { margin: 0; }
@media (min-width: 52rem) { .trei { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; } }

/* 6.4 Conformitate: marcaje (dupa marcile aplicate pe metalele pretioase) */
.marcaje { display: grid; gap: 2.25rem 2rem; }
.marcaje li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.1rem; align-items: start; align-content: start; }
.marcaje h3 { padding-top: .3rem; }
.marcaje p { grid-column: 2; margin: .45rem 0 0; }
.marcaj {
  grid-row: span 2;
  position: relative; display: grid; place-items: center;
  width: 3.9rem; height: 3.9rem; color: var(--aur-text);
  background: var(--aur);
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%);
}
.marcaj::before {
  content: ""; position: absolute; inset: 2.5px; background: var(--aur-pal);
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%);
}
.marcaj .ic { position: relative; width: 1.75rem; height: 1.75rem; }
@media (min-width: 44rem) { .marcaje { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.75rem 3rem; } }
@media (min-width: 68rem) {
  .marcaje { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .marcaje li { grid-column: span 2; }
  .marcaje li:nth-child(4) { grid-column: 2 / span 2; }
}

/* 6.5 Sediu / agentie */
.doua-panouri { display: grid; gap: 1.5rem; }
.panou { background: var(--suprafata); border: 1px solid var(--linie); border-radius: var(--raza); padding: clamp(1.5rem, 3.5vw, 2.5rem); }
.panou h3 { display: flex; align-items: center; gap: .75rem; font-size: 1.5rem; margin-bottom: 1rem; }
.panou h3 .ic { width: 2.6rem; height: 2.6rem; padding: .55rem; border-radius: 50%; background: var(--albastru-pal); color: var(--albastru); }
.panou .lista-bife li + li { border-top: 1px solid var(--linie); }
@media (min-width: 56rem) { .doua-panouri { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; } }

/* 6.6 Module */
.infoplati {
  display: grid; gap: 2rem;
  background: var(--albastru-marca); color: #e6f1ff;
  border-radius: calc(var(--raza) * 1.4); padding: clamp(1.6rem, 4.5vw, 3.5rem);
  position: relative; overflow: hidden;
}
.infoplati::after {
  content: ""; position: absolute; right: -9rem; top: -9rem; width: 26rem; height: 26rem; border-radius: 50%;
  border: 3.5rem solid rgba(255, 255, 255, .06); pointer-events: none;
}
.infoplati h3 { color: #fff; font-size: clamp(1.6rem, 3.2vw, 2.3rem); font-weight: 700; line-height: 1.08; letter-spacing: -.025em; margin-bottom: 1.1rem; }
.infoplati p { max-width: 36rem; }
.infoplati-text p:last-child { margin-bottom: 0; }
.eticheta { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: 1.1rem; padding: .3rem .9rem .3rem .7rem; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; font-weight: 600; }
.eticheta .ic { width: 1.25rem; height: 1.25rem; }
.infoplati-cifre { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1.25rem; align-content: center; position: relative; z-index: 1; }
.infoplati-cifre dt { font-family: var(--font-titlu); font-weight: 750; font-size: clamp(1.7rem, 3.4vw, 2.5rem); line-height: 1; letter-spacing: -.035em; color: #fff; white-space: nowrap; display: flex; align-items: center; gap: .3rem; font-variant-numeric: tabular-nums; }
.infoplati-cifre dt .spre { line-height: 0; color: #ffd166; }
.infoplati-cifre dt .ic { width: .7em; height: .7em; stroke-width: 2.6; }
.infoplati-cifre dd { margin-top: .5rem; font-size: .95rem; line-height: 1.35; color: #cfe3fb; }
.infoplati .nota { color: #b9d6f7; grid-column: 1 / -1; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .2); max-width: none; position: relative; z-index: 1; }
@media (min-width: 60rem) { .infoplati { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 2.5rem 3.5rem; } }

.module { display: grid; gap: 0; margin-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--linie); }
.module li { padding: 1.6rem 0; border-bottom: 1px solid var(--linie); display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; align-content: start; }
.module .ic { width: 1.75rem; height: 1.75rem; color: var(--albastru); grid-row: span 2; margin-top: .1rem; }
.module p { grid-column: 2; margin: .45rem 0 0; font-size: 1rem; }
@media (min-width: 44rem) {
  .module { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; }
}
@media (min-width: 68rem) {
  .module { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* 6.7 Securitate: "seiful" ramane inchis la culoare in ambele teme */
.seif {
  background-color: var(--seif);
  background-image:
    radial-gradient(circle at 88% 12%, transparent 0 7rem, rgba(255, 255, 255, .045) 7rem 7.2rem, transparent 7.2rem 12rem, rgba(255, 255, 255, .045) 12rem 12.2rem, transparent 12.2rem 18rem, rgba(255, 255, 255, .04) 18rem 18.2rem, transparent 18.2rem),
    linear-gradient(160deg, var(--seif) 30%, var(--seif-2));
  color: #c9dbf3;
}
.seif h2, .seif h3 { color: #fff; }
.seif .titlu-sectiune p { color: #c9dbf3; }
.seif blockquote { margin-top: 2rem; padding-left: 1.25rem; border-left: 3px solid var(--aur); color: #fff; font-family: var(--font-titlu); font-size: 1.3rem; line-height: 1.3; font-weight: 500; letter-spacing: -.01em; max-width: 30rem; }
.seif-grila { display: grid; gap: 2rem; }
.seif .titlu-sectiune { margin-bottom: 0; }
.seif-lista { display: grid; gap: 0; }
.seif-lista li { display: flex; gap: 1.1rem; padding: 1.3rem 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.seif-lista li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .14); }
.seif-lista .ic { width: 1.75rem; height: 1.75rem; color: #ffd166; margin-top: .1rem; }
.seif-lista p { margin: .35rem 0 0; font-size: 1rem; }
@media (min-width: 60rem) {
  .seif-grila { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 5rem; align-items: start; }
  .seif .titlu-sectiune { position: sticky; top: 6.5rem; }
}

/* 6.8 Pachete */
.pachete { display: grid; gap: 1.25rem; }
.pachet { background: var(--suprafata); border: 1px solid var(--linie); border-radius: var(--raza); padding: 1.75rem; }
.pachet h3 { font-size: 1.7rem; font-weight: 700; letter-spacing: -.025em; }
.pachet-pentru { margin: .6rem 0 1.1rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--linie); color: var(--albastru); font-weight: 600; line-height: 1.35; }
.pachet p:last-child { margin: 0; }
.pachet-premium { border-color: var(--aur); box-shadow: inset 0 0 0 1px var(--aur); }
.pachet-premium .pachet-pentru { color: var(--aur-text); border-bottom-color: var(--aur); }
@media (min-width: 56rem) { .pachete { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; } }

.abonament { margin-top: 2rem; padding: 1.5rem 0 0; border-top: 1px solid var(--linie); display: grid; gap: 1rem; }
.abonament h3 { font-size: 1.05rem; color: var(--text-slab); font-family: var(--font-text); font-weight: 600; letter-spacing: 0; }
.abonament ul { display: flex; flex-wrap: wrap; gap: .7rem 1.75rem; }
.abonament li { display: inline-flex; align-items: center; gap: .5rem; color: var(--cerneala); font-weight: 500; }
.abonament .ic { width: 1.25rem; height: 1.25rem; color: var(--albastru); }

/* 6.9 Opinii */
.opinii { columns: 1; column-gap: 1.5rem; }
.opinie { break-inside: avoid; background: var(--suprafata); border-radius: var(--raza); padding: 1.75rem; margin-bottom: 1.5rem; border: 1px solid var(--linie); }
.opinie blockquote p { margin: 0; font-size: 1.1rem; line-height: 1.5; color: var(--cerneala); }
.opinie blockquote::before { content: "”"; display: block; font-family: var(--font-titlu); font-weight: 800; font-size: 3.4rem; line-height: 1; height: 2.1rem; overflow: hidden; color: var(--aur); }
:lang(en) .opinie blockquote::before { content: "“"; }
.opinie figcaption { margin-top: 1.25rem; display: grid; }
.opinie figcaption span { color: var(--text-slab); font-size: .95rem; }
@media (min-width: 44rem) { .opinii { columns: 2; } }
@media (min-width: 68rem) { .opinii { columns: 3; } }

/* 6.10 Despre */
.despre { display: grid; gap: 2.5rem; }
.despre-text h2 { margin-bottom: 1.5rem; }
.despre-text p { max-width: 38rem; }
.despre-servicii { display: grid; gap: 0; align-content: start; }
.despre-servicii li { display: grid; gap: .25rem; padding: 1.15rem 0; border-top: 1px solid var(--linie); }
.despre-servicii li:last-child { border-bottom: 1px solid var(--linie); }
.despre-servicii strong { font-family: var(--font-titlu); font-size: 1.15rem; }
@media (min-width: 60rem) { .despre { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 5rem; } }

/* 6.11 Contact */
.contact { background: var(--fond-ton); }
.contact .titlu-sectiune { max-width: 52rem; }
.contact-grila { display: grid; gap: 1rem; }
.contact-mare {
  display: grid; gap: .6rem; padding: 1.5rem 1.6rem 1.6rem;
  background: var(--suprafata); border: 1px solid var(--linie); border-radius: var(--raza);
  text-decoration: none; color: var(--cerneala);
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
.contact-mare:hover { border-color: var(--albastru); color: var(--cerneala); transform: translateY(-2px); box-shadow: var(--umbra); }
.contact-rol { display: inline-flex; align-items: center; gap: .5rem; color: var(--text-slab); font-weight: 500; }
.contact-rol .ic { width: 1.25rem; height: 1.25rem; color: var(--albastru); }
.contact-valoare { font-family: var(--font-titlu); font-weight: 700; font-size: clamp(1.7rem, 3.2vw, 2.25rem); letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.contact-email { font-size: clamp(1.25rem, 2.3vw, 1.6rem); overflow-wrap: anywhere; }
.contact-detalii { display: grid; gap: 1.25rem; margin-top: 2rem; }
.contact-detalii li { display: flex; gap: .85rem; }
.contact-detalii .ic { color: var(--albastru); margin-top: .1rem; }
@media (min-width: 52rem) {
  .contact-grila { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact-detalii { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
}

/* 7. Pagini secundare -------------------------------------------------------- */
.cap-pagina { padding-block: clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 3vw, 2.5rem); }
.cap-pagina h1 { font-size: clamp(2.3rem, 5.4vw, 3.9rem); max-width: 18ch; }
.cap-intro { font-size: 1.2rem; line-height: 1.5; max-width: 44rem; margin: 1.4rem 0 0; }
.firimituri { font-size: .95rem; color: var(--text-slab); margin-bottom: 1.25rem; }
.firimituri a { color: var(--text-slab); }
.cap-sari { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.75rem 0 0; }
.cap-sari a { padding: .5rem 1.1rem; border: 1px solid var(--linie); border-radius: 999px; background: var(--suprafata); color: var(--cerneala); text-decoration: none; font-weight: 500; }
.cap-sari a:hover { border-color: var(--albastru); }
.ic-titlu { width: .95em; height: .95em; margin-right: .45em; vertical-align: -.08em; color: var(--albastru); }

.grupe { columns: 1; column-gap: 1.5rem; }
.grupa { break-inside: avoid; background: var(--suprafata); border: 1px solid var(--linie); border-radius: var(--raza); padding: 1.5rem 1.6rem 1.1rem; margin-bottom: 1.5rem; }
.sectiune-ton .grupa { border-color: transparent; }
.grupa h3 { display: flex; align-items: center; gap: .65rem; margin-bottom: .6rem; font-size: 1.25rem; }
.grupa h3 .ic { color: var(--albastru); width: 1.6rem; height: 1.6rem; }
.grupa .lista-bife li { font-size: 1rem; padding-block: .42rem; }
.grupa .lista-bife li::before { top: .95rem; }
@media (min-width: 48rem) { .grupe { columns: 2; } }
@media (min-width: 72rem) { .grupe { columns: 3; } }
.lista-coloane { columns: 1; column-gap: 3rem; }
.lista-coloane li { break-inside: avoid; }
@media (min-width: 48rem) { .lista-coloane { columns: 2; } }
@media (min-width: 72rem) { .lista-coloane { columns: 3; } }

.apel { background: var(--albastru-marca); padding-block: clamp(3rem, 6vw, 4.5rem); }
.apel-in { display: grid; gap: 1.75rem; align-items: center; }
.apel h2 { color: #fff; font-size: clamp(1.6rem, 3.2vw, 2.3rem); max-width: 30ch; }
.apel .erou-actiuni { margin: 0; }
.apel .buton { background: #fff; border-color: #fff; color: #00438a; }
.apel .buton:hover { background: #e6f1ff; border-color: #e6f1ff; }
.apel .buton-linie { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .5); }
.apel .buton-linie:hover { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }
.apel .buton-linie .ic { color: #fff; }
@media (min-width: 60rem) { .apel-in { grid-template-columns: minmax(0, 1fr) auto; } }

/* Matricea pachetelor */
.legenda { display: flex; flex-wrap: wrap; gap: .6rem 2rem; margin: 2.5rem 0 1rem; color: var(--text-slab); font-size: .95rem; }
.legenda span { display: inline-flex; align-items: center; gap: .5rem; }
.ic-inclus { color: #fff; background: var(--albastru-marca); border-radius: 50%; padding: .22rem; width: 1.4rem; height: 1.4rem; stroke-width: 2.8; }
.ic-optional { color: var(--text-slab); width: 1.4rem; height: 1.4rem; stroke-width: 2; }
.matrice { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 1rem; }
.matrice th, .matrice td { padding: .8rem .5rem; text-align: center; border-bottom: 1px solid var(--linie); line-height: 1.3; }
.matrice thead th {
  position: sticky; top: 3.6rem; z-index: 5;
  background: var(--fond); color: var(--cerneala);
  font-family: var(--font-titlu); font-weight: 700; font-size: 1.05rem; letter-spacing: -.01em;
  border-bottom: 2px solid var(--cerneala); vertical-align: bottom;
}
.matrice th:first-child { text-align: left; padding-left: 0; }
.matrice tbody th[scope="row"] { font-weight: 450; color: var(--text); }
.matrice td { width: 6.5rem; line-height: 0; }
.matrice-grupa th { padding-top: 2rem; font-family: var(--font-titlu); font-weight: 700; font-size: 1.2rem; color: var(--cerneala); letter-spacing: -.015em; border-bottom-color: var(--text-slab); }
.matrice td:last-child, .matrice thead th:last-child { background: var(--aur-pal); }
.matrice thead th:last-child { color: var(--aur-text); border-bottom-color: var(--aur); }
.matrice tbody tr:not(.matrice-grupa):hover th, .matrice tbody tr:not(.matrice-grupa):hover td:not(:last-child) { background: var(--fond-ton); }
@media (max-width: 40rem) {
  .matrice { font-size: .92rem; }
  .matrice td { width: 3.6rem; }
  .matrice thead th { font-size: .78rem; padding-inline: .2rem; }
  .matrice th, .matrice td { padding: .7rem .25rem; }
}

/* Legislatie */
.legi { display: grid; gap: 1.5rem; }
.lege-grupa { background: var(--suprafata); border: 1px solid var(--linie); border-radius: var(--raza); padding: clamp(1.4rem, 3.5vw, 2.5rem); }
.lege-grupa h2 { font-size: clamp(1.4rem, 2.6vw, 1.8rem); }
.lege-aplicatie { display: flex; gap: .75rem; align-items: flex-start; margin: 1.1rem 0 0; padding: 1rem 1.15rem; border-radius: var(--raza-mica); background: var(--albastru-pal); color: var(--cerneala); font-weight: 500; }
.lege-aplicatie .logo-mic { margin-top: .1rem; }
.lege-grupa dl { margin-top: .75rem; }
.lege-grupa dl > div { padding: 1.1rem 0; border-top: 1px solid var(--linie); display: grid; gap: .3rem; }
.lege-grupa dl > div:first-child { border-top: 0; }
.lege-grupa dt { font-weight: 650; color: var(--cerneala); }
.lege-grupa dd { color: var(--text); }
.surse { padding: clamp(1.4rem, 3.5vw, 2.5rem) 0 0; }
.surse h2 { font-size: 1.5rem; margin-bottom: 1rem; }
.surse ul { display: grid; gap: .25rem; margin-bottom: 1.75rem; }
.surse li { display: flex; flex-wrap: wrap; gap: .25rem .9rem; align-items: baseline; padding: .6rem 0; border-bottom: 1px solid var(--linie); }
.surse a { font-weight: 650; display: inline-flex; align-items: center; gap: .35rem; min-width: 10.5rem; }
.surse a .ic { width: 1rem; height: 1rem; }
.surse li span { color: var(--text-slab); }
.surse .nota { max-width: 46rem; }
@media (min-width: 60rem) {
  .lege-grupa { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 3rem; }
  .lege-grupa dl { margin-top: 0; }
  .lege-grupa dl > div:first-child { padding-top: 0; }
}

/* 404 */
.pagina-lipsa { padding-block: clamp(4rem, 12vw, 9rem); }
.cod-lipsa { font-family: var(--font-titlu); font-weight: 800; font-size: clamp(5rem, 18vw, 11rem); line-height: .8; letter-spacing: -.06em; color: var(--albastru-pal); margin: 0 0 1rem; -webkit-text-stroke: 2px var(--albastru); }

/* 8. Subsol ------------------------------------------------------------------ */
.subsol { background: var(--fond); border-top: 1px solid var(--linie); padding-block: clamp(3rem, 6vw, 4.5rem) 2rem; font-size: .98rem; }
.pagina-acasa .subsol { border-top: 0; }
.subsol-grila { display: grid; gap: 2.5rem; }
.subsol-marca p { margin: 1rem 0 0; max-width: 20rem; color: var(--text-slab); }
.subsol-col h2 { font-family: var(--font-text); font-size: .95rem; font-weight: 600; letter-spacing: 0; color: var(--text-slab); margin-bottom: .9rem; }
.subsol-col li { padding: .28rem 0; }
.subsol-col a { color: var(--cerneala); text-decoration: none; }
.subsol-col a:hover { color: var(--albastru); text-decoration: underline; }
.link-datagram { display: inline-block; color: var(--text); }
:root[data-theme="dark"] .link-datagram { color: #e3ebf6; }
.logo-datagram { height: 2.6rem; width: auto; display: block; }
.subsol-producator p { margin: .9rem 0 0; color: var(--text-slab); font-size: .92rem; line-height: 1.5; }
.subsol-jos { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--linie); display: flex; flex-wrap: wrap; gap: .4rem 2rem; justify-content: space-between; color: var(--text-slab); font-size: .9rem; }
.subsol-jos p { margin: 0; }
@media (min-width: 44rem) { .subsol-grila { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 68rem) { .subsol-grila { grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 3rem; } }

/* 9. Miscare ------------------------------------------------------------------
   Un singur moment animat: diagrama din primul ecran, in care operatiunile
   "curg" de la agentii spre sediu. Restul paginii sta pe loc. */
@keyframes ao-raza { 0% { stroke-dashoffset: 34; opacity: 0; } 4% { opacity: 1; } 26% { opacity: 1; } 34% { stroke-dashoffset: -215; opacity: 0; } 100% { stroke-dashoffset: -215; opacity: 0; } }
@keyframes ao-nod { 0%, 100% { transform: scale(1); } 12% { transform: scale(1.35); } 30% { transform: scale(1); } }
@keyframes ao-eticheta { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes ao-halo { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.08); opacity: .55; } }
@media (prefers-reduced-motion: no-preference) {
  .raza { animation: ao-raza 4.8s linear infinite; opacity: 0; }
  .nod-punct { transform-box: fill-box; transform-origin: center; animation: ao-nod 4.8s ease-out infinite; }
  .nod-eticheta { animation: ao-eticheta .5s ease-out both; }
  .hub-halo { transform-box: fill-box; transform-origin: center; animation: ao-halo 4.8s ease-in-out infinite; }
  .raza-1, .nod-1 .nod-punct { animation-delay: .2s; }  .nod-1 .nod-eticheta { animation-delay: .25s; }
  .raza-2, .nod-2 .nod-punct { animation-delay: 1s; }   .nod-2 .nod-eticheta { animation-delay: .5s; }
  .raza-3, .nod-3 .nod-punct { animation-delay: 1.8s; } .nod-3 .nod-eticheta { animation-delay: .75s; }
  .raza-4, .nod-4 .nod-punct { animation-delay: 2.6s; } .nod-4 .nod-eticheta { animation-delay: 1s; }
  .raza-5, .nod-5 .nod-punct { animation-delay: 3.4s; } .nod-5 .nod-eticheta { animation-delay: 1.25s; }
  .raza-6, .nod-6 .nod-punct { animation-delay: 4.2s; } .nod-6 .nod-eticheta { animation-delay: 1.5s; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .raza { display: none; }
}

/* 10. Tiparire ---------------------------------------------------------------- */
@media print {
  .antet, .subsol-jos, .erou-desen, .buton-meniu, .comutatoare, .sari { display: none !important; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .sectiune { padding-block: 1.5rem; break-inside: avoid; }
  .seif, .infoplati, .apel { background: #fff !important; color: #000 !important; border: 1px solid #999; }
  .seif h2, .seif h3, .infoplati h3, .infoplati-cifre dt, .apel h2 { color: #000 !important; }
}
