@font-face{font-family:"Baloo 2";src:url(fonts/baloo2.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Figtree";src:url(fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}

:root{
  --slivka-900:#2A1026;
  --slivka-800:#3A1535;
  --slivka-700:#4A1D3F;
  --slivka-500:#7A3E6C;
  --malina-600:#A62E4E;
  --malina-500:#C0395A;
  --ruza-300:#F4A7A0;
  --ruza-200:#F9CFC9;
  --ruza-100:#FCE8E4;
  --krem:#FBF6F1;
  --krem-2:#F3EAE1;
  --biela:#FFFDFB;
  --text:#2B1A28;
  --tlmeny:#66505F;
  --linka:#E6D8CE;
  --prst:44px;
  --nav-h:68px;
  --disp:"Baloo 2","Figtree",system-ui,sans-serif;
  --telo:"Figtree",system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:clamp(15px,.45vw + 13.2px,19px);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--krem);color:var(--text);font:400 1rem/1.6 var(--telo)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.08;margin:0;color:var(--slivka-700)}
h2{font-size:clamp(1.9rem,1.2rem + 2.2vw,3rem)}
h3{font-size:1.2rem;line-height:1.2}
p{margin:0}
:focus-visible{outline:3px solid var(--malina-500);outline-offset:3px;border-radius:6px}
[id]{scroll-margin-top:calc(var(--nav-h) + 12px)}

.obal{width:100%;max-width:74rem;margin-inline:auto;padding-inline:clamp(16px,4vw,2.5rem)}
.preskoc{position:absolute;min-height:var(--prst);display:flex;align-items:center;left:-999px;top:0;background:var(--slivka-700);color:#fff;padding:.6rem 1rem;z-index:100}
.preskoc:focus{left:8px;top:8px}

.nadtitul{font:700 .78rem/1.3 var(--telo);letter-spacing:.14em;text-transform:uppercase;color:var(--malina-600);margin-bottom:.8rem}
.nadtitul--svetly{color:var(--ruza-300)}
.tlmene{color:var(--tlmeny);font-weight:500}
.cislo{font-family:var(--telo);font-variant-numeric:lining-nums tabular-nums}

/* tlačidlá */
.tlacidlo{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--prst);padding:.7rem 1.35rem;border-radius:999px;
  background:var(--slivka-700);color:#fff;font:700 1rem/1.1 var(--telo);text-decoration:none;border:2px solid var(--slivka-700);
  transition:background .2s,transform .2s,border-color .2s}
.tlacidlo svg{width:1.1em;height:1.1em;fill:currentColor}
.tlacidlo:hover{background:var(--slivka-800);transform:translateY(-1px)}
.tlacidlo--obrys{background:transparent;color:var(--slivka-700)}
.tlacidlo--obrys:hover{background:var(--ruza-100)}
.tlacidlo--svetle{background:var(--krem);color:var(--slivka-700);border-color:var(--krem)}
.tlacidlo--svetle:hover{background:var(--ruza-200);border-color:var(--ruza-200)}
.tlacidlo--mala{padding:.5rem 1.1rem;font-size:.92rem}

/* navigácia */
.nav{position:sticky;top:0;z-index:50;background:var(--krem);border-bottom:1px solid transparent;transition:border-color .2s}
.nav.je-dole{border-bottom-color:var(--linka)}
.nav__in{display:flex;align-items:center;gap:1.5rem;min-height:var(--nav-h)}
.nav__logo{display:flex;align-items:center;min-height:var(--prst);margin-right:auto}
.nav__logo img{height:50px;width:auto}
.nav__odkazy{display:flex;gap:.3rem}
.nav__odkazy a{display:inline-flex;align-items:center;min-height:var(--prst);padding:0 .75rem;border-radius:999px;text-decoration:none;font-weight:600;color:var(--slivka-700)}
.nav__odkazy a:hover{background:var(--ruza-100)}
.nav__menu{display:none;width:var(--prst);height:var(--prst);border:0;border-radius:12px;background:var(--ruza-100);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav__menu span{display:block;width:20px;height:2px;background:var(--slivka-700);border-radius:2px;transition:transform .2s,opacity .2s}
.nav__menu[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.zasuvka{position:absolute;left:0;right:0;top:100%;background:var(--krem);color:var(--slivka-700);border-bottom:1px solid var(--linka);
  display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 16px 1.4rem;box-shadow:0 18px 30px -18px rgba(42,16,38,.35)}
.zasuvka a{display:flex;align-items:center;justify-content:center;min-height:var(--prst);width:100%;max-width:22rem;text-decoration:none;font:700 1.15rem var(--disp);color:var(--slivka-700)}
.zasuvka a.tlacidlo{color:#fff;font:700 1rem var(--telo);margin-top:.5rem}
@media (max-width:860px){
  .nav__odkazy,.nav__cta{display:none}
  .nav__menu{display:flex}
}

/* hero */
.hero{min-height:calc(100svh - var(--nav-h));display:flex;align-items:center;padding-block:clamp(1.5rem,4vh,3.5rem);overflow:hidden}
.hero__in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero__text>*{min-width:0}
.hero h1{font-size:clamp(2.5rem,min(6.2vw,9.6vh),5.6rem);line-height:1.04;letter-spacing:-.01em}
.hero__lead{margin-top:clamp(.9rem,2.2vh,1.5rem);font-size:clamp(1.05rem,.95rem + .35vw,1.25rem);max-width:34rem;color:var(--tlmeny)}
.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:clamp(1.2rem,3vh,2rem)}
.hero__fakty{list-style:none;margin:clamp(1.1rem,2.6vh,1.8rem) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-weight:600;color:var(--slivka-700)}
.hero__fakty b{font:700 1.25rem var(--telo)}
.hviezda{color:var(--malina-500)}
.hero__obraz{position:relative;display:grid;place-items:center;aspect-ratio:1;max-height:calc(100svh - var(--nav-h) - 4rem);margin-inline:auto;width:100%}
.hero__kruh{position:absolute;inset:4%;border-radius:46% 54% 50% 50%/52% 46% 54% 48%;background:var(--ruza-100)}
.hero__znak{position:relative;width:72%;height:auto;overflow:visible}
.znak__dlan{fill:var(--slivka-700)}
.znak__labka{fill:var(--malina-500)}
@media (prefers-reduced-motion:no-preference){
  .znak__labka{animation:podaj 1.5s cubic-bezier(.3,1.35,.5,1) .25s both}
  .znak__dlan{animation:dlan 1s ease-out both}
  .hero__kruh{animation:dych 9s ease-in-out infinite alternate}
}
@keyframes podaj{0%{transform:translate(-10px,-26px) rotate(-14deg);opacity:0}45%{opacity:1}100%{transform:none;opacity:1}}
@keyframes dlan{from{transform:translateX(8px);opacity:0}to{transform:none;opacity:1}}
@keyframes dych{from{border-radius:46% 54% 50% 50%/52% 46% 54% 48%}to{border-radius:54% 46% 44% 56%/46% 55% 45% 54%}}
.stav{position:absolute;right:2%;bottom:8%;background:var(--biela);color:var(--text);border-radius:1rem;padding:.75rem 1rem;box-shadow:0 14px 30px -16px rgba(42,16,38,.45);min-width:12.5rem}
.stav__riadok{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--slivka-700)}
.stav__dalej{font-size:.88rem;color:var(--tlmeny)}
.bod{width:.62rem;height:.62rem;border-radius:50%;background:#2E8A57;box-shadow:0 0 0 4px rgba(46,138,87,.18)}
.bod--zatv{background:var(--malina-500);box-shadow:0 0 0 4px rgba(192,57,90,.16)}

@media (max-width:860px){
  .hero{min-height:0;padding-block:1.5rem 2.5rem}
  .hero__in{grid-template-columns:1fr}
  .hero__obraz{order:-1;max-width:17rem;max-height:none}
  .stav{right:-6%;bottom:2%}
}

/* pacienti */
.pacienti{background:var(--slivka-700);color:var(--krem)}
.pacienti__in{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.4rem;padding-block:1.4rem}
.pacienti__nadpis{font-weight:600;color:var(--ruza-200)}
.pacienti__zoznam{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;font:700 clamp(1.25rem,1rem + .9vw,1.8rem)/1.2 var(--disp)}
.pacienti__zoznam li{display:flex;align-items:center;gap:1.1rem}
.pacienti__zoznam li+li::before{content:"";width:.42rem;height:.52rem;border-radius:50%;background:var(--ruza-300);transform:rotate(-12deg)}

/* služby */
.sluzby{padding-block:clamp(4rem,9vw,7.5rem)}
.hlavicka{max-width:44rem;margin-bottom:clamp(2rem,4vw,3.2rem)}
.hlavicka__lead{margin-top:1rem;color:var(--tlmeny);font-size:1.08rem}
.sluzby__zoznam{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;column-gap:4rem;counter-reset:s}
@media (min-width:760px){.sluzby__zoznam{grid-template-columns:1fr 1fr}}
.sluzby__zoznam li{counter-increment:s;display:grid;grid-template-columns:3.2rem 1fr;column-gap:.6rem;padding-block:1.25rem;border-top:1.5px solid var(--linka);min-width:0;align-content:start}
.sluzby__zoznam li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font:700 1.05rem/1.5 var(--telo);color:var(--malina-600);font-variant-numeric:tabular-nums}
.sluzby__zoznam h3{color:var(--slivka-700)}
.sluzby__zoznam p{margin-top:.3rem;color:var(--tlmeny)}

/* priestor */
.priestor{padding-bottom:clamp(4rem,9vw,7rem)}
.priestor__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.6rem,1.4vw,1rem)}
.priestor figure{margin:0;border-radius:1.4rem;overflow:hidden;background:var(--krem-2)}
.priestor__velka{grid-column:1/-1}
.priestor img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/1}
.priestor figure:not(.priestor__velka) img{aspect-ratio:16/9}
@media (max-width:600px){.priestor__in{grid-template-columns:1fr}.priestor figure:not(.priestor__velka) img{aspect-ratio:3/1}}

/* tím */
.tim{background:var(--biela);padding-block:clamp(4rem,9vw,7rem)}
.tim__karty{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media (min-width:760px){.tim__karty{grid-template-columns:1fr 1fr}}
.lekarka{display:flex;gap:1.3rem;align-items:center;background:var(--krem);color:var(--text);border-radius:1.6rem;padding:1.4rem}
.lekarka__foto{flex:none;width:6.2rem;height:6.2rem;border-radius:50%;background:var(--ruza-200);color:var(--slivka-700);display:grid;place-items:center;font:700 1.8rem var(--disp);border:2px dashed var(--malina-500)}
.lekarka h3{font-size:1.35rem}
.lekarka__tel a{display:inline-flex;align-items:center;min-height:var(--prst);font:700 1.1rem var(--telo);color:var(--malina-600);text-decoration:none}
.lekarka__tel a:hover{text-decoration:underline}
p.doplnit,.lekarka p.doplnit,span.doplnit,.pata span.doplnit{display:inline-block;background:#FFE7A3;color:#5A3D00;border:1px dashed #B07A00;border-radius:.4rem;padding:.1rem .45rem;font:600 .8rem/1.4 var(--telo)}

/* recenzie */
.recenzie{background:var(--slivka-900);color:var(--krem);padding-block:clamp(4rem,9vw,7rem)}
.recenzie h2{color:var(--krem)}
.recenzie__hlava{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem;margin-bottom:2rem}
.velke{font-size:1.6em;color:var(--ruza-300)}
.tlmene-svetle{color:#CDB7C6;font-weight:600;font-size:.6em;font-family:var(--telo)}
.pas{--odsad:max(clamp(16px,4vw,2.5rem),calc((100vw - 74rem)/2 + clamp(16px,4vw,2.5rem)));
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--odsad) 1.2rem;scroll-padding-inline:var(--odsad);scrollbar-width:thin;scrollbar-color:var(--slivka-500) transparent}
.karta{flex:0 0 min(84vw,24rem);scroll-snap-align:start;margin:0;background:var(--slivka-800);color:var(--krem);border-radius:1.4rem;padding:1.5rem 1.5rem 1.3rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem}
.karta blockquote{margin:0;font-size:1.02rem;line-height:1.55}
.karta blockquote::before{content:"“";display:block;font:700 3rem/0.6 var(--disp);color:var(--ruza-300);margin-bottom:.4rem}
.karta figcaption{font-weight:700;color:var(--ruza-200)}

/* kontakt */
.kontakt{padding-block:clamp(4rem,9vw,7rem)}
.kontakt__in{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:900px){.kontakt__in{grid-template-columns:1fr 1fr}.kontakt__mapa{grid-column:1/-1}}
.hodiny{width:100%;border-collapse:collapse;margin-top:1.4rem;font-size:1.05rem}
.hodiny th{text-align:left;font-weight:600;padding:.62rem .9rem;border-top:1px solid var(--linka)}
.hodiny td{text-align:right;padding:.62rem .9rem;border-top:1px solid var(--linka);font-variant-numeric:tabular-nums}
.hodiny tr.dnes{background:var(--ruza-100);color:var(--slivka-700)}
.hodiny tr.dnes th,.hodiny tr.dnes td{font-weight:800}
.hodiny tr.dnes th::after{content:"dnes";margin-left:.6rem;font:700 .7rem/1 var(--telo);letter-spacing:.08em;text-transform:uppercase;background:var(--malina-600);color:#fff;border-radius:999px;padding:.25rem .5rem;vertical-align:.12em}
.poznamka{margin-top:1rem;color:var(--tlmeny);font-size:.95rem}
.adresa{margin-top:.4rem;font-size:1.1rem;color:var(--tlmeny)}
.udaje{margin:1.4rem 0 1.8rem;display:grid;gap:.1rem}
.udaje div{display:grid;grid-template-columns:minmax(0,13rem) 1fr;gap:1rem;align-items:center;border-top:1px solid var(--linka);padding-block:.2rem}
.udaje dt{font-weight:600;color:var(--tlmeny);font-size:.95rem}
.udaje dd{margin:0;min-width:0;overflow-wrap:anywhere}
.udaje a{display:inline-flex;align-items:center;min-height:var(--prst);font-weight:700;color:var(--slivka-700)}
@media (max-width:520px){.udaje div{grid-template-columns:1fr;gap:0;padding-top:.6rem}}
.kontakt__mapa iframe{display:block;width:100%;height:clamp(18rem,34vw,26rem);border:0;border-radius:1.4rem;background:var(--krem-2)}

/* päta */
.pata{background:var(--slivka-900);color:#E9DCE4;padding-block:3rem 3.5rem}
.pata__in{display:grid;grid-template-columns:1fr;gap:1.8rem;align-items:start}
@media (min-width:860px){.pata__in{grid-template-columns:1.2fr 1fr 1fr}}
.pata img{width:15rem;height:auto}
.pata__stlpec{display:flex;flex-direction:column;gap:.2rem;font-size:.95rem}
.pata__stlpec p+p{margin-top:.8rem}
.pata a{display:inline-flex;align-items:center;min-height:var(--prst);color:#fff;text-decoration:none;font-weight:600}
.pata a:hover{text-decoration:underline}

/* vynáranie (len s JS) */
.js .vynor{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .vynor.je{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .vynor{opacity:1;transform:none;transition:none}}
