/* Senyum clinic — web 2026
   Barvy vychází z loga (navy #27348B, azur #009FE3). Podpis designu: oblouk
   (tvar zubní korunky / oblouku chrupu) a ordinační hodiny jako časová osa. */

@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;
  src:url(../fonts/bricolage-grotesque-latin-ext-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-display:swap;font-weight:200 800;
  src:url(../fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:"Onest";font-style:normal;font-display:swap;font-weight:100 900;
  src:url(../fonts/onest-latin-ext-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Onest";font-style:normal;font-display:swap;font-weight:100 900;
  src:url(../fonts/onest-latin-wght-normal.woff2) format("woff2-variations");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#1C2554;        /* text, nadpisy */
  --navy:#27348B;       /* logo, primární tlačítka */
  --azure:#009FE3;      /* logo, akcent, otevřeno */
  --azure-ink:#0072A6;  /* azur pro text na bílé (kontrast AA) */
  --ice:#EAF4FB;        /* tónované sekce */
  --paper:#FBFDFF;      /* pozadí */
  --line:#D3E1EE;
  --muted:#4F5A7C;
  --sun:#FFD873;        /* dnešní den, dětská sekce */
  --sun-soft:#FFF5DA;
  --danger:#B3261E;
  --ok:#11795A;

  --f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --f-text:"Onest",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;

  --step--1:.889rem; --step-0:1.0625rem; --step-1:1.25rem; --step-2:1.5625rem;
  --step-3:clamp(1.75rem,1.4rem + 1.4vw,2.25rem);
  --step-4:clamp(2.1rem,1.5rem + 2.6vw,3.2rem);
  --step-5:clamp(2.6rem,1.6rem + 4.4vw,4.6rem);

  --wrap:1180px; --gutter:clamp(16px,4vw,32px);
  --r-s:10px; --r-m:18px; --r-l:28px;
  --arch:999px 999px var(--r-l) var(--r-l);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--step-0)/1.62 var(--f-text);text-rendering:optimizeLegibility}
img,svg,picture{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--azure-ink);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--azure);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--f-display);line-height:1.12;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em}
h1{font-size:var(--step-5);font-weight:750;letter-spacing:-.03em}
h2{font-size:var(--step-4)}
h3,.h3{font-size:var(--step-2)}
h4,.h4{font-size:var(--step-1)}
p{margin:0 0 1em}
address{font-style:normal}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--r-s)}
.skip:focus{left:8px}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}

/* --- tlačítka ---------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:.65em 1.3em;border-radius:999px;
  font:700 1rem/1.2 var(--f-text);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn--primary{background:var(--navy);color:#fff}
.btn--primary:hover{background:var(--ink);color:#fff}
.btn--accent{background:var(--azure);color:#fff}
.btn--accent:hover{background:var(--azure-ink);color:#fff}
.btn--ghost{background:transparent;color:var(--navy);border-color:currentColor}
.btn--ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn--lg{min-height:54px;padding-inline:1.6em;font-size:1.0625rem}
.btn[disabled]{opacity:.6;cursor:progress}
.more{font-weight:700;text-decoration:none;border-bottom:2px solid var(--azure);padding-bottom:2px;color:var(--navy)}
.more:hover{border-color:var(--navy)}

/* --- hlavička ---------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.topbar{background:var(--navy);color:#fff;font-size:var(--step--1)}
.topbar__in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:36px}
.topbar p{margin:0}
.topbar a{color:#fff;text-decoration:none;font-weight:700}
.topbar a:hover{text-decoration:underline}
.topbar__contact{display:flex;align-items:center;gap:16px}
.topbar__status{display:flex;align-items:center;gap:.5em}
.topbar__status.is-open::before,.topbar__status.is-closed::before{content:"";width:8px;height:8px;border-radius:50%;background:#7CE3B5;box-shadow:0 0 0 3px rgba(124,227,181,.25)}
.topbar__status.is-closed::before{background:#B9C2DC;box-shadow:none}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.brand img{width:132px;height:auto}
.nav{display:flex;align-items:center;gap:28px}
.nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav ul a{display:block;padding:.5em .7em;border-radius:var(--r-s);text-decoration:none;color:var(--ink);font-weight:700;font-size:.97rem}
.nav ul a:hover{background:var(--ice);color:var(--navy)}
.nav ul a[aria-current=page]{color:var(--navy);box-shadow:inset 0 -3px 0 var(--azure);border-radius:0}
.nav-toggle{display:none;align-items:center;gap:10px;background:none;border:2px solid var(--line);border-radius:999px;padding:.5em 1em;font:700 1rem var(--f-text);color:var(--ink);cursor:pointer}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}.nav-toggle__bars::after{top:6px}
@media (max-width:1080px){
  .topbar__status{display:none!important}
  .topbar__in{justify-content:flex-end}
  .nav-toggle{display:inline-flex}
  .nav{position:fixed;inset:calc(36px + 77px) 0 auto 0;flex-direction:column;align-items:stretch;gap:16px;background:var(--paper);padding:16px var(--gutter) 28px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(28,37,84,.35);display:none;max-height:calc(100vh - 113px);overflow:auto}
  .nav.is-open{display:flex}
  .nav ul{flex-direction:column}
  .nav ul a{padding:.8em .4em;font-size:1.1rem;border-bottom:1px solid var(--line);border-radius:0}
  .nav ul a[aria-current=page]{box-shadow:inset 4px 0 0 var(--azure);padding-left:.8em}
}

.flashes{padding-top:16px}
.flash{padding:12px 16px;border-radius:var(--r-s);font-weight:700}
.flash--success{background:#E2F5EC;color:var(--ok)}
.flash--error{background:#FBE6E4;color:var(--danger)}

/* --- hero -------------------------------------------------------------- */
.hero{padding:clamp(32px,6vw,72px) 0 clamp(40px,6vw,80px);background:linear-gradient(180deg,var(--ice),var(--paper) 78%)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center}
.hero__hello{font-weight:700;color:var(--azure-ink);margin-bottom:.6em;font-size:var(--step-1)}
.hero__title{max-width:11ch;margin-bottom:.35em;text-wrap:balance}
.hero__lead{font-size:var(--step-1);max-width:46ch;color:var(--muted)}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 36px}
.hero__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.hero__facts li{padding:16px 16px 0 0;font-size:var(--step--1);color:var(--muted);line-height:1.4}
.hero__facts li+li{padding-left:16px;border-left:1px solid var(--line)}
.hero__facts strong{display:block;font:700 var(--step-1)/1.2 var(--f-display);color:var(--ink);margin-bottom:4px}
.hero__media{position:relative;justify-self:end;width:min(100%,460px)}
.hero__img{width:100%;aspect-ratio:600/723;object-fit:cover;object-position:62% 40%;border-radius:var(--arch);background:var(--ice)}
.hero__media::before{content:"";position:absolute;inset:-14px -14px auto auto;width:62%;aspect-ratio:1;border-radius:50%;border:2px solid var(--azure);opacity:.35;z-index:-1}
.hero__today{position:absolute;left:-28px;bottom:36px;margin:0;background:#fff;border-radius:var(--r-m);padding:14px 18px;box-shadow:0 20px 40px -20px rgba(28,37,84,.45);display:grid;gap:2px;min-width:200px;animation:rise .6s .3s both cubic-bezier(.2,.8,.2,1)}
.hero__today-label{font-size:var(--step--1);color:var(--muted)}
.hero__today-time{font:700 var(--step-1)/1.2 var(--f-display);color:var(--ink)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr}
  .hero__media{justify-self:center;order:-1;width:min(78%,360px)}
  .hero__today{left:auto;right:-12px;bottom:18px;min-width:0}
  .hero__facts{grid-template-columns:1fr}
  .hero__facts li,.hero__facts li+li{padding:12px 0;border-left:0;border-bottom:1px solid var(--line)}
}

/* --- sekce obecně ----------------------------------------------------- */
section{padding-block:clamp(48px,8vw,96px)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.section-head h2{margin:0}

/* služby — řádkový seznam, ne karty */
.services{padding-top:clamp(24px,4vw,48px)}
.services__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.services__list li{border-bottom:1px solid var(--line)}
.services__list li:nth-child(3n+2),.services__list li:nth-child(3n+3){border-left:1px solid var(--line)}
.services__list a{display:flex;align-items:center;gap:18px;padding:22px 20px;text-decoration:none;color:var(--ink);font:700 var(--step-1)/1.2 var(--f-display);height:100%}
.services__list a:hover{background:var(--ice);color:var(--navy)}
.services__list img{width:44px;height:44px;object-fit:contain;flex:none}
@media (max-width:860px){.services__list{grid-template-columns:1fr 1fr}.services__list li:nth-child(n){border-left:0}.services__list li:nth-child(2n){border-left:1px solid var(--line)}}
@media (max-width:520px){.services__list{grid-template-columns:1fr}.services__list li:nth-child(2n){border-left:0}}

/* o nás */
.about{background:var(--ice)}
.about__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:center}
.about__media img{border-radius:var(--r-l);width:100%;max-width:514px}
.about__text p{max-width:62ch}
@media (max-width:860px){.about__grid{grid-template-columns:1fr}.about__media img{max-width:440px}}

/* dětský pás */
.kids-band{background:var(--sun-soft)}
.kids-band__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.kids-band p{max-width:52ch;font-size:var(--step-1)}
.kids-band__links{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font-size:1rem!important;margin-top:24px}
.kids-band__img img{width:100%;max-width:520px;margin-inline:auto}
@media (max-width:860px){.kids-band__grid{grid-template-columns:1fr}}

/* tým */
.team__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
.person{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center}
.person__mono{grid-row:span 2;width:56px;height:64px;display:grid;place-items:center;border-radius:var(--arch);background:var(--ice);color:var(--navy);font:700 1.15rem var(--f-display);border:1px solid var(--line)}
.person__photo{grid-row:span 2;width:56px;height:64px;object-fit:cover;border-radius:var(--arch);background:var(--ice)}
.person__name{font-weight:700;line-height:1.25}
.person__role{color:var(--muted);font-size:var(--step--1);align-self:start}
@media (max-width:960px){.team__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.team__list{grid-template-columns:1fr}}

/* --- formulář dokumentace -------------------------------------------- */
.upload{background:var(--navy);color:#fff}
.upload a{color:#fff}
.upload__grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,64px);align-items:start}
.upload__intro p{color:#D9E0F6;max-width:44ch}
.upload .form{background:#fff;color:var(--ink);border-radius:var(--r-l);padding:clamp(20px,3vw,36px)}
.upload .form a{color:var(--navy)}
@media (max-width:900px){.upload__grid{grid-template-columns:1fr}}

/* --- formuláře -------------------------------------------------------- */
.form__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 16px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field--wide{grid-column:1/-1}
.field label,.field .label{font-weight:700;font-size:.95rem}
.req{color:var(--danger)}
.opt{font-weight:400;color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{
  width:100%;font:inherit;color:var(--ink);background:#fff;border:1.5px solid #B9CADB;border-radius:var(--r-s);padding:.7em .85em;min-height:48px;transition:border-color .15s,box-shadow .15s}
.field textarea{resize:vertical;min-height:120px}
.field input:hover,.field textarea:hover{border-color:var(--navy)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(0,159,227,.25)}
.field.has-error input,.field.has-error textarea,.field.has-error .drop{border-color:var(--danger)}
.field__error{color:var(--danger);font-size:.9rem;font-weight:700;margin:0}
.field--check{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:10px}
.field--check input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--navy);flex:none}
.field--check label{flex:1;font-weight:400;font-size:.95rem;min-width:0}
.field--check .field__error{flex-basis:100%}
.form__note{font-size:var(--step--1);color:var(--muted);margin:14px 0 0}
.form__actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:20px}
.form__status{margin:0;font-weight:700}
.form__status.is-ok{color:var(--ok)}
.form__status.is-error{color:var(--danger)}
.form__progress{height:6px;background:var(--ice);border-radius:99px;margin-top:14px;overflow:hidden}
.form__progress-bar{display:block;height:100%;width:0;background:var(--azure);transition:width .2s}
.form.is-done .form__grid,.form.is-done .form__note,.form.is-done .form__actions button{display:none}
.form.is-done .form__status{font-size:var(--step-1)}
@media (max-width:720px){.form__grid{grid-template-columns:1fr}}

.drop{position:relative;border:2px dashed #9FB6CC;border-radius:var(--r-m);padding:22px;background:var(--ice);transition:border-color .15s,background .15s}
.drop.is-over{border-color:var(--azure);background:#DDF1FB}
.drop__input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.drop__label{display:flex;align-items:center;gap:14px;color:var(--navy);font-weight:400;cursor:pointer}
.drop__label svg{flex:none}
.drop__input:focus-visible + .drop__label{outline:3px solid var(--azure);outline-offset:6px;border-radius:6px}
.drop__hint{margin:10px 0 0;font-size:var(--step--1);color:var(--muted)}
.drop__list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px;position:relative;z-index:1}
.drop__list li{display:flex;justify-content:space-between;gap:12px;background:#fff;border-radius:8px;padding:8px 12px;font-size:.92rem}
.drop__list li.is-bad{color:var(--danger);font-weight:700}
.drop__list span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- kontakt + hodiny (na všech stránkách) ---------------------------- */
.visit{border-top:1px solid var(--line)}
.visit__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px)}
.visit h2{font-size:var(--step-3)}
.visit__lead{color:var(--muted);max-width:52ch}
.visit .form__grid{grid-template-columns:1fr 1fr}
.visit .field[data-field=phone]{grid-column:1/-1}
.visit__addr{margin-top:24px;color:var(--muted)}
.visit__addr strong{color:var(--ink)}
@media (max-width:900px){.visit__grid{grid-template-columns:1fr}}
@media (max-width:520px){.visit .form__grid{grid-template-columns:1fr}}

/* ordinační hodiny jako časová osa 8–20 h */
.hours{margin:0 0 28px}
.hours__title{font-size:var(--step-1);margin-bottom:10px}
.hours__axis,.hours__bar{display:grid;grid-template-columns:repeat(24,1fr)}
.hours__axis{margin-left:84px;font-size:.75rem;color:var(--muted);height:18px}
.hours__axis span{transform:translateX(-50%)}
.hours__axis span:last-child{justify-self:end;transform:none}
.hours__rows{margin:0}
.hours__row{display:grid;grid-template-columns:84px 1fr;align-items:center;min-height:36px;border-radius:8px}
.hours__row dt{font-weight:700;font-size:.95rem;padding-left:8px}
.hours__row dd{margin:0;display:grid;gap:2px;padding:6px 8px 6px 0}
.hours__bar{height:12px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/12));background-color:#F1F6FB;border-radius:99px;overflow:hidden}
.hours__seg{grid-row:1;background:var(--azure);border-radius:99px}
.hours__text{font-size:.82rem;color:var(--muted)}
.hours__row.is-today{background:var(--sun-soft);box-shadow:inset 3px 0 0 var(--sun)}
.hours__row.is-today dt::after{content:"dnes";display:block;font-weight:400;font-size:.75rem;color:var(--muted);line-height:1}

/* pojišťovny */
.insurers{padding-block:40px 56px;border-top:1px solid var(--line)}
.insurers__title{font-size:var(--step-1);color:var(--muted);font-family:var(--f-text);font-weight:700;letter-spacing:0;margin-bottom:20px}
.insurers__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:24px 32px;align-items:center;justify-content:space-between}
.insurers__list img{height:38px;width:auto;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.insurers__list li:hover img{filter:none;opacity:1}

/* --- podstránky ------------------------------------------------------- */
.page-head{padding:clamp(28px,5vw,56px) 0 clamp(28px,4vw,44px);background:linear-gradient(180deg,var(--ice),var(--paper));border-bottom:1px solid var(--line)}
.page-head h1{font-size:var(--step-4);max-width:22ch;margin-bottom:.3em}
.page-head__lead{font-size:var(--step-1);color:var(--muted);max-width:60ch;margin:0}
.page-head__sub{font:700 var(--step-2)/1.25 var(--f-display);color:var(--navy);max-width:30ch}
.page-head--ok{background:radial-gradient(120% 140% at 100% 0,#D6EEFA 0,var(--ice) 45%,var(--paper) 100%)}
.page-head--ok .btn{margin-top:20px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0;font-size:var(--step--1);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:#9AA6C4}
.crumbs a{color:var(--muted)}
.prose{max-width:68ch}
.prose h2{font-size:var(--step-3);margin-top:1.6em}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.45em}
.prose-page__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(28px,5vw,72px);align-items:start}
.prose-page__aside img{border-radius:var(--r-l);width:100%}
@media (max-width:860px){.prose-page__grid{grid-template-columns:1fr}.prose-page__aside{max-width:340px}}
.team--page{background:var(--ice)}

/* služby */
.svcs__grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.svcs__toc{position:sticky;top:130px}
.svcs__toc ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.svcs__toc a{display:block;padding:8px 0 8px 16px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--muted);font-weight:700}
.svcs__toc a:hover{color:var(--navy);border-color:var(--azure)}
.svc{padding:0 0 40px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.svc:last-child{border-bottom:0;margin-bottom:0}
.svc__title{display:flex;align-items:center;gap:16px;font-size:var(--step-3)}
.svc__title img{width:44px;height:44px;object-fit:contain}
.fillings{counter-reset:f;list-style:none;padding:0!important}
.fillings li{counter-increment:f;position:relative;padding-left:2.4em;margin-bottom:1em}
.fillings li::before{content:counter(f);position:absolute;left:0;top:.05em;width:1.7em;height:1.7em;border-radius:50%;background:var(--ice);color:var(--navy);font:700 .9rem/1.7em var(--f-display);text-align:center}
@media (max-width:860px){.svcs__grid{grid-template-columns:1fr}.svcs__toc{position:static}.svcs__toc ul{display:flex;flex-wrap:wrap;gap:8px;border:0}.svcs__toc a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin:0}}

/* ceník */
.prices__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:start}
.prices h2{font-size:var(--step-2)}
.prices__insured{background:var(--ice);border-radius:var(--r-l);padding:clamp(20px,3vw,32px);position:sticky;top:130px}
.checklist{list-style:none;padding:0!important;margin:0 0 1em}
.checklist li{position:relative;padding-left:1.8em;margin-bottom:.7em}
.checklist li::before{content:"";position:absolute;left:0;top:.35em;width:1.05em;height:.6em;border-left:3px solid var(--azure);border-bottom:3px solid var(--azure);transform:rotate(-45deg) scale(.8)}
.tag{display:block;font-size:var(--step--1);color:var(--ok);font-weight:700}
.price-table{width:100%;border-collapse:collapse;margin-bottom:32px}
.price-table caption{text-align:left;font:700 var(--step-1)/1.2 var(--f-display);padding-bottom:8px;border-bottom:2px solid var(--ink)}
.price-table th,.price-table td{padding:12px 0;border-bottom:1px solid var(--line);vertical-align:baseline}
.price-table th{text-align:left;font-weight:400;padding-right:16px}
.price-table td{text-align:right;white-space:nowrap;font:700 1.05rem var(--f-display);font-variant-numeric:tabular-nums}
.prices__note{font-weight:700;color:var(--navy)}
@media (max-width:860px){.prices__grid{grid-template-columns:1fr}.prices__insured{position:static}}

/* ošetření dětí */
.kids__grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,5vw,72px);align-items:start}
.kids__aside{position:sticky;top:130px}
.fastfacts{background:var(--sun-soft);border-radius:var(--r-l);padding:24px}
.fastfacts dl{margin:0 0 20px}
.fastfacts dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #F2DFA8}
.fastfacts dt{color:var(--muted)}
.fastfacts dd{margin:0;font-weight:700;text-align:right}
.ways{list-style:none;padding:0!important;display:grid;gap:10px;margin-bottom:2em}
.ways li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-m);margin:0}
.ways__name{font:700 1.05rem var(--f-display);color:var(--navy)}
.ways__no{background:#F7F8FB}
.ways__no .ways__name{color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}
.steps{counter-reset:s;list-style:none;padding:0!important}
.steps li{counter-increment:s;position:relative;padding:0 0 1.1em 3.2em;margin:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.1em;width:2.2em;height:2.4em;border-radius:var(--arch);background:var(--navy);color:#fff;display:grid;place-items:center;font:700 1rem var(--f-display)}
.steps li:not(:last-child)::after{content:"";position:absolute;left:1.08em;top:2.5em;bottom:.2em;width:2px;background:var(--line)}
.warn{color:var(--danger)}
.callout{background:var(--ice);border-radius:var(--r-m);padding:16px 20px;font-weight:700}
.quote{margin:1.5em 0;padding:24px 28px;background:var(--ice);border-radius:var(--r-l);border-left:4px solid var(--azure)}
.quote blockquote{margin:0}
.quote p{font-size:1.02rem}
.quote figcaption{font-weight:700;color:var(--navy)}
@media (max-width:900px){.kids__grid{grid-template-columns:1fr}.kids__aside{position:static;order:-1}.ways li{grid-template-columns:1fr;gap:4px}}

/* formuláře ke stažení */
.docs__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.docs__item{border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(20px,3vw,32px);background:#fff;display:flex;flex-direction:column}
.docs__item h2{font-size:var(--step-2)}
.docs__item p{color:var(--muted)}
.doclinks{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:8px}
.doc{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-m);background:var(--ice);text-decoration:none;color:var(--ink)}
.doc:hover{background:var(--navy);color:#fff}
.doc__type{flex:none;display:grid;place-items:center;width:44px;height:50px;border-radius:999px 999px 8px 8px;background:var(--navy);color:#fff;font:700 .72rem var(--f-display)}
.doc:hover .doc__type{background:var(--azure)}
.doc__name{font-weight:700;line-height:1.3}
.doc__lang{margin-left:auto;font-weight:700;font-size:.8rem;border:1.5px solid currentColor;border-radius:6px;padding:1px 6px}
.docs__thanks{grid-column:1/-1;font-size:var(--step-1);color:var(--muted);max-width:60ch}
@media (max-width:760px){.docs__list{grid-template-columns:1fr}}

/* FAQ */
.faq__grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.faq__toc{position:sticky;top:130px}
.faq__toc ol{margin:0;padding-left:1.2em;color:var(--muted)}
.faq__toc li{margin-bottom:.7em;font-size:.95rem;line-height:1.35}
.faq__toc a{color:var(--ink);text-decoration:none}
.faq__toc a:hover{color:var(--navy);text-decoration:underline}
.qa{padding:0 0 32px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.qa:last-child{border:0}
.qa__q{font-size:var(--step-2)}
@media (max-width:900px){.faq__grid{grid-template-columns:1fr}.faq__toc{position:static}}

/* kontakt */
.contact__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:stretch}
.contact__big{font:700 var(--step-3)/1.15 var(--f-display);margin-bottom:.3em}
.contact__big a{text-decoration:none}
.contact__big--mail{font-size:var(--step-2);margin-bottom:1.2em}
.contact__addr{font-size:var(--step-1);margin-bottom:1em}
.contact__ids{color:var(--muted)}
.map{border-radius:var(--r-l);overflow:hidden;min-height:380px;background:var(--ice);display:grid}
.map iframe{width:100%;height:100%;min-height:380px;border:0}
.map__placeholder{display:grid;place-content:center;justify-items:center;text-align:center;padding:24px;gap:8px}
.map__alt{font-size:var(--step--1)}
@media (max-width:860px){.contact__grid{grid-template-columns:1fr}}

/* online konzultace */
.ok-intro{padding-bottom:0}
.ok-intro .prose p{font-size:var(--step-1)}
.ok-intro__claim{font:700 var(--step-3)/1.15 var(--f-display)!important;color:var(--navy);margin-top:.8em}
.how__steps{list-style:none;padding:0;margin:0 0 40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:h}
.how__steps li{counter-increment:h;position:relative;padding-top:64px}
.how__steps li::before{content:counter(h);position:absolute;top:0;left:0;width:46px;height:52px;border-radius:var(--arch);background:var(--navy);color:#fff;display:grid;place-items:center;font:700 1.3rem var(--f-display)}
.how__steps li:not(:last-child)::after{content:"";position:absolute;top:26px;left:58px;right:-12px;height:2px;background:linear-gradient(90deg,var(--azure),var(--line))}
.how__steps h3{font-size:var(--step-1)}
.how__steps p{color:var(--muted);font-size:.98rem}
.how__example{margin:0;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:28px;align-items:center;background:var(--ice);border-radius:var(--r-l);padding:clamp(16px,3vw,28px)}
.how__example img{border-radius:var(--r-m)}
.how__example figcaption{color:var(--muted)}
.ok-lists{background:var(--ice)}
.ok-lists__grid,.ok-who__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px)}
.ok-who__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ok-lists h2,.ok-who h2{font-size:var(--step-2)}
.legal-note{border-left:4px solid var(--sun);padding-left:20px}
@media (max-width:960px){.how__steps{grid-template-columns:1fr 1fr}.how__steps li::after{display:none}.ok-who__grid{grid-template-columns:1fr}}
@media (max-width:760px){.how__example,.ok-lists__grid{grid-template-columns:1fr}}
@media (max-width:520px){.how__steps{grid-template-columns:1fr}}

/* právní stránky */
.legal__body{max-width:74ch}
.table-scroll{overflow-x:auto;margin-bottom:1.2em}
.cookie-table{border-collapse:collapse;width:100%;font-size:.95rem}
.cookie-table th,.cookie-table td{border-bottom:1px solid var(--line);padding:10px 12px 10px 0;text-align:left;vertical-align:top}
.cookie-table th{border-bottom:2px solid var(--ink)}
.error-links{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;padding:0;margin:24px 0 0}

/* --- patička ---------------------------------------------------------- */
.site-footer{background:var(--ink);color:#C9D2EE;font-size:.97rem}
.site-footer a,.site-footer .linklike{color:#fff}
.footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-block:56px 40px}
.footer__brand img{width:118px;margin-bottom:18px;filter:brightness(0) invert(1)}
.footer__ids{margin-top:12px;color:#98A3C8}
.site-footer h2{font:700 1.05rem var(--f-text);letter-spacing:0;color:#fff;margin-bottom:14px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-block:18px 28px;font-size:var(--step--1);color:#98A3C8}
.footer__bottom p{margin:0}
@media (max-width:760px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}

/* --- vyskakovací oznámení ------------------------------------------- */
.notice{border:0;padding:0;border-radius:var(--r-l);max-width:min(560px,calc(100vw - 32px));width:100%;box-shadow:0 40px 80px -30px rgba(28,37,84,.55);color:var(--ink);background:#fff;overflow:hidden}
.notice::backdrop{background:rgba(28,37,84,.45);backdrop-filter:blur(2px)}
.notice__head{background:var(--ice);padding:28px 28px 20px;position:relative}
.notice--dulezite .notice__head{background:var(--sun-soft)}
.notice__mark{display:grid;place-items:center;width:44px;height:50px;border-radius:var(--arch);background:var(--navy);color:#fff;margin-bottom:14px}
.notice--dulezite .notice__mark{background:#B4441F}
.notice__head h2{font-size:var(--step-2);margin:0;padding-right:36px}
.notice__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.notice__close:hover{background:rgba(28,37,84,.08)}
.notice__body{padding:20px 28px 0;max-height:50vh;overflow:auto}
.notice__body p{white-space:pre-line}
.notice__actions{display:flex;flex-wrap:wrap;gap:10px;padding:16px 28px 26px}
.notice[open]{animation:rise .35s cubic-bezier(.2,.8,.2,1)}

/* --- cookie lišta ----------------------------------------------------- */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;justify-content:center;pointer-events:none}
.consent__box{pointer-events:auto;max-width:720px;width:100%;background:#fff;border-radius:var(--r-l);box-shadow:0 30px 60px -20px rgba(28,37,84,.45),0 0 0 1px var(--line);padding:22px 24px}
.consent h2{font-size:var(--step-1);margin-bottom:.4em}
.consent p{font-size:.95rem;color:var(--muted)}
.consent__prefs{display:grid;gap:10px;margin:0 0 16px}
.consent__opt{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.consent__opt input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex:none}
.consent__actions{display:flex;flex-wrap:wrap;gap:10px}
.consent__actions .btn{min-height:42px;padding:.5em 1.1em}

@media print{.site-header,.consent,.visit,.insurers,.site-footer,.upload{display:none!important}body{background:#fff}}
.s-1{grid-column-start:1}.e-1{grid-column-end:1}.c-1{grid-column:1}
.s-2{grid-column-start:2}.e-2{grid-column-end:2}.c-2{grid-column:2}
.s-3{grid-column-start:3}.e-3{grid-column-end:3}.c-3{grid-column:3}
.s-4{grid-column-start:4}.e-4{grid-column-end:4}.c-4{grid-column:4}
.s-5{grid-column-start:5}.e-5{grid-column-end:5}.c-5{grid-column:5}
.s-6{grid-column-start:6}.e-6{grid-column-end:6}.c-6{grid-column:6}
.s-7{grid-column-start:7}.e-7{grid-column-end:7}.c-7{grid-column:7}
.s-8{grid-column-start:8}.e-8{grid-column-end:8}.c-8{grid-column:8}
.s-9{grid-column-start:9}.e-9{grid-column-end:9}.c-9{grid-column:9}
.s-10{grid-column-start:10}.e-10{grid-column-end:10}.c-10{grid-column:10}
.s-11{grid-column-start:11}.e-11{grid-column-end:11}.c-11{grid-column:11}
.s-12{grid-column-start:12}.e-12{grid-column-end:12}.c-12{grid-column:12}
.s-13{grid-column-start:13}.e-13{grid-column-end:13}.c-13{grid-column:13}
.s-14{grid-column-start:14}.e-14{grid-column-end:14}.c-14{grid-column:14}
.s-15{grid-column-start:15}.e-15{grid-column-end:15}.c-15{grid-column:15}
.s-16{grid-column-start:16}.e-16{grid-column-end:16}.c-16{grid-column:16}
.s-17{grid-column-start:17}.e-17{grid-column-end:17}.c-17{grid-column:17}
.s-18{grid-column-start:18}.e-18{grid-column-end:18}.c-18{grid-column:18}
.s-19{grid-column-start:19}.e-19{grid-column-end:19}.c-19{grid-column:19}
.s-20{grid-column-start:20}.e-20{grid-column-end:20}.c-20{grid-column:20}
.s-21{grid-column-start:21}.e-21{grid-column-end:21}.c-21{grid-column:21}
.s-22{grid-column-start:22}.e-22{grid-column-end:22}.c-22{grid-column:22}
.s-23{grid-column-start:23}.e-23{grid-column-end:23}.c-23{grid-column:23}
.s-24{grid-column-start:24}.e-24{grid-column-end:24}.c-24{grid-column:24}
.s-25{grid-column-start:25}.e-25{grid-column-end:25}.c-25{grid-column:25}
.s-26{grid-column-start:26}.e-26{grid-column-end:26}.c-26{grid-column:26}
.s-27{grid-column-start:27}.e-27{grid-column-end:27}.c-27{grid-column:27}
.s-28{grid-column-start:28}.e-28{grid-column-end:28}.c-28{grid-column:28}
.s-29{grid-column-start:29}.e-29{grid-column-end:29}.c-29{grid-column:29}
.s-30{grid-column-start:30}.e-30{grid-column-end:30}.c-30{grid-column:30}
.s-31{grid-column-start:31}.e-31{grid-column-end:31}.c-31{grid-column:31}
.s-32{grid-column-start:32}.e-32{grid-column-end:32}.c-32{grid-column:32}
.s-33{grid-column-start:33}.e-33{grid-column-end:33}.c-33{grid-column:33}
.s-34{grid-column-start:34}.e-34{grid-column-end:34}.c-34{grid-column:34}
.s-35{grid-column-start:35}.e-35{grid-column-end:35}.c-35{grid-column:35}
.s-36{grid-column-start:36}.e-36{grid-column-end:36}.c-36{grid-column:36}
.s-37{grid-column-start:37}.e-37{grid-column-end:37}.c-37{grid-column:37}
.s-38{grid-column-start:38}.e-38{grid-column-end:38}.c-38{grid-column:38}
.s-39{grid-column-start:39}.e-39{grid-column-end:39}.c-39{grid-column:39}
.s-40{grid-column-start:40}.e-40{grid-column-end:40}.c-40{grid-column:40}
.s-41{grid-column-start:41}.e-41{grid-column-end:41}.c-41{grid-column:41}
.cols-24 .hours__axis,.cols-24 .hours__bar{grid-template-columns:repeat(24,1fr)}.cols-24 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/12))}.cols-24 .hours__axis span:last-child{grid-column:24!important}
.cols-26 .hours__axis,.cols-26 .hours__bar{grid-template-columns:repeat(26,1fr)}.cols-26 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/13))}.cols-26 .hours__axis span:last-child{grid-column:26!important}
.cols-28 .hours__axis,.cols-28 .hours__bar{grid-template-columns:repeat(28,1fr)}.cols-28 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/14))}.cols-28 .hours__axis span:last-child{grid-column:28!important}
.cols-30 .hours__axis,.cols-30 .hours__bar{grid-template-columns:repeat(30,1fr)}.cols-30 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/15))}.cols-30 .hours__axis span:last-child{grid-column:30!important}
.cols-32 .hours__axis,.cols-32 .hours__bar{grid-template-columns:repeat(32,1fr)}.cols-32 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/16))}.cols-32 .hours__axis span:last-child{grid-column:32!important}
.cols-34 .hours__axis,.cols-34 .hours__bar{grid-template-columns:repeat(34,1fr)}.cols-34 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/17))}.cols-34 .hours__axis span:last-child{grid-column:34!important}
.cols-36 .hours__axis,.cols-36 .hours__bar{grid-template-columns:repeat(36,1fr)}.cols-36 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/18))}.cols-36 .hours__axis span:last-child{grid-column:36!important}
.cols-38 .hours__axis,.cols-38 .hours__bar{grid-template-columns:repeat(38,1fr)}.cols-38 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/19))}.cols-38 .hours__axis span:last-child{grid-column:38!important}
.cols-40 .hours__axis,.cols-40 .hours__bar{grid-template-columns:repeat(40,1fr)}.cols-40 .hours__bar{background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/20))}.cols-40 .hours__axis span:last-child{grid-column:40!important}
