/* Termedo – základ vzhledu (nezávislý na webu ordinace).
   Hlavní barvu a logo nastavuje ordinace v administraci › Vzhled a web. */
:root{
  --bg:#ffffff;
  --surface:#f5f8f9;
  --surface-2:#edf3f5;
  --line:#e3e9ec;
  --ink:#0f1d24;
  --ink-2:#4a5a62;
  --muted:#7b8a91;
  --teal:#0b5563;          /* hlavní barva – tmavý tyrkys */
  --teal-2:#0e6b7c;
  --teal-dark:#08434e;
  --teal-soft:#e6f5f9;
  --cyan:#2ec0e0;          /* z loga */
  --coral:#ef6a59;         /* z loga */
  --coral-ink:#c7462f;
  --coral-soft:#fdeeeb;
  --green:#1f9d63;
  --r-sm:12px;
  --r:20px;
  --r-lg:28px;
  --shadow:0 1px 2px rgba(15,29,36,.04),0 8px 24px rgba(15,29,36,.06);
  --shadow-lg:0 2px 6px rgba(15,29,36,.05),0 24px 60px rgba(15,29,36,.14);
  --font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1200px;
  --gut:clamp(16px,4vw,32px);
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.03rem/1.65 var(--font);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4,h5{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.15}
[hidden]{display:none!important}
:focus-visible{outline:3px solid rgba(46,192,224,.55);outline-offset:2px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-2)}
.ico{display:inline-grid;place-items:center;flex:none;width:52px;height:52px;border-radius:16px;background:var(--teal-soft);color:var(--teal);font-size:1.7rem}
.ico.coral{background:var(--coral-soft);color:var(--coral-ink)}
.ico.sm{width:42px;height:42px;border-radius:12px;font-size:1.35rem}

/* Tlačítka */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:999px;border:1.5px solid transparent;font:600 .97rem/1 var(--font);text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn i{font-size:1.15rem}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--teal);color:#fff}
.btn-primary:hover{background:#08434e}
.btn-white{background:#fff;color:var(--teal)}
.btn-white:hover{background:var(--teal-soft)}
.btn-outline{border-color:var(--line);color:var(--ink);background:#fff}
.btn-outline:hover{border-color:var(--teal);color:var(--teal)}
.btn-glass{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.24)}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:var(--coral-ink)}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--teal);text-decoration:none}
.more i{transition:transform .2s}
.more:hover i{transform:translateX(3px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand img{width:38px;height:38px;object-fit:contain}
.brand b{display:block;font-size:1.02rem;font-weight:700;letter-spacing:-.01em}
.brand small{display:block;font-size:.78rem;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn-primary:hover{background:var(--teal-dark)}
