/**
 * Calendario del gusto — stile di base.
 *
 * Qui c'è solo la struttura: dimensioni, allineamenti, comportamento sui
 * telefoni. Colori, tipografia, altezze e spessori arrivano dal pannello di
 * Elementor, che li scrive come regole più specifiche di queste: per questo
 * il foglio evita !important, che renderebbe inutili i controlli.
 *
 * Le uniche eccezioni sono nel blocco dei telefoni, dove il layout a tabella
 * lascia il posto ai blocchi e l'altezza di riga impostata per la tabella
 * dev'essere annullata. Sono commentate sul posto.
 */

.mds-cal {
	--mds-cal-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ---------- testata ---------- */

.mds-cal__testata {
	margin-bottom: 48px;
}

.mds-cal__occhiello {
	display: block;
	font-family: var(--mds-cal-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8b6113;
	margin-bottom: 8px;
}

.mds-cal__titolo {
	font-size: clamp(26px, 3.2vw, 40px);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: #16140f;
	margin: 0 0 16px;
}

.mds-cal__intro {
	max-width: 62ch;
	line-height: 1.6;
	color: #5b564b;
	margin: 0;
}

/* ---------- tabella ---------- */

.mds-cal__tabella {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-family: var(--mds-cal-mono);
	margin: 0;
}

.mds-cal__tabella th {
	font-weight: 400;
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #5b564b;
	text-align: center;
	padding: 0 0 12px;
	border-bottom: 1px solid #e7e2d8;
	vertical-align: bottom;
}

.mds-cal__tabella th:first-child {
	text-align: left;
	width: 18%;
}

.mds-cal__tabella th:last-child {
	text-align: right;
	width: 16%;
}

.mds-cal__tabella td {
	min-height: 56px;
	padding: 8px 0;
	vertical-align: middle;
	border-bottom: 1px solid #e7e2d8;
	transition: background-color 0.15s;
}

.mds-cal__tabella tbody tr:hover td {
	background-color: rgba(47, 84, 52, 0.05);
}

/* ---------- nome ---------- */

.mds-cal__nome {
	font-family: inherit;
	font-weight: 600;
	font-size: 15.5px;
	color: #16140f;
	padding-right: 10px;
	overflow-wrap: break-word;
}

.mds-cal__nome a {
	color: inherit;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 0.15s;
}

.mds-cal__nome a:hover,
.mds-cal__nome a:focus-visible {
	border-bottom-color: #c8952a;
}

/* Il periodo in chiaro serve solo dove la barra non può contenerlo. */
.mds-cal__periodo {
	display: none;
}

/* ---------- barre ---------- */

.mds-cal__mesi {
	position: relative;
}

.mds-cal__barra {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 18px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	padding-left: 8px;
	font-size: 9.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	box-sizing: border-box;
}

/* ---------- intensità ---------- */

.mds-cal__valore {
	text-align: right;
	font-size: 12px;
	color: #5b564b;
	white-space: nowrap;
}

.mds-cal__valore b {
	font-weight: 500;
	color: #16140f;
}

/* ---------- nota ---------- */

.mds-cal__nota {
	margin: 16px 0 0;
	font-family: var(--mds-cal-mono);
	font-size: 11.5px;
	line-height: 1.5;
	color: #5b564b;
}

/* ---------- messaggio nell'editor ---------- */

.mds-cal__vuoto {
	padding: 24px;
	border: 1px dashed #c8952a;
	border-radius: 8px;
	color: #5b564b;
	text-align: center;
	margin: 0;
}

/* ---------- telefoni ----------
 * La tabella a dodici colonne non entra in 375 pixel. La prima versione
 * nascondeva i mesi, ma così spariva proprio l'informazione per cui esiste il
 * calendario: restavano nome e numero, che da soli non dicono quando si
 * raccoglie.
 *
 * Qui ogni riga diventa un blocco: nome e intensità sulla prima linea, il
 * periodo scritto sotto, e la barra a piena larghezza che tiene la posizione
 * nell'anno. L'informazione resta tutta, senza intestazioni da leggere.
 */

@media (max-width: 680px) {
	.mds-cal__tabella,
	.mds-cal__tabella tbody,
	.mds-cal__tabella tr,
	.mds-cal__tabella td {
		display: block;
		width: auto;
	}

	.mds-cal__tabella thead {
		display: none;
	}

	.mds-cal__tabella tr {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		padding: 16px 0;
		border-bottom: 1px solid #e7e2d8;
	}

	/*
	 * L'altezza impostata nei controlli vale per la tabella: qui le tre celle
	 * sono impilate e sommerebbero tre volte quel valore. Sono gli unici punti
	 * del foglio con !important, e servono ad annullare una misura pensata per
	 * un layout che su questa larghezza non esiste più.
	 *
	 * La traccia dei mesi è esclusa: è l'unica cella che un'altezza ce l'ha di
	 * suo, e azzerarla la farebbe collassare lasciando le barre — posizionate in
	 * assoluto — sospese sopra il nulla.
	 */
	.mds-cal__tabella td:not(.mds-cal__mesi) {
		min-height: 0 !important;
		height: auto !important;
		padding: 0;
		border-bottom: 0;
	}

	.mds-cal__tabella td.mds-cal__mesi {
		min-height: 0 !important;
		height: 20px !important;
		padding: 0;
		border-bottom: 0;
	}

	.mds-cal__nome {
		flex: 1 1 60%;
		order: 1;
		padding-right: 12px;
		font-size: 16px;
	}

	.mds-cal__periodo {
		display: block;
		margin-top: 2px;
		font-family: var(--mds-cal-mono);
		font-size: 11px;
		font-weight: 400;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: #5b564b;
	}

	.mds-cal__valore {
		flex: 0 0 auto;
		order: 2;
		margin-left: auto;
	}

	/*
	 * La traccia porta una tacca ogni tre mesi. Senza riferimenti la barra
	 * galleggerebbe e la sua posizione non direbbe nulla: le tacche restituiscono
	 * la scala dell'anno che sul desktop danno le intestazioni dei mesi.
	 */
	.mds-cal__mesi {
		display: block;
		flex: 1 1 100%;
		order: 3;
		position: relative;
		margin-top: 12px;
		border-radius: 4px;
		background-color: rgba(22, 20, 15, 0.05);
		background-image: repeating-linear-gradient(
			to right,
			transparent 0,
			transparent calc(25% - 1px),
			rgba(22, 20, 15, 0.16) calc(25% - 1px),
			rgba(22, 20, 15, 0.16) 25%
		);
	}

	/* Nella barra stretta la scritta non entra: il periodo è già qui sopra. */
	.mds-cal__barra {
		font-size: 0;
		padding-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mds-cal__tabella td,
	.mds-cal__nome a {
		transition: none;
	}
}
