/* Klinik: vagtplan — Aurora */
/* ── Vagtplan ────────────────────────────────────────────────────────────── */
.shift-card .card-body { padding-bottom: var(--sp-5); }
.shift-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-4); }
.shift-head h2 { margin: 0 0 4px; }
.shift-now { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; font-size: var(--fs-0); color: var(--c-text-2); }
.shift-now-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-online); box-shadow: 0 0 0 4px rgba(31,191,143,.18); flex: none; }
.shift-nav { display: inline-flex; align-items: center; gap: var(--sp-2); }
.shift-nav .icon-btn { font-size: var(--fs-2); line-height: 1; }
.shift-range { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.shift-week { margin: var(--sp-4) 0 var(--sp-2); font-size: var(--fs-0); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--c-text-3); }
.shift-week:first-of-type { margin-top: 0; }

.shift-grid { display: grid; gap: var(--sp-2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 560px) { .shift-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 900px) { .shift-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.shift-day { display: flex; flex-direction: column; gap: 6px; min-height: 104px; padding: var(--sp-3); border: 1px solid var(--c-border); border-radius: var(--radius); background: var(--c-surface); }
.shift-day.is-weekend { background: var(--c-surface-2); }
.shift-day.is-today { border-color: transparent; background: linear-gradient(var(--c-surface), var(--c-surface)) padding-box, var(--g-signature) border-box; border: 1.5px solid transparent; }

.shift-date { display: flex; align-items: baseline; gap: 5px; margin: 0; font-size: var(--fs-0); font-weight: 700; }
.shift-dayname { text-transform: capitalize; }
.shift-daynum { color: var(--c-text-3); font-weight: 600; font-variant-numeric: tabular-nums; }
.shift-today { margin-left: auto; padding: 1px 7px; border-radius: var(--radius-pill); background: var(--g-signature); color: var(--c-primary-contrast); font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.shift-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 5px; }
.shift-list li { display: grid; gap: 1px; padding: 5px 7px; border-radius: var(--radius-sm); background: var(--c-surface-2); }
.shift-day.is-weekend .shift-list li { background: var(--c-surface); }
.shift-list li.is-on-duty { background: var(--t-5); box-shadow: inset 2px 0 0 var(--c-online); }
.shift-time { font-size: var(--fs-0); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; }
.shift-person { font-size: var(--fs-0); text-decoration: none; color: var(--c-text-2); display: flex; align-items: center; gap: 5px; min-width: 0; }
.shift-person::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--tone, var(--c-primary)); flex: none; }
.shift-person:hover { color: var(--c-text); }
.shift-person.is-live { color: var(--c-ink-mint); font-weight: 700; }
.shift-person.tone-1 { --tone: #FF7A59; } .shift-person.tone-2 { --tone: #F2427A; } .shift-person.tone-3 { --tone: #B23BBE; }
.shift-person.tone-4 { --tone: #1FBF8F; } .shift-person.tone-5 { --tone: #D98A1F; }
.shift-empty { margin: auto 0 0; color: var(--c-text-3); }
.on-duty-now { margin-bottom: var(--sp-3); }
/* Klinik-side: bredt cover i stedet for højt portræt */
.clinic-hero { position: relative; border-radius: var(--radius-xl); overflow: hidden; aspect-ratio: 4 / 3; max-height: 440px; min-height: 280px; box-shadow: var(--shadow-2); margin-bottom: var(--sp-3); display: flex; align-items: flex-end; }
@media (min-width: 640px) { .clinic-hero { aspect-ratio: 16 / 7; } }
@media (min-width: 1024px) { .clinic-hero { aspect-ratio: 21 / 7; } }
.clinic-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; z-index: 0; }
.clinic-scrim { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(23,17,26,.86) 0%, rgba(23,17,26,.35) 45%, rgba(23,17,26,0) 75%); pointer-events: none; }
.clinic-hero-overlay { position: relative; z-index: 2; width: 100%; padding: var(--sp-5); display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: flex-end; justify-content: space-between; color: #fff; }
@media (min-width: 1024px) { .clinic-hero-overlay { padding: var(--sp-6); } }
.clinic-hero .script { color: #fff; font-size: 2rem; display: block; margin-bottom: -4px; opacity: .95; }
.clinic-name { color: #fff; font-size: var(--fs-5); margin: 0 0 var(--sp-1); display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); line-height: 1.05; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
@media (min-width: 1024px) { .clinic-name { font-size: var(--fs-6); } }
.clinic-where { color: rgba(255,255,255,.88); margin: 0; }
.clinic-where + * { margin-top: var(--sp-2); }
.clinic-hero-text { min-width: 0; max-width: 60ch; }
.clinic-hero-actions { display: flex; flex-direction: column; align-items: flex-end; gap: var(--sp-2); }
.clinic-hero-actions .profile-contact, .clinic-hero-actions .profile-actions { margin: 0; }
.clinic-hero-actions .icon-btn { background: rgba(255,255,255,.92); border-color: transparent; color: #23161F; }
.clinic-hero-actions .profile-actions .btn-ghost, .clinic-hero-actions .profile-actions .badge { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.3); color: #fff; }
.clinic-hero-actions .flash { margin: 0; }
.clinic-gallery { margin-bottom: var(--sp-5); }
.clinic-thumb { display: block; width: 88px; aspect-ratio: var(--card-ratio); border-radius: var(--radius); overflow: hidden; background: var(--c-surface-2); }
.clinic-thumb img { width: 100%; height: 100%; object-fit: cover; }
.clinic-grid { display: grid; gap: var(--sp-5); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1024px) { .clinic-grid { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; } .clinic-side { position: sticky; top: 84px; } }
.clinic-main, .clinic-side { min-width: 0; }
.clinic-girls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) { .clinic-girls { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .clinic-girls { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); } }
.clinic-girl { position: relative; }
.clinic-girl-duty { position: absolute; left: var(--sp-2); bottom: var(--sp-2); z-index: 2; }
@media (max-width: 1023px) {
  .clinic-page .clinic-hero-actions { width: 100%; align-items: flex-start; }
  .clinic-page .contact-bar { position: fixed; }
}

/* ── Klinikoversigt ──────────────────────────────────────────────────────── */
.clinics-head { margin-bottom: var(--sp-5); }
.clinics-head h1 { margin: 0 0 var(--sp-2); }
.clinics-head .script { color: var(--c-primary); font-size: var(--fs-4); display: block; }
.clinics-regions { margin-top: var(--sp-4); }
.clinic-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.clinic-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--sp-3); align-items: center; padding: var(--sp-3); border: 1px solid var(--c-border); border-radius: var(--radius-lg); background: var(--c-surface); transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.clinic-card:hover { border-color: var(--c-primary); transform: translateY(-2px); }
.clinic-card-media { display: block; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; }
.clinic-card-media img { width: 100%; height: 100%; object-fit: cover; }
.clinic-card-body { min-width: 0; display: grid; gap: 4px; }
.clinic-card-body h2 { margin: 0; font-size: var(--fs-2); }
.clinic-card-body h2 a { text-decoration: none; color: inherit; }
.clinic-card-where { display: flex; align-items: center; gap: 5px; margin: 0; }
.clinic-card-where .icon { width: 14px; height: 14px; flex: none; }
.clinic-card-state { gap: var(--sp-2); }
.clinic-card-body h3 { margin: 0; font-size: var(--fs-2); }
.clinic-card-body h3 a { text-decoration: none; color: inherit; }
.chip-clinics { font-weight: 700; }
.clinics-services { margin-top: var(--sp-2); }
.clinic-card-price { margin: 0; font-weight: 700; color: var(--c-text-2); font-variant-numeric: tabular-nums; }
