/*! JazeroDENT nova 7.0 | GPL-2.0-or-later */

/* ============================================================ 1. TOKENS */
:root{
  color-scheme:light only;

  --c-25:#F7F9F5; --c-50:#F0F3EC; --c-100:#E1E7DA; --c-200:#CDD6C2;
  --c-300:#AEBD9E; --c-400:#869B6F; --c-500:#6F815A; --c-600:#5C6B4B;
  --c-700:#4A563B; --c-800:#38422C; --c-900:#272E1E; --c-950:#1A1F14;
  --c-white:#fff;
  --c-info:#2C6FA8; --c-info-bg:#EAF3FB; --c-info-ink:#0F3554;
  --c-warn:#C8891A; --c-warn-bg:#FDF4E4; --c-warn-ink:#5E4004;
  --c-err:#B02A2A;  --c-err-bg:#FBEDED;  --c-err-ink:#5C1616;

  --ink:var(--c-950); --ink-2:var(--c-700); --ink-3:var(--c-600);
  --surface:var(--c-white); --surface-2:var(--c-25); --surface-3:var(--c-50);
  --line:var(--c-200); --line-soft:var(--c-100);
  --brand:var(--c-600); --brand-ink:var(--c-700); --brand-hover:var(--c-800);

  --f-body:var(--wp--preset--font-family--text,Karla,system-ui,sans-serif);
  --f-head:var(--wp--preset--font-family--nadpisy,Lora,Georgia,serif);
  --t-xs:clamp(.78rem,.755rem + .12vw,.84rem);
  --t-sm:clamp(.875rem,.845rem + .15vw,.96rem);
  --t-base:clamp(1.0625rem,1.02rem + .22vw,1.15rem);
  --t-lg:clamp(1.18rem,1.09rem + .44vw,1.4rem);
  --t-xl:clamp(1.34rem,1.19rem + .72vw,1.7rem);
  --t-h3:clamp(1.34rem,1.19rem + .72vw,1.7rem);
  --t-h2:clamp(1.85rem,1.44rem + 1.95vw,2.95rem);
  --t-h1:clamp(2.3rem,1.62rem + 3.25vw,4rem);
  --lh-body:1.7; --lh-head:1.1; --measure:64ch;

  --s-1:.35rem; --s-2:.65rem; --s-3:1rem; --s-4:1.5rem;
  --s-5:2.25rem; --s-6:3.25rem;
  --gap:clamp(1.15rem,.92rem + 1.05vw,2.1rem);
  --gap-col:clamp(2rem,1.25rem + 3.2vw,4.6rem);
  --pad-sec:clamp(3.75rem,2.15rem + 6.6vw,8.5rem);
  --gutter:clamp(1.25rem,.85rem + 1.8vw,2.75rem);
  /* Kontajner rastie plynulo aj nad 1280 px, aby na ultrawide a 4K
     neostal úzky stĺpec v mori prázdna (bod 12 zadania). Spodná hranica
     nikdy neprekročí šírku okna — max-width sa na menších obrazovkách
     jednoducho neuplatní. Prepisujeme aj premenné WordPressu, aby ich
     nasledovali aj bežné blokové sekcie, nie len sekcie témy. */
  /* --- 8.0.0: pieskový akcent (dubový interiér kliniky) ---
     Tri odtiene, každý na inú úlohu, aby nikde nevznikol slabý kontrast:
       --sand      #B98A58  iba dekor (linky, ikony, rámy) — na bielej 3,07 : 1
       --sand-ink  #8A6237  text a odkazy — na bielej 5,41 : 1 (AA ✓)
       --sand-50   #FAF4EC  podklad — c-950 na ňom 15,37 : 1
       --sand-100  #F4E9DA  podklad sýtejší — c-950 na ňom 14,01 : 1
     Šalviová ostáva hlavnou farbou značky, piesok je doplnok. */
  --sand:#B98A58; --sand-ink:#8A6237; --sand-50:#FAF4EC; --sand-100:#F4E9DA;
  --wrap:clamp(1180px,63vw,1540px); --wrap-wide:clamp(1400px,76vw,1860px);
  --wp--style--global--content-size:var(--wrap);
  --wp--style--global--wide-size:var(--wrap-wide);

  --r-sm:10px; --r-md:14px; --r-lg:22px; --r-xl:34px; --r-pill:999px;
  /* Vrstvené tiene: blízka ostrá vrstva drží obrys, vzdialená mäkká
     dáva hĺbku. Jednovrstvový tieň pôsobí ploche. */
  --sh-1:0 1px 1px rgba(26,31,20,.035),0 2px 4px -2px rgba(26,31,20,.06);
  --sh-2:0 2px 4px -1px rgba(26,31,20,.04),0 12px 26px -16px rgba(26,31,20,.28);
  --sh-3:0 4px 8px -2px rgba(26,31,20,.05),0 28px 60px -30px rgba(26,31,20,.42);
  --ease:cubic-bezier(.22,1,.36,1);
  --dur:.28s; --dur-slow:.6s;
}

/* ============================================================== 2. BASE */
*,*::before,*::after{box-sizing:border-box;min-width:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth}
body{margin:0;background:var(--surface);color:var(--ink);
  font-family:var(--f-body);font-size:var(--t-base);line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6{font-family:var(--f-head);line-height:var(--lh-head);
  color:var(--ink);margin:0 0 var(--s-3);letter-spacing:-.012em;text-wrap:balance;
  /* Hlavička je lepivá, takže bez odsadenia by odkaz na kotvu skončil
     pod ňou a nadpis by nebolo vidno. */
  scroll-margin-top:clamp(5rem,9vh,7.5rem)}
h1{font-size:var(--t-h1)} h2{font-size:var(--t-h2)} h3{font-size:var(--t-h3)}
h4{font-size:var(--t-lg)}
p,ul,ol,dl{margin:0 0 var(--s-3);text-wrap:pretty}
p:last-child,ul:last-child,ol:last-child{margin-bottom:0}
:where(p,li,dd){max-width:var(--measure);overflow-wrap:break-word;word-break:normal;hyphens:none}
a{color:var(--brand-ink);text-underline-offset:.18em}
a:hover{color:var(--c-900)}
strong,b{font-weight:700}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid var(--brand-ink);outline-offset:2px;border-radius:3px}
::selection{background:var(--c-200);color:var(--ink)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* --- 7.0.2: NÁVRAT 6.5 — preskočenie na obsah a obsahové stránky ---
   Prepis na 7.0 tieto pravidlá vypustil, hoci functions.php odkaz .jdn-skip
   stále tlačí a obálka .jd-obsah je v obsahu DB. Bez zvýšenej priority — s odkazom
   nič nesúperí. Biela na c-700 = 7,82 : 1. */
.jdn-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.jdn-skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;overflow:visible;
  padding:.9rem 1.4rem;background:var(--c-700);color:var(--c-white);font-weight:700;
  border-radius:var(--r-pill);z-index:200;box-shadow:var(--sh-3)}

.jd-obsah p,.jd-obsah li{max-width:74ch}
.jd-obsah p a:not(.wp-block-button__link),.jd-sek p a:not(.wp-block-button__link){
  color:var(--brand-ink);text-decoration:underline;text-underline-offset:.18em;
  text-decoration-thickness:1.5px;text-decoration-color:rgba(92,107,75,.45);
  transition:text-decoration-color var(--dur) var(--ease)}
.jd-obsah p a:hover,.jd-sek p a:hover{text-decoration-color:var(--brand)}
.jd-obsah .wp-block-image img{border-radius:var(--r-lg);box-shadow:var(--sh-2)}
.jd-obsah ul:not(.wp-block-navigation__container):not(.jd-mikro){list-style:none;padding-left:0}
.jd-obsah ul:not(.wp-block-navigation__container):not(.jd-mikro) li{position:relative;
  padding-left:1.6rem;margin-bottom:.5rem}
.jd-obsah ul:not(.wp-block-navigation__container):not(.jd-mikro) li::before{content:"";
  position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--brand)}
.jd-obsah .wp-block-table{overflow-x:auto}
.jd-obsah table{border-collapse:collapse;width:100%}
.jd-obsah th{background:var(--c-100);color:var(--c-900);text-align:left}
.jd-obsah th,.jd-obsah td{padding:.7rem .9rem;border:1px solid var(--c-100)}
.jd-obsah blockquote{border-left:4px solid var(--brand);background:var(--surface-2);
  padding:1.2rem 1.5rem;border-radius:0 var(--r-md) var(--r-md) 0;margin:1.6rem 0}
.jd-obsah blockquote p{margin:0;font-size:var(--t-lg)}
.jd-preklad{background:var(--c-info-bg);border-left:4px solid var(--c-info);color:var(--c-info-ink);
  border-radius:0 var(--r-md) var(--r-md) 0;padding:1rem 1.3rem;margin:1.2rem auto;font-size:var(--t-sm)}
.jd-preklad strong{color:var(--c-info-ink)}

/* ========================================================== 3. LAYOUT */
.jd-wrap{width:min(100% - var(--gutter)*2,var(--wrap));margin-inline:auto}
.jd-bleed{max-width:none;width:auto;margin-inline:calc(50% - 50vw);
  padding-inline:max(var(--gutter),calc(50vw - var(--wrap)/2))}
.jd-bleed>*{max-width:var(--wrap);margin-inline:auto}

.jd-duo{display:grid;gap:var(--gap-col);align-items:center}
@media(min-width:900px){
  .jd-duo{grid-template-columns:1fr 1fr}
  .jd-duo--text-l{grid-template-columns:1.05fr .95fr}
  .jd-duo--text-r{grid-template-columns:.95fr 1.05fr}
  .jd-duo--text-r>:first-child{order:2}
  /* Obrázkový stĺpec bez fotky sa skrýva (7. sekcia) — mriežka sa vtedy
     zúži na jeden stĺpec, aby text nestál vedľa prázdnej polovice. */
  .jd-duo:has(.jd-duo__media):not(:has(.jd-duo__media img[src])){grid-template-columns:1fr}
}
.jd-duo>*{min-width:0}
.jd-duo__media{align-self:stretch}
.jd-duo__media>*{height:100%}
.jd-duo__media figure{margin:0;height:100%}

.jd-grid{display:grid;gap:var(--gap);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.jd-grid--tight{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.jd-stack>*+*{margin-top:var(--s-3)}

/* ========================================================= 4. SECTIONS */
/* Full-bleed model (body 16–20, 47 zadania): sekcia má šírku viewportu,
   pozadie ide od kraja po kraj, obsah drží jeden spoločný grid. Bočný
   priestor je fluidný cez --gutter, nie pevných 80 px na každej obrazovke.
   Rovnaké dve pravidlá platia pre hero aj pás, takže všetky sekcie
   vychádzajú z tej istej zvislej osi. */
.jd-sek{padding-block:var(--pad-sec);padding-inline:var(--gutter);
  background:var(--surface);position:relative}
.jd-sek>*{max-width:var(--wrap);margin-inline:auto;width:100%}
.jd-sek--soft{background:
  radial-gradient(60rem 26rem at 12% -12%,rgba(92,107,75,.055),transparent 62%),
  radial-gradient(46rem 22rem at 92% 108%,rgba(92,107,75,.04),transparent 66%),
  var(--surface-2);
  border-block:1px solid var(--line-soft)}
.jd-sek--moss{background:
  radial-gradient(56rem 24rem at 88% -14%,rgba(92,107,75,.09),transparent 62%),
  radial-gradient(44rem 20rem at 8% 112%,rgba(92,107,75,.055),transparent 66%),
  var(--surface-3);
  border-block:1px solid var(--line)}
.jd-sek--soft+.jd-sek--soft,.jd-sek--moss+.jd-sek--moss,.jd-sek--tmavy+.jd-sek--tmavy{border-top:0}

.jd-oko{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 var(--s-3);
  font-family:var(--f-body);font-size:var(--t-xs);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brand-ink)}
.jd-oko::before{content:"";width:2.25rem;height:2px;flex:none;border-radius:2px;
  background:linear-gradient(90deg,var(--brand),rgba(92,107,75,.25))}
.jd-sek h2{margin-bottom:var(--s-3);letter-spacing:-.022em;max-width:22ch}
.jd-sek h2+p{color:var(--ink-2);font-size:var(--t-lg);max-width:58ch;margin-bottom:var(--s-5)}
.jd-sek__head{margin-bottom:var(--s-5)}
.jd-sek__head--center{text-align:center}
.jd-sek__head--center .jd-oko{justify-content:center}
.jd-sek__head--center h2+p{margin-inline:auto}

/* --- 7.0.2: NÁVRAT 6.5 — pás .jd-sek--tmavy z obsahu DB ---
   V pôvodnej škále skončil ako jemný šalviový podklad. Farba textu patrí
   k pozadiu (pravidlo č. 6): nadpisy c-950 na c-50 = 14,99 : 1,
   text c-800 na c-50 = 9,44 : 1. */
.jd-sek--tmavy{background:var(--surface-3);color:var(--ink);border-block:1px solid var(--line)}
.jd-sek--tmavy h2,.jd-sek--tmavy h3{color:var(--ink)}
.jd-sek--tmavy p:not([class]),.jd-sek--tmavy li:not([class]){color:var(--c-800)}

/* =========================================================== 5. BUTTONS */
.wp-block-button__link,.wp-element-button,.jd-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:52px;padding:.9rem 1.9rem;border:2px solid var(--brand-ink);
  border-radius:var(--r-pill);background:var(--brand-ink);color:var(--c-white);
  font:inherit;font-weight:700;font-size:var(--t-base);letter-spacing:-.005em;
  text-decoration:none;
  cursor:pointer;box-shadow:var(--sh-1);
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),
    color var(--dur) var(--ease),transform .16s var(--ease),box-shadow var(--dur) var(--ease)}
.wp-block-button__link:hover,.jd-btn:hover{
  background:var(--brand-hover);border-color:var(--brand-hover);
  color:var(--c-white);transform:translateY(-2px);box-shadow:var(--sh-3)}
.wp-block-button__link:active,.jd-btn:active{transform:translateY(0)}
.is-style-outline>.wp-block-button__link,.jd-btn--ghost{
  background:transparent;color:var(--brand-ink);border-color:var(--line)}
.is-style-outline>.wp-block-button__link:hover,.jd-btn--ghost:hover{
  background:var(--surface-2);border-color:var(--brand);color:var(--c-900)}

/* ============================================================ 6. HEADER */
.jd-pruh{background:var(--c-100);color:var(--c-900);border-bottom:1px solid var(--line);
  font-size:var(--t-sm)}
.jd-pruh>*{max-width:var(--wrap);margin-inline:auto;padding-block:.55rem}
.jd-pruh p{margin:0;max-width:none;color:var(--c-900)}
.jd-pruh a{color:var(--c-900);text-decoration:none}
.jd-pruh a:hover{text-decoration:underline}
.jdc-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .85rem;
  background:var(--c-white);border:1px solid var(--c-300);border-radius:var(--r-pill);
  font-weight:600;color:var(--c-900);white-space:nowrap}
.jdc-badge__dot{color:var(--brand)}
.jdc-accepting{display:inline-block;padding:.32rem .95rem;background:var(--brand-ink);
  color:var(--c-white);border-radius:var(--r-pill);font-weight:700;font-size:var(--t-xs);
  letter-spacing:.01em;white-space:nowrap}

.jd-hlavicka{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.93);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.jd-hlavicka>*{max-width:var(--wrap);margin-inline:auto}
.jd-hlavicka.je-prilepena{border-color:var(--line);box-shadow:var(--sh-1)}
.jd-hlavicka .wp-block-site-title a,.jd-hlavicka .jd-znacka a{
  font-family:var(--f-head);font-size:1.45rem;
  font-weight:600;letter-spacing:-.035em;color:var(--ink);text-decoration:none}
/* --- 7.7.0: dvojfarebná značka ---
   „DENT" v šalviovej #5C6B4B. Kontrast voči bielej hlavičke 5,74 : 1,
   čo vyhovie AA aj pre bežný text, nielen pre veľký. Keď pribudne logo,
   stačí v hlavičke nahradiť odsek .jd-znacka blokom Logo stránky —
   blok Logo je v šablóne pripravený hneď vedľa. */
.jd-hlavicka .jd-znacka{margin:0;line-height:1}
.jd-znacka__akcent{color:var(--brand)}
.jd-pata .jd-znacka a{font-family:var(--f-head);font-size:1.15rem;font-weight:600;
  color:var(--ink);text-decoration:none}
.jd-pata .jd-znacka{margin:0 0 .6rem}
.jdtm-znacka{color:var(--brand)}
.jd-hlavicka .wp-block-navigation{font-weight:600;font-size:var(--t-sm)}
.jd-hlavicka .wp-block-navigation a{color:var(--ink);text-decoration:none;position:relative;padding-block:.35rem}
.jd-hlavicka .wp-block-navigation a::after{content:"";position:absolute;left:0;right:0;bottom:0;
  height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur) var(--ease)}
.jd-hlavicka .wp-block-navigation a:hover::after,
.jd-hlavicka .wp-block-navigation [aria-current="page"]::after{transform:scaleX(1)}
.jd-hlavicka .wp-block-navigation__submenu-container{border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:var(--sh-3);padding:.35rem;background:var(--c-white)}
.jd-hlavicka .wp-block-navigation__submenu-container a{border-radius:var(--r-sm)}
.jd-hlavicka .wp-block-navigation__submenu-container a::after{display:none}
.jd-hlavicka .wp-block-navigation__submenu-container a:hover{background:var(--surface-2)}

.wp-block-navigation__responsive-container-open{width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);
  background:var(--surface-3);color:var(--ink)}
.wp-block-navigation__responsive-container-open svg{fill:currentColor}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--c-white);
  color:var(--ink);padding:1.2rem var(--gutter) 2rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  gap:0;width:100%;padding-top:2.4rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  width:100%;border-bottom:1px solid var(--line-soft)}
.wp-block-navigation__responsive-container.is-menu-open a,
.wp-block-navigation__responsive-container.is-menu-open button{color:var(--ink)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  display:block;width:100%;padding:1rem .2rem;font-size:1.08rem;font-weight:600}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after{display:none}
.wp-block-navigation__responsive-container.is-menu-open [aria-current="page"]{color:var(--brand-ink)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{display:none}
.wp-block-navigation__responsive-container-close{width:44px;height:44px;top:1rem;right:1rem;
  border-radius:50%;background:var(--surface-3);color:var(--ink)}

/* --- 7.0.2: NÁVRAT 6.5 — odznaky starého jadra v hornom pruhu --- */
.jdc-badge__text{font-weight:600;color:var(--c-900)}
.jdc-badge__note{font-weight:500;color:var(--ink-2)}
.jdc-badge--green{color:var(--brand-ink)}
.jdc-badge--red{background:var(--c-white);color:var(--c-900);border:1px solid var(--c-300)}

/* ============================================================== 7. HERO */
.jd-hero{padding-block:clamp(3.25rem,1.9rem + 5.4vw,6.5rem) clamp(3.5rem,2.2rem + 5.4vw,7rem);
  background:
    radial-gradient(58rem 30rem at 82% -18%,rgba(92,107,75,.13),transparent 64%),
    radial-gradient(40rem 24rem at 4% 104%,rgba(92,107,75,.07),transparent 68%),
    linear-gradient(175deg,var(--surface-3) 0%,var(--surface-2) 46%,var(--c-white) 100%)}
/* Keď v hero nie je fotka, textový stĺpec má v obsahu natvrdo zapísanú
   šírku 53 % a zvyšok ostával prázdny. Roztiahneme ho na celú šírku a
   dĺžku riadku ustrážime mierou --measure, nie šírkou stĺpca. */
.jd-hero .wp-block-columns:has(> .jd-hero-foto):not(:has(> .jd-hero-foto img[src]))
  > .wp-block-column{flex-basis:100%;max-width:none}
.jd-hero .wp-block-columns:has(> .jd-hero-foto):not(:has(> .jd-hero-foto img[src]))
  h1{max-width:19ch}
.jd-hero{padding-inline:var(--gutter)}
.jd-hero>*{max-width:var(--wrap);margin-inline:auto;width:100%}
.jd-pas{padding-inline:var(--gutter)}
.jd-pas>*{max-width:var(--wrap);margin-inline:auto;width:100%}
.jd-hero h1{margin-bottom:var(--s-3);letter-spacing:-.026em}
.jd-hero .jd-podnadpis,.jd-hero h1+p{color:var(--brand-ink);font-weight:600;
  font-size:var(--t-lg);margin-bottom:var(--s-3);max-width:52ch}
.jd-hero__lead{font-size:var(--t-lg);color:var(--ink-2);max-width:54ch}
.jd-hero .wp-block-buttons{margin-block:var(--s-4)}
.jd-hero-foto,.jd-duo__media{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-3)}
/* Art direction: fotografie z kliniky sú na výšku (mobilné zábery). Bez
   orezania by hero fotka merala takmer 1000 px a ukazovala hlavne strop.
   Pomer je fluidný, výšku stropí clamp a ohnisko posúvame pod stred, kde
   je na týchto záberoch vybavenie. Po výmene za vodorovné fotky stačí
   zmeniť aspect-ratio na jednom mieste. */
.jd-hero-foto{aspect-ratio:4/5;max-height:clamp(20rem,40vw,34rem);align-self:center}
.jd-hero-foto figure,.jd-hero-foto .wp-block-image{margin:0;height:100%}
.jd-hero-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.jd-duo__media{aspect-ratio:4/3;max-height:clamp(16rem,34vw,28rem)}
.jd-duo__media img{object-position:50% 60%}
/* --- Striedanie fotiek (bod 39–40 zadania) ---
   Obsahovo je to bežná Galéria WordPressu s triedou .jd-strieda, takže
   fotky pridáva a maže administrátor, nie sú nikde v kóde. Snímky sú
   naskladané na sebe v rodičovi s pevným pomerom strán, takže striedanie
   nespôsobí posun layoutu (CLS = 0). Bez skriptu ostane viditeľná prvá
   fotka — nie prázdne miesto. Pri prefers-reduced-motion sa nestrieda. */
/* WordPress má pre galérie pravidlo .wp-block-gallery.has-nested-images
   figure.wp-block-image{position:relative}, ktoré je špecifickejšie než
   .jd-strieda .wp-block-image — preto snímky nesedéli na sebe, ale pod
   sebou a druhá sa vykresľovala mimo rámu. Preto tu zvyšujeme špecificitu. */
.wp-block-gallery.has-nested-images.jd-strieda{position:relative;display:block;
  height:100%;gap:0;margin:0}
.wp-block-gallery.has-nested-images.jd-strieda figure.wp-block-image{
  position:absolute;inset:0;margin:0;width:100%;height:100%;
  opacity:0;transition:opacity 1.6s var(--ease)}
.wp-block-gallery.has-nested-images.jd-strieda figure.wp-block-image.je-akt{opacity:1}
.wp-block-gallery.has-nested-images.jd-strieda img{width:100%;height:100%;
  object-fit:cover;object-position:50% 60%;border-radius:inherit}
.jd-hero-foto:not(:has(img[src])),.jd-duo__media:not(:has(img[src])){display:none}
/* V editore nesmie prázdny obrázkový stĺpec zmiznúť — inak by sa doň
   nedala vložiť fotka. Na webe toto pravidlo nič nerobí. */
.editor-styles-wrapper .jd-hero-foto:not(:has(img[src])),
.editor-styles-wrapper .jd-duo__media:not(:has(img[src])){display:block;
  outline:2px dashed var(--c-300);box-shadow:none}
.jd-duo__media img{width:100%;height:100%;object-fit:cover}

/* Široký pás s fotkou a nápisom (blok Obal / Cover s triedou jd-pas-foto).
   Tmavé pozadie je záloha, kým sa fotka načíta — farba textu preto patrí
   do toho istého pravidla (pravidlo č. 6). Stmavenie fotky robí prekrytie
   bloku Obal: #1A1F14 pri 60 % — VEĽKÝ biely nápis má aj nad čisto bielou
   fotkou kontrast 4,45 : 1 (prepočet WCAG 2.1, najhorší prípad; AA pre
   veľký text žiada 3 : 1). Bežne veľký text do pásu nepatrí; ak by mal
   pribudnúť, zvýšiť prekrytie na 70 % (6,20 : 1). Neznižovať pod 60 %. */
.jd-pas-foto{min-height:clamp(240px,32vw,440px);background:var(--c-900);color:var(--c-white)}
.jd-pas-foto .wp-block-cover__inner-container{text-align:center}
.jd-pas-foto__napis{margin:0;max-width:none;font-family:var(--f-head);font-weight:600;
  font-size:clamp(2.4rem,1.3rem + 5.6vw,6rem);line-height:1.05;
  letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;
  color:var(--c-white);text-wrap:balance}

/* --- 7.0.2: NÁVRAT 6.5 — hero z obsahu DB (akcenty, fotka, drobné prvky) --- */
.jd-hero h1{font-size:var(--t-h1)} /* poistka proti zdedeným predvoľbám veľkosti z 6.5 */
.jd-hero h1 strong{color:var(--brand);font-weight:inherit;white-space:nowrap;
  background:linear-gradient(transparent 72%,rgba(174,189,158,.55) 72%)}
.jd-hero h1 em,.jd-hero h1 mark,.jd-zvyraznene{background:transparent;color:var(--brand);
  font-style:normal} /* c-600 na bielej = 5,74 : 1 */
/* .jd-hero-foto img — výška a orezanie sú riešené vyššie pri art direction */
.jd-mikro{display:flex;gap:.6rem 1.5rem;flex-wrap:wrap;margin:0;padding:0;
  font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}
.jd-mikro li{list-style:none;padding:0;margin:0;max-width:none}
.jd-stitok{display:inline-flex;align-items:center;gap:.6rem;background:var(--c-white);
  border:1px solid var(--c-300);border-radius:var(--r-pill);padding:.55rem 1.1rem;
  font-size:var(--t-sm);font-weight:700;color:var(--brand-ink);box-shadow:var(--sh-1)}
.jd-ziv{width:8px;height:8px;border-radius:50%;background:var(--c-500);display:inline-block;
  margin-right:.5rem;box-shadow:0 0 0 4px rgba(150,165,133,.35);
  animation:jdpuls 2.4s ease-in-out infinite}
@keyframes jdpuls{0%,100%{box-shadow:0 0 0 4px rgba(150,165,133,.35)}50%{box-shadow:0 0 0 9px rgba(150,165,133,.05)}}

/* ============================================================ 8. KARTY */
.jd-karta,.jdc-service,.jdc-services>*,.jd-vybavenie__polozka{
  background:var(--c-white);border:1px solid var(--line-soft);border-radius:var(--r-lg);
  padding:clamp(1.5rem,1.2rem + .9vw,2.1rem);box-shadow:var(--sh-1);
  position:relative;overflow:hidden;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),
    border-color var(--dur) var(--ease)}
.jd-sek--soft .jd-karta,.jd-sek--soft .jdc-service,
.jd-sek--soft .jdc-services>*{background:var(--c-white)}
.jd-sek--moss .jd-karta,.jd-sek--moss .jdc-service,
.jd-sek--moss .jdc-services>*{background:var(--c-white)}
.jd-sek--tmavy .jd-karta,.jd-sek--tmavy .jdc-service,
.jd-sek--tmavy .jdc-services>*{background:var(--c-white)}
.jdc-service:hover,.jd-karta:hover{transform:translateY(-3px);
  box-shadow:var(--sh-3);border-color:var(--c-300)}
.jdc-service::before{content:"";position:absolute;inset-block:0;left:0;width:3px;
  background:var(--brand);transform:scaleY(0);transform-origin:top;
  transition:transform var(--dur) var(--ease)}
.jdc-service:hover::before{transform:scaleY(1)}
.jdc-service h3,.jd-karta h3{font-size:var(--t-lg);margin:0 0 var(--s-1)}
.jdc-service h3 a{color:var(--ink);text-decoration:none}
.jdc-service p,.jd-karta p{font-size:var(--t-sm);color:var(--ink-2);margin:0}
/* Pri 15.5rem vychádzali štyri stĺpce a karty mali 253 px — popis sa
   lámal na sedem riadkov a v poslednom rade zostávala jedna osamotená
   karta. Pri 21rem vyjdú tri stĺpce, deviatich kariet presne tri rady. */
.jdc-services{display:grid;gap:var(--gap);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr))}

.jdsi{display:inline-flex;align-items:center;justify-content:center;
  width:48px;height:48px;margin-bottom:.9rem;border-radius:14px;flex:none;
  background:linear-gradient(145deg,var(--c-100),var(--c-25));
  border:1px solid var(--line);color:var(--brand-ink);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),
    transform var(--dur) var(--ease)}
.jdsi svg{width:26px;height:26px;stroke-width:1.4}
.jdc-service:hover .jdsi{background:var(--brand-ink);border-color:var(--brand-ink);
  color:var(--c-white);transform:translateY(-2px) rotate(-4deg)}

.jd-vybavenie{display:grid;gap:var(--s-2)}
.jd-vybavenie__polozka h3,.jd-vybavenie__polozka strong{display:block;
  font-family:var(--f-body);font-weight:700;font-size:var(--t-base);margin:0 0 .25rem}

/* --- 7.0.2: NÁVRAT 6.5 — položky so ikonou, médiá a cena služby --- */
.jd-polozka{display:flex;gap:1rem;align-items:flex-start;background:var(--c-white);
  border:1px solid var(--c-100);border-radius:var(--r-md);padding:1.1rem 1.25rem;
  transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
.jd-polozka:hover{box-shadow:var(--sh-2);transform:translateX(4px)}
.jd-polozka strong{display:block;font-size:1.03rem}
.jd-polozka span{color:var(--ink-2);font-size:var(--t-sm)}
.jd-vybavenie__zoznam{display:grid;gap:.8rem}
.jdc-service__media{aspect-ratio:16/10;overflow:hidden;background:var(--c-100)}
.jdc-service__media img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--dur) var(--ease)}
.jdc-service:hover .jdc-service__media img{transform:scale(1.06)}
.jdc-service .jdc-service__price{margin-top:auto;padding:1.1rem 1.6rem 1.5rem;
  color:var(--brand-ink);font-weight:700}
.jdc-service.jdsi-ma-ikonu{padding:1.35rem 1.3rem}
.jdc-service.jdsi-ma-ikonu h3{font-size:1.05rem;line-height:1.35}

/* --- 7.8.0: celá karta služby klikateľná ---
   Doplnok obaľuje odkazom iba <h3>, takže klik na piktogram nič nerobil.
   Odkaz rozťahujeme cez ::after na celú kartu — text ostáva označiteľný,
   klávesnica funguje ako predtým (fokus je stále na odkaze) a čítačka
   obrazovky číta jediný odkaz, nie dva. */
.jdc-service.jdsi-ma-ikonu{position:relative;display:flex;flex-direction:column;
  align-items:flex-start;gap:.9rem;justify-content:flex-start}
.jdc-service h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.jdc-service h3 a{text-decoration:none;color:inherit}
.jdc-service:hover h3 a{color:var(--brand-ink)}
.jdc-service:focus-within{outline:3px solid var(--brand);outline-offset:3px}
.jdc-service h3 a:focus-visible{outline:none}
.jdc-service .jdsi{display:inline-flex;align-items:center;justify-content:center;
  width:2.9rem;height:2.9rem;flex:none;border-radius:var(--r-md);
  background:var(--surface-3);color:var(--brand-ink);
  transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}
.jdc-service:hover .jdsi{background:var(--c-200);transform:translateY(-2px)}
.jdc-service .jdsi svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.jdc-service h3{margin:0;font-size:var(--t-lg);line-height:1.3}

/* ============================================================ 9. KROKY */
.jd-kroky{display:grid;gap:var(--gap);counter-reset:krok;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.jd-krok{text-align:center}
.jd-cislo{display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;margin-bottom:var(--s-2);border-radius:50%;
  border:2px solid var(--c-300);background:var(--c-white);color:var(--c-800);
  font-family:var(--f-head);font-size:1.2rem;font-weight:600}
.jd-krok:first-child .jd-cislo,.jd-krok.je-akt .jd-cislo{
  background:var(--brand-ink);border-color:var(--brand-ink);color:var(--c-white)}
.jd-krok h3{font-size:var(--t-base);margin:0 0 var(--s-1)}
.jd-krok p{font-size:var(--t-sm);color:var(--ink-2);margin-inline:auto}

/* ============================================================== 10. TÍM */
.jdc-team,.jdtm-mriezka{display:grid;gap:var(--gap);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))}
.jdc-person,.jdtm-osoba{text-align:center;min-width:0}
.jdc-person__photo,.jdtm-foto{width:100%;max-width:200px;aspect-ratio:1;
  margin:0 auto var(--s-3);border-radius:50%;overflow:hidden;background:var(--c-100);
  box-shadow:var(--sh-2);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.jdc-person__photo img,.jdtm-foto img{width:100%;height:100%;object-fit:cover}
.jdc-person:hover .jdc-person__photo,.jdtm-osoba:hover .jdtm-foto{
  transform:translateY(-4px);box-shadow:var(--sh-3)}
.jdtm-foto.je-prazdna,.jdc-person__photo:empty{border:1px dashed var(--c-300);box-shadow:none}
.jdc-person__name,.jdtm-meno{font-family:var(--f-head);font-weight:600;
  font-size:var(--t-base);line-height:1.3;margin:0 0 .15rem}
.jdc-person__role,.jdtm-funkcia{color:var(--brand-ink);font-size:var(--t-sm);
  font-weight:600;margin:0;max-width:none}
.jdc-person__spec,.jdtm-odbor{color:var(--ink-2);font-size:var(--t-xs);
  margin:.25rem 0 0;max-width:none}
.jdhf-hodiny{margin-top:var(--s-2);font-size:var(--t-xs);width:100%}
.jdhf-hodiny th{font-weight:500;text-align:left;padding:.18rem .5rem .18rem 0;white-space:nowrap}
.jdhf-hodiny td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:.18rem 0}
.jdhf-hodiny .is-closed{color:var(--c-400)}

.jdtm-okno{display:grid;grid-auto-flow:column;gap:var(--gap);
  grid-auto-columns:max(13.5rem,calc((100% - 3*var(--gap))/4));
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding-block:.35rem;scrollbar-width:none}
.jdtm-okno::-webkit-scrollbar{display:none}
.jdtm-osoba{scroll-snap-align:start}
.jdtm-ovladanie,.jdtr-ovladanie{display:flex;justify-content:center;
  gap:.6rem;margin-top:var(--s-4)}
.jdtm-viac{text-align:center;margin-top:var(--s-3)}
.jdtm-odkaz{font-weight:700;color:var(--brand-ink);text-decoration:none;
  border-bottom:2px solid currentColor;padding-bottom:2px}

/* --- 7.0.2: NÁVRAT 6.5 — detail lekára a vizitka starého jadra --- */
.jd-detail-hlava{background:linear-gradient(135deg,var(--surface-3),var(--c-white) 60%);
  padding:clamp(2rem,5vw,4rem) 0}
.jd-detail-hlava h1{font-size:clamp(1.8rem,4.4vw,3rem)}
.jd-navrat{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;
  color:var(--brand-ink);text-decoration:none}
.jd-navrat:hover{text-decoration:underline}
.jd-osoba-hlava{display:grid;grid-template-columns:minmax(0,240px) 1fr;
  gap:clamp(1.4rem,4vw,3rem);align-items:center}
.jd-osoba-hlava .wp-block-post-featured-image img{border-radius:var(--r-lg);
  box-shadow:var(--sh-3);aspect-ratio:3/4;object-fit:cover;width:100%}
.jdc-person__bio{color:var(--ink-2);font-size:var(--t-sm);margin-top:.6rem}
.jdc-person__lead{font-size:1.08rem;color:var(--ink-2);margin-bottom:.6rem}
.jdc-person__info{display:grid;gap:.55rem;margin-top:1rem;text-align:left}
.jdc-person__row{display:grid;grid-template-columns:minmax(0,150px) 1fr;
  gap:.6rem 1rem;padding:.55rem 0;border-bottom:1px solid var(--c-100)}
.jdc-person__label{font-weight:700;color:var(--brand-ink);font-size:var(--t-sm)}
.jdc-person__value{color:var(--ink-2)}

/* ========================================================= 11. RECENZIE */
.jdtr{max-width:44rem;margin-inline:auto;text-align:center}
.jdtr-okno{min-height:11rem;display:grid;place-items:center}
.jdtr-karta{animation:jd-in .5s var(--ease) both}
.jdtr-karta[hidden]{display:none}
@keyframes jd-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.jdtr-hviezdy{display:flex;gap:.15rem;justify-content:center;margin-bottom:var(--s-2)}
.jdtr-h{color:var(--c-200);font-size:1.15rem;line-height:1}
.jdtr-h.je-plna{color:var(--brand)}
.jdtr-text{margin:0 0 var(--s-3);font-family:var(--f-head);
  font-size:var(--t-xl);line-height:1.5;color:var(--ink);max-width:38rem;text-wrap:pretty}
.jdtr-text::before{content:"„"} .jdtr-text::after{content:"“"}
.jdtr-autor{font-weight:700;color:var(--ink-2);font-size:var(--t-sm)}
.jdtr-zdroj{font-weight:400;opacity:.75}
.jdtr-sip{width:44px;height:44px;border-radius:50%;cursor:pointer;
  border:1px solid var(--line);background:var(--c-white);color:var(--brand-ink);
  font-size:1.3rem;line-height:1;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.jdtr-sip:hover{background:var(--surface-2);border-color:var(--brand)}
.jdtr-body{display:flex;gap:.4rem;align-items:center}
.jdtr-bod,.jdhf-bod{width:8px;height:8px;padding:0;border:0;border-radius:50%;
  cursor:pointer;background:var(--c-200);
  transition:background var(--dur) var(--ease),width var(--dur) var(--ease)}
.jdtr-bod.je-akt,.jdhf-bod.je-akt{background:var(--brand-ink);width:20px;border-radius:4px}

/* --- 7.0.2: NÁVRAT 6.5 — recenzie starého jadra (.jdc-review) ---
   Hviezdy zosúladené s hviezdami 7.0 (.jdtr-h): plná = c-600. */
.jdc-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));
  gap:var(--gap)}
.jdc-review{margin:0;background:var(--c-white);border:1px solid var(--c-100);
  border-radius:var(--r-lg);padding:1.8rem 1.7rem;display:flex;flex-direction:column;
  gap:.9rem;position:relative;overflow:hidden;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.jdc-review::before{content:"\201C";position:absolute;right:1rem;top:-.4rem;
  font-size:5.5rem;line-height:1;color:var(--brand);opacity:.1;
  font-family:var(--f-head);pointer-events:none}
.jdc-review:hover{transform:translateY(-5px);box-shadow:var(--sh-3);border-color:transparent}
.jdc-review__text{margin:0;border:0;padding:0;background:none;font-size:1.02rem;
  color:var(--ink);line-height:1.65}
.jdc-review__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
  margin-top:auto;font-size:var(--t-sm)}
.jdc-review__author{font-weight:700}
.jdc-review__source{color:var(--ink-2)}
.jdc-review__link{color:var(--brand-ink);font-weight:600;text-decoration:underline;
  text-underline-offset:.15em}
.jdc-stars{display:inline-flex;gap:.15rem;font-size:1.05rem;letter-spacing:.05em}
.jdc-star{color:var(--c-200)}
.jdc-star.is-on{color:var(--brand)}

/* ========================================================== 12. GALÉRIA */
.jdhf-okno{position:relative;width:100%;aspect-ratio:var(--jdhf-pomer,4/3);
  border-radius:var(--r-xl);overflow:hidden;background:var(--c-100);box-shadow:var(--sh-3)}
.jdhf-snimka{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.03);
  transition:opacity var(--dur-slow) var(--ease),transform 1.1s var(--ease)}
.jdhf-snimka.je-akt{opacity:1;transform:scale(1)}
.jdhf-img{width:100%;height:100%;object-fit:cover}
.jdhf-body{display:flex;justify-content:center;gap:.4rem;margin-top:var(--s-2)}
.jdhf-popis{margin-top:var(--s-2);font-size:var(--t-xs);color:var(--ink-2);text-align:center}
.jdc-gallery,.jd-galeria{display:grid;gap:var(--s-2);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
/* Položka mriežky je podľa verzie doplnku <figure class="jdc-gallery__item">
   alebo odkaz <a> — selektor > * pokryje obe podoby rovnako. */
.jdc-gallery>*,.jd-galeria>*{display:block;margin:0;border-radius:var(--r-md);
  overflow:hidden;aspect-ratio:1;background:var(--c-100);box-shadow:var(--sh-1);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.jdc-gallery>*:hover,.jd-galeria>*:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.jdc-gallery img,.jd-galeria img{width:100%;height:100%;object-fit:cover}

/* Lightbox — dialóg, ktorý vytvára app.js (.jd-lupa). CSS 7.0 ho pri prepise
   vynechal, hoci skript ho ďalej vkladal do stránky. Tmavé pozadie a farba
   textu sú v jednom pravidle (pravidlo č. 6). Kontrasty (WCAG 2.1, prepočet
   nad bielou stránkou = najhorší prípad): popis #F0F3EC 12,67:1,
   znak tlačidla 8,49:1, hover 5,05:1. */
.jd-lupa{position:fixed;inset:0;z-index:90;display:none;align-items:center;
  justify-content:center;gap:.6rem;padding:3.5rem clamp(.6rem,3vw,1.5rem);
  background:rgba(26,31,20,.94);color:var(--c-50)}
.jd-lupa.je-otvorena{display:flex;animation:jd-in var(--dur) var(--ease)}
.jd-lupa figure{margin:0;min-width:0;max-width:min(1200px,92vw);text-align:center}
.jd-lupa img{max-width:100%;max-height:78vh;width:auto;height:auto;
  margin-inline:auto;border-radius:var(--r-md);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.jd-lupa figcaption{margin-top:.9rem;font-size:var(--t-sm);color:var(--c-50)}
.jd-lupa button{flex:none;width:48px;height:48px;border:0;border-radius:50%;
  background:rgba(255,255,255,.16);color:var(--c-white);font-size:1.5rem;
  line-height:1;cursor:pointer;transition:background var(--dur) var(--ease)}
.jd-lupa button:hover{background:rgba(255,255,255,.32);color:var(--c-white)}
.jd-lupa-x{position:absolute;top:.9rem;right:.9rem}

/* --- 7.0.2: NÁVRAT 6.5 — posuvník starého jadra a šípky lupy ---
   Biela na c-600 (šípka/pauza pri prejdení) = 5,74 : 1. */
.jdc-gallery__item::after{content:"";position:absolute;inset:0;background:var(--ink);
  opacity:0;transition:opacity var(--dur) var(--ease)}
.jdc-gallery__item:hover::after{opacity:.14}
.jdc-posuvnik{position:relative}
.jdc-posuvnik__stopa{display:grid;grid-auto-flow:column;gap:var(--gap);overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.4rem .2rem 1rem;
  scrollbar-width:none}
.jdc-posuvnik__stopa::-webkit-scrollbar{display:none}
.jdc-posuvnik__stopa:focus-visible{outline:3px solid var(--brand);outline-offset:4px;
  border-radius:var(--r-md)}
.jdc-posuvnik__stopa>*{scroll-snap-align:start}
.jdc-posuvnik--recenzie .jdc-posuvnik__stopa{
  grid-auto-columns:max(17.5rem,calc((100% - 2*var(--gap))/3))}
.jdc-posuvnik--galeria .jdc-posuvnik__stopa{
  grid-auto-columns:max(13.75rem,calc((100% - 3*var(--gap))/4))}
.jdc-posuvnik--galeria .jdc-gallery__item{aspect-ratio:4/3}
.jdc-posuvnik--galeria .jdc-gallery__item img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--dur) var(--ease)}
.jdc-posuvnik--galeria .jdc-gallery__item:hover img{transform:scale(1.05)}
.jdc-posuvnik__ovladanie{display:flex;align-items:center;justify-content:center;
  gap:1rem;margin-top:.6rem}
.jdc-posuvnik.je-staticky .jdc-posuvnik__ovladanie{display:none}
.jdc-sip{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:var(--c-white);color:var(--brand-ink);font-size:1.5rem;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--sh-1);flex:none;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),
    border-color var(--dur) var(--ease)}
.jdc-sip:hover{background:var(--brand);color:var(--c-white);border-color:var(--brand)}
.jdc-bodky{display:flex;gap:.45rem;align-items:center}
.jdc-bodka{width:9px;height:9px;padding:0;border:0;border-radius:50%;
  background:var(--c-300);cursor:pointer;
  transition:background var(--dur) var(--ease),width var(--dur) var(--ease)}
.jdc-bodka:hover{background:var(--brand-ink)}
.jdc-bodka.je-akt{width:26px;border-radius:5px;background:var(--brand)}
.jdc-pauza{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:var(--c-white);color:var(--ink-2);font-size:.72rem;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;
  letter-spacing:-1px;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.jdc-pauza:hover{background:var(--brand);color:var(--c-white);border-color:var(--brand)}
.jdc-pauza.je-zastavene{color:var(--brand-ink);border-color:var(--brand)}
.jd-lupa-p,.jd-lupa-d{position:absolute;top:50%;transform:translateY(-50%)}
.jd-lupa-p{left:1.2rem}
.jd-lupa-d{right:1.2rem}

/* ============================================================ 13. FAQ */
.jd-faq details{border-bottom:1px solid var(--line);
  transition:background var(--dur) var(--ease)}
.jd-faq details[open]{background:var(--surface-2)}
.jd-faq summary{cursor:pointer;padding:1.05rem .9rem;font-weight:700;
  font-size:var(--t-base);color:var(--ink);list-style:none;
  display:flex;justify-content:space-between;gap:var(--s-3);align-items:center}
.jd-faq summary::-webkit-details-marker{display:none}
.jd-faq summary::after{content:"+";font-size:1.4rem;color:var(--brand);
  transition:transform var(--dur) var(--ease);flex:none}
.jd-faq details[open] summary::after{transform:rotate(45deg)}
.jd-faq summary:hover{color:var(--brand-ink)}
.jd-faq details>*:not(summary){padding:0 .9rem 1.1rem;color:var(--ink-2);font-size:var(--t-sm)}

/* ========================================================== 14. CENNÍK */
.jdc-cennik__uvod{background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:1rem 1.2rem;font-size:var(--t-sm);
  color:var(--ink-2);margin-bottom:var(--s-4)}
.jdc-cennik__uvod p{max-width:none;margin:0}
.jdc-cennik__uvod strong{color:var(--ink)}
.jdpu-prep{display:inline-flex;gap:2px;padding:3px;margin-bottom:var(--s-4);
  background:var(--c-100);border-radius:var(--r-pill)}
.jdpu-prep__btn{display:flex;flex-direction:column;align-items:center;gap:1px;
  min-height:46px;padding:.4rem 1.15rem;border:0;border-radius:var(--r-pill);
  background:transparent;color:var(--c-800);font:inherit;font-size:var(--t-sm);
  font-weight:700;line-height:1.15;cursor:pointer;
  transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.jdpu-prep__pod{font-size:.66rem;font-weight:500;letter-spacing:.04em;
  opacity:.72;text-transform:uppercase}
.jdpu-prep__btn.je-akt{background:var(--c-white);color:var(--c-900);box-shadow:var(--sh-1)}
.jdc-cennik__ovladanie{display:flex;flex-wrap:wrap;gap:var(--s-2);
  align-items:center;justify-content:space-between;margin-bottom:var(--s-3)}
.jdc-cennik__filtre{display:flex;flex-wrap:wrap;gap:.4rem}
.jdc-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;
  padding:.45rem .9rem;border:1px solid var(--line);border-radius:var(--r-pill);
  background:var(--c-white);color:var(--brand-ink);font-size:var(--t-sm);
  font-weight:600;cursor:pointer;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.jdc-chip:hover{border-color:var(--brand);background:var(--surface-2)}
.jdc-chip.je-akt{background:var(--brand-ink);border-color:var(--brand-ink);color:var(--c-white)}
.jdc-cennik__hladanie{min-height:46px;padding:.6rem .9rem;border:1px solid var(--line);
  border-radius:var(--r-md);background:var(--c-white);font:inherit;
  font-size:var(--t-base);min-width:min(100%,18rem)}
.jdc-kat{margin-top:var(--s-5)}
.jdc-kat__hlavicka{display:flex;justify-content:space-between;align-items:baseline;
  gap:var(--s-3);padding-bottom:.5rem;margin-bottom:var(--s-2);
  border-bottom:2px solid var(--brand)}
.jdc-kat__nazov{font-family:var(--f-head);font-size:var(--t-h3);color:var(--c-900)}
.jdc-kat__pocet{font-size:var(--t-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}
.jdc-cennik__tabulka{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.jdc-cennik__tabulka thead th{position:sticky;top:0;z-index:2;text-align:left;
  background:var(--c-100);color:var(--c-900);font-size:var(--t-xs);font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;padding:.6rem .8rem;
  border-bottom:1px solid var(--line)}
.jdc-cennik__tabulka thead th.jdc-cena{text-align:right}
.jdc-cennik__tabulka td{padding:.62rem .8rem;vertical-align:top}
.jdc-cennik__tabulka tbody tr+tr{border-top:1px solid var(--line-soft)}
.jdc-cennik__tabulka tbody tr:hover{background:var(--surface-2)}
.jdc-vykon__nazov{display:block;font-weight:700;color:var(--ink);line-height:1.4}
.jdc-vykon__jednotka{font-size:var(--t-xs);color:var(--ink-2);margin-left:.4rem}
.jdc-vykon__popis{display:block;margin-top:.15rem;font-size:var(--t-xs);
  color:var(--ink-2);max-width:58ch}
td.jdc-cena{text-align:right;white-space:nowrap;font-weight:700;
  font-variant-numeric:tabular-nums;color:var(--ink)}
.jdc-nema{color:var(--c-400);font-weight:400}
.jdc-cennik.je-poistenec thead th:nth-child(3),
.jdc-cennik.je-poistenec td[data-popis="Cena samoplatcu"],
.jdc-cennik.je-samoplatca thead th:nth-child(2),
.jdc-cennik.je-samoplatca td[data-popis="Doplatok poistenca"]{display:none}
.jdc-cennik__pata{margin-top:var(--s-5);padding-top:var(--s-3);
  border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--ink-2)}

/* --- 7.0.2: NÁVRAT 6.5 — cenník starého jadra (.jdc-pricing) ---
   Prepínač: biela na c-600 = 5,74 : 1. Chybové texty = tokeny --c-err. */
.jdc-pricing{background:var(--c-white);border:1px solid var(--c-100);
  border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2)}
.jdc-pricing__controls{background:var(--c-100);padding:1.4rem 1.6rem;display:grid;gap:.9rem}
.jdc-switch{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.jdc-switch legend{float:left;width:100%;font-weight:700;color:var(--c-900);
  font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.jdc-switch label{display:inline-flex;align-items:center;gap:.5rem;background:var(--c-white);
  border-radius:var(--r-pill);padding:.6rem 1.1rem;font-weight:700;font-size:var(--t-sm);
  cursor:pointer;box-shadow:var(--sh-1);color:var(--ink-2);
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.jdc-switch label:hover{color:var(--ink)}
.jdc-switch input{accent-color:var(--brand);margin:0}
.jdc-switch label:has(input:checked){background:var(--brand);color:var(--c-white)}
.jdc-switch__help{font-size:var(--t-sm);color:var(--c-900);margin:0;max-width:none}
.jdc-search input{width:100%;padding:.85rem 1.1rem;border:1px solid var(--line);
  border-radius:var(--r-pill);font-size:1rem;background:var(--c-white)}
.jdc-cat{padding:1.6rem 1.6rem 0}
.jdc-pricing .jdc-cat{overflow-x:auto}
.jdc-cat__title{font-size:1.2rem;margin:0 0 .2rem;color:var(--c-900)}
.jdc-cat__desc{color:var(--ink-2);font-size:var(--t-sm);margin:0 0 .6rem}
.jdc-kat__popis{color:var(--ink-2);font-size:.9375rem;margin-top:.35rem;max-width:68ch}
.jdc-table{width:100%;border-collapse:collapse;font-size:1rem}
.jdc-table th{text-align:left;font-size:var(--t-xs);letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--line);
  padding:.5rem 0}
.jdc-table th.jdc-table__price,.jdc-table td.jdc-table__price{text-align:right}
.jdc-table td{padding:.85rem 0;border-bottom:1px solid var(--c-100);vertical-align:top}
.jdc-table tr:hover td{background:var(--c-25)}
.jdc-table td.jdc-table__price{font-weight:700;color:var(--brand-ink);white-space:nowrap}
.jdc-table summary{cursor:pointer;font-weight:600}
.jdc-table summary::marker{color:var(--brand)}
.jdc-detail{color:var(--ink-2);font-size:var(--t-sm);padding:.5rem 0 .2rem}
.jdc-unit{color:var(--ink-2);font-size:.85rem}
.jdc-pricing__foot{padding:1.2rem 1.6rem;color:var(--ink-2);font-size:var(--t-sm);
  border-top:1px solid var(--c-100)}
.jdc-nores{padding:2rem 1rem;text-align:center;color:var(--ink-2);
  background:var(--surface-2);border-radius:var(--r-md)}
.jdc-cennik__vysvetlenie{margin-top:var(--s-3);padding:1rem 1.1rem;background:var(--surface-3);
  border-left:3px solid var(--brand);border-radius:0 var(--r-md) var(--r-md) 0;
  font-size:.9375rem;line-height:1.65;color:var(--ink)}
.jdc-btn-tlac{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;
  padding:.6rem 1.1rem;border:1px solid var(--brand-ink);border-radius:var(--r-pill);
  background:var(--c-white);color:var(--brand-ink);font-weight:500;cursor:pointer;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.jdc-btn-tlac:hover{background:var(--brand-ink);color:var(--c-white)}
.jdc-btn-tlac:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
.jdc-hint{font-weight:400;color:var(--ink-2);font-size:var(--t-sm)}

/* --- 7.5.0: cenník podľa skutočnej značky doplnku 1.9.3 ---
   Téma doteraz štýlovala .jdc-table/.jdc-cat zo starej generácie jadra.
   Živý doplnok vykresľuje details.jdc-kat > table.jdc-cennik__tabulka
   s bunkami .jdc-vykon a .jdc-cena, takže tie pravidlá boli mŕtvy kód
   a cenník ostal takmer bez úpravy. Toto je jeho skutočný vzhľad. */
.jdc-kat{background:var(--c-white);border:1px solid var(--line-soft);
  border-radius:var(--r-lg);box-shadow:var(--sh-1);margin-bottom:var(--s-3);
  overflow:hidden}
.jdc-kat__hlavicka{display:flex;align-items:center;gap:.8rem;cursor:pointer;
  padding:clamp(1rem,.85rem + .5vw,1.35rem) clamp(1.1rem,.9rem + .7vw,1.6rem);
  font-family:var(--f-head);font-size:var(--t-xl);color:var(--c-950);
  list-style:none;transition:background var(--dur) var(--ease)}
.jdc-kat__hlavicka::-webkit-details-marker{display:none}
.jdc-kat__hlavicka:hover{background:var(--surface-2)}
.jdc-kat__hlavicka::after{content:"";margin-left:auto;width:.62rem;height:.62rem;
  border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);
  transform:rotate(45deg);transition:transform var(--dur) var(--ease);flex:none}
.jdc-kat[open] .jdc-kat__hlavicka::after{transform:rotate(-135deg)}
.jdc-kat[open] .jdc-kat__hlavicka{border-bottom:1px solid var(--line-soft)}
.jdc-kat__nazov{font-weight:700}
.jdc-kat__pocet{font-family:var(--f-body);font-size:var(--t-xs);font-weight:700;
  color:var(--brand-ink);background:var(--c-100);border-radius:var(--r-pill);
  padding:.2rem .6rem}
.jdc-cennik__tabulka{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.jdc-cennik__tabulka thead th{text-align:left;font-family:var(--f-body);
  font-size:var(--t-xs);letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-2);font-weight:700;padding:.85rem 1.1rem;
  border-bottom:1px solid var(--line-soft);background:var(--c-25)}
.jdc-cennik__tabulka th.jdc-cena,.jdc-cennik__tabulka td.jdc-cena{text-align:right;
  white-space:nowrap}
.jdc-cennik__tabulka td{padding:.9rem 1.1rem;border-bottom:1px solid var(--c-100);
  vertical-align:top}
.jdc-cennik__tabulka tbody tr:last-child td{border-bottom:0}
.jdc-cennik__tabulka tbody tr:hover td{background:var(--c-25)}
.jdc-vykon__nazov{color:var(--ink);line-height:1.5}
td.jdc-cena{font-weight:700;color:var(--brand-ink);font-variant-numeric:tabular-nums}
td.jdc-cena+td.jdc-cena{color:var(--ink-2)}

/* ======================================================== 15. FORMULÁR */
.jdc-form fieldset{border:0;padding:0;margin:0 0 var(--s-4)}
.jdc-form legend{padding:0;margin-bottom:var(--s-2);font-weight:700;color:var(--ink)}
.jdc-form__row{margin-bottom:var(--s-4)}
.jdc-form__row--duo{display:grid;gap:var(--s-3);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.jdc-form label{display:block;font-weight:700;margin-bottom:.35rem;color:var(--ink)}
.jdc-form__opt{font-weight:400;color:var(--ink-2);font-size:var(--t-sm)}
.jdc-form :is(input[type=text],input[type=tel],input[type=email],input[type=date],select,textarea){
  width:100%;min-height:48px;padding:.7rem .9rem;border:1px solid var(--line);
  border-radius:var(--r-md);background:var(--c-white);color:var(--ink);
  font:inherit;font-size:var(--t-base);
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.jdc-form textarea{min-height:8rem;resize:vertical}
.jdc-form :is(input,select,textarea):focus{border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(92,107,75,.14);outline:none}
.jdc-form__radio,.jdc-form__consent label{display:flex;align-items:flex-start;
  gap:.85rem;padding:1rem 1.15rem;background:var(--c-white);border:2px solid var(--line);
  border-radius:var(--r-md);cursor:pointer;font-weight:500;line-height:1.55;
  text-align:left;color:var(--ink);margin:0;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.jdc-form__radio+.jdc-form__radio{margin-top:.5rem}
.jdc-form__radio:hover,.jdc-form__consent label:hover{border-color:var(--brand);background:var(--surface-2)}
.jdc-form__radio input,.jdc-form__consent input{flex:none;width:24px;height:24px;
  margin:.12rem 0 0;accent-color:var(--brand-ink);cursor:pointer}
.jdc-form__radio:has(input:checked),.jdc-form__consent label:has(input:checked){
  border-color:var(--brand-ink);background:var(--surface-2)}
.jdc-form__consent{margin-block:var(--s-4)}
.jdc-form__consent label{border-color:var(--c-300);background:var(--surface-2);font-weight:600}
.jdc-form__consent a{font-weight:700}
.jdc-form__err{display:block;margin-top:.4rem;color:var(--c-err);font-weight:700;font-size:var(--t-sm)}
.jdc-form-ok,.jdc-form-err{display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:.3rem 1rem;align-items:start;padding:1.2rem 1.3rem;border-radius:var(--r-lg);
  margin-bottom:var(--s-4);scroll-margin-top:6rem}
.jdc-form-ok>*,.jdc-form-err>*{grid-column:2;max-width:none}
.jdc-form-ok::before,.jdc-form-err::before{grid-column:1;grid-row:1/span 20;align-self:start}
.jdc-form-ok{background:var(--c-100);border-left:4px solid var(--brand-ink);color:var(--ink)}
.jdc-form-err{background:var(--c-err-bg);border-left:4px solid var(--c-err);color:var(--c-err-ink)}
.jdc-form-ok h3,.jdc-form-err h3{margin:0 0 .35rem;font-size:var(--t-lg)}
.jdc-form-ok p,.jdc-form-err p{margin:0 0 .4rem}
.jd-kontakt-rychlo{display:grid;gap:.6rem;margin-bottom:var(--s-5);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.jd-kontakt-rychlo a{display:flex;align-items:center;justify-content:center;
  min-height:56px;padding:.9rem 1.1rem;border-radius:var(--r-md);font-weight:700;
  text-decoration:none;border:1px solid var(--line);background:var(--c-white);
  color:var(--brand-ink);transition:background var(--dur) var(--ease),transform .16s var(--ease)}
.jd-kontakt-rychlo a:first-child{background:var(--brand-ink);color:var(--c-white);border-color:var(--brand-ink)}
.jd-kontakt-rychlo a:hover{transform:translateY(-1px)}

/* --- 7.0.2: NÁVRAT 6.5 — formulár starého jadra (aliasy k novým triedam) ---
   Odoslať: biela na c-700 = 7,82 : 1. Hlásky = tokeny --c-err. */
.jdc-form fieldset,.jdc-form .jdc-radio-group{border:0;margin:0 0 1.3rem;padding:0}
.jdc-form legend,.jdc-form .jdc-label{display:block;font-weight:600;margin:0 0 .55rem;
  color:var(--ink)}
.jdc-form .jdc-radio-group{display:flex;flex-wrap:wrap;gap:.6rem}
.jdc-form .jdc-nepovinne,.jdc-form__hint{font-weight:400;color:var(--ink-2);font-size:.9em}
.jdc-form__two,.jdc-form__row--dvojica{display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.jdc-form__check{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;margin:0;
  background:var(--surface-2);border:2px solid var(--c-300);border-radius:var(--r-md);
  cursor:pointer;line-height:1.55;min-height:48px;font-weight:500;color:var(--ink);
  text-align:left;
  transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}
.jdc-form__check:hover{border-color:var(--brand);background:var(--surface-3)}
.jdc-form__check input[type=checkbox]{flex:none;width:26px;height:26px;margin:0;
  accent-color:var(--brand-ink);cursor:pointer}
.jdc-form__check:has(input:checked){background:var(--c-white);border-color:var(--brand-ink)}
.jdc-form__check:has(input:focus-visible){outline:3px solid var(--brand-ink);outline-offset:2px}
.jdc-form__check a{color:var(--brand-ink);text-decoration:underline}
.jdc-form .jdc-chyba{color:var(--c-err);font-weight:600;margin-top:.4rem;display:block}
.jdc-form__hlaska{margin:0 0 1.2rem;padding:1rem 1.15rem;border-radius:var(--r-md);
  border-left:4px solid;font-weight:500;line-height:1.55}
.jdc-form__hlaska.je-ok{background:var(--surface-3);border-color:var(--brand-ink);color:var(--ink)}
.jdc-form__hlaska.je-chyba{background:var(--c-err-bg);border-color:var(--c-err);
  color:var(--c-err-ink)}
.jdc-form .jdc-form__submit,.jdc-form button[type=submit]{min-height:54px;font-size:1.02rem;
  background:var(--brand-ink);color:var(--c-white);border:0;border-radius:var(--r-pill);
  cursor:pointer}
.jdc-form .jdc-form__submit:hover,.jdc-form button[type=submit]:hover{
  background:var(--brand-hover)}

/* ========================================================== 16. OZNAMY */
.jdc-notice{position:relative;display:flex;gap:.9rem;padding:1.15rem 3.2rem 1.15rem 1.35rem;
  border:1px solid;border-radius:var(--r-lg);margin-bottom:var(--s-4);
  font-size:var(--t-base);line-height:1.6;overflow:hidden;
  animation:jd-notice .5s var(--ease) both}
@keyframes jd-notice{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.jdc-notice::before{content:"";position:absolute;inset:0;pointer-events:none;
  border-radius:inherit;
  background:radial-gradient(26rem 13rem at 10% -70%,rgba(255,255,255,.9),transparent 66%)}
.jdc-notice__body{position:relative;z-index:1;display:flex;flex-direction:column;gap:.15rem}
.jdc-notice strong{display:block;font-size:var(--t-lg)}
.jdc-notice p{max-width:none;margin:0}
.jdc-notice--info{background:linear-gradient(140deg,#D3E6F7,#EAF4FD 55%,#F7FBFF);
  border-color:#9CC6E8;color:var(--c-info-ink);
  box-shadow:0 12px 32px -16px rgba(44,111,168,.55),0 0 0 4px rgba(156,198,232,.20)}
.jdc-notice--warning{background:linear-gradient(140deg,#FAE4BC,#FDF3DF 55%,#FFFCF5);
  border-color:#E7BE79;color:var(--c-warn-ink);
  box-shadow:0 12px 32px -16px rgba(200,137,26,.55),0 0 0 4px rgba(231,190,121,.20)}
.jdc-notice--good{background:linear-gradient(140deg,var(--c-200),var(--c-100) 55%,var(--c-25));
  border-color:var(--c-400);color:var(--c-900);
  box-shadow:0 12px 32px -16px rgba(74,86,59,.5),0 0 0 4px rgba(174,189,158,.20)}
.jdc-notice--error,.jdc-notice--danger{background:linear-gradient(140deg,#F7D6D6,#FBEDED 55%,#FFF8F8);
  border-color:#E09B9B;color:var(--c-err-ink);
  box-shadow:0 12px 32px -16px rgba(176,42,42,.5),0 0 0 4px rgba(224,155,155,.20)}
.jdc-notice__close{position:absolute;right:.5rem;top:.5rem;z-index:2;
  width:36px;height:36px;border:0;border-radius:50%;background:transparent;
  color:inherit;opacity:.55;cursor:pointer;font-size:1.3rem;line-height:1}
.jdc-notice__close:hover{opacity:1;background:rgba(0,0,0,.07)}

/* ========================================================= 17. VÝZVA */
.jd-vyzva{background:
  radial-gradient(40rem 18rem at 85% -25%,rgba(92,107,75,.13),transparent 65%),
  var(--c-100);
  border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(2.2rem,1.5rem + 3vw,3.5rem) var(--gutter);text-align:center}
.jd-vyzva h2{color:var(--c-950);margin-bottom:var(--s-2)}
.jd-vyzva p{color:var(--ink-2);max-width:52ch;margin-inline:auto;margin-bottom:var(--s-4)}
.jd-vyzva .wp-block-buttons{justify-content:center}

/* --- 7.0.2: NÁVRAT 6.5 — rýchly kontakt a vizitka kontaktu --- */
.jd-rychly-kontakt{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.8rem;
  padding:1.1rem 1.2rem;background:var(--surface-2);border:1px solid var(--line);
  border-radius:var(--r-lg)}
.jd-rychly-kontakt__pol{display:inline-flex;align-items:center;gap:.55rem;min-height:48px;
  padding:.65rem 1.1rem;border-radius:var(--r-pill);text-decoration:none;font-weight:600;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),
    transform var(--dur) var(--ease)}
.jd-rychly-kontakt__pol.je-tel{background:var(--brand-ink);color:var(--c-white)}
.jd-rychly-kontakt__pol.je-tel:hover{background:var(--brand-hover);transform:translateY(-1px)}
.jd-rychly-kontakt__pol.je-mail,.jd-rychly-kontakt__pol.je-nav{background:var(--c-white);
  color:var(--brand-ink);border:1px solid var(--line)}
.jd-rychly-kontakt__pol.je-mail:hover,.jd-rychly-kontakt__pol.je-nav:hover{
  background:var(--surface-3)}
.jd-rychly-kontakt__pozn{flex-basis:100%;margin:.2rem 0 0;font-size:var(--t-sm);
  color:var(--ink-2);max-width:none}
.jdc-contact p{margin:.2rem 0}
.jdc-contact__name{font-size:1.1rem}
.jdc-contact__phone{color:var(--brand-ink);font-weight:700}
.jdc-navigate{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;
  color:var(--brand-ink)}
.jdc-navigate+.jdc-navigate,p:has(>.jdc-navigate)+p:has(>.jdc-navigate){display:none}

/* --- 7.0.2: Mapa na kliknutie ---
   Google sa načíta AŽ po klepnutí návštevníka — dovtedy žiadna požiadavka
   na tretiu stranu. Tmavý podklad + farba textu v jednom pravidle
   (pravidlo č. 6): biela na c-900 = 14,04 : 1, popis c-50 na c-900 = 12,67 : 1. */
/* 8.1.0 — mapa mala aspect-ratio 16/10 bez stropu, takže na širokej
   obrazovke narástla na 738 až 962 px a zaberala celý výhľad. Výšku teraz
   stropí clamp a podklad je svetlý namiesto tmavého bloku. */
.jd-mapa{position:relative;display:grid;place-content:center;gap:1rem;text-align:center;
  aspect-ratio:16/9;min-height:clamp(240px,26vh,300px);
  max-height:clamp(280px,38vh,440px);margin-inline:auto;
  background:var(--sand-50);color:var(--c-950);border:1px solid var(--c-200);
  border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-1);padding:1.6rem}
.jd-mapa__text{margin:0;max-width:38ch;color:var(--ink-2);font-size:var(--t-sm)}
.jd-mapa__btn{justify-self:center;display:inline-flex;align-items:center;gap:.5rem;
  min-height:52px;padding:.9rem 1.9rem;border:0;border-radius:var(--r-pill);cursor:pointer;
  background:var(--brand-ink);color:var(--c-white);font-weight:700;font-size:var(--t-base);
  box-shadow:var(--sh-1);transition:background var(--dur) var(--ease),
    transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.jd-mapa__btn:hover{background:var(--brand-hover);transform:translateY(-2px);
  box-shadow:var(--sh-2)}
.jd-mapa__odkaz{color:var(--sand-ink);font-size:var(--t-xs);font-weight:600}
.jd-mapa.je-nacitana{display:block;padding:0}
.jd-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* --- 7.0.4: oznam v šalviovej palete namiesto modrej ---
   Modrý informačný pruh z jadra vytŕčal z celej stránky. Text c-900 na
   c-25 = 13,25 : 1, nadpis c-950 na c-25 = 15,86 : 1 (WCAG 2.1). */
/* 8.5.0 — oznam rešpektuje typ zvolený v administrácii.
   Predtým sme farbu prepisovali na šalviovú pri všetkých typoch, takže
   voľba „Informácia (modrá)" nemala žiadny účinok. Tvar, rádius a tieň
   ostávajú jednotné, farbu určuje typ. Text je vždy tmavý na svetlom
   podklade: c-950 na najsýtejšom z nich = 12,6 : 1 (WCAG AA ✓). */
.jdc-notice{border:1px solid var(--c-200);border-left:4px solid var(--c-400);
  border-radius:var(--r-lg);padding:1.4rem 1.6rem;background:var(--c-25);
  color:var(--c-900);box-shadow:var(--sh-1)}
.jdc-notice strong,.jdc-notice b,.jdc-notice h2,.jdc-notice h3{color:var(--c-950)}
.jdc-notice p{color:var(--c-900)}
.jdc-notice__close,.jdc-notice button{color:var(--c-700)}

.jdc-notice--good{background:var(--sand-50);border-left-color:var(--brand);
  border-color:var(--c-200)}
.jdc-notice--info{background:#EEF4FA;border-color:#CFE0EF}
.jdc-notice.jdc-notice--info{border-left-color:#2F6FA8}
.jdc-notice--warning{background:#FDF6E7;border-left-color:#B5761A;border-color:#F0E0BE}
.jdc-notice--closed{background:var(--c-err-bg);border-left-color:var(--c-err);
  border-color:#F3D6D6}

/* --- 7.5.1: minimálna dotyková plocha ovládacích prvkov (WCAG 2.2, 2.5.8) ---
   Zatváranie oznamu, odkaz na nastavenia cookies a odkaz pod mapou mali
   pod 44 px, čo sa na mobile ťažko trafí. Plochu zväčšujeme cez ::after,
   takže vzhľad prvku ostáva nezmenený a nič sa neposunie. */
.jdc-notice__close,.jdc-cookies__odkaz,.jd-mapa__odkaz{position:relative}
.jdc-notice__close::after,.jdc-cookies__odkaz::after,.jd-mapa__odkaz::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:max(100%,44px);height:max(100%,44px)}
.jdc-notice__close{display:inline-flex;align-items:center;justify-content:center;
  min-width:32px;min-height:32px}

/* --- 7.6.0: doplnenie 7 tried, ktoré doplnok 1.9.3 vykresľuje, ale
   nemal ich naštýlované ani doplnok, ani téma. Zistené porovnaním
   všetkých 100 tried na šiestich stránkach oproti obom stylesheetom.
   Kontrasty: c-700 na bielej 7,82 : 1, ink-2 na bielej 5,74 : 1. */
.jdc-contact__addr{color:var(--ink);line-height:1.7;margin:.2rem 0 .6rem}
.jdc-contact__email a,.jdn-tel{color:var(--brand-ink);font-weight:700;
  text-decoration:underline;text-underline-offset:.18em;
  text-decoration-color:rgba(74,86,59,.4);
  transition:text-decoration-color var(--dur) var(--ease)}
.jdc-contact__email a:hover,.jdn-tel:hover{text-decoration-color:var(--brand-ink)}
.jdn-tel{font-variant-numeric:tabular-nums;white-space:nowrap}
.jdc-contact__accepting{display:inline-flex;align-items:center;gap:.5rem;
  margin:.3rem 0 1.2rem;padding:.4rem .95rem;border-radius:var(--r-pill);
  background:var(--surface-3);color:var(--c-900);font-size:var(--t-sm);
  font-weight:600}
.jdc-contact__accepting::before{content:"";width:8px;height:8px;flex:none;
  border-radius:50%;background:var(--brand)}
.jdc-contact__find{margin-top:var(--s-4)}
.jdc-contact__find h3{font-size:var(--t-lg);margin:0 0 .7rem}
.jdc-contact__find dl{margin:0;display:grid;gap:.15rem 1.2rem}
.jdc-contact__find dt{font-weight:700;color:var(--c-900);font-size:var(--t-sm);
  margin-top:.85rem}
.jdc-contact__find dd{margin:0;color:var(--ink-2);line-height:1.65;max-width:62ch}
.jdc-accepting--otvorene .jdc-badge__dot,.jdc-accepting--otvorene::before{
  background:var(--brand)}
/* .jd-btn-navigovat je OBAL bloku Tlačidlo, nie samotný odkaz — vlastný
   rám by sa pridal navrch k rámu odkazu a vznikol by dvojitý pill.
   Obal preto necháme bez vzhľadu, tvar rieši .wp-block-button__link. */
.jd-btn-navigovat{border:0;background:none;padding:0}

/* --- 7.9.0: mobilné menu cez celú obrazovku ---
   Otvorený dialóg mal výšku len 92 px (obsah 405 px), takže návštevník
   videl jedinú položku a musel v ňom skrolovať. Dávame mu celú výšku
   okna cez 100dvh — dvh počíta so zmenšovaním lišty prehliadača na
   mobile, na rozdiel od vh, ktoré ju ignoruje. */
/* Hlavička má backdrop-filter, a ten robí z prvku tzv. containing block:
   position:fixed vnútri sa potom viaže na hlavičku, nie na obrazovku.
   Dialóg preto začínal 169 px nižšie a spodok pretekal mimo obrazovku.
   Kým je menu otvorené, rozostrenie vypíname — dialóg je aj tak nepriehľadný. */
.jd-hlavicka:has(.is-menu-open){-webkit-backdrop-filter:none;backdrop-filter:none}
.jd-hlavicka .wp-block-navigation__responsive-container.is-menu-open{
  position:fixed;inset:0;height:100dvh;max-height:100dvh;
  padding:clamp(1.1rem,.9rem + 1vw,1.8rem);
  background:var(--c-white);overflow-y:auto;overscroll-behavior:contain}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content{
  display:flex;flex-direction:column;justify-content:flex-start;
  align-items:stretch;width:100%;padding-top:3rem;padding-bottom:1rem}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container{gap:.15rem;width:100%;
  align-items:stretch;padding-top:0}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item{width:100%}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content{display:block;width:100%;
  padding:.75rem .2rem;font-size:1.24rem;font-family:var(--f-head);
  font-weight:600;color:var(--c-950);border-bottom:1px solid var(--c-100)}
/* Podmenu Služieb necháme zbalené: deväť služieb rozbalených natiahlo
   zoznam na 830 px a návštevník musel skrolovať, aby videl Kontakt.
   Takto vidí všetkých šesť hlavných položiek naraz a Služby si rozklikne.
   Rozbalené podmenu potom sedí pod položkou, nie ako plávajúce okno. */
.jd-hlavicka .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container{position:static;width:100%;
  min-width:0;border:0;padding:.1rem 0 .6rem .9rem;background:none;
  box-shadow:none;left:auto;top:auto}
.jd-hlavicka .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-submenu__toggle{display:flex;align-items:center;
  justify-content:space-between;width:100%;gap:.5rem}
.jd-hlavicka .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-icon{margin-left:auto;padding:0}
.jd-hlavicka .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-icon svg{width:1.1rem;height:1.1rem}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  font-family:var(--f-body);font-size:1rem;font-weight:500;
  color:var(--ink-2);padding:.6rem .2rem;border-bottom:0}
.wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close{top:1.3rem;right:1.3rem;
  width:44px;height:44px;color:var(--c-950)}

/* --- 8.0.0: použitie pieskového akcentu ---
   Striedmo: linka nadnadpisu, podčiarknutie v hero, rámik pri prejdení
   na kartách a jemný podklad pri cenách. Nikde nie je piesok nositeľom
   informácie sám o sebe, takže farbosleposť ani nízky jas nič nepokazí. */
.jd-oko::before{background:linear-gradient(90deg,var(--sand),rgba(185,138,88,.2))}
.jd-hero h1 strong{background:linear-gradient(transparent 72%,rgba(185,138,88,.32) 72%)}
.jd-karta:hover,.jdc-service:hover{border-color:var(--sand)}
.jdc-kat__hlavicka::after{border-color:var(--sand-ink)}
.jdc-kat__pocet{background:var(--sand-50);color:var(--sand-ink)}
.jdc-cennik__tabulka thead th{background:var(--sand-50);color:var(--c-800)}
td.jdc-cena{color:var(--sand-ink)}
.jdc-cennik__vysvetlenie{background:var(--sand-50);border-left-color:var(--sand)}
.jd-pas-foto__napis{color:var(--c-white)}
.jd-sek--soft{background:linear-gradient(180deg,var(--sand-50),var(--surface-2) 70%)}
.jdc-review::before{color:var(--sand)}
.jd-stitok{border-color:var(--sand);color:var(--sand-ink)}

/* --- 8.1.0: prémiová vrstva ---
   Cieľ je pokojný, drahý dojem: viac vzduchu okolo nadpisov, vlásočnicové
   linky namiesto plných rámov, jemné odsadenie fotografií a zdržanlivá
   práca s pieskovou. Žiadne nové farby — len iné použitie existujúcich. */

/* Hlavička sekcie: nadnadpis, nadpis a text tvoria jeden optický blok */
.jd-sek h2{max-width:20ch;letter-spacing:-.024em}
.jd-sek h2+p{max-width:56ch;font-size:var(--t-lg);line-height:1.62;color:var(--ink-2)}

/* Vlásočnicová linka nad svetlými sekciami — oddelenie bez ťažkého rámu */
.jd-sek--soft::before,.jd-sek--moss::before{content:"";position:absolute;
  left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--sand),transparent);opacity:.55}

/* Fotografie: jemný pieskový rám odsadený za obrázkom */
.jd-hero-foto::after,.jd-duo__media::after{content:"";position:absolute;
  inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(185,138,88,.35)}
.jd-hero-foto,.jd-duo__media{position:relative}

/* Karty: vlásočnicový rám, hlbší tieň pri prejdení, pieskový akcent */
.jd-karta,.jdc-service,.jdc-services>*{border-color:var(--c-100)}
.jd-karta:hover,.jdc-service:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}

/* Tlačidlá: jemné zdvihnutie a tieň — pôsobí drahšie než plochá plocha */
.wp-block-button__link,.jd-btn{box-shadow:var(--sh-1)}
.wp-block-button.is-style-outline .wp-block-button__link{border-color:var(--c-300)}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  border-color:var(--sand);background:var(--sand-50);color:var(--c-950)}

/* Cenník: pokojnejšie kategórie, výraznejší otvorený stav */
.jdc-kat{border-color:var(--c-100);box-shadow:none;
  transition:box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.jdc-kat:hover{border-color:var(--c-200)}
.jdc-kat[open]{box-shadow:var(--sh-2);border-color:var(--c-200)}
.jdc-kat[open] .jdc-kat__hlavicka{background:var(--sand-50)}

/* Odkazy v obsahu: pieskové podčiarknutie, ktoré pri prejdení stmavne */
.jd-obsah p a:not(.wp-block-button__link),.jd-sek p a:not(.wp-block-button__link){
  text-decoration-color:rgba(185,138,88,.5)}
.jd-obsah p a:hover,.jd-sek p a:hover{text-decoration-color:var(--sand-ink)}

/* --- 8.2.0: hrúbky písma podľa skutočne nahratých rezov ---
   Lora je v téme len v reze 600, Karla v 400/500/700. Kde CSS žiadalo
   Lora 700 alebo Karla 800, prehliadač písmo umelo zhrubol (synthetic
   bold) — pri veľkých nadpisoch a značke to pôsobí rozmazane. Hodnoty
   sú teraz zosúladené s tým, čo je naozaj k dispozícii. */

/* --- Ovládanie striedania fotiek v hero ---
   Plavá v spodnej časti fotky ako tmavý pásik s rozostreným pozadím.
   Krytie 65 % zaručuje, že biele ikony majú kontrast 5,23 : 1 aj nad
   úplne bielou fotografiou (WCAG AA pre grafické prvky ✓). */
.jd-strieda__ovl{position:absolute;left:50%;bottom:.85rem;
  transform:translateX(-50%);z-index:2;display:inline-flex;align-items:center;
  gap:.15rem;padding:.3rem .45rem;border-radius:var(--r-pill);
  background:rgba(26,31,20,.65);-webkit-backdrop-filter:blur(10px) saturate(140%);
  backdrop-filter:blur(10px) saturate(140%);box-shadow:var(--sh-2)}
.jd-strieda__sip{width:34px;height:34px;flex:none;display:flex;
  align-items:center;justify-content:center;border:0;border-radius:50%;
  background:transparent;color:var(--c-white);font-size:1.25rem;line-height:1;
  cursor:pointer;position:relative;transition:background var(--dur) var(--ease)}
.jd-strieda__sip::after{content:"";position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);width:44px;height:44px}
.jd-strieda__sip:hover{background:rgba(255,255,255,.22)}
.jd-strieda__bodky{display:flex;align-items:center;gap:.35rem;padding:0 .45rem}
.jd-strieda__bodka{width:7px;height:7px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.5);cursor:pointer;position:relative;
  transition:background var(--dur) var(--ease),width var(--dur) var(--ease)}
.jd-strieda__bodka::after{content:"";position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);width:44px;height:44px}
.jd-strieda__bodka:hover{background:rgba(255,255,255,.8)}
.jd-strieda__bodka.je-akt{width:22px;border-radius:4px;background:var(--c-white)}
.jd-strieda img{cursor:zoom-in}

/* --- 9.2.0: galéria — väčšie dlaždice a jemný pohyb pri prejdení --- */
.wp-block-gallery.has-nested-images.jd-galeria figure.wp-block-image{
  aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-1);transition:transform var(--dur) var(--ease),
    box-shadow var(--dur) var(--ease)}
.wp-block-gallery.has-nested-images.jd-galeria figure.wp-block-image:hover{
  transform:translateY(-3px);box-shadow:var(--sh-3)}
.wp-block-gallery.has-nested-images.jd-galeria img{width:100%;height:100%;
  object-fit:cover;cursor:zoom-in;transition:transform .6s var(--ease)}
.wp-block-gallery.has-nested-images.jd-galeria figure.wp-block-image:hover img{
  transform:scale(1.06)}
.jdc-posuvnik__ovladanie{display:inline-flex;align-items:center;gap:.15rem;
  padding:.3rem .45rem;border-radius:var(--r-pill);background:var(--surface-3);
  border:1px solid var(--line-soft);box-shadow:var(--sh-1)}
.jdc-sip{width:34px;height:34px;border:0;background:transparent;
  color:var(--brand-ink);box-shadow:none;font-size:1.25rem}
.jdc-sip:hover{background:rgba(92,107,75,.16);color:var(--c-950);border:0}
.jdc-bodka{width:7px;height:7px;background:var(--c-300)}
.jdc-bodka.je-akt{width:22px;border-radius:4px;background:var(--brand)}

/* --- Pasca na roboty v objednávkovom formulári ---
   Doplnok pole vykreslí a očakáva, že ho skryje téma. Bez toho ho vidia
   aj pacienti — a kto ho vyplnil, tomu sa žiadosť ticho zahodila.
   Nepoužívame display:none, lebo niektoré roboty také pole rozpoznajú;
   odsunúnie mimo obrazovku je spoľahlivejšie a čítačka ho preškáče
   vďaka aria-hidden a tabindex="-1" z doplnku. */
.jdc-form label:has(> input[name="jdc_website"]),
input[name="jdc_website"]{position:absolute !important;left:-9999px;
  width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* --- Logo v hlavičke ---
   Načítavame ho dvojnásobne veľké a zmenšujeme cez CSS, aby bolo
   ostré aj na displejoch s vysokou hustotou bodov. Zdrojový súbor má
   krémové pozadie — mix-blend-mode ho vizuálne zliači s podkladom hlavičky. */
/* Nové logo má priehládné pozadie, prekrytie už netreba. */
.jd-logo img,.wp-block-site-logo img{width:46px;height:auto}
@media (max-width:600px){
  .jd-logo img,.wp-block-site-logo img{width:38px}
}

/* --- Rad lôg poisťovní a platobných kariet ---
   Cudzie značky majú silné farby, ktoré by v plnej sýtosti rozbili
   pieskovo-zelenú paletu. Mierne ich stlímime a plnou farbou sa
   rozsvietia až pri prejdení myšou. Rovnaká výška = vyrovnaný rad. */
.jd-znacky{display:flex;flex-wrap:wrap;align-items:center;
  gap:.9rem clamp(1.4rem,1rem + 1.4vw,2.2rem);margin-block:var(--s-4);
  padding:1rem 1.25rem;background:var(--surface-2);
  border:1px solid var(--line-soft);border-radius:var(--r-lg)}
.jd-znacky img{height:30px;width:auto;transition:transform var(--dur) var(--ease)}
.jd-znacky img:hover{transform:translateY(-2px)}
.jd-znacky figure{margin:0;display:flex;align-items:center}
/* Zmerané: znak VšZP zabera 68 % výšky súboru (306 z 447 px). Aby mal
   rovnakých 30 px ako ostatné, súbor musí mať 44 px a záporný okraj 7 px. */
/* Nový súbor VšZP: znak zabera 83 % výšky (150 z 180 px). Aby mal
   rovnakých 30 px ako ostatné, súbor potrebuje 36 px a okraj 3 px. */
.jd-znacky .jd-znacky__vszp img{height:36px;margin-block:-3px;mix-blend-mode:multiply}
.jd-znacky__popis{margin:0;color:var(--ink-2);font-size:.9rem;flex:1 1 100%;max-width:26ch}
@media (min-width:900px){
  .jd-znacky__popis{flex:0 0 auto;max-width:none}
}
@media (max-width:600px){
  .jd-znacky{gap:.8rem 1.2rem;padding:.85rem 1rem}
  .jd-znacky img{height:24px}
  .jd-znacky .jd-znacky__vszp img{height:29px;margin-block:-2px}
}

/* --- 10.1.0: kompaktnejší a pokojnejší rytmus stránok ---
   Sekcie mali 129 px odsadenia zhora aj zdola, takže prvá cena na
   cenníku bola až na 1530 px — dve celé obrazovky nižšie. Zmenšujeme
   na plynulú hodnotu, ktorá na mobile drží 56 px a na širokom monitore
   96 px. Menej prázdna, viac obsahu na prvý pohľad. */
.jd-sek{padding-block:clamp(3.5rem,2.4rem + 2.6vw,6rem)}
.jd-sek + .jd-sek{padding-top:clamp(2.5rem,1.8rem + 1.8vw,4.25rem)}

/* Nadpisy sekcií bližšie k obsahu, ktorý uvádzajú. */
.jd-sek h2{margin-bottom:var(--s-4)}
.jd-oko{margin-bottom:.55rem}
.jd-oko + h2{margin-top:.15rem}

/* Štítok nad nadpisom opakoval to isté slovo ako nadpis stránky
   ("Cenník" bol na stránke trikrát). Na podstránkach ho skrývame,
   na domovskej zostáva — tam uvádza sekcie a má zmysel. */
.page:not(.home) .jd-sek:first-of-type .jd-oko{display:none}

/* Prvý nadpis stránky nepotrebuje pod sebou takú medzeru. */
.wp-block-post-title{margin-bottom:var(--s-3)}

/* --- Poradie na cenníku ---
   Vysvetlenie doplatku bolo PRED cenami, takže pacient čítal definície
   skôr, než vedel, čo hľadá. Presunieme ho pod ovládanie — tam slúži ako
   pomôcka k stĺpcom, nie ako prekážka pred obsahom. Meniíme len poradie
   zobrazenia, poradie v kóde (a teda pre čítačky) zostáva logické. */
.jdc-cennik{display:flex;flex-direction:column}
.jdc-cennik__uvod{order:2;margin-block:var(--s-3) var(--s-4)}
.jdc-cennik__ovladanie{order:1}
.jdc-cennik__vysvetlenie{font-size:.9rem;line-height:1.55}

/* --- 10.4.0: typografia kariet a jemné detaily ---
   Nadpis karty mal 16.8 px, teda MENEJ než bežný text (18.4 px) — hierarchia
   bola prevrátená a karty pôsobili ploché. Popis bol vo farbe značky, čo ho
   opticky posunúlo na roven nadpisu. */
.jdc-service h3,.jdc-services>* h3,
.jdc-service.jdsi-ma-ikonu h3{font-size:1.18rem;line-height:1.32;
  letter-spacing:-.012em;margin-bottom:.5rem}
.jdc-service p,.jdc-services>* p{font-size:.95rem;line-height:1.62;color:var(--ink-2)}

/* Karta reaguje na prejdenie myšou zdvihnutím a výraznejším tieňom —
   pokojne, bez skokov. Kto má v systéme obmedzený pohyb, dostane statickú. */
.jdc-services>*{transition:transform .28s var(--ease),box-shadow .28s var(--ease),
  border-color .28s var(--ease)}
.jdc-services>*:hover{transform:translateY(-4px);box-shadow:var(--sh-3);
  border-color:var(--c-300)}
@media (prefers-reduced-motion:reduce){
  .jdc-services>*:hover{transform:none}
}

/* Šípka pri nadpise karty naznací, že sa dá kliknúť. */
.jdc-service h3 a::after{content:"";position:absolute;inset:0}
.jdc-service h3::after{content:" →";color:var(--brand);opacity:0;
  display:inline-block;transform:translateX(-4px);
  transition:opacity .28s var(--ease),transform .28s var(--ease)}
.jdc-services>*:hover h3::after{opacity:1;transform:translateX(0)}

/* Logo v pätičke — menšie než v hlavičke, jemne stlímené. */
.jd-pata .wp-block-site-logo img{width:38px;height:auto;opacity:.9}
.jd-pata .wp-block-site-logo{margin-bottom:.6rem}

/* ============================================================ 18. PÄTA */
.jd-pata{background:var(--surface-3);color:var(--ink-2);
  border-top:1px solid var(--line);padding-block:clamp(2.4rem,1.8rem + 2vw,3.4rem) 1.2rem}
.jd-pata>*{max-width:var(--wrap);margin-inline:auto;width:100%}
.jd-pata h4,.jd-pata .wp-block-site-title a{color:var(--ink);font-family:var(--f-head)}
.jd-pata h4{font-size:var(--t-base);margin:0 0 var(--s-2)}
.jd-pata .wp-block-site-title a{font-size:1.15rem;font-weight:700;text-decoration:none}
.jd-pata p,.jd-pata li,.jd-pata a,.jd-pata th,.jd-pata td{color:var(--ink-2);max-width:none}
.jd-pata a{text-decoration:none}
.jd-pata a:hover{color:var(--ink);text-decoration:underline}
.jd-pata .wp-block-columns{gap:var(--s-4) var(--gap-col);align-items:start}
.jd-pata p,.jd-pata li{font-size:var(--t-sm);margin-block:.2rem;line-height:1.55}
.jd-pata .wp-block-list{margin:0;padding-left:1rem}
.jd-pata .jd-dohlad,.jd-pata .jd-pravne{font-size:var(--t-xs);line-height:1.5;
  margin-top:var(--s-2);color:var(--ink-3)}
.jd-pata .jd-dohlad strong{color:var(--ink)}
.jd-cookies-odkaz{margin-block:var(--s-3) var(--s-1)}
.jdc-cookies__odkaz{background:none;border:0;padding:0;font:inherit;
  color:var(--brand-ink);text-decoration:underline;cursor:pointer}
.jdc-hours{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.jdc-hours th{font-weight:500;text-align:left;padding:.34rem .7rem .34rem 0;white-space:nowrap}
.jdc-hours td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;
  padding:.34rem 0;font-weight:600;color:var(--ink)}
.jdc-hours tr{border-bottom:1px solid var(--line-soft)}
.jdc-hours tr:last-child{border-bottom:0}
.jdc-hours .is-closed{color:var(--ink-3);font-weight:400}
.jdc-today{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;
  background:var(--c-100);border-radius:4px;font-size:.62rem;letter-spacing:.08em}
.jdux-soc-wrap{display:flex;gap:.5rem;margin-top:var(--s-3)}
.jdux-soc{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  color:var(--brand-ink);text-decoration:none;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}
.jdux-soc svg{width:19px;height:19px;fill:currentColor}
.jdux-soc:hover{background:var(--brand-ink);color:var(--c-white);transform:translateY(-2px)}
.jdins{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.9rem 1.7rem}
.jdins__nadpis{font-weight:700;font-size:var(--t-sm)}
.jdins__zoznam{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.9rem 1.8rem}
.jdins__item{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;
  filter:grayscale(1) opacity(.65);transition:filter var(--dur) var(--ease),transform var(--dur) var(--ease)}
.jdins__item:hover{filter:none;transform:translateY(-2px)}
.jdins__img{max-height:32px;width:auto}
.jdins__text{font-weight:700;font-size:var(--t-sm);color:var(--ink)}
.jd-pas{background:var(--c-100);color:var(--c-900);border-block:1px solid var(--line);
  padding-block:.9rem;text-align:center;font-size:var(--t-sm)}
.jd-pas>*{max-width:var(--wrap);margin-inline:auto}
.jd-pas p{margin:0;max-width:none;color:var(--c-900)}
.jd-pas strong{color:var(--c-950)}

/* ====================================================== 19. PLÁVAJÚCE */
.jd-akcie{position:fixed;right:0;top:50%;z-index:55;display:flex;flex-direction:column;
  gap:.4rem;transform:translate(110%,-50%);opacity:0;pointer-events:none;
  transition:transform .45s var(--ease),opacity var(--dur) var(--ease)}
.jd-akcie.je-vidno{transform:translate(0,-50%);opacity:1;pointer-events:auto}
.jd-akcie__btn{display:flex;align-items:center;min-height:46px;padding:.7rem 1.05rem;
  border-radius:14px 0 0 14px;font-weight:700;font-size:var(--t-sm);text-decoration:none;
  box-shadow:-2px 6px 20px -10px rgba(26,31,20,.45);
  transition:padding-right var(--dur) var(--ease),background var(--dur) var(--ease)}
.jd-akcie__btn.je-hlavne{background:var(--brand-ink);color:var(--c-white)}
.jd-akcie__btn.je-hlavne:hover{background:var(--brand-hover);padding-right:1.5rem}
.jd-akcie__btn.je-vedlajsie{background:var(--c-white);color:var(--brand-ink);
  border:1px solid var(--line);border-right:0}
.jd-akcie__btn.je-vedlajsie:hover{background:var(--surface-2);padding-right:1.5rem}
.jdc-lista{position:fixed;inset-inline:0;bottom:0;z-index:56;display:none;
  gap:.4rem;padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom,0px));
  background:var(--c-white);border-top:1px solid var(--line);
  box-shadow:0 -2px 16px -10px rgba(26,31,20,.3)}
.jdc-lista__btn{flex:1 1 0;display:flex;align-items:center;justify-content:center;
  min-height:50px;padding:.5rem .4rem;border-radius:var(--r-md);font-size:var(--t-sm);
  font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jdc-lista__btn.je-vedlajsie{background:var(--surface-2);color:var(--c-800);border:1px solid var(--line)}
.jdc-lista__btn.je-hlavne{background:var(--brand-ink);color:var(--c-white)}
.jdc-lista__btn:active{transform:scale(.97)}
.jd-hore{position:fixed;z-index:54;right:clamp(12px,2vw,24px);
  bottom:calc(24px + env(safe-area-inset-bottom,0px));
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;border:1px solid var(--line);background:var(--c-white);
  color:var(--brand-ink);cursor:pointer;box-shadow:var(--sh-2)}
.jdc-bok{display:none}

/* --- 7.0.2: NÁVRAT 6.5 — uvítacie okno ---
   app.js ho hľadá ako .jd-pokr (značky dodáva jadro). Základ je skrytý;
   bez tohto pravidla by okno viselo viditeľne v obsahu. Hlavička: biela
   na c-600 = 5,74 : 1, podtext c-50 na c-600 = 5,12 : 1. */
.jd-pokr{position:fixed;inset:0;background:rgba(26,31,20,.6);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;
  align-items:center;justify-content:center;z-index:70;padding:1.4rem}
.jd-pokr.je-otvorene{display:flex}
.jd-okno{background:var(--c-white);border-radius:var(--r-xl);max-width:490px;width:100%;
  overflow:hidden;position:relative;box-shadow:var(--sh-3)}
.jd-okno-hl{background:var(--brand);padding:1.9rem 2.1rem 1.6rem;color:var(--c-white)}
.jd-okno-hl h3{margin:0 0 .4rem;font-size:1.5rem;color:var(--c-white)}
.jd-okno-hl p{color:var(--c-50);margin:0;max-width:none}
.jd-okno-telo{padding:1.6rem 2.1rem 1.9rem;display:grid;gap:.6rem}
.jd-okno-telo a{text-align:center;padding:.9rem 1.4rem;border-radius:var(--r-pill);
  font-weight:700;text-decoration:none}
.jd-okno-telo .jd-o-tel{background:var(--brand-ink);color:var(--c-white)}
.jd-okno-telo .jd-o-form{border:1.5px solid var(--line);color:var(--ink)}
.jd-zavri{position:absolute;top:.9rem;right:1rem;background:rgba(255,255,255,.2);
  border:0;width:32px;height:32px;border-radius:50%;color:var(--c-white);
  font-size:1.2rem;cursor:pointer}
.jd-zavri:hover{background:rgba(255,255,255,.35)}

/* ========================================================= 20. ZJAVENIE */
/* Sekcie sa vynárajú pri skrolovaní, ale skrývať ich smie IBA prehliadač,
   ktorý vie spustiť skript. Doteraz mali opacity:0 nepodmienene — pri
   vypnutom alebo zlyhanom JavaScripte ostala celá stránka prázdna.
   Prehliadač bez podpory tejto podmienky obsah jednoducho ukáže. */
@media (scripting: enabled){
  .jd-zjav{opacity:0;transform:translateY(20px);
    transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .jd-zjav.je-vidno{opacity:1;transform:none}
}
/* V editore skript nebeží, ale theme.css áno — bez tohto pravidla by boli
   sekcie so .jd-zjav pri úprave neviditeľné. */
.editor-styles-wrapper .jd-zjav{opacity:1;transform:none}

/* ======================================================== 21. RESPONZIA */
@media(max-width:980px){
  .jd-hlavicka .wp-block-group{flex-wrap:nowrap;gap:.5rem;padding-block:.5rem}
  .jd-hlavicka .wp-block-buttons{display:none}
  .jd-hlavicka .wp-block-site-title a{font-size:1.2rem;white-space:nowrap}
  .jd-pruh .wp-block-group{flex-wrap:wrap;justify-content:center;gap:.3rem .7rem}
  .jd-pruh p{font-size:var(--t-xs)}
  .jd-akcie{display:none}
  .jdc-lista{display:flex}
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  .jd-hore{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  .jd-pata .wp-block-column{flex-basis:100%!important}
}
@media(max-width:640px){
  .jdc-cennik__tabulka thead{position:absolute;width:1px;height:1px;
    overflow:hidden;clip-path:inset(50%)}
  .jdc-cennik__tabulka,.jdc-cennik__tabulka tbody,
  .jdc-cennik__tabulka tr,.jdc-cennik__tabulka td{display:block;width:100%}
  .jdc-cennik__tabulka tbody tr{border:1px solid var(--line);border-radius:var(--r-md);
    padding:.85rem;margin-bottom:.7rem;background:var(--c-white)}
  .jdc-cennik__tabulka td{padding:0}
  .jdc-cennik__tabulka td.jdc-cena{display:flex;justify-content:space-between;
    align-items:baseline;margin-top:.5rem;padding-top:.5rem;
    border-top:1px dashed var(--line)}
  .jdc-cennik__tabulka td.jdc-cena::before{content:attr(data-popis);
    font-size:var(--t-xs);font-weight:500;color:var(--ink-2)}
  .jdpu-prep{display:flex;width:100%}
  .jdpu-prep__btn{flex:1 1 0}
  .jd-vyzva{border-radius:var(--r-lg)}
  .jd-lupa{gap:.35rem}
  .jd-lupa button{width:42px;height:42px;font-size:1.25rem}
  /* — 7.0.2: NÁVRAT 6.5, mobil — */
  .jd-mikro{gap:.5rem 1rem;font-size:.86rem}
  .jd-stitok{font-size:.8rem;padding:.45rem .9rem}
  .jd-osoba-hlava{grid-template-columns:1fr}
  .jd-osoba-hlava .wp-block-post-featured-image{max-width:220px}
  .jdc-person__row{grid-template-columns:1fr;gap:.15rem}
  .jdc-pricing__controls{padding:1rem}
  .jdc-cat{padding:1rem 1rem 0}
  .jdc-pricing .jdc-cat{overflow-x:visible}
  /* 7.5.0 — cenník na mobile: tri stĺpce sa do 390 px nezmestia, preto sa
     každý výkon zobrazí ako karta a ceny dostanú vlastný popisok. */
  .jdc-cennik__tabulka,.jdc-cennik__tabulka tbody,
  .jdc-cennik__tabulka tr,.jdc-cennik__tabulka td{display:block;width:100%}
  .jdc-cennik__tabulka thead{position:absolute;width:1px;height:1px;
    overflow:hidden;clip-path:inset(50%)}
  .jdc-cennik__tabulka tr{padding:.9rem 1.1rem;border-bottom:1px solid var(--c-100)}
  .jdc-cennik__tabulka tbody tr:last-child{border-bottom:0}
  .jdc-cennik__tabulka td{padding:0;border:0}
  .jdc-vykon{margin-bottom:.55rem}
  .jdc-vykon__nazov{font-weight:600}
  /* 7.8.0 — ceny ako dva samostatné bloky pod názvom výkonu. Predtým to
     bol jeden riadok flexom: dlhý popisok a cena sa na 390 px nezmestili
     vedľa seba a text sa orezával. Teraz má popisok vlastný riadok, cena
     vlastný, a nič sa nemôže seknúť ani pri najdlhšom názve. */
  /* auto-fit namiesto pevných dvoch stĺpcov: prepínač cenníka jeden zo
     stĺpcov skrýva a pri pevnej mriežke ostávala vedľa dlaždice prázdna
     polovica — pôsobilo to, akoby bola bublina odstrihnutá. Pri jednej
     viditeľnej cene sa teraz dlaždica roztiahne na celú šírku. */
  .jdc-cennik__tabulka tr{display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));
    gap:.4rem .6rem;padding:1rem 1.1rem;align-items:stretch}
  .jdc-vykon{grid-column:1 / -1;margin-bottom:.35rem}
  .jdc-cennik__tabulka td.jdc-cena{display:flex;flex-direction:column;
    align-items:flex-start;justify-content:center;gap:.15rem;text-align:left;
    padding:.6rem .8rem;white-space:normal;background:var(--surface-2);
    border-radius:var(--r-md);min-height:3.4rem}
  .jdc-cennik__tabulka td.jdc-cena::before{content:"Doplatok poistenca";
    font-weight:700;font-size:.72rem;line-height:1.25;letter-spacing:.03em;
    text-transform:uppercase;color:var(--ink-2)}
  .jdc-cennik__tabulka td.jdc-cena+td.jdc-cena::before{content:"Cena samoplatcu"}
  .jdc-cennik__tabulka td.jdc-cena+td.jdc-cena{background:var(--c-25)}
  .jdc-table{font-size:.94rem}
  .jdc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .jdc-table,.jdc-table tbody,.jdc-table tr,.jdc-table td{display:block;width:100%}
  .jdc-table tr{border:1px solid var(--c-100);border-radius:var(--r-md);
    padding:.9rem 1rem;margin-bottom:.7rem;background:var(--c-white)}
  .jdc-table td{border:0;padding:.15rem 0}
  .jdc-table td.jdc-table__price{text-align:left;font-size:1.15rem;margin-top:.4rem}
  .jdc-table td.jdc-table__price::before{content:"Cena: ";font-weight:600;
    font-size:.85rem;color:var(--ink-2)}
  .jd-okno-hl,.jd-okno-telo{padding-left:1.3rem;padding-right:1.3rem}
  .jd-pokr{align-items:flex-start;overflow:auto}
  .jd-lupa-p{left:.5rem}
  .jd-lupa-d{right:.5rem}
  .jd-mapa{aspect-ratio:4/3}
}

/* ==================================================== 22. POHYB / TLAČ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .jd-zjav{opacity:1;transform:none}
}
@media print{
  .jd-hlavicka,.jd-pruh,.jd-akcie,.jdc-lista,.jd-hore,.jdc-notice__close,
  .jdc-cennik__ovladanie,.jdpu-prep,.jd-vyzva,.jd-preklad,.jdc-cennik__tlac,
  .jdc-btn-tlac,.jdc-posuvnik__ovladanie,.jd-pokr,.jd-mapa{display:none!important}
  .jdc-pricing{box-shadow:none;border:1px solid #999}
  body{background:#fff;color:#000;font-size:11pt}
  .jd-sek{padding-block:1rem;background:none;border:0}
  .jdc-kat,.jdc-cennik__tabulka tbody tr{break-inside:avoid}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt}
}
