/*
 * v2 doctor profile — /veterinar/{meno}/ (handoff: Veterinari.dc.html, the
 * profile half). Loaded under tt_v2() next to single-doctor.css and
 * single-clinic.css, whose `.dhero / .block / .rev-*` furniture this page
 * borrows (inc/enqueue.php). v2-single-clinic.css is NOT loaded here, so every
 * borrowed piece the profile shows is restyled in this file.
 *
 * Every rule starts with `body.tt-v2.single-tt_doctors`: the doctor page shares
 * class names with the clinic page, and the scope keeps these rules from ever
 * reaching it should the two files end up in one combined LiteSpeed bundle.
 */

body.tt-v2.single-tt_doctors .clinic-detail{ padding:clamp(20px,3vw,36px) 0 clamp(48px,6vw,80px); }

/* ---------- breadcrumbs: sentence case, as drawn ---------- */
body.tt-v2.single-tt_doctors .clinic-detail .crumbs{ margin:0 0 20px; gap:8px; font-family:var(--sans); font-size:14px;
  letter-spacing:0; text-transform:none; font-weight:400; color:var(--muted); }
body.tt-v2.single-tt_doctors .clinic-detail .crumbs a.link{ font-weight:400; }
body.tt-v2.single-tt_doctors .clinic-detail .crumbs > :last-child{ color:var(--ink); font-weight:600; }
body.tt-v2.single-tt_doctors .clinic-detail .crumbs .sep{ opacity:1; }

/* ---------- hero ---------- */
body.tt-v2.single-tt_doctors .dhero{ position:relative; overflow:hidden; background:var(--surface); border:0; box-shadow:none;
  border-radius:var(--tt-r); padding:clamp(24px,4vw,52px); }
/* Portrait spans both rows; name block on top of the right column, buttons
   under it — the design's single column of text beside the arch. */
body.tt-v2.single-tt_doctors .dhead{ position:relative; z-index:1; padding:0; display:grid;
  grid-template-columns:auto minmax(0,1fr); column-gap:32px; row-gap:16px; align-items:center; }
body.tt-v2.single-tt_doctors .dhead .logo.portrait{ grid-row:1 / span 2; align-self:center;
  width:min(260px,70vw); height:320px; margin:0; border:0; box-shadow:none;
  border-radius:160px 160px var(--tt-r) var(--tt-r); background:var(--lime);
  font-family:var(--disp); font-weight:500; font-size:90px; letter-spacing:-.05em; color:rgba(21,52,39,.6);
  transition:transform .3s; }
body.tt-v2.single-tt_doctors .dhead .logo.portrait img{ border-radius:0; padding:0; object-fit:cover; object-position:50% 20%; }
body.tt-v2.single-tt_doctors .dinfo{ align-self:end; min-width:0; display:flex; flex-direction:column; gap:16px; }
body.tt-v2.single-tt_doctors .dinfo h1{ margin:0; font-family:var(--disp); font-weight:500; font-size:clamp(40px,5.4vw,80px);
  line-height:.92; letter-spacing:-.05em; overflow-wrap:anywhere; }
body.tt-v2.single-tt_doctors .subrole{ margin:0; font-size:18px; font-weight:400; color:var(--ink-2); }
body.tt-v2.single-tt_doctors .dinfo .rating{ margin:0; }
body.tt-v2.single-tt_doctors .dinfo .daddr{ margin:0; gap:6px; }
body.tt-v2.single-tt_doctors .dinfo .chip-svc{ padding:7px 14px; border:0; border-radius:999px; background:var(--bg);
  font-size:14px; font-weight:600; color:var(--ink); }
/* The badges continue the chip row visually: same pill, pulled up to it. */
body.tt-v2.single-tt_doctors .dbadges{ margin:0; gap:6px; }
body.tt-v2.single-tt_doctors .dinfo .daddr + .dbadges{ margin-top:-10px; }
body.tt-v2.single-tt_doctors .dbadges .badge{ padding:7px 14px; border-radius:999px; font-size:14px; font-weight:700; gap:8px;
  background:var(--bg); color:var(--ink); }
body.tt-v2.single-tt_doctors .dbadges .badge svg{ width:15px; height:15px; color:var(--green); }
/* "Prijíma nových pacientov" — the design's green pill with a live dot. Only
   printed when the doctor's tt_accepting is on; the dot is CSS, not a claim. */
body.tt-v2.single-tt_doctors .dbadges .badge.sos{ background:#e3f1ea; color:var(--green-ink); }
body.tt-v2.single-tt_doctors .dbadges .badge.sos::before{ content:""; width:7px; height:7px; flex:none; border-radius:50%;
  background:var(--green); animation:tt-vdoc-pulse 1.8s ease-out infinite; }
@keyframes tt-vdoc-pulse{ from{ box-shadow:0 0 0 0 rgba(47,158,112,.55); } to{ box-shadow:0 0 0 8px rgba(47,158,112,0); } }

body.tt-v2.single-tt_doctors .dactions{ grid-column:2; align-self:start; gap:10px; margin-top:6px; }
body.tt-v2.single-tt_doctors .dactions .btn{ padding:16px 24px; font-size:16px; font-weight:700; border-radius:var(--tt-r-btn); gap:10px; }
body.tt-v2.single-tt_doctors .dactions .btn.call{ background:var(--green); color:var(--surface); }
body.tt-v2.single-tt_doctors .dactions .btn.ghost{ background:transparent; border:1.5px solid var(--ink); color:var(--ink); }

/* The animal in the corner (decoration, alt=""). Under the text layer, so a
   long name runs over it rather than around it. */
body.tt-v2.single-tt_doctors .dhero .tt-dpet{ position:absolute; z-index:0; right:clamp(16px,4vw,60px); top:clamp(16px,4vw,48px);
  width:clamp(90px,10vw,140px); height:clamp(90px,10vw,140px); border-radius:50%; object-fit:cover;
  border:6px solid var(--bg); transition:translate .4s; }
/* Keep the text column clear of it: a long name ("MVDr. Hana Močkořová") ran
   under the photo at 1440. Below 720px the portrait stacks and the corner is
   free above the name. */
@media (min-width:721px){ body.tt-v2.single-tt_doctors .dhead{ padding-right:clamp(80px,11vw,170px); } }

/* ---------- body: main column + forest aside ---------- */
@media (min-width:901px){
  body.tt-v2.single-tt_doctors .dbody{ grid-template-columns:minmax(0,2fr) minmax(300px,1fr); gap:20px; margin-top:20px; }
  body.tt-v2.single-tt_doctors .dside{ top:110px; }
}
@media (max-width:900px){
  body.tt-v2.single-tt_doctors .dbody{ margin-top:20px; gap:16px; }
}
body.tt-v2.single-tt_doctors .block{ background:var(--surface); border:0; box-shadow:none; border-radius:var(--tt-r);
  padding:clamp(22px,3vw,32px); margin-bottom:20px; }
@media (max-width:900px){ body.tt-v2.single-tt_doctors .block{ margin-bottom:0; } }
body.tt-v2.single-tt_doctors .block .bh{ margin:0 0 16px; font-family:var(--disp); font-weight:500; font-size:28px; letter-spacing:-.03em; line-height:1.1; }
body.tt-v2.single-tt_doctors .block .bh .sub{ font-family:var(--sans); font-size:14px; font-weight:500; letter-spacing:0; color:var(--muted); }

/* Kde ordinuje: a caption, then the clinic name as the headline. */
body.tt-v2.single-tt_doctors .b-where .bh{ margin-bottom:10px; font-family:var(--sans); font-size:13px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
body.tt-v2.single-tt_doctors .ordi{ gap:0; }
body.tt-v2.single-tt_doctors .ordi .oc{ display:block; padding:0; border:0; border-radius:0; background:transparent; }
body.tt-v2.single-tt_doctors .ordi .oc + .oc{ margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
body.tt-v2.single-tt_doctors .ordi .on{ font-family:var(--disp); font-weight:500; font-size:28px; letter-spacing:-.03em;
  line-height:1.1; color:var(--ink); transition:color .2s; }
body.tt-v2.single-tt_doctors .ordi .oa,
body.tt-v2.single-tt_doctors .ordi .oh{ margin-top:10px; gap:8px; font-size:16px; color:var(--ink-2); }
body.tt-v2.single-tt_doctors .ordi .oh{ margin-top:8px; font-weight:700; color:var(--ink); }
body.tt-v2.single-tt_doctors .ordi .oa svg,
body.tt-v2.single-tt_doctors .ordi .oh svg{ width:16px; height:16px; color:var(--green); }

body.tt-v2.single-tt_doctors .prose{ font-size:17px; line-height:1.6; color:var(--ink-2); }
body.tt-v2.single-tt_doctors .plainchips{ gap:6px; }
body.tt-v2.single-tt_doctors .chip-odb{ padding:6px 12px; border-radius:999px; background:transparent;
  border:1px solid rgba(47,158,112,.4); color:var(--green-ink); font-size:14px; font-weight:600; }
body.tt-v2.single-tt_doctors .note{ font-size:13px; font-weight:500; color:var(--muted); }
body.tt-v2.single-tt_doctors .doc-lines li{ font-size:16px; line-height:1.5; font-weight:400; padding-bottom:10px; }
body.tt-v2.single-tt_doctors .doc-courses li{ padding-bottom:10px; }
body.tt-v2.single-tt_doctors .dc-year{ font-family:var(--sans); font-size:14px; color:var(--green-ink); }
body.tt-v2.single-tt_doctors .dc-org{ font-size:14px; }
body.tt-v2.single-tt_doctors .lines-more,
body.tt-v2.single-tt_doctors .chip-more{ padding:10px 16px; border:1.5px solid rgba(24,39,31,.15); border-radius:var(--tt-r-btn);
  background:transparent; font-size:14px; font-weight:600; color:var(--ink); }

/* ---------- Vzdelanie a prax: the forest card ---------- */
body.tt-v2.single-tt_doctors .b-edu{ background:var(--forest); color:var(--bg); }
body.tt-v2.single-tt_doctors .b-edu .bh{ font-size:26px; color:var(--bg); margin-bottom:6px; }
body.tt-v2.single-tt_doctors .b-edu .eduline{ grid-template-columns:minmax(0,1fr); gap:6px; padding:12px 0;
  border-bottom:1px solid rgba(242,238,228,.14); font-size:16px; line-height:1.55; }
body.tt-v2.single-tt_doctors .b-edu .eduline:last-of-type{ border-bottom:0; padding-bottom:0; }
body.tt-v2.single-tt_doctors .b-edu .eduline .k{ font-size:12px; font-weight:700; letter-spacing:.1em; color:var(--lime); }
body.tt-v2.single-tt_doctors .b-edu .langpills .lp{ padding:6px 12px; background:transparent; border:1px solid rgba(242,238,228,.3);
  font-size:14px; font-weight:500; color:var(--bg); }
body.tt-v2.single-tt_doctors .b-edu .note{ color:rgba(242,238,228,.7); }

/* ---------- Hodnotenia ---------- */
body.tt-v2.single-tt_doctors .tt-reviews .tt-empty{ padding:0; text-align:left; background:none; border-radius:0;
  font-weight:400; color:var(--ink-2); display:flex; flex-direction:column; gap:6px; }
body.tt-v2.single-tt_doctors .tt-reviews .tt-empty b{ margin:0; font-family:var(--sans); font-size:16px; font-weight:700; color:var(--ink); }
body.tt-v2.single-tt_doctors .rev-big .num{ font-weight:500; font-size:56px; letter-spacing:-.04em; }
body.tt-v2.single-tt_doctors .rev-summary{ border-bottom-color:var(--line); }
body.tt-v2.single-tt_doctors .review .rav{ background:var(--lime); color:var(--ink); }
body.tt-v2.single-tt_doctors .review .rtext{ font-size:16px; }
body.tt-v2.single-tt_doctors .rev-toggle{ margin-top:20px; padding:14px 22px; border-radius:var(--tt-r-btn); background:transparent;
  border:1.5px solid var(--green); color:var(--green-ink); font-size:15px; font-weight:700; }
body.tt-v2.single-tt_doctors .rev-form{ border:0; border-radius:var(--tt-r); background:var(--bg); padding:clamp(18px,3vw,26px); }
body.tt-v2.single-tt_doctors .rev-form input[type=text],
body.tt-v2.single-tt_doctors .rev-form input[type=email],
body.tt-v2.single-tt_doctors .rev-form textarea{ border:1.5px solid rgba(24,39,31,.12); border-radius:var(--tt-r-btn); padding:13px 16px;
  background:var(--surface); font-size:16px; }
body.tt-v2.single-tt_doctors .rev-form .btn.call{ background:var(--green); color:var(--surface); padding:14px 22px; }

@media (hover:hover){
  body.tt-v2.single-tt_doctors .clinic-detail .crumbs a.link:hover{ color:var(--ink); }
  body.tt-v2.single-tt_doctors .dactions .btn.call:hover{ background:var(--green-ink); color:var(--surface); transform:none; }
  body.tt-v2.single-tt_doctors .dactions .btn.ghost:hover{ background:var(--ink); border-color:var(--ink); color:var(--bg); transform:none; }
  body.tt-v2.single-tt_doctors .ordi .on:hover{ color:var(--green-ink); }
  body.tt-v2.single-tt_doctors .rev-toggle:hover{ background:var(--green); border-color:var(--green); color:var(--surface); transform:none; }
  body.tt-v2.single-tt_doctors .lines-more:hover,
  body.tt-v2.single-tt_doctors .chip-more:hover{ border-color:var(--ink); background:transparent; }
}

/* ---------- narrow: one column, portrait on top ---------- */
@media (max-width:720px){
  body.tt-v2.single-tt_doctors .dhead{ grid-template-columns:minmax(0,1fr); row-gap:24px; }
  body.tt-v2.single-tt_doctors .dhead .logo.portrait{ grid-row:auto; justify-self:start; width:min(220px,62vw); height:270px; font-size:72px; }
  body.tt-v2.single-tt_doctors .dactions{ grid-column:1; margin-top:-8px; }
  body.tt-v2.single-tt_doctors .dhero .tt-dpet{ width:84px; height:84px; border-width:5px; }
}

@media (prefers-reduced-motion:reduce){
  body.tt-v2.single-tt_doctors .dbadges .badge.sos::before{ animation:none; }
  body.tt-v2.single-tt_doctors .dhead .logo.portrait,
  body.tt-v2.single-tt_doctors .dhero .tt-dpet{ transition:none; }
}
