/* Oxxygene: paginile din secțiuni în designul nou (specialitățile cu „Design nou” bifat în Brain). Marcajul:
   src/site/blocks-premium.mjs. Se încarcă după premium.css și folosește tokenii și piesele homepage-ului (.oxh-*,
   .oxp-*): aceleași titluri, butoane, carduri, panouri, benzi derulabile; aici doar ce e propriu blocurilor (.oxb-*).

   Mobil întâi (≈90% din vizite): regulile de bază sunt pentru telefon; ecranele mari se adaugă cu min-width (640,
   768, 1024). Pe telefon: butoanele pe toată lățimea, traseele ca benzi derulabile, câmpurile formularului de 16px
   (iPhone nu mai mărește pagina la tastare), harta înlocuită de „Indicații” pe fiecare locație. */

.oxx :is(.oxb, .oxb-hero, .oxb-cta)[id] { scroll-margin-top: calc(var(--p-header-h) + 8px); }
@media (prefers-reduced-motion: no-preference) { html:has(.oxb-hero) { scroll-behavior: smooth; } }
/* Etichetele lungi ale butoanelor („Explorează longevitatea organismului”) se rup pe două rânduri în loc să iasă din ecran. */
.oxx :is(.oxb, .oxb-hero, .oxb-cta) .oxp-btn { white-space: normal; text-align: center; line-height: 1.25; padding-block: 10px; }
.oxx .oxb { padding-block: 36px; }
.oxx .oxb-band { background: var(--p-soft); }
@media (min-width: 768px) { .oxx .oxb { padding-block: 64px; } }
@media (min-width: 1024px) { .oxx .oxb { padding-block: 80px; } }

/* ——— Iconița din plăci și carduri: pătrat auriu-deschis (ca plăcile CAS de pe homepage), pe același rând cu titlul. */
.oxx .oxb-top { display: flex; align-items: center; gap: 14px; }
.oxx .oxb-top h3 { margin: 0; }
.oxx .oxb-ic { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--p-r-btn); background: var(--p-gold-soft); color: var(--p-gold-ink); }
.oxx .oxb-kicker { font: 700 12px/1.2 var(--p-display); letter-spacing: .12em; text-transform: uppercase; color: var(--p-gold-ink); }

/* ——— Firul de navigare: un rând (derulabil pe telefon), pe fundalul deschis al antetului paginii. */
.oxx .oxb-crumbs { background: var(--p-soft); padding-top: 10px; }
.oxx .oxb-crumbs ol { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; white-space: nowrap; font: 500 13px/1.3 var(--p-text); color: var(--p-mute); }
.oxx .oxb-crumbs ol::-webkit-scrollbar { display: none; }
.oxx .oxb-crumbs li { display: inline-flex; align-items: center; gap: 4px; flex: none; }
.oxx .oxb-crumbs a { display: inline-block; padding: 8px 0; color: var(--p-mute); transition: color .2s; }
.oxx .oxb-crumbs a:hover { color: var(--p-navy); text-decoration: underline; text-underline-offset: 3px; }
.oxx .oxb-crumbs svg { color: var(--p-line-2); }
.oxx .oxb-crumbs [aria-current] { color: var(--p-ink); font-weight: 600; }

/* ——— Antetul paginii. Telefon: eticheta, titlul, textul, butoanele unul sub altul, apoi reperele pe un card alb.
   Desktop: textul în stânga, reperele pe un panou bleumarin în dreapta (ca panoul tehnologiilor de pe homepage). */
.oxx .oxb-hero { position: relative; overflow: hidden; padding: 14px 0 32px; background:
  radial-gradient(80% 55% at 100% 0%, color-mix(in srgb, var(--p-navy-3) 10%, transparent), transparent 70%),
  radial-gradient(70% 45% at 0% 100%, color-mix(in srgb, var(--p-gold) 9%, transparent), transparent 70%),
  linear-gradient(180deg, var(--p-soft) 0%, #fff 100%); }
.oxx .oxb-hero-in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 26px; }
.oxx .oxb-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--p-line); box-shadow: var(--p-shadow-sm); font: 700 11.5px/1 var(--p-display); letter-spacing: .12em; text-transform: uppercase; color: var(--p-gold-ink); }
.oxx .oxb-eyebrow svg { color: var(--p-gold); }
.oxx .oxb-hero h1 { margin: 16px 0 0; font-size: clamp(2rem, 1.25rem + 3.2vw, 3.05rem); line-height: 1.07; font-weight: 700; letter-spacing: -.03em; color: var(--p-ink); text-wrap: balance; }
.oxx .oxb-hero h1 span { display: block; color: var(--p-navy-3); font-weight: 600; }
.oxx .oxb-hero .oxh-cta .oxp-btn { min-height: 54px; }
.oxx .oxb-hero-side { border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); box-shadow: var(--p-shadow-sm); padding: 4px 16px; }
.oxx .oxb-points { display: grid; margin: 0; padding: 0; list-style: none; }
.oxx .oxb-points li { display: flex; align-items: center; gap: 12px; padding: 12px 0; font: 500 15px/1.4 var(--p-text); color: var(--p-ink); }
.oxx .oxb-points li + li { border-top: 1px solid var(--p-line); }
.oxx .oxb-points li > span:last-child::first-letter { text-transform: uppercase; }
.oxx .oxb-points-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--p-r-btn); background: var(--p-gold-soft); color: var(--p-gold-ink); }
/* Imaginea antetului se vede întreagă (fără decupaj), la proporțiile ei; pe telefon vine după rezumat. */
.oxx .oxb-hero-media { order: 3; margin: 0; border-radius: var(--p-r-card); overflow: hidden; background: var(--p-tint); box-shadow: var(--p-shadow-md); }
.oxx .oxb-hero-media img { display: block; width: 100%; height: auto; }
.oxx .oxb-hero-points { order: 2; }
@media (min-width: 1024px) {
  .oxx .oxb-crumbs { padding-top: 16px; }
  .oxx .oxb-hero { padding: 28px 0 80px; }
  .oxx .oxb-hero-in { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 32px 64px; align-items: center; min-height: 420px; }
  .oxx .oxb-hero h1 { font-size: clamp(2.7rem, 1.2rem + 2.5vw, 3.5rem); line-height: 1.04; margin-top: 20px; }
  .oxx .oxb-hero .oxh-lead { font-size: 18.5px; max-width: 46ch; margin-top: 18px; }
  .oxx .oxb-hero .oxh-cta { margin-top: 30px; }
  /* Rezumatul: card deschis cu chenar (ca reperele paginilor de specialitate), nu panou închis. */
  .oxx .oxb-hero-side { padding: 8px 24px; border-radius: var(--p-r-panel); }
  .oxx .oxb-hero-side .oxb-points li { gap: 16px; padding: 18px 0; font-size: 16.5px; }
  .oxx .oxb-hero-side .oxb-points-ic { width: 46px; height: 46px; }
  .oxx .oxb-hero.has-img .oxb-hero-media { grid-column: 2; grid-row: 1 / span 2; align-self: center; border-radius: var(--p-r-panel); }
  .oxx .oxb-hero.has-img .oxb-hero-points { grid-column: 1; }
}

/* ——— Text: fraza de deschidere (un paragraf scurt), titlul cu textul alături, textul de lectură. */
.oxx .oxb-text { padding-block: 24px; }
.oxx .oxb-statement { max-width: 50rem; padding-left: 18px; border-left: 3px solid var(--p-gold); }
.oxx .oxb-statement p { margin: 0; font: 500 17px/1.55 var(--p-display); letter-spacing: -.01em; color: var(--p-ink); text-wrap: pretty; }
.oxx .oxb-prose { max-width: 46rem; font: 400 16.5px/1.7 var(--p-text); color: var(--p-body); }
.oxx .oxb-prose.is-wide { max-width: none; }
.oxx .oxb-prose > :first-child { margin-top: 0; }
.oxx .oxb-prose > :last-child { margin-bottom: 0; }
.oxx .oxb-prose p { margin: 0 0 1em; }
.oxx .oxb-prose h2 { margin: 1.5em 0 .5em; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem); line-height: 1.2; font-weight: 700; color: var(--p-ink); }
.oxx .oxb-prose h3 { margin: 1.4em 0 .4em; font-size: 19px; line-height: 1.3; font-weight: 700; color: var(--p-ink); }
.oxx .oxb-prose strong { color: var(--p-ink); font-weight: 600; }
.oxx .oxb-prose a { color: var(--p-navy-3); font-weight: 600; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--p-gold) 70%, transparent); text-decoration-thickness: 1.5px; text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
.oxx .oxb-prose a:hover { color: var(--p-navy); text-decoration-color: var(--p-gold); }
.oxx .oxb-prose :is(ul, ol) { display: grid; gap: .45em; margin: 0 0 1.1em; padding: 0; list-style: none; }
.oxx .oxb-prose ul > li { position: relative; padding-left: 22px; }
.oxx .oxb-prose ul > li::before { content: ""; position: absolute; left: 3px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--p-gold); }
.oxx .oxb-prose ol { counter-reset: oxb; }
.oxx .oxb-prose ol > li { position: relative; padding-left: 34px; counter-increment: oxb; }
.oxx .oxb-prose ol > li::before { content: counter(oxb); position: absolute; left: 0; top: .1em; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--p-gold-soft); color: var(--p-gold-ink); font: 700 12px/1 var(--p-display); }
.oxx .oxb-prose img { max-width: 100%; height: auto; border-radius: var(--p-r-card); }
.oxx .oxb-split { display: grid; gap: 14px; }
.oxx .oxb-split > h2 { margin: 0; }
@media (min-width: 768px) { .oxx .oxb-text { padding-block: 48px; } .oxx .oxb-statement { padding-left: 26px; } .oxx .oxb-statement p { font-size: 22px; line-height: 1.5; } }
@media (min-width: 1024px) {
  .oxx .oxb-text { padding-block: 56px; }
  .oxx .oxb-split { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 72px; align-items: start; }
  .oxx .oxb-split .oxb-prose { font-size: 17.5px; max-width: 44rem; }
}

/* ——— Alegerea traseului (lista pe fundal nuanțat): panoul nuanțat al homepage-ului cu carduri mari, întregi și pe
   telefon (e decizia principală a paginii); iconița pe bleumarin, etichetele aurii, linkul spre secțiunea traseului. */
.oxx .oxb-panel { border-radius: var(--p-r-panel); background: var(--p-tint); padding: 24px 14px 14px; }
.oxx .oxb-panel > .oxh-head { padding-inline: 6px; }
.oxx .oxb-choices { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.oxx .oxb-choices > li { display: flex; }
.oxx .oxb-choice { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 20px 18px; border-radius: var(--p-r-card); background: #fff; border: 1px solid transparent; box-shadow: var(--p-shadow-sm); color: var(--p-ink); transition: border-color .2s, box-shadow .2s, transform .2s var(--p-ease); }
.oxx a.oxb-choice:hover { border-color: var(--p-line-2); box-shadow: var(--p-shadow-md); transform: translateY(-2px); }
.oxx .oxb-choice .oxb-ic { width: 48px; height: 48px; background: var(--p-navy); color: #fff; }
.oxx .oxb-choice h3 { font-size: 20px; line-height: 1.2; font-weight: 700; color: var(--p-ink); }
.oxx .oxb-choice p { margin: 0; font: 400 15px/1.55 var(--p-text); color: var(--p-body); }
.oxx .oxb-choice .oxp-link { margin-top: auto; padding-top: 8px; }
.oxx .oxb-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
.oxx .oxb-tags li { padding: 7px 11px; border-radius: 999px; background: var(--p-gold-soft); color: var(--p-gold-ink); font: 600 12.5px/1 var(--p-display); }
.oxx .oxb-panel.is-dark { background: radial-gradient(120% 120% at 0% 0%, var(--p-navy-3) 0%, var(--p-navy) 58%); color: #fff; }
.oxx .oxb-panel.is-dark .oxh-head h2 { color: #fff; }
.oxx .oxb-panel.is-dark .oxh-head p { color: rgb(255 255 255 / .72); }
@media (min-width: 768px) {
  .oxx .oxb-panel { padding: 32px; }
  .oxx .oxb-panel > .oxh-head { padding-inline: 0; }
  .oxx .oxb-choices { grid-template-columns: repeat(min(var(--n, 2), 3), minmax(0, 1fr)); gap: 14px; }
  .oxx .oxb-choice { padding: 26px; }
  .oxx .oxb-choice h3 { font-size: 23px; }
  .oxx .oxb-choice p { font-size: 15.5px; }
}
@media (min-width: 1024px) { .oxx .oxb-panel { padding: 40px; } }

/* ——— Traseele (listele editoriale): carduri cu iconiță, titlu, text și link; pe telefon bandă derulabilă (cardul
   următor se vede pe margine), pe desktop grilă de până la patru coloane. */
.oxx .oxb-cards { grid-auto-columns: 84%; }
.oxx .oxb-card { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 20px 18px; border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); color: var(--p-ink); transition: border-color .2s, box-shadow .2s, transform .2s var(--p-ease); }
.oxx a.oxb-card:hover { border-color: var(--p-line-2); box-shadow: var(--p-shadow-md); transform: translateY(-2px); }
.oxx .oxb-card h3 { font-size: 18px; line-height: 1.25; font-weight: 700; color: var(--p-ink); }
.oxx .oxb-card p { margin: 0; font: 400 15px/1.55 var(--p-text); color: var(--p-body); }
.oxx .oxb-card .oxp-link { margin-top: auto; padding-top: 6px; font-size: 14.5px; }
@media (min-width: 640px) { .oxx .oxb-cards { grid-auto-columns: 46%; } }
@media (min-width: 1024px) {
  .oxx .oxb-cards { grid-auto-flow: row; grid-template-columns: repeat(min(var(--n, 3), 4), minmax(0, 1fr)); overflow: visible; }
  .oxx .oxb-card { padding: 22px; }
  /* Pe patru coloane, iconița stă deasupra titlului: titlul are toată lățimea cardului. */
  .oxx .oxb-card .oxb-top { flex-direction: column; align-items: flex-start; gap: 16px; }
}

/* ——— Liste pe coloane (punctele de plecare): carduri întregi, lista cu bife sub o linie, tariful evidențiat. */
.oxx .oxb-colgrid { display: grid; gap: 12px; }
.oxx .oxb-col { display: flex; flex-direction: column; gap: 12px; padding: 20px 18px; border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); }
.oxx .oxb-col h3 { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--p-ink); }
.oxx .oxb-col > p { margin: 0; font: 400 15.5px/1.6 var(--p-text); color: var(--p-body); }
.oxx .oxb-checks { display: grid; gap: 10px; margin: 2px 0 0; padding: 14px 0 0; list-style: none; border-top: 1px solid var(--p-line); }
.oxx .oxb-checks li { display: flex; gap: 10px; align-items: flex-start; font: 400 15px/1.5 var(--p-text); color: var(--p-ink); }
.oxx .oxb-checks li svg { flex: none; margin-top: 2px; color: var(--p-gold-ink); }
.oxx .oxb-checks li.is-price { align-items: center; padding: 10px 12px; border-radius: var(--p-r-btn); background: var(--p-gold-soft); }
.oxx .oxb-checks li.is-price svg { margin-top: 0; }
.oxx .oxb-checks li.is-price b { font: 700 16px/1.2 var(--p-display); color: var(--p-ink); white-space: nowrap; }
.oxx .oxb-note { margin: 0; font: 400 14px/1.55 var(--p-text); color: var(--p-mute); }
.oxx .oxb-col > .oxp-link { margin-top: auto; padding-top: 4px; font-size: 14.5px; }
@media (min-width: 768px) {
  .oxx .oxb-colgrid { grid-template-columns: repeat(min(var(--n, 2), 3), minmax(0, 1fr)); gap: 16px; }
  .oxx .oxb-col { padding: 26px; }
}

/* ——— Medicii: cardul larg al homepage-ului (alb pe banda deschisă), acțiunile sub text. */
.oxx .oxb-band .oxh-lead-doc { background: #fff; border: 1px solid var(--p-line); }
.oxx .oxb-doc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 8px; }
.oxx .oxb-more { margin-top: 18px; }

/* ——— Locațiile: cardurile homepage-ului; harta (la cerere) doar de la 768px: pe telefon, „Indicații” deschide
   aplicația de hărți. Pe desktop, locațiile în stânga și harta în dreapta. */
.oxx .oxb-places-grid { display: grid; gap: 12px; }
.oxx .oxb-locs { margin: 0; list-style: none; }
.oxx .oxb-loc-img { margin: -18px -18px 4px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--p-r-card) var(--p-r-card) 0 0; background: var(--p-tint); }
.oxx .oxb-loc-img img { width: 100%; height: 100%; object-fit: cover; }
.oxx .oxb-map { display: none; }
@media (min-width: 768px) {
  .oxx .oxb-loc-img { margin: -22px -22px 4px; }
  .oxx .oxb-map { display: block; position: relative; min-height: 320px; border-radius: var(--p-r-card); overflow: hidden; border: 1px solid var(--p-line); background: var(--p-soft); }
  .oxx .oxb-map-ph { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; padding: 28px; text-align: center; background:
    radial-gradient(60% 60% at 50% 45%, rgb(255 255 255 / .95), rgb(255 255 255 / .6) 70%, transparent),
    repeating-linear-gradient(0deg, transparent 0 39px, color-mix(in srgb, var(--p-ink) 5%, transparent) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, color-mix(in srgb, var(--p-ink) 5%, transparent) 39px 40px), var(--p-soft); }
  .oxx .oxb-map-ph .oxb-ic { width: 52px; height: 52px; margin-bottom: 4px; background: var(--p-navy); color: #fff; }
  .oxx .oxb-map-ph b { font: 700 17px/1.3 var(--p-display); color: var(--p-ink); }
  .oxx .oxb-map-ph span { font: 400 14.5px/1.5 var(--p-text); color: var(--p-body); }
  .oxx .oxb-map-ph .oxp-btn { margin-top: 8px; }
  .oxx .oxb-map-ph small { font: 400 12.5px/1.4 var(--p-text); color: var(--p-mute); }
  .oxx .oxb-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .oxx .oxb-map.is-loaded .oxb-map-ph { display: none; }
}
@media (min-width: 1024px) {
  .oxx .oxb-places.has-map .oxb-places-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 16px; align-items: stretch; }
  .oxx .oxb-places.has-map .oxb-locs { grid-template-columns: minmax(0, 1fr); }
  .oxx .oxb-map { min-height: 100%; }
}

/* ——— Formularul: panoul nuanțat, textul (cu telefonul ca link) și formularul pe un card alb. Câmpuri de 16px și
   cel puțin 50px înălțime; opțiunile radio ca butoane rotunjite; trimiterea pe toată lățimea pe telefon. */
.oxx .oxb-form-box { display: grid; gap: 20px; padding: 24px 14px 14px; border-radius: var(--p-r-panel); background: var(--p-tint); }
.oxx .oxb-form-copy { display: grid; gap: 10px; justify-items: start; padding-inline: 6px; }
.oxx .oxb-form-copy .oxb-ic { background: #fff; box-shadow: var(--p-shadow-sm); }
.oxx .oxb-form-copy h2 { margin: 4px 0 0; }
.oxx .oxb-form-copy p { margin: 0; font: 400 16px/1.6 var(--p-text); color: var(--p-body); max-width: 52ch; }
.oxx .oxb-form-copy p a { color: var(--p-navy); font-weight: 700; white-space: nowrap; text-decoration: underline; text-decoration-color: var(--p-gold); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.oxx .oxb-form { padding: 18px 16px 20px; border-radius: var(--p-r-card); background: #fff; box-shadow: var(--p-shadow-sm); }
.oxx .oxb-fields { display: grid; gap: 14px; }
.oxx .oxb-field { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.oxx fieldset.oxb-field { display: block; }
.oxx .oxb-field > label, .oxx .oxb-field legend { padding: 0; font: 600 14px/1.3 var(--p-display); color: var(--p-ink); }
.oxx .oxb-field legend { margin-bottom: 8px; }
.oxx .oxb-field :is(input, select, textarea) { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: var(--p-r-btn); border: 1.5px solid var(--p-line-2); background: #fff; font: 400 16px/1.4 var(--p-text); color: var(--p-ink); -webkit-appearance: none; appearance: none; transition: border-color .2s, box-shadow .2s; }
.oxx .oxb-field textarea { min-height: 108px; resize: vertical; }
.oxx .oxb-field :is(input, select, textarea):hover { border-color: var(--p-mute); }
.oxx .oxb-field :is(input, select, textarea):focus { outline: none; border-color: var(--p-navy-3); box-shadow: 0 0 0 4px color-mix(in srgb, var(--p-navy-3) 16%, transparent); }
.oxx .oxb-select { position: relative; }
.oxx .oxb-select select { padding-right: 44px; cursor: pointer; }
.oxx .oxb-select svg { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--p-mute); pointer-events: none; }
.oxx .oxb-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.oxx .oxb-pill { position: relative; }
.oxx .oxb-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.oxx .oxb-pill span { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 999px; border: 1.5px solid var(--p-line-2); background: #fff; font: 600 14.5px/1 var(--p-display); color: var(--p-ink); cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
.oxx .oxb-pill:hover span { border-color: var(--p-navy); }
.oxx .oxb-pill input:checked + span { background: var(--p-navy); border-color: var(--p-navy); color: #fff; }
.oxx .oxb-pill input:focus-visible + span { box-shadow: 0 0 0 4px color-mix(in srgb, var(--p-navy-3) 22%, transparent); }
.oxx .oxb-consent { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; font: 400 14px/1.5 var(--p-text); color: var(--p-body); cursor: pointer; }
.oxx .oxb-consent input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--p-navy); cursor: pointer; }
.oxx .oxb-consent a { color: var(--p-navy-3); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.oxx .oxb-submit { width: 100%; min-height: 54px; margin-top: 18px; }
@media (min-width: 640px) {
  .oxx .oxb-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
  .oxx .oxb-field-wide, .oxx .oxb-pills-set { grid-column: 1 / -1; }
  .oxx .oxb-form { padding: 24px; }
  .oxx .oxb-submit { width: auto; padding-inline: 28px; }
}
@media (min-width: 768px) { .oxx .oxb-form-box { padding: 32px; } .oxx .oxb-form-copy { padding-inline: 0; } }
@media (min-width: 1024px) {
  .oxx .oxb-form-box { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; padding: 44px; }
  .oxx .oxb-form-copy { position: sticky; top: calc(var(--p-header-h) + 28px); }
  .oxx .oxb-form-copy p { font-size: 17px; }
  .oxx .oxb-form { padding: 30px; }
}

/* ——— Banda de îndemn: panoul final al homepage-ului; textul sub titlu; cu trei butoane, butoanele sub text. */
.oxx .oxb-cta-copy { display: grid; gap: 10px; }
.oxx .oxb-cta-copy p { margin: 0; font: 400 16px/1.55 var(--p-text); color: rgb(255 255 255 / .78); max-width: 56ch; }
.oxx .oxh-final-box.is-light { background: var(--p-tint); color: var(--p-ink); box-shadow: none; }
.oxx .oxh-final-box.is-light h2 { color: var(--p-ink); }
.oxx .oxh-final-box.is-light .oxb-cta-copy p { color: var(--p-body); }
@media (min-width: 1024px) { .oxx .oxh-final-box.is-stack { grid-template-columns: minmax(0, 1fr); gap: 26px; } }

/* ================= Specialitățile: blocurile adăugate și pagina din câmpuri (specialty-premium.mjs) ================= */

/* ——— Benzile deschise consecutive (de exemplu mai multe clipuri) curg ca o singură bandă. */
.oxx .oxb-band + .oxb-band { padding-top: 4px; }

/* ——— Rezumatul din antet (acces, locații, echipă, tarif): eticheta mică deasupra valorii; rândurile cu link duc la
   partea paginii. Cu imagine, rezumatul stă sub butoane, pe un card alb. */
.oxx .oxb-facts li { padding: 0; }
.oxx .oxb-facts li > a, .oxx .oxb-facts li:not(:has(> a)) { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 0; color: inherit; }
.oxx .oxb-facts small { display: block; font: 600 11.5px/1.2 var(--p-display); letter-spacing: .08em; text-transform: uppercase; color: var(--p-mute); }
.oxx .oxb-facts b { display: block; margin-top: 3px; font: 600 15.5px/1.3 var(--p-display); color: var(--p-ink); }
.oxx .oxb-facts li > a { position: relative; padding-right: 26px; }
.oxx .oxb-facts li > a::after { content: ""; position: absolute; right: 6px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--p-line-2); border-bottom: 2px solid var(--p-line-2); transform: translateY(-60%) rotate(-45deg); transition: border-color .2s, right .2s var(--p-ease); }
.oxx .oxb-facts li > a:hover::after { border-color: var(--p-gold); right: 3px; }
.oxx .oxb-hero-points { border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); box-shadow: var(--p-shadow-sm); padding: 2px 16px; }
@media (min-width: 1024px) {
  .oxx .oxb-hero-side .oxb-facts li > a, .oxx .oxb-hero-side .oxb-facts li:not(:has(> a)) { gap: 16px; padding: 18px 0; }
  .oxx .oxb-hero-side .oxb-facts small { color: rgb(255 255 255 / .6); }
  .oxx .oxb-hero-side .oxb-facts b { color: #fff; font-size: 17px; }
  .oxx .oxb-hero-side .oxb-facts li > a::after { border-color: rgb(255 255 255 / .35); }
  .oxx .oxb-hero-points { padding: 4px 20px; }
}

/* ——— Cuprinsul paginii (sub antet): etichete rotunjite, un rând derulabil pe telefon. */
.oxx .oxb-jump { margin-top: 22px; }
.oxx .oxb-jump ul { display: flex; gap: 8px; margin: 0 calc(-1 * var(--p-gutter)); padding: 2px var(--p-gutter) 4px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.oxx .oxb-jump ul::-webkit-scrollbar { display: none; }
.oxx .oxb-jump li { flex: none; }
.oxx .oxb-jump a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--p-line); font: 600 14px/1 var(--p-display); color: var(--p-ink); white-space: nowrap; transition: border-color .2s, background-color .2s; }
.oxx .oxb-jump a:hover { border-color: var(--p-navy); }
@media (min-width: 1024px) { .oxx .oxb-jump { margin-top: 36px; } .oxx .oxb-jump ul { flex-wrap: wrap; margin: 0; padding: 0; overflow: visible; } }

/* ——— Serviciile specialității: pe telefon o listă (titlu, două rânduri de descriere, săgeată), ușor de parcurs;
   de la 640px carduri pe două coloane, pe desktop pe trei. */
.oxx .oxb-svcs { display: grid; margin: 0; padding: 0; list-style: none; border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); overflow: hidden; }
.oxx .oxb-svcs > li + li { border-top: 1px solid var(--p-line); }
.oxx .oxb-svc { position: relative; display: grid; gap: 4px; padding: 16px 48px 16px 18px; color: var(--p-ink); transition: background-color .2s; }
.oxx .oxb-svc:hover { background: var(--p-soft); }
.oxx .oxb-svc h3 { margin: 0; font-size: 17px; line-height: 1.3; font-weight: 700; color: var(--p-ink); }
.oxx .oxb-svc p { margin: 0; font: 400 14.5px/1.5 var(--p-text); color: var(--p-body); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.oxx .oxb-svc .oxp-link { display: none; }
.oxx .oxb-svc-go { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--p-gold-ink); }
@media (min-width: 640px) {
  .oxx .oxb-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; border: 0; background: none; border-radius: 0; overflow: visible; }
  .oxx .oxb-svcs > li { display: flex; }
  .oxx .oxb-svcs > li + li { border-top: 0; }
  .oxx .oxb-svc { width: 100%; align-content: start; gap: 8px; padding: 22px; border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); transition: border-color .2s, box-shadow .2s, transform .2s var(--p-ease); }
  .oxx .oxb-svc:hover { background: #fff; border-color: var(--p-line-2); box-shadow: var(--p-shadow-md); transform: translateY(-2px); }
  .oxx .oxb-svc h3 { font-size: 18px; }
  .oxx .oxb-svc p { -webkit-line-clamp: 4; font-size: 15px; }
  .oxx .oxb-svc .oxp-link { display: inline-flex; align-self: end; margin-top: 8px; font-size: 14.5px; }
  .oxx .oxb-svc-go { display: none; }
}
@media (min-width: 1024px) { .oxx .oxb-svcs { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 16px; } }

/* ——— Două coloane (tarife, întrebări): pe desktop titlul și nota în stânga (fixe la derulare), conținutul în dreapta. */
.oxx .oxb-twocol { display: grid; gap: 4px; }
.oxx .oxb-twocol-foot { display: grid; justify-items: start; gap: 14px; margin-top: 14px; }
.oxx .oxb-twocol-foot .oxb-note { max-width: 60ch; }
@media (min-width: 1024px) {
  .oxx .oxb-twocol { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); grid-template-areas: "head main" "foot main"; column-gap: 64px; align-items: start; }
  .oxx .oxb-twocol-head { grid-area: head; }
  .oxx .oxb-twocol-main { grid-area: main; }
  .oxx .oxb-twocol-foot { grid-area: foot; margin-top: 0; }
}

/* ——— Tarifele: rândurile pe un card alb (denumirea în stânga, prețul aliniat în dreapta). */
.oxx .oxb-prices { display: grid; gap: 14px; }
.oxx .oxb-price-card { border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); overflow: hidden; }
.oxx .oxb-price-head { padding: 16px 18px; border-bottom: 1px solid var(--p-line); background: var(--p-soft); }
.oxx .oxb-price-head h3 { margin: 0; font-size: 17px; font-weight: 700; color: var(--p-ink); }
.oxx .oxb-price-head p { margin: 6px 0 0; font: 400 14px/1.5 var(--p-text); color: var(--p-body); }
.oxx .oxb-price-card ul { margin: 0; padding: 0; list-style: none; }
/* Denumirea are cel puțin ~12em; când nu mai e loc, prețul trece pe rândul următor, aliniat în dreapta (fără cuvinte rupte). */
.oxx .oxb-price-card li { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 18px; padding: 14px 18px; }
.oxx .oxb-price-card li + li { border-top: 1px solid var(--p-line); }
.oxx .oxb-price-card li span { flex: 1 1 11.5em; min-width: 0; font: 400 15px/1.45 var(--p-text); color: var(--p-ink); overflow-wrap: break-word; }
.oxx .oxb-price-card li b { flex: 0 1 auto; margin-left: auto; text-align: right; font: 700 15.5px/1.35 var(--p-display); color: var(--p-navy-3); }
@media (min-width: 768px) { .oxx .oxb-price-card li { padding: 15px 22px; } }

/* ——— Întrebările: carduri pliabile; săgeata se rotește la deschidere. */
.oxx .oxb-faq { display: grid; gap: 10px; }
.oxx .oxb-q { border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); transition: border-color .2s, box-shadow .2s; }
.oxx .oxb-q[open] { border-color: var(--p-line-2); box-shadow: var(--p-shadow-sm); }
.oxx .oxb-q summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 56px; padding: 14px 16px 14px 18px; list-style: none; cursor: pointer; font: 600 16px/1.4 var(--p-display); color: var(--p-ink); }
.oxx .oxb-q summary::-webkit-details-marker { display: none; }
.oxx .oxb-q-ic { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--p-soft); color: var(--p-navy-3); transition: transform .25s var(--p-ease), background-color .2s; }
.oxx .oxb-q[open] .oxb-q-ic { transform: rotate(180deg); background: var(--p-gold-soft); color: var(--p-gold-ink); }
.oxx .oxb-a { padding: 0 18px 18px; font-size: 15.5px; }

/* ——— Atenționarea: „warn” roșu-cald (urgențe), altfel nuanțată. */
.oxx .oxb-callout-sec { padding-block: 20px; }
.oxx .oxb-callout { display: flex; gap: 14px; align-items: flex-start; max-width: 56rem; padding: 18px; border-radius: var(--p-r-card); background: var(--p-tint); border: 1px solid var(--p-line); }
.oxx .oxb-callout-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--p-r-btn); background: #fff; color: var(--p-navy-3); }
.oxx .oxb-callout b { display: block; margin-bottom: 4px; font: 700 16.5px/1.35 var(--p-display); color: var(--p-ink); }
.oxx .oxb-callout p { margin: 0; font: 400 15.5px/1.6 var(--p-text); color: var(--p-ink); }
.oxx .oxb-callout.is-warn { background: #fdf3f0; border-color: #efcfc6; }
.oxx .oxb-callout.is-warn .oxb-callout-ic { color: #b3432f; }
@media (min-width: 768px) { .oxx .oxb-callout-sec { padding-block: 28px; } .oxx .oxb-callout { padding: 22px 24px; gap: 18px; } }

/* ——— Clipurile: cadrul rotunjit, bleumarin; un clip vertical nu depășește înălțimea ecranului. */
.oxx .oxb-videos { display: grid; gap: 20px; }
.oxx .oxb-video { margin: 0; max-width: 960px; }
.oxx .oxb-video-frame { border-radius: var(--p-r-card); overflow: hidden; background: var(--p-navy); box-shadow: var(--p-shadow-md); }
.oxx .oxb-video video { display: block; width: 100%; height: auto; max-height: min(78vh, 680px); margin: 0 auto; background: var(--p-navy); }
.oxx .oxb-video figcaption { margin-top: 12px; }
.oxx .oxb-video figcaption b { display: block; font: 700 16px/1.35 var(--p-display); color: var(--p-ink); }
.oxx .oxb-video figcaption p { margin: 6px 0 0; font: 400 14.5px/1.55 var(--p-text); color: var(--p-body); max-width: 70ch; }
@media (min-width: 768px) { .oxx .oxb-videos { grid-template-columns: repeat(var(--n, 1), minmax(0, 1fr)); gap: 24px; } }

/* ——— Pașii (parcursul homepage-ului): unul sub altul și pe desktop, pentru varianta „column”. */
.oxx .oxb-steps .oxh-step .oxb-kicker { display: block; margin: 10px 0 -6px; }
@media (min-width: 900px) {
  .oxx .oxb-steps.is-col .oxh-steps { grid-auto-flow: row; gap: 26px; }
  .oxx .oxb-steps.is-col .oxh-step { grid-template-columns: 44px minmax(0, 1fr); }
  .oxx .oxb-steps.is-col .oxh-step h3 { margin-top: 10px; }
  /* Linia dintre pași rămâne verticală (de la cerc până la cercul următor), ca pe telefon, nu orizontală. */
  .oxx .oxb-steps.is-col .oxh-step:not(:last-child)::before, .oxx .oxb-steps.is-col .oxh-step:not(:last-child)::after { top: 50px; bottom: -20px; left: 21px; right: auto; width: 2px; height: auto; }
  .oxx .oxb-steps.is-col .oxh-step:not(:last-child)::after { transform-origin: 50% 0; }
  .oxx .oxb-steps.is-col .oxh-journey-track.is-armed:not(.is-play) .oxh-step::after { transform: scaleY(0); }
}

/* ——— Liste pe coloane cu un singur card: pe ecranele mari lista se așază pe două coloane. */
@media (min-width: 768px) { .oxx .oxb-colgrid.is-single .oxb-checks { display: block; columns: 2; column-gap: 36px; } .oxx .oxb-colgrid.is-single .oxb-checks li { break-inside: avoid; margin-bottom: 10px; } }

/* ——— Textul lung al specialității: pliat (site.js, [data-collapse]) cu o estompare și butonul „Citește tot textul”;
   pe desktop, caseta de programare stă alături și rămâne vizibilă la derulare. */
.oxx .oxb-about-grid { display: grid; gap: 24px; }
.oxx .oxb-collapse { position: relative; min-width: 0; }
.oxx .oxb-collapse.is-collapsed > :first-child { max-height: var(--oxb-fold, 560px); overflow: hidden; }
.oxx .oxb-collapse-fade { display: none; }
.oxx .oxb-collapse.is-collapsed .oxb-collapse-fade { display: block; position: absolute; left: 0; right: 0; bottom: 56px; height: 140px; background: linear-gradient(180deg, transparent, var(--oxb-fade-bg, #fff) 85%); pointer-events: none; }
.oxx .oxb-band { --oxb-fade-bg: var(--p-soft); }
.oxx .oxb-band .oxb-collapse-fade { background: linear-gradient(180deg, transparent, var(--p-soft) 85%); }
.oxx .oxb-collapse-btn { margin-top: 14px; }
.oxx .oxb-collapse-btn svg { transition: transform .25s var(--p-ease); }
.oxx .oxb-collapse-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.oxx .oxb-article h2 { margin-top: 1.4em; }
.oxx .oxb-article :is(h4, h5, h6) { margin: 1.2em 0 .4em; font: 700 17px/1.35 var(--p-display); color: var(--p-ink); }
.oxx .oxb-article table { width: 100%; margin: 1.2em 0; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.oxx .oxb-article :is(th, td) { padding: 10px 12px; border: 1px solid var(--p-line); text-align: left; }
.oxx .oxb-article th { background: var(--p-soft); color: var(--p-ink); }
.oxx .oxb-article img { display: block; margin: 1.2em 0; }
.oxx .oxb-book { display: none; }
@media (min-width: 1024px) {
  .oxx .oxb-about-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
  .oxx .oxb-collapse { --oxb-fold: 640px; }
  .oxx .oxb-book { position: sticky; top: calc(var(--p-header-h) + 24px); display: grid; gap: 14px; padding: 26px; border-radius: var(--p-r-panel); color: #fff; background: radial-gradient(120% 120% at 0% 0%, var(--p-navy-3) 0%, var(--p-navy) 60%); box-shadow: var(--p-shadow-lg); }
  .oxx .oxb-book .oxb-kicker { color: var(--p-gold); }
  .oxx .oxb-book-tel { display: flex; align-items: center; gap: 10px; font: 700 24px/1.1 var(--p-display); letter-spacing: -.02em; color: #fff; }
  .oxx .oxb-book-tel svg { color: var(--p-gold); }
  .oxx .oxb-book-cta { display: grid; gap: 10px; margin-top: 4px; }
  .oxx .oxb-book .oxp-btn { width: 100%; }
}

/* ——— Recenziile: nota medie sub titlu; cardurile (citatul, autorul, stelele) pe o bandă derulabilă. */
.oxx .oxb-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font: 500 15px/1.4 var(--p-text); color: var(--p-body); }
.oxx .oxb-rating b { font: 700 16px/1 var(--p-display); color: var(--p-ink); }
.oxx .oxb-stars { display: inline-flex; gap: 2px; color: #e9b949; }
.oxx .oxb-review-rail { grid-auto-columns: 84%; }
.oxx .oxb-review { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 20px; border-radius: var(--p-r-card); background: #fff; border: 1px solid var(--p-line); }
.oxx .oxb-review-q { color: var(--p-gold); opacity: .8; }
.oxx .oxb-review p { margin: 0; font: 400 15px/1.6 var(--p-text); color: var(--p-ink); display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.oxx .oxb-review footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--p-line); }
.oxx .oxb-review footer b { display: block; font: 700 15px/1.3 var(--p-display); color: var(--p-ink); }
.oxx .oxb-review footer small { font: 400 12.5px/1.3 var(--p-text); color: var(--p-mute); }
@media (min-width: 640px) { .oxx .oxb-review-rail { grid-auto-columns: 46%; } }
@media (min-width: 1024px) { .oxx .oxb-review-rail { grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * 16px) / 3); overflow-x: auto; margin-inline: 0; padding-inline: 0; } }
.oxx .oxb-reviews-head { display: grid; gap: 8px; }

/* ——— Disponibilitatea pe locații: cardurile locațiilor, cu CAS / privat (bifă verde = da, x gri = nu). */
.oxx .oxb-avail-rows { display: grid; gap: 8px; margin: 4px 0 0; padding: 12px 0 0; list-style: none; border-top: 1px solid var(--p-line); }
.oxx .oxb-avail-rows li { display: flex; gap: 10px; align-items: flex-start; font: 400 15px/1.5 var(--p-text); color: var(--p-ink); }
.oxx .oxb-avail-rows li svg { flex: none; margin-top: 2px; }
.oxx .oxb-avail-rows li.is-yes svg { color: #1e7d55; }
.oxx .oxb-avail-rows li.is-no { color: var(--p-mute); }
.oxx .oxb-avail-rows b { font-weight: 600; }
