/* Clinic public website and patient portal */
:root {
	--clinic-primary: #0e7490;
	--clinic-primary-dark: #155e75;
	--clinic-accent: #f97316;
	--clinic-soft: #ecfeff;
	--clinic-ink: #0f172a;
	--clinic-muted: #64748b;
	--clinic-border: #e2e8f0;
}

.clinic-page { color: var(--clinic-ink); }
.clinic-page h1, .clinic-page h2, .clinic-page h3 { letter-spacing: -0.01em; }

.clinic-hero {
	background: linear-gradient(135deg, var(--clinic-soft) 0%, #fff 60%);
	border-radius: 16px;
	padding: 56px 32px;
	margin: 24px 0 40px;
}
.clinic-hero h1 { font-size: 2.4rem; font-weight: 700; margin-bottom: 12px; }
.clinic-hero p.lead { color: var(--clinic-muted); font-size: 1.15rem; max-width: 640px; }

.clinic-btn {
	display: inline-block;
	background: var(--clinic-primary);
	color: #fff !important;
	border-radius: 999px;
	padding: 12px 26px;
	font-weight: 600;
	text-decoration: none !important;
	border: 0;
}
.clinic-btn:hover { background: var(--clinic-primary-dark); }
.clinic-btn.secondary { background: #fff; color: var(--clinic-primary) !important; border: 1px solid var(--clinic-primary); }

.clinic-grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.clinic-card {
	border: 1px solid var(--clinic-border);
	border-radius: 14px;
	padding: 22px;
	background: #fff;
}
.clinic-card h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 8px; }
.clinic-card p { color: var(--clinic-muted); margin-bottom: 0; }

.clinic-section { margin: 48px 0; }
.clinic-muted { color: var(--clinic-muted); }

.clinic-slots { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.clinic-slot {
	border: 1px solid var(--clinic-border);
	background: #fff;
	border-radius: 8px;
	padding: 8px 14px;
	cursor: pointer;
	font-variant-numeric: tabular-nums;
}
.clinic-slot.active { background: var(--clinic-primary); border-color: var(--clinic-primary); color: #fff; }

.clinic-status { display: inline-block; border-radius: 999px; padding: 2px 10px; font-size: 0.8rem; font-weight: 600; }
.clinic-status.Requested { background: #f1f5f9; color: #475569; }
.clinic-status.Confirmed { background: #dbeafe; color: #1d4ed8; }
.clinic-status.Checked-In { background: #ffedd5; color: #c2410c; }
.clinic-status.Completed { background: #dcfce7; color: #15803d; }
.clinic-status.Cancelled, .clinic-status.No-Show { background: #fee2e2; color: #b91c1c; }

.clinic-form .form-group { margin-bottom: 14px; }
.clinic-form label { font-weight: 500; font-size: 0.9rem; }
.clinic-list-item { border-bottom: 1px solid var(--clinic-border); padding: 16px 0; }
.clinic-list-item:last-child { border-bottom: 0; }

@media (max-width: 576px) {
	.clinic-hero { padding: 36px 16px; }
	.clinic-hero h1 { font-size: 1.8rem; }
}
