
:root{
  --lav-50:#f5f3f7; --lav-100:#ece7f1; --lav-200:#d7cdea; --lav-300:#b9a8d7;
  --lav-400:#9a83c4; --lav-500:#7b5fb1; --lav-600:#674f96; --lav-700:#54407b;
  --lav-800:#403161; --lav-900:#2d2347;
  --bg: var(--lav-50); --surface:#ffffff; --text:#2a2640; --muted:#5f597a;
  --primary: var(--lav-600); --primary-contrast:#fff; --border:#e6e2ee;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial; color:var(--text); background:var(--bg)}
header{background:linear-gradient(90deg,var(--lav-200),var(--lav-300)); border-bottom:1px solid var(--border)}
header .wrap{max-width:960px;margin:0 auto;padding:20px}
nav a{color:var(--lav-800);text-decoration:none;margin-right:14px;font-weight:600}
nav a:hover{color:var(--primary)}
main{max-width:960px;margin:24px auto;padding:0 16px}
footer{max-width:960px;margin:24px auto 48px;border-top:1px solid var(--border);color:var(--muted);padding:16px}

h1,h2,h3{color:var(--lav-800)}
.table{width:100%;border-collapse:collapse}
.table td,.table th{border-bottom:1px solid var(--border);padding:8px}

.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 1px 2px rgba(64,49,97,.05)}
.grid{display:grid;gap:16px}
.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.badge{display:inline-block;background:var(--lav-200);color:var(--lav-800);border-radius:999px;padding:2px 8px;font-size:12px}
.btn{display:inline-block;background:var(--primary);color:var(--primary-contrast);padding:10px 14px;border-radius:8px;text-decoration:none}
.team-card img{width:100%;height:220px;object-fit:cover;border-radius:10px;border:1px solid var(--border);background:#fff}
.team-card h4{margin:.6rem 0 .2rem}
.team-role{color:var(--muted);margin:0 0 .6rem}

.alert{background:var(--lav-100);border-left:4px solid var(--lav-400);padding:12px;border-radius:8px}

.schedule { display: flex; flex-direction: column; gap: 6px; max-width: 580px; }
.day-row { display: grid; grid-template-columns: 90px 1fr; align-items: start; gap: 16px; padding: 14px 16px; background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--lav-400); border-radius: 10px; }
.day-row.closed { border-left-color: var(--border); opacity: 0.55; }
.day-name { font-size: 14px; font-weight: 500; padding-top: 2px; }
.slots { display: flex; flex-direction: column; gap: 6px; }
.slot { display: flex; align-items: center; gap: 10px; }
.time-pill { font-size: 13px; font-weight: 500; color: var(--lav-800); background: var(--lav-100); padding: 3px 10px; border-radius: 20px; white-space: nowrap; }
.doctor { font-size: 12px; color: var(--muted); }
.closed-label { font-size: 13px; color: var(--muted); letter-spacing: 0.05em; }

/* --- responzivita ordinačních hodin --- */
@media (max-width: 520px) {
  .day-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .day-name {
    font-size: 13px;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .slot {
    flex-wrap: wrap;
    gap: 4px;
  }
  .notes {
    flex-basis: 100%;
    font-size: 11px;
    color: var(--muted);
    padding-left: 2px;
  }
}

/* desktop – notes jako třetí prvek v řádku */
@media (min-width: 521px) {
  .notes {
    font-size: 11px;
    color: var(--muted);
  }
}