/* Profilul unui medic (/doctori/<medic>/, src/site/doctor-brand.mjs), după brand.css. Mobil întâi, revizuit la 375 px.
   Omul întâi: portretul se topește în bleumarin; domeniile, ca în mega-meniu; locațiile și programarea, pe un singur rând. Singurul element lipit e începutul prezentării, la cerere. */
.oxx .od-hero { position: relative; isolation: isolate; background: radial-gradient(90% 70% at 72% 0, #17386c, #0d2340 70%) #0d2340; color: #d9e2ee; overflow: hidden; }
.oxx .od-hero :focus-visible { outline-color: #fff; }
.oxx .od-portrait { position: relative; height: min(96vw, 480px); }
.oxx .od-portrait figure { position: absolute; inset: 0; overflow: hidden; }
.oxx .od-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 6%; }
/* O scenă întreagă, nu un portret: la scara portretelor, fără sigla din fundal */
.oxx .od-portrait .is-scene img { transform: scale(2.4); transform-origin: 55% 10%; }
.oxx .od-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgb(13 35 64 / 0) 52%, rgb(13 35 64 / .82) 82%, #0d2340); pointer-events: none; }
.oxx .od-hero-in { position: relative; margin-top: -58px; padding-bottom: 24px; }
.oxx .od-copy > * + * { margin-top: 10px; }
.oxx .od-hero .os-crumbs ol { margin-bottom: 0; }
.oxx .od-hero h1 { font: 400 clamp(2.1rem, 1.3rem + 3.4vw, 3.75rem)/1.08 var(--oh-serif); letter-spacing: -.012em; color: #fff; }
.oxx .od-roles { display: grid; gap: 2px; }
.oxx .od-roles li { font-size: 15px; font-weight: 600; line-height: 1.35; color: #fff; }
.oxx .od-roles li::first-letter { text-transform: uppercase; }
.oxx .od-short { max-width: 52ch; color: #d9e2ee; }
.oxx .od-where { color: #fff; }
.oxx .od-where svg { flex: none; color: var(--oh-gold); }
.oxx .od-cta { display: none; }
.oxx .od-facts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin-top: 16px; border: 1px solid rgb(255 255 255 / .2); border-radius: var(--oh-r); background: rgb(255 255 255 / .05); overflow: hidden; }
.oxx .od-facts li + li { border-left: 1px solid rgb(255 255 255 / .16); }
.oxx .od-facts :is(a, div) { display: block; height: 100%; padding: 12px 10px 10px 12px; font-size: 13px; line-height: 1.3; color: #d9e2ee; transition: background .15s; }
.oxx .od-facts a:hover { background: rgb(255 255 255 / .07); }
.oxx .od-facts b { display: block; margin-bottom: 5px; font: 400 1.6rem/1 var(--oh-serif); color: #fff; }
/* Etichetele lungi nu încap în trei coloane pe telefon: rânduri, cu valoarea la stânga */
@media (max-width: 559px) {
  .oxx .od-facts.is-long { grid-auto-flow: row; }
  .oxx .od-facts.is-long li + li { border-left: 0; border-top: 1px solid rgb(255 255 255 / .16); }
  .oxx .od-facts.is-long :is(a, div) { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 10px; padding: 9px 12px; }
  .oxx .od-facts.is-long b { margin: 0; }
}

/* Secțiunile: titlul deasupra conținutului, tot rândul lucrează; ritmul vine din alb și albastru foarte deschis, nu din linii */
.oxx .od-sec { padding: clamp(32px, 3vw + 18px, 68px) 0; scroll-margin-top: 70px; }
.oxx .od-sec.is-soft { background: var(--oxc-soft); }
.oxx .od-sec:not(.is-soft) + .od-sec:not(.is-soft) { padding-top: 0; }
.oxx .od h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.3rem); line-height: 1.16; }
.oxx .od-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 20px; margin-bottom: clamp(12px, 1vw + 8px, 22px); }
.oxx .od-count { font-size: 14px; color: var(--oxc-mute); }

/* Prezentarea: primul paragraf lângă titlu, restul alături */
.oxx .od-about { display: grid; gap: 14px; }
.oxx.oxx .od-about-lead p { margin-top: 12px; font: 400 clamp(1.14rem, 1.05rem + .45vw, 1.3rem)/1.5 var(--oh-serif); color: var(--oxc-navy); }
.oxx .od-prose { line-height: 1.65; }
.oxx .od-prose > * + * { margin-top: .85em; }
.oxx .od-prose :is(h2, h3, h4) { margin-top: 1.3em; font: 400 1.25em/1.25 var(--oh-serif); color: var(--oxc-navy); }
.oxx .od-prose > :first-child { margin-top: 0; }
.oxx .od-prose ul { padding-left: 1.2em; list-style: disc; }
.oxx .od-prose ol { padding-left: 1.2em; list-style: decimal; }
.oxx .od-prose a { color: var(--oxc-blue); text-decoration: underline; text-decoration-color: var(--oh-gold); text-underline-offset: 3px; }
/* Pe telefon, pliat rămâne doar începutul primului paragraf; „Citește tot textul” le desface pe amândouă */
.oxx .od-collapse { --oxb-fold: 0px; }
.oxx .od-collapse.oxb-collapse.is-collapsed .oxb-collapse-fade { bottom: 66px; height: 110px; background: linear-gradient(180deg, rgb(255 255 255 / 0), #fff 85%); }
/* Fără paragraf lângă titlu, pliat rămâne începutul textului */
.oxx .od-about.is-single .od-collapse { --oxb-fold: 220px; }
@media (max-width: 767px) { .oxx .od-about:has(.is-collapsed) .od-about-lead p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; } }
.oxx .od-collapse .oxb-collapse-btn { margin-top: 14px; padding-right: 16px; }

/* Domeniile: pe telefon, o listă care se desface */
.oxx .od-doms { border-bottom: 1px solid var(--oxc-line-2); }
.oxx .od-dom { border-top: 1px solid var(--oxc-line-2); }
.oxx .od-dom-btn { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 60px; padding: 8px 0; border: 0; background: none; font: inherit; text-align: left; color: var(--oxc-ink); cursor: pointer; scroll-margin-top: 76px; }
.oxx .od-dom-btn .oh-ic { width: 38px; height: 38px; }
.oxx .od-dom-txt { flex: 1; min-width: 0; }
.oxx .od-dom-txt b { display: block; font: 400 1.14rem/1.25 var(--oh-serif); color: var(--oxc-navy); }
.oxx .od-dom-txt small { display: block; margin-top: 1px; font-size: 13.5px; line-height: 1.3; color: var(--oxc-mute); }
/* Pe telefon, programarea e în bara de jos */
.oxx .od-pane-foot .oh-btn { display: none; }
.oxx .od-dom-btn > i:not(.oh-go) { position: relative; flex: none; width: 14px; height: 14px; margin-right: 2px; }
.oxx .od-dom-btn > i:not(.oh-go)::before, .oxx .od-dom-btn > i:not(.oh-go)::after { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 2px; background: var(--oxc-navy); transition: transform .2s; }
.oxx .od-dom-btn > i:not(.oh-go)::after { transform: rotate(90deg); }
.oxx .od-dom-btn[aria-expanded="true"] > i:not(.oh-go)::after { transform: none; }
.oxx .od-dom-btn .oh-go { width: 26px; height: 26px; color: var(--oxc-navy); }
.oxx .od-pane { padding-bottom: 14px; }
.oxx .od-pane h3 { display: none; }
.oxx .od-pane > p { margin-bottom: 8px; font-size: .95em; line-height: 1.5; }
.oxx .od-pane-foot { margin-top: 8px; }
.oxx .od-svcs li { border-top: 1px solid var(--oxc-line); }
.oxx .od-svcs a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 0; font-size: 15px; font-weight: 500; line-height: 1.3; color: var(--oxc-ink); transition: color .15s; }
.oxx .od-svcs a span { flex: 1; min-width: 0; }
.oxx .od-svcs small { flex: none; font-size: 12.5px; font-weight: 600; color: #8a6530; }
.oxx .od-svcs a::after { content: ""; flex: none; width: 6px; height: 6px; margin-right: 3px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; opacity: .45; transform: rotate(45deg); transition: opacity .15s, transform .15s; }
.oxx .od-svcs a:hover { color: var(--oxc-blue); }
.oxx .od-svcs a:hover::after { opacity: 1; transform: translateX(2px) rotate(45deg); }

/* Locațiile (cardul comun, placeCard) și programarea, pe același rând */
.oxx .od-places { display: grid; gap: 12px; }
.oxx .od-locs { display: contents; }
.oxx .dx-loc { display: flex; flex-direction: column; gap: 8px; padding: 18px; border: 1px solid var(--oxc-line); border-radius: var(--oh-r); background: #fff; }
.oxx .dx-loc-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; min-height: 26px; }
.oxx .dx-loc .oxc-status { height: 26px; padding: 0 10px; white-space: nowrap; background: var(--oxc-soft); color: var(--oxc-mute); font-size: 13px; font-weight: 600; }
.oxx .dx-loc .oxc-status.is-open { background: #f0fdf4; color: #15803d; }
.oxx .dx-cas { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; font-size: 13.5px; font-weight: 600; color: #8a6530; }
.oxx .dx-cas.is-private { color: var(--oxc-mute); }
.oxx .dx-cas svg { flex: none; }
.oxx .dx-loc h3 { font: 400 1.25rem/1.25 var(--oh-serif); color: var(--oxc-navy); }
.oxx .dx-loc h3 a { color: inherit; }
.oxx .dx-loc h3 a:hover { text-decoration: underline; text-decoration-color: var(--oh-gold); text-underline-offset: 3px; }
.oxx .dx-addr { display: flex; gap: 6px; font-size: 14.5px; line-height: 1.45; }
.oxx .dx-addr svg { flex: none; margin-top: 3px; color: var(--oh-gold-d); }
.oxx .dx-hours { display: grid; gap: 2px; font-size: 14px; }
.oxx .dx-hours div { display: flex; justify-content: space-between; gap: 12px; padding: 4px 8px; border-radius: 6px; }
.oxx .dx-hours dd { margin: 0; font-weight: 500; color: var(--oxc-ink); }
.oxx .dx-hours .is-today { background: var(--oxc-soft); font-weight: 600; color: var(--oxc-ink); }
.oxx .dx-loc-acts { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: auto; padding-top: 6px; }
.oxx .dx-loc-acts a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; font-size: 14.5px; font-weight: 600; color: var(--oxc-navy); }
.oxx .dx-loc-acts svg { flex: none; color: var(--oh-gold-d); }
.oxx .dx-loc-acts a:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Sub 1024 px, bara de jos are telefonul; din program rămâne ziua de azi */
@media (max-width: 1023px) {
  .oxx .dx-loc-acts a[href^="tel:"] { display: none; }
  .oxx .dx-hours:has(.is-today) div:not(.is-today) { display: none; }
}
.oxx .od-book { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: var(--oh-r); background: radial-gradient(110% 80% at 78% 0, #17386c, #0d2340 72%) #0d2340; color: #d9e2ee; }
.oxx .od-book :focus-visible { outline-color: #fff; }
.oxx .od-book-who { display: flex; align-items: center; gap: 12px; }
.oxx .od-book figure { flex: none; width: 60px; height: 60px; border-radius: 12px; overflow: hidden; background: var(--oxc-blue); }
.oxx .od-book img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; }
.oxx .od-book .is-scene img { transform: scale(2.2); transform-origin: 55% 12%; }
.oxx .od-book h3 { font: 400 1.25rem/1.25 var(--oh-serif); color: #fff; }
.oxx .od-book p { font-size: 14.5px; line-height: 1.45; color: #d9e2ee; }
.oxx .od-book-cta { display: grid; gap: 8px; margin-top: auto; padding-top: 4px; }
.oxx .od-book-cta a:not(:first-child) { display: none; }

/* Clipurile: cele filmate pe lat își păstrează cadrul, ca să nu rămână doar decorul din spatele medicului */
.oxx .od-films { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.oxx .od-films > .is-wide { grid-column: span 2; }
.oxx .od-films > .is-wide .oh-story { aspect-ratio: 16 / 9; }

/* Colegii */
.oxx .od-team-sec { padding: clamp(32px, 3vw + 18px, 68px) 0 var(--oh-sec); }
.oxx .od-sec:not(.is-soft) + .od-team-sec { padding-top: 0; }
.oxx .od-team { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.oxx .od-team > li { display: flex; min-width: 0; }
.oxx .od-team > li:nth-child(n+4):not(.ot-more) { display: none; }
.oxx .od-team .ot-more a { border: 0; background: var(--oxc-navy); }
.oxx .od-team .ot-more a:hover { background: var(--oxc-blue); }

@media (min-width: 640px) {
  .oxx .od-team { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .oxx .od-team > li:nth-child(n+4):not(.ot-more) { display: flex; }
}
@media (min-width: 768px) {
  .oxx .od-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
  .oxx .od-collapse { --oxb-fold: 300px; }
  .oxx .od-svcs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .oxx .od-svcs li { border-top: 0; border-bottom: 1px solid var(--oxc-line); }
  .oxx .od-svcs:has(> li:only-child) { grid-template-columns: minmax(0, 1fr); }
  .oxx .od-places { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .oxx .od-book { grid-column: 1 / -1; }
  .oxx .od-book-cta { display: flex; flex-wrap: wrap; }
}
/* Portretul trece în dreapta, până la marginea ecranului, și se topește spre text și spre alb */
@media (min-width: 900px) {
  .oxx .od-hero { display: flex; align-items: flex-end; min-height: clamp(560px, 80vh, 700px); }
  .oxx .od-portrait { position: absolute; inset: 0 0 0 auto; width: min(54vw, 860px); height: auto; -webkit-mask-image: linear-gradient(to right, transparent, #000 24%), linear-gradient(to top, transparent, #000 16%); -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, transparent, #000 24%), linear-gradient(to top, transparent, #000 16%); mask-composite: intersect; }
  .oxx .od-portrait::after { display: none; }
  .oxx .od-portrait img { object-position: 50% 10%; }
  .oxx .od-hero-in { width: 100%; margin-top: 0; padding-top: calc(var(--oxc-head-h) + 48px); padding-bottom: 36px; }
  .oxx .od-copy { position: relative; max-width: min(56%, 640px); }
  .oxx .od-copy > * + * { margin-top: 12px; }
  .oxx .od-roles li { font-size: 16px; }
  .oxx .od-facts { margin-top: 22px; }
  .oxx .od-facts :is(a, div) { padding: 14px 14px 12px 16px; font-size: 13.5px; }
  .oxx .od-facts b { font-size: 1.75rem; }
}
@media (min-width: 1024px) {
  /* Prezentarea, ca o pagină de revistă: două coloane de aceeași înălțime */
  .oxx .od-about { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: start; }
  /* Cerut anume: cât se citește textul desfășurat, titlul și primul paragraf rămân pe ecran, sub antet */
  .oxx .od-about-lead { position: sticky; top: calc(var(--oxc-head-h) + 24px); }
  .oxx .od-about.is-single { grid-template-columns: minmax(0, 1fr); }
  .oxx .od-about.is-single .od-about-lead p, .oxx .od-about.is-single .od-prose { max-width: 46em; }
  .oxx .od-about.is-single { gap: 12px; }
  .oxx .od-collapse { --oxb-fold: 340px; }

  /* Domeniile, ca în mega-meniu: coloana bleumarin, cu fila aleasă lipită de panoul alb din dreapta */
  .oxx .od-doms { border: 1px solid var(--oxc-line); border-radius: var(--oh-r); }
  .oxx .od-doms[data-doms-ready] { position: relative; isolation: isolate; display: grid; grid-template-columns: 340px minmax(0, 1fr); grid-template-rows: repeat(var(--n), auto) 1fr; padding: 14px 0; overflow: hidden; }
  .oxx .od-doms[data-doms-ready]::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 0; width: 340px; background: var(--oxc-navy); }
  .oxx [data-doms-ready] .od-dom { display: contents; }
  .oxx [data-doms-ready] .od-dom-btn { grid-column: 1; width: auto; min-height: 44px; margin: 1px 14px; padding: 5px 12px 5px 8px; border-radius: 10px; color: #fff; transition: background .15s; }
  .oxx [data-doms-ready] .od-dom-btn:hover { background: rgb(255 255 255 / .07); }
  .oxx [data-doms-ready] .od-dom-btn :focus-visible, .oxx [data-doms-ready] .od-dom-btn:focus-visible { outline-color: #d9bd8f; }
  .oxx [data-doms-ready] .od-dom-btn .oh-ic { width: 32px; height: 32px; border-radius: 8px; background: rgb(255 255 255 / .09); color: #fff; }
  /* Pe un singur rând: numele și, la dreapta, câte servicii are */
  .oxx [data-doms-ready] .od-dom-txt { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
  .oxx [data-doms-ready] .od-dom-txt b { font: 600 15px/1.25 var(--oxc-font); color: #fff; }
  .oxx [data-doms-ready] .od-dom-txt small { flex: none; margin: 0; font-size: 13px; font-weight: 500; color: #b9c6d8; }
  .oxx [data-doms-ready] .od-dom-txt small span { display: none; }
  /* Săgeata în locul semnului plus: pe ecranele mari sunt file */
  .oxx [data-doms-ready] .od-dom-btn > i:not(.oh-go) { width: 7px; height: 7px; margin-right: 4px; border-top: 1.5px solid rgb(255 255 255 / .4); border-right: 1.5px solid rgb(255 255 255 / .4); transform: rotate(45deg); }
  .oxx [data-doms-ready] .od-dom-btn > i:not(.oh-go)::before, .oxx [data-doms-ready] .od-dom-btn > i:not(.oh-go)::after { display: none; }
  .oxx [data-doms-ready] .od-dom-btn .oh-go { color: #fff; }
  .oxx [data-doms-ready] .od-dom-btn[aria-expanded="true"] { margin-right: 0; padding-right: 26px; border-radius: 10px 0 0 10px; background: #fff; }
  .oxx [data-doms-ready] .od-dom-btn[aria-expanded="true"] .oh-ic { background: var(--oxc-navy); }
  .oxx [data-doms-ready] .od-dom-btn[aria-expanded="true"] .od-dom-txt b { color: var(--oxc-navy); }
  .oxx [data-doms-ready] .od-dom-btn[aria-expanded="true"] .od-dom-txt small { color: var(--oxc-body); }
  .oxx [data-doms-ready] .od-dom-btn[aria-expanded="true"] > i:not(.oh-go) { border-color: #a67c43; }
  .oxx [data-doms-ready] .od-pane { grid-column: 2; grid-row: 1 / -1; padding: 12px 36px 6px 40px; }
  .oxx [data-doms-ready] .od-pane:not([hidden]) { display: flex; flex-direction: column; }
  .oxx [data-doms-ready] .od-pane h3 { display: block; font: 400 clamp(1.45rem, 1.25rem + .6vw, 1.8rem)/1.2 var(--oh-serif); color: var(--oxc-navy); }
  .oxx [data-doms-ready] .od-pane > p { margin: 8px 0 0; max-width: 62ch; }
  .oxx [data-doms-ready] .od-svcs { margin-top: 14px; border-top: 1px solid var(--oxc-line); }
  /* Jos, indiferent câte servicii sunt: legătura spre specialitate și programarea */
  .oxx [data-doms-ready] .od-pane-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 18px; }
  .oxx [data-doms-ready] .od-pane-foot .oh-btn { display: inline-flex; min-height: 46px; padding-left: 16px; font-size: 15px; }
  .oxx [data-doms-ready] .od-pane-foot .oh-go { width: 32px; height: 32px; }

  /* Două locații și programarea, trei coloane egale; programarea, în coloana ei, pe verticală */
  .oxx .od-places { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .oxx .od-book { grid-column: auto; padding: 20px; }
  .oxx .od-book-cta { display: grid; }
  .oxx .od-book-cta a:not(:first-child) { display: inline-flex; }
  .oxx .od-book.is-wide { flex-direction: row; align-items: center; gap: 20px; }
  .oxx .od-book.is-wide p { flex: 1; }
  .oxx .od-book.is-wide .od-book-cta { display: flex; margin: 0; padding: 0; }

  .oxx .od-films { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .oxx .od-team { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
}
@media (min-width: 1280px) {
  .oxx .od-book:not(.is-wide) .od-book-cta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oxx .od-book:not(.is-wide) .od-book-cta a:first-child { grid-column: 1 / -1; }
}
