/**
 * Turni Farmacie — Frontend styles
 *
 * All selectors are scoped inside .turni-farmacie-wrap
 * to avoid conflicts with WordPress themes.
 *
 * Font sizes use em (not rem) so that changing the base font-size
 * on .turni-farmacie-wrap (e.g. via Elementor controls) scales
 * all child elements proportionally.
 */

/* ── Variables (scoped) ────────────────────────────── */
.turni-farmacie-wrap {
	--tf-bg: #f5f6f8;
	--tf-surface: #fff;
	--tf-border: #e2e5ea;
	--tf-text: #1a1e24;
	--tf-text-muted: #6b7280;
	--tf-accent: #2563eb;
	--tf-today-bg: #f3f4f6;
	--tf-today-border: #2563eb;
	--tf-today-header-bg: var(--tf-accent);
	--tf-today-header-text: #fff;
	--tf-green: #16a34a;
	--tf-blue: #2563eb;
	--tf-purple: #7c3aed;
	--tf-orange: #ea580c;
	--tf-base-font-size: 15px;

	font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
	font-size: var(--tf-base-font-size);
	color: var(--tf-text);
	line-height: 1.5;
	box-sizing: border-box;
}

.turni-farmacie-wrap *,
.turni-farmacie-wrap *::before,
.turni-farmacie-wrap *::after {
	box-sizing: border-box;
}

/* ── Loading state ─────────────────────────────────── */
.turni-farmacie-wrap .turni-farmacie-loading {
	text-align: center;
	padding: 3em 1em;
	color: var(--tf-text-muted);
	font-size: 0.95em;
}

/* ── Header ────────────────────────────────────────── */
.turni-farmacie-wrap .tf-header {
	padding: 0.5em 0 0.75em;
}

.turni-farmacie-wrap .tf-title {
	font-size: 1.4em;
	font-weight: 600;
	margin: 0 0 0.15em;
	line-height: 1.3;
}

.turni-farmacie-wrap .tf-subtitle {
	color: var(--tf-text-muted);
	font-size: 0.85em;
	margin: 0;
}

/* ── Tabs ──────────────────────────────────────────── */
.turni-farmacie-wrap .tf-tabs {
	display: flex;
	gap: 0.5em;
	flex-wrap: wrap;
	margin-bottom: 1.25em;
	border-bottom: 2px solid var(--tf-border);
	padding-bottom: 0.5em;
}

.turni-farmacie-wrap .tf-tab {
	padding: 0.4em 0.75em;
	border-radius: 6px;
	font-size: 0.85em;
	cursor: pointer;
	border: 1px solid transparent;
	background: transparent;
	color: var(--tf-text-muted);
	font-family: inherit;
	font-weight: 500;
	transition: background 0.15s, color 0.15s;
}

.turni-farmacie-wrap .tf-tab:hover {
	background: rgba(0, 0, 0, 0.04);
}

.turni-farmacie-wrap .tf-tab.active {
	background: var(--tf-accent);
	color: #fff;
	border-color: var(--tf-accent);
}

.turni-farmacie-wrap .tf-tab.no-data {
	background: #f3f4f6;
	border-color: #e5e7eb;
	color: #9ca3af;
	cursor: default;
	pointer-events: none;
}

/* ── Week grid ─────────────────────────────────────── */
.turni-farmacie-wrap .tf-week {
	display: grid;
	grid-template-columns: repeat(var(--tf-week-cols, 7), minmax(0, 1fr));
	gap: 0.75em;
}

@media (max-width: 1100px) {
	.turni-farmacie-wrap .tf-week {
		grid-template-columns: repeat(var(--tf-week-cols-tablet, 3), minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.turni-farmacie-wrap .tf-week {
		grid-template-columns: 1fr;
	}
}

/* ── Day card ──────────────────────────────────────── */
.turni-farmacie-wrap .tf-day {
	background: var(--tf-surface);
	border: 1px solid var(--tf-border);
	border-radius: 10px;
	overflow: hidden;
}

.turni-farmacie-wrap .tf-day.tf-today {
	border-color: var(--tf-today-border);
	border-width: 2px;
	background: var(--tf-today-bg);
}

.turni-farmacie-wrap .tf-day-header {
	padding: 0.6em 0.75em;
	font-weight: 600;
	font-size: 0.8em;
	background: rgba(0, 0, 0, 0.02);
	border-bottom: 1px solid var(--tf-border);
	color: var(--tf-text-muted);
}

.turni-farmacie-wrap .tf-day.tf-today .tf-day-header {
	background: var(--tf-today-header-bg);
	color: var(--tf-today-header-text);
	border-bottom-color: var(--tf-today-header-bg);
}

.turni-farmacie-wrap .tf-day-body {
	padding: 0.5em 0.75em;
}

/* ── Shift-type groups ─────────────────────────────── */
.turni-farmacie-wrap .tf-group {
	margin-bottom: 0.6em;
}

.turni-farmacie-wrap .tf-group-label {
	font-size: 0.7em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 0.15em 0.4em;
	border-radius: 3px;
	display: inline-block;
	margin-bottom: 0.25em;
}

/* Badge colors per tipo_turno */
.turni-farmacie-wrap .tf-group-label.sempre_aperta {
	background: #fce7f3;
	color: #be185d;
}

.turni-farmacie-wrap .tf-group-label.continuato {
	background: #dcfce7;
	color: var(--tf-green);
}

.turni-farmacie-wrap .tf-group-label.fino_2130 {
	background: #fef3c7;
	color: var(--tf-orange);
}

.turni-farmacie-wrap .tf-group-label.notturno {
	background: #ede9fe;
	color: var(--tf-purple);
}

.turni-farmacie-wrap .tf-group-label.standard {
	background: #e0f2fe;
	color: var(--tf-blue);
}

.turni-farmacie-wrap .tf-group-label.mattino {
	background: #fef9c3;
	color: #a16207;
}

.turni-farmacie-wrap .tf-group-label.pomeriggio {
	background: #ffedd5;
	color: #c2410c;
}

/* ── Pharmacy entry ────────────────────────────────── */
.turni-farmacie-wrap .tf-pharmacy {
	font-size: 0.8em;
	padding: 0.15em 0;
	line-height: 1.35;
}

.turni-farmacie-wrap .tf-pharmacy .tf-detail {
	color: var(--tf-text-muted);
	font-size: 0.9em;
}

/* ── Empty state ───────────────────────────────────── */
.turni-farmacie-wrap .tf-empty {
	color: var(--tf-text-muted);
	font-size: 0.8em;
	padding: 0.5em 0;
}