/* Mustață — cabinet veterinar, Suceava. Culorile vin din pozele cabinetului: peretele gri-verzui, uniforma bleumarin,
   pantalonii turcoaz, bereta muștar a stăpânei, blana roșcată a pomeranianului. Un singur font: Gabarito. */
:root {
  --perete: #CCE5D8;      /* fondul paginii: peretele din poze, spre turcoaz (ΔE ≥ 10 față de ultimele 5) */
  --foaie: #F5F8F7;       /* panouri deschise */
  --menta: #C9E0D9;       /* secțiunea fișei */
  --hartie: #FFFDF8;      /* pagina de carnet */
  --cerneala: #1F3048;    /* textul: uniforma bleumarin */
  --cerneala-2: #3E4F63;  /* text secundar */
  --turcoaz: #0E4A58;     /* fonduri închise: pantalonii */
  --mustar: #E2AE4A;      /* bereta: accent pe fond închis și etichete */
  --rosu: #A33A2C;        /* eticheta antirabicului */
  --linie: #6A7C86;       /* chenarele câmpurilor (≥ 3:1 pe alb) */
  --lat: 1240px;
  --g: clamp(16px, 4vw, 40px);
  --r: 28px;
  font-family: "Gabarito", system-ui, sans-serif;
  color: var(--cerneala);
  background: var(--perete);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; font-size: 1.0625rem; line-height: 1.6; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
figure { margin: 0; }
h1, h2, h3 { font-weight: 800; line-height: 1.12; margin: 0 0 .5em; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(2.1rem, 3.6vw + .6rem, 3.5rem); }
h2 { font-size: clamp(1.6rem, 1.9vw + .8rem, 2.35rem); }
h3 { font-size: 1.2rem; line-height: 1.25; }
p { margin: 0 0 1em; }
a { color: inherit; text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--turcoaz); outline-offset: 3px; border-radius: 4px; }
[hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sari { position: absolute; left: 16px; top: -60px; background: var(--cerneala); color: #fff; padding: 10px 16px; border-radius: 999px; z-index: 10; }
.sari:focus { top: 12px; }
button { font: inherit; color: inherit; background: transparent; border: none; appearance: none; }

/* ---------- butoane: pastilă cu chenar dublu (de la Le Petit Bleu) ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: .55em 1.35em;
  border-radius: 999px; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.2; text-align: center;
  transition: background-color .15s, color .15s; }
.btn-plin { background: var(--cerneala); color: #fff; box-shadow: inset 0 0 0 3px var(--cerneala), inset 0 0 0 4.5px var(--foaie); }
.btn-plin:hover { background: var(--turcoaz); box-shadow: inset 0 0 0 3px var(--turcoaz), inset 0 0 0 4.5px var(--foaie); }
.btn-gol { background: transparent; color: var(--cerneala); box-shadow: inset 0 0 0 2px var(--cerneala); }
.btn-gol:hover { background: var(--foaie); }
.btn-mic { min-height: 44px; padding: .45em 1.1em; font-size: .95rem; }
.butoane { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 1.5rem; }
.link-sageata { font-weight: 600; text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 1px; }
.link-sageata::after { content: " →"; }

/* ---------- antetul: static, meniul cu pastila pe pagina curentă (de la Chromecki) ---------- */
.antet { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px 28px;
  padding: 18px var(--g); max-width: calc(var(--lat) + 2 * var(--g)); margin: 0 auto; }
.marca { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-decoration: none; }
.marca-semn { grid-row: 1 / 3; width: 48px; height: 30px; fill: var(--cerneala); }
.marca-semn .mustati { fill: none; stroke: var(--cerneala); stroke-width: 2.4; stroke-linecap: round; }
.marca-nume { font-weight: 800; font-size: 1.45rem; line-height: 1; }
.marca-loc { font-size: .85rem; color: var(--cerneala-2); line-height: 1.2; }
.meniu ul { display: flex; justify-content: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.meniu a { display: block; padding: .5em 1em; border-radius: 999px; text-decoration: none; font-weight: 600; white-space: nowrap; }
.meniu a:hover { background: var(--foaie); }
.meniu a[aria-current="page"] { background: var(--cerneala); color: #fff; }
.antet-actiuni { display: flex; align-items: center; gap: 16px; }
.antet-tel { font-weight: 600; text-decoration: none; white-space: nowrap; }
@media (max-width: 1099px) {
  .antet { grid-template-columns: 1fr auto; }
  .meniu { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
  .meniu ul { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  .meniu ul::-webkit-scrollbar { display: none; }
}
@media (max-width: 599px) {
  .antet-tel { display: none; }
  .marca-loc { font-size: .78rem; }
}

/* ---------- secțiunile: lățimea paginii ---------- */
main > section { width: min(var(--lat), 100% - 2 * var(--g)); margin: 0 auto clamp(64px, 9vw, 120px); }

/* ---------- eroul: text în stânga, poza fixă în dreapta (de la Le Petit Bleu) ---------- */
.erou { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "text poza" "consult poza";
  column-gap: clamp(28px, 4vw, 64px); margin-top: clamp(16px, 3vw, 40px); }
.erou-text { grid-area: text; padding-top: clamp(8px, 2vw, 32px); }
.erou-poza { grid-area: poza; align-self: start; position: sticky; top: 24px; }
.erou .consult { grid-area: consult; }
.erou-p { font-size: 1.2rem; max-width: 34ch; }
.erou-poza figure { position: relative; }
.erou-poza img { width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: 45% 50%; border-radius: var(--r); }
.stare { position: absolute; top: 16px; left: 16px; margin: 0; background: var(--foaie); padding: .4em 1em; border-radius: 999px;
  font-weight: 600; font-size: .95rem; max-width: calc(100% - 32px); }
.stare.deschis::before, .stare-mare.deschis::before { content: ""; display: inline-block; width: .6em; height: .6em; border-radius: 50%;
  background: var(--turcoaz); margin-right: .5em; vertical-align: .05em; }
.unde { position: absolute; right: 16px; bottom: 16px; display: grid; gap: 2px; background: var(--foaie); padding: 14px 18px;
  border-radius: 18px; text-decoration: none; font-weight: 600; max-width: min(320px, calc(100% - 32px)); line-height: 1.3; }
.unde span { font-size: .8rem; font-weight: 600; color: var(--cerneala-2); }
.unde::after { content: "Vedeți pe hartă →"; font-size: .9rem; font-weight: 400; text-decoration: underline; text-underline-offset: .18em; }
.consult { margin-top: 1rem; }
.consult h2 { font-size: 1.5rem; }
.consult-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.consult-lista li { display: grid; grid-template-columns: 88px 1fr; gap: 16px; align-items: center; }
.consult-lista img { width: 88px; height: 88px; object-fit: cover; border-radius: 18px; }
.consult-lista p { margin: 0; }
@media (max-width: 959px) {
  .erou { grid-template-columns: 1fr; grid-template-areas: "text" "poza" "consult"; }
  .erou-poza { position: static; margin-bottom: 32px; }
  .erou-p { max-width: none; }
}
@media (max-width: 599px) {
  .unde { position: static; margin-top: 10px; max-width: none; background: var(--foaie); }
  .stare { font-size: .85rem; }
}

/* ---------- fișa de vaccinare (semnătura) ---------- */
.fisa-sectiune { background: var(--turcoaz); color: #fff; border-radius: var(--r); padding: clamp(24px, 4vw, 56px); }
.fisa-surse a, .fisa-intro a { color: #fff; }
.fisa-sectiune .camp .opt, .fisa-sectiune .ajutor { color: #D5E7E2; }
.fisa-sectiune .pastila-radio span { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.fisa-sectiune .pastila-radio input:checked + span { background: #fff; color: var(--turcoaz); }
.fisa-sectiune .pastila-radio input:focus-visible + span, .fisa-sectiune :focus-visible { outline-color: var(--mustar); }
.fisa-sectiune .bifa input { accent-color: var(--mustar); }
.fisa-sectiune .fisa-eroare { color: var(--mustar); }
.fisa-sectiune .fisa-surse { color: #D5E7E2; }
.fisa-intro { max-width: 62ch; }
.fisa { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 3vw, 48px); align-items: start; margin-top: 8px; }
@media (max-width: 959px) { .fisa { grid-template-columns: 1fr; } }
.fisa-intrebari { display: grid; gap: 18px; }
fieldset { border: none; margin: 0; padding: 0; min-width: 0; }
legend { font-weight: 600; margin-bottom: 8px; padding: 0; }
.alege { display: flex; flex-wrap: wrap; gap: 8px; }
.alege legend { width: 100%; }
.pastila-radio { position: relative; }
.pastila-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pastila-radio span { display: inline-flex; align-items: center; min-height: 44px; padding: .4em 1.2em; border-radius: 999px;
  box-shadow: inset 0 0 0 2px var(--cerneala); cursor: pointer; font-weight: 600; background: var(--foaie); }
.pastila-radio input:checked + span { background: var(--cerneala); color: #fff; }
.pastila-radio input:focus-visible + span { outline: 3px solid var(--turcoaz); outline-offset: 3px; }
.camp { display: grid; gap: 6px; font-weight: 600; }
.camp .opt, .ajutor { font-weight: 400; font-size: .9rem; color: var(--cerneala-2); }
input:not([type=radio]):not([type=checkbox]), select, textarea { font: inherit; font-weight: 400; color: var(--cerneala); background: #fff;
  border: 2px solid var(--linie); border-radius: 14px; padding: .6em .8em; min-height: 48px; width: 100%; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--turcoaz); outline-offset: 1px; border-color: var(--turcoaz); }
.bifa { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; }
.bifa input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--cerneala); flex: none; }
.fisa-eroare, .formular-eroare { min-height: 1.6em; margin: 0; font-weight: 600; color: var(--rosu); }
.fisa-surse { font-size: .92rem; color: var(--cerneala-2); margin: 24px 0 0; max-width: 90ch; }

/* carnetul: o pagină de hârtie cu etichetele lipite la data lor */
.carnet { color: var(--cerneala); background: var(--hartie); border-radius: 8px; padding: clamp(18px, 2.4vw, 32px); min-height: 420px;
  box-shadow: 0 1px 0 rgba(31, 48, 72, .08), 0 18px 40px -18px rgba(31, 48, 72, .35); position: relative; }
.carnet-cap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px;
  border-bottom: 2px solid var(--cerneala); padding-bottom: 10px; margin-bottom: 14px; }
.carnet-titlu { font-weight: 800; font-size: 1.35rem; margin: 0; }
.carnet-sub { margin: 0; color: var(--cerneala-2); }
.carnet-azi { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; color: var(--cerneala-2); font-size: .95rem; }
.azi-scris { width: 46px; height: 28px; fill: var(--rosu); }
.vizite { list-style: none; margin: 0; padding: 0; }
.vizita { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; padding: 12px 0 18px;
  border-bottom: 1px dashed rgba(31, 48, 72, .35); }
.vizita:last-child { border-bottom: none; }
.nr { grid-row: 1 / 3; width: 52px; height: 52px; }
.nr-cerc { fill: none; stroke: var(--cerneala); stroke-width: 3; stroke-linecap: round; }
.nr-cifra { fill: var(--cerneala); }
.vizita-urm .nr-cerc { stroke: var(--rosu); stroke-width: 4; }
.sageata { position: absolute; left: 14px; top: 64px; width: 22px; height: 36px; fill: none; stroke: var(--cerneala-2); stroke-width: 2; stroke-linecap: round; }
.vizita-cand { margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 0 12px; align-items: baseline; }
.vizita-cand b { font-weight: 800; }
.vizita-cand > span:not(.sr) { color: var(--cerneala-2); font-size: .95rem; }
.etichete { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.eticheta { display: inline-flex; gap: .45em; align-items: baseline; padding: 5px 10px 6px; border-radius: 4px; font-size: .88rem;
  font-weight: 600; line-height: 1.25; transform: rotate(var(--r, 0deg)); box-shadow: 0 1px 2px rgba(31, 48, 72, .25); }
.eticheta b { font-weight: 800; }
.e-cerneala { background: var(--cerneala); color: #fff; }
.e-turcoaz { background: var(--turcoaz); color: #fff; }
.e-mustar { background: var(--mustar); color: var(--cerneala); }
.e-rosu { background: var(--rosu); color: #fff; }
.carnet-apoi { margin: 16px 0 8px; font-size: .97rem; }
.carnet-note { margin: 0 0 12px; padding-left: 1.2em; font-size: .95rem; color: var(--cerneala-2); }
.carnet-gol { margin: 24px 0; font-weight: 600; }
.carnet-urm { background: var(--menta); border-radius: 18px; padding: 16px 18px; margin-top: 12px; }
.carnet-urm p { margin: 0; }
.urm-data { font-weight: 800; font-size: 1.4rem; margin: 2px 0 12px !important; }
.carnet-butoane { display: flex; flex-wrap: wrap; gap: 8px; }
.carnet-butoane .btn { min-height: 44px; padding: .45em 1.1em; font-size: .95rem; }
@media (max-width: 599px) {
  .vizita { grid-template-columns: 40px minmax(0, 1fr); column-gap: 10px; }
  .nr { width: 40px; height: 40px; }
  .sageata { left: 9px; top: 52px; }
}

/* ---------- rândurile de servicii (de la Chromecki): linie groasă sus, numele, ce faceți, cât durează ---------- */
.randuri { list-style: none; margin: 0 0 24px; padding: 0; }
.rand { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 2fr) auto; gap: 8px 32px; align-items: baseline;
  border-top: 3px solid var(--cerneala); padding: 18px 0 22px; }
.rand h3 { margin: 0; }
.rand p { margin: 0; }
.rand-dur { color: var(--cerneala-2); font-size: .95rem; }
.rand-link { font-weight: 600; white-space: nowrap; }
.servicii-toate .rand { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 2fr) auto 220px; align-items: start; }
.rand-poza img { width: 220px; aspect-ratio: 4 / 3; height: auto; object-fit: cover; border-radius: 18px; }
.medici .rand { grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 5fr); }
@media (max-width: 899px) {
  .rand, .servicii-toate .rand, .medici .rand { grid-template-columns: 1fr; gap: 6px; }
  .rand-poza img { width: 100%; max-width: 420px; }
}

/* ---------- cine vă primește ---------- */
.cine { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.cine-text { max-width: 52ch; }
.semnatura { width: 200px; height: auto; fill: var(--cerneala); margin: 8px 0 0; }
.cine-cine { color: var(--cerneala-2); font-size: .95rem; }
.cine-poze { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-rows: auto auto; gap: 14px; }
.cine-poze img { width: 100%; height: 100%; object-fit: cover; border-radius: 18px; }
.cine-poze img:nth-child(1) { grid-column: 1; grid-row: 1; aspect-ratio: 3 / 2; height: auto; }
.cine-poze img:nth-child(2) { grid-column: 2; grid-row: 1 / 3; aspect-ratio: auto; height: 100%; }
.cine-poze img:nth-child(3) { grid-column: 1; grid-row: 2; aspect-ratio: 3 / 2; height: auto; }
@media (max-width: 899px) { .cine { grid-template-columns: 1fr; } }

/* ---------- întrebări ---------- */
.intrebari { max-width: 860px; }
.intrebari details { border-top: 3px solid var(--cerneala); }
.intrebari details:last-of-type { border-bottom: 3px solid var(--cerneala); }
.intrebari summary { cursor: pointer; list-style: none; padding: 18px 48px 18px 0; position: relative; font-weight: 600; font-size: 1.15rem; }
.intrebari summary::-webkit-details-marker { display: none; }
.intrebari summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 14px; height: 14px; margin-top: -10px;
  border-right: 3px solid var(--cerneala); border-bottom: 3px solid var(--cerneala); transform: rotate(45deg); transition: transform .15s; }
.intrebari details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.intrebari details p { margin: 0 0 20px; max-width: 62ch; }

/* ---------- program și drum ---------- */
.program-grila { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(24px, 4vw, 64px); }
@media (max-width: 899px) { .program-grila { grid-template-columns: 1fr; } }
.stare-mare { font-weight: 800; font-size: 1.3rem; }
.zile { margin: 0 0 16px; display: grid; }
.zile > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 14px; border-radius: 999px; }
.zile dt { text-transform: capitalize; }
.zile dd { margin: 0; font-weight: 600; }
.zile .azi { background: var(--foaie); font-weight: 800; }
.zile .azi dt::after { content: " · azi"; font-weight: 400; text-transform: none; display: inline-block; margin-left: .3em; }
.libere, .adresa { margin-bottom: 1em; }
.adresa { font-weight: 600; font-size: 1.15rem; }

/* ---------- chemarea (bandă turcoaz) ---------- */
.chemare { width: min(var(--lat), 100% - 2 * var(--g)); margin: 0 auto 64px; background: var(--mustar); color: var(--cerneala); border-radius: var(--r);
  min-height: 300px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(28px, 5vw, 64px); }
.chemare h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); }
.chemare p { max-width: 52ch; }
.chemare .butoane { margin: 0; }

/* ---------- subsolul ---------- */
.subsol { background: var(--turcoaz); color: #E8F1EF; padding: 56px var(--g) 32px; }
.subsol a { color: #fff; }
.subsol-grila { max-width: var(--lat); margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
@media (max-width: 899px) { .subsol-grila { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 559px) { .subsol-grila { grid-template-columns: 1fr; } }
.subsol ul { list-style: none; margin: 0; padding: 0; }
.subsol li { margin-bottom: 4px; }
.subsol-marca { font-weight: 800; font-size: 1.4rem; }
.subsol-titlu { font-weight: 800; margin-bottom: 8px; }
.sal { display: inline-block; margin-top: 12px; }
.sal img { width: 250px; height: 50px; background: #fff; border-radius: 4px; }
.subsol-jos { max-width: var(--lat); margin: 40px auto 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .25); font-size: .92rem; }

/* ---------- paginile interioare (de la Chromecki): titlul centrat ---------- */
.pagina-cap { text-align: center; padding-top: clamp(24px, 5vw, 72px); }
.pagina-cap h1 { max-width: 24ch; margin-inline: auto; }
.pagina-cap p { max-width: 60ch; margin-inline: auto; font-size: 1.15rem; }
.pagina-cap .butoane { justify-content: center; }
.nota { color: var(--cerneala-2); font-size: .95rem; }

.scheme-grila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin: 24px 0; }
@media (max-width: 959px) { .scheme-grila { grid-template-columns: 1fr; } }
.schema { background: var(--foaie); border-radius: var(--r); padding: clamp(18px, 3vw, 32px); overflow-x: auto; }
.schema table { width: 100%; border-collapse: collapse; font-size: .97rem; }
.schema th { text-align: left; font-weight: 800; padding: 0 12px 10px 0; border-bottom: 3px solid var(--cerneala); }
.schema td { vertical-align: top; padding: 12px 12px 12px 0; border-bottom: 1px solid rgba(31, 48, 72, .2); }
.schema td:last-child { color: var(--cerneala-2); font-size: .9rem; min-width: 150px; }
.schema td:first-child { font-weight: 600; min-width: 120px; }
.lege { max-width: 860px; }
.lege blockquote { margin: 0 0 18px; padding: 14px 22px; background: var(--foaie); border-left: 6px solid var(--rosu); border-radius: 0 18px 18px 0; }
.poze-banda { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 14px; }
.poze-banda img { width: 100%; height: 420px; object-fit: cover; border-radius: 18px; }
@media (max-width: 899px) {
  .poze-banda { grid-template-columns: 1fr 1fr; }
  .poze-banda img { height: 300px; }
  .poze-banda img:nth-child(3) { grid-column: 1 / -1; height: 260px; }
}

.poveste { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.poveste-text { max-width: 58ch; }
.poveste-poza { width: 100%; height: auto; border-radius: var(--r); }
.camere-grila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.camere-grila img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: var(--r); }
.camere-grila figcaption { margin-top: 12px; max-width: 54ch; }
section.pasi-vizita { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
section.pasi-vizita h2 { grid-column: 1 / -1; }
.pasi { margin: 0; padding-left: 1.4em; display: grid; gap: 14px; }
.pasi li::marker { font-weight: 800; }
.vizita-poze img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: var(--r); }
@media (max-width: 899px) { .poveste, .camere-grila, section.pasi-vizita { grid-template-columns: 1fr; } }

.programare-grila { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
@media (max-width: 959px) { .programare-grila { grid-template-columns: 1fr; } }
.formular { background: var(--foaie); border-radius: var(--r); padding: clamp(20px, 3.4vw, 44px); scroll-margin-top: 16px; }
.campuri { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; margin-bottom: 12px; }
.campuri .camp-lung, .campuri .alege { grid-column: 1 / -1; }
@media (max-width: 599px) { .campuri { grid-template-columns: 1fr; } }
.capcana { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ajutor:empty { display: none; }
.contact img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: var(--r); margin-top: 16px; }
.stele { list-style: none; padding: 0; }
.stele li { padding-left: 1.4em; position: relative; margin-bottom: 6px; }
.stele li::before { content: "✱"; position: absolute; left: 0; color: var(--rosu); }
.text-lung { max-width: 70ch; }
.text-lung h2 { font-size: 1.4rem; margin-top: 1.6em; }
.pagina-404 { min-height: 40vh; }

/* ---------- tipărirea carnetului ---------- */
@media print {
  body.tipar > *:not(main), body.tipar main > *:not(.fisa-sectiune), body.tipar .fisa-intro, body.tipar .fisa-intrebari,
  body.tipar .carnet-butoane, body.tipar .fisa-surse { display: none !important; }
  body.tipar, body.tipar .fisa-sectiune { background: #fff; }
  body.tipar .fisa { display: block; }
  body.tipar .carnet { box-shadow: none; }
  .eticheta { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
