/* Hausarztpraxis Dr. Wendt — concept GP site (kit variant "practice").
   Type: Newsreader (display, italic accent) + Hanken Grotesk. Colour 60-30-10: paper / ink / forest green (actions). */

@font-face { font-family: "Newsreader"; src: url("media/newsreader.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("media/newsreader-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }

:root {
  --display: "Newsreader", Georgia, "Times New Roman", serif;
  --bg: #f4f1ea;
  --bg-rgb: 244, 241, 234;
  --band: #e8e3d8;
  --ink: #1b2622;
  --muted: #56625d;
  --line: rgba(27, 38, 34, .14);
  --accent: #2c5d4e;
  --accent-hi: #224a3e;
  --on-accent: #f7f5ef;
  --live: #3f9a72;
  --live-halo: rgba(63, 154, 114, .25);
  --warn: #b3412e;
  --hero-text: #fbfaf6;
  --hero-accent: #cfe6d8;
  --hero-bg: #24302b;
  --scrim: 16, 24, 21;
  --bar-solid: rgba(244, 241, 234, .92);
  --paper: #fbfaf6;
  --paper-ink: #1b2622;
  --paper-field: #ffffff;
  --paper-line: #d3cec2;
  --ink-soft: #4b5651;
  --ink-faint: #5a6560;
  --ink-off: #9aa29e;
}

em { font-style: italic; }
.h2 em { color: var(--accent); }

/* hero */
.hero { --dim: .32; }
.hero-h { font-size: clamp(var(--t-2xl), 10.5vw, var(--t-5xl)); line-height: 1; letter-spacing: -.025em; }
.hero-h em { display: block; color: var(--hero-accent); }
.hero .today { margin-bottom: 24px; }
.hero .today::before { background: #7fd1a8; box-shadow: 0 0 0 4px rgba(127, 209, 168, .25); }
.hero .today.closed::before { background: rgba(251, 250, 246, .6); box-shadow: none; }
.hero .btn-main { background: var(--hero-text); color: var(--ink); }
@media (hover: hover) { .hero .btn-main:hover { background: #ffffff; } }

/* tasks: one row per errand, each opens the right sheet */
.tasks-head { display: grid; gap: 24px; }
.tasks-head .lead { margin: 0; max-width: 44ch; }
@media (min-width: 960px) { .tasks-head { grid-template-columns: 1fr 1fr; align-items: end; gap: 64px; } }
.tasks { list-style: none; margin: 64px 0 0; padding: 0; border-top: 1px solid var(--line); }
.task {
  width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 6px 24px; align-items: center;
  padding: 28px 0; border: 0; border-bottom: 1px solid var(--line); background: none;
  text-align: left; cursor: pointer; color: var(--ink);
}
.task-t { font: 400 clamp(var(--t-md), 2.6vw, var(--t-xl))/1.15 var(--display); }
.task-d { grid-column: 1; color: var(--muted); max-width: 56ch; }
.task-a {
  grid-column: 2; grid-row: 1 / span 2;
  width: 48px; height: 48px; padding: 12px; border-radius: 50%;
  border: 1px solid var(--line); color: var(--accent);
  transition: background-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
}
@media (min-width: 960px) {
  .task { grid-template-columns: 5fr 6fr auto; padding: 32px 0; }
  .task-d { grid-column: 2; }
  .task-a { grid-column: 3; grid-row: 1; }
}
@media (hover: hover) {
  .task:hover .task-t { color: var(--accent); }
  .task:hover .task-a { background: var(--accent); color: var(--on-accent); transform: translateX(4px); }
}

/* media + text */
.split { display: grid; gap: 40px; align-items: center; padding-bottom: var(--section); }
.split-media video { aspect-ratio: 16 / 10; }
.split-text .lead { margin: 24px 0 32px; max-width: 42ch; }
.split-text .muted { margin: -8px 0 0; }
@media (min-width: 960px) {
  .split { grid-template-columns: 7fr 5fr; gap: 80px; }
  .split-flip .split-media { order: 2; }
  .split-flip { grid-template-columns: 5fr 7fr; }
}

/* practice + team */
.team { border-top: 1px solid var(--line); }
.team-cols { display: grid; gap: 64px; margin-top: 64px; }
@media (min-width: 960px) { .team-cols { grid-template-columns: 1fr 1fr; gap: 96px; } }
.team .h3 { margin-bottom: 24px; }
.people { margin: 0; }
.people div { padding: 18px 0; border-top: 1px solid var(--line); }
.people div:last-child { border-bottom: 1px solid var(--line); }
.people dt { font-size: var(--t-md); }
.people dd { margin: 4px 0 0; color: var(--muted); }
.langs { margin: 24px 0 0; }
.plain { list-style: none; margin: 0; padding: 0; }
.plain li { padding: 18px 0; border-top: 1px solid var(--line); font-size: var(--t-md); line-height: 1.35; }
.plain li:last-child { border-bottom: 1px solid var(--line); }

/* hours band */
.hours-band { background: var(--band); padding: var(--section) 0; }
.hours-in { display: grid; gap: 64px; }
.today-band { margin: 24px 0 0; }
.hours-band .lead { margin: 16px 0 32px; }
.after { margin: 32px 0 0; max-width: 44ch; }
.after a { color: var(--ink); text-underline-offset: 3px; }
@media (min-width: 960px) { .hours-in { grid-template-columns: 1fr 1fr; gap: 96px; align-items: end; } }

.foot-h em { color: var(--accent); }
