/*
 * NO·RU velvety skin — Pagine del cliente
 * Registrazione, accesso, area personale e documenti (privacy, cookie, termini).
 * Si carica sopra nr-pagine.css e ne riusa variabili, campi e pulsanti: qui c'è solo quello che manca.
 *
 * Indice
 *  1. Base delle pagine
 *  2. Moduli
 *  3. Password
 *  4. Spunte
 *  5. Avvisi
 *  6. Schede
 *  7. Area personale
 *  8. Ordini
 *  9. Documenti
 * 10. Invio in corso
 * 11. Schermi stretti
 * 12. Movimento ridotto
 */

/* ==========================================================================
   1. BASE DELLE PAGINE
   ========================================================================== */

/* ---- 1.1 Elementi nascosti ----
   La landing non ha una regola per [hidden] e alcuni temi la sovrascrivono:
   qui serve, perché lo script nasconde gli errori già corretti. */

#nr-site .nr-utente [hidden] { display: none !important; }

/* ---- 1.2 Testata al centro ----
   Registrazione, accesso, area e documenti partono come le altre pagine interne,
   ma con occhiello, titolo e testo in mezzo alla pagina. */

#nr-site :is(.nr-reg, .nr-area, .nr-doc) .nr-utente__testa {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-inline: auto;
	text-align: center;
}

#nr-site :is(.nr-reg, .nr-area, .nr-doc) .nr-utente__testa .nr-testo { margin-inline: auto; }

/* ---- 1.3 Corpo a due colonne ----
   Modulo a sinistra, colonna dei vantaggi a destra. Sotto i 1000px la colonna
   scende sotto il modulo. */

#nr-site .nr-utente__corpo {
	display: grid;
	gap: clamp(32px, 5vw, 56px);
	max-width: 1120px;
	margin: clamp(40px, 6vw, 72px) auto 0;
}

@media (min-width: 1000px) {
	#nr-site .nr-utente__corpo {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
		align-items: start;
	}

	#nr-site .nr-utente__lato {
		position: sticky;
		top: calc(var(--nr-top-h) + 32px);
	}

	/* Senza la colonna accanto il modulo resta una colonna sola, al centro. */
	#nr-site .nr-utente__corpo:not(:has(.nr-utente__lato)) {
		grid-template-columns: minmax(0, 760px);
		justify-content: center;
	}
}

#nr-site .nr-area > :is(.nr-area__blocco, .nr-area__griglia) {
	max-width: 1120px;
	margin-inline: auto;
}

/* ---- 1.4 A cosa serve il profilo ---- */

#nr-site .nr-utente__lato-titolo {
	font-family: var(--nr-mono);
	font-size: var(--nr-fs-mini);
	letter-spacing: .12em;
	text-transform: uppercase;
}

#nr-site .nr-vantaggi {
	display: grid;
	gap: 14px;
	margin-top: 18px;
	list-style: none;
}

#nr-site .nr-vantaggi li {
	position: relative;
	padding-left: 24px;
	font-size: calc(var(--nr-u) * .98);
	line-height: 1.5;
	text-wrap: pretty;
}

#nr-site .nr-vantaggi li::before {
	content: "";
	position: absolute;
	top: .55em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--nr-rame);
}

#nr-site .nr-utente__lato .nr-btn { margin-top: 24px; }

/* ==========================================================================
   2. MODULI
   Campi, etichette, errori e invio arrivano dal modulo dei contatti della landing.
   ========================================================================== */

/* ---- 2.1 Contenitore ---- */

#nr-site .nr-utente .nr-modulo {
	/* Tornando con un errore la pagina scorre fin qui: la barra in alto è fissa. */
	scroll-margin-top: calc(var(--nr-top-h) + 24px);
}

#nr-site .nr-scheda--modulo > .nr-modulo { margin-top: 0; }

#nr-site .nr-scheda--modulo .nr-scheda__titolo {
	font-family: var(--nr-serif);
	font-size: var(--nr-fs-h3);
	font-style: italic;
	font-weight: 400;
	line-height: 1.05;
	text-wrap: balance;
}

/* ---- 2.2 Note e altri collegamenti ---- */

#nr-site .nr-modulo__nota {
	font-family: var(--nr-mono);
	font-size: var(--nr-fs-mini);
	line-height: 1.5;
	opacity: .72;
}

#nr-site .nr-modulo__altro { font-size: calc(var(--nr-u) * .92); }

#nr-site .nr-modulo__altro a,
#nr-site .nr-modulo--dati p a {
	font-weight: 650;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
}

/* ---- 2.3 Campi che mancano alla landing ----
   Password, telefono e paese hanno la stessa riga sotto degli altri campi, il
   paese in più una freccia disegnata; l'email del profilo non si cambia da qui
   e si vede subito. */

#nr-site .nr-campo :is(input[type="password"], input[type="tel"]) {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 8px 0 10px;
	border: 0;
	border-bottom: 2px solid var(--nr-scuro);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--nr-scuro);
	font-family: var(--nr-font);
	font-size: calc(var(--nr-u) * 1.125);
	font-weight: 450;
	line-height: 1.5;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .3s, box-shadow .3s var(--nr-ease), background-color .3s;
}

#nr-site .nr-campo :is(input[type="password"], input[type="tel"])[aria-invalid="true"] {
	background-color: color-mix(in srgb, var(--nr-accento) 7%, transparent);
}

#nr-site .nr-campo select {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 8px 28px 10px 0;
	border: 0;
	border-bottom: 2px solid var(--nr-scuro);
	border-radius: 0;
	background-color: transparent;
	background-image: linear-gradient(45deg, transparent 50%, var(--nr-scuro) 50%), linear-gradient(135deg, var(--nr-scuro) 50%, transparent 50%);
	background-position: calc(100% - 13px) 55%, calc(100% - 7px) 55%;
	background-size: 6px 6px;
	background-repeat: no-repeat;
	box-shadow: none;
	color: var(--nr-scuro);
	font-family: var(--nr-font);
	font-size: calc(var(--nr-u) * 1.125);
	font-weight: 450;
	line-height: 1.5;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .3s, box-shadow .3s var(--nr-ease), background-color .3s;
}

#nr-site .nr-campo select:focus {
	border-bottom-color: var(--nr-accento-fondo);
	box-shadow: 0 2px 0 var(--nr-accento-fondo);
	background-color: color-mix(in srgb, var(--nr-rame-chiaro) 16%, transparent);
}

#nr-site .nr-campo input[readonly] {
	border-bottom-style: dashed;
	opacity: .72;
	cursor: default;
}

#nr-site .nr-campo input[readonly]:focus {
	border-bottom-color: var(--nr-scuro);
	box-shadow: none;
	background-color: transparent;
}

/* ---- 2.4 Errore dell'accesso ----
   Stessa fascia dell'errore del modulo dei contatti: email o password sbagliate
   non appartengono a un campo solo. */

#nr-site #nr-err-accedi {
	padding: 14px 18px;
	border-radius: 14px;
	background: var(--nr-accento-fondo);
	color: var(--nr-crema);
}

#nr-site #nr-err-accedi::before { background: var(--nr-crema); color: var(--nr-accento-fondo); }

/* ---- 2.5 Due pulsanti nello stesso invio ---- */

#nr-site .nr-modulo__invio--due { gap: 12px; }

/* ==========================================================================
   3. PASSWORD
   ========================================================================== */

/* ---- 3.1 Mostra e nascondi ----
   Il pulsante lo aggiunge nr-utente.js: senza script il campo resta com'è. */

#nr-site .nr-campo__pw { position: relative; }

#nr-site .nr-campo__pw:has(.nr-campo__mostra) input { padding-right: 5.5em; }

#nr-site .nr-campo__mostra {
	position: absolute;
	top: 50%;
	right: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 4px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--nr-scuro);
	font: inherit;
	font-size: calc(var(--nr-u) * .85);
	font-weight: 650;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
	cursor: pointer;
	translate: 0 -50%;
	transition: color .25s;
}

@media (hover: hover) {
	#nr-site .nr-campo__mostra:hover { color: var(--nr-accento-fondo); }
}

/* ---- 3.2 Robustezza ----
   Una barra in quattro tacche: larghezza e colore seguono data-livello.
   Il testo resta sempre scuro, il colore lo porta solo la barra. */

#nr-site .nr-forza {
	display: grid;
	gap: 6px;
	margin-top: 4px;
	color: var(--nr-scuro);
	font-size: calc(var(--nr-u) * .82);
	font-weight: 650;
}

#nr-site .nr-forza::before {
	content: "";
	display: block;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(var(--nr-forza-c, transparent), var(--nr-forza-c, transparent)) 0 0 / var(--nr-forza-w, 0%) 100% no-repeat, var(--nr-linea);
	transition: background-size .35s var(--nr-ease);
}

#nr-site .nr-forza[data-livello="0"]::before { --nr-forza-w: 0%; }
#nr-site .nr-forza[data-livello="1"]::before { --nr-forza-w: 25%; --nr-forza-c: var(--nr-accento-fondo); }
#nr-site .nr-forza[data-livello="2"]::before { --nr-forza-w: 50%; --nr-forza-c: var(--nr-rame-scuro); }
#nr-site .nr-forza[data-livello="3"]::before { --nr-forza-w: 75%; --nr-forza-c: var(--nr-verde); }
#nr-site .nr-forza[data-livello="4"]::before { --nr-forza-w: 100%; --nr-forza-c: var(--nr-scuro); }

@media (forced-colors: active) {
	#nr-site .nr-forza::before {
		border: 1px solid CanvasText;
		background: linear-gradient(CanvasText, CanvasText) 0 0 / var(--nr-forza-w, 0%) 100% no-repeat;
	}
}

/* ---- 3.3 Conferma ---- */

#nr-site .nr-campo__coincide {
	display: flex;
	align-items: baseline;
	gap: 8px;
	color: var(--nr-scuro);
	font-size: calc(var(--nr-u) * .85);
	font-weight: 650;
}

#nr-site .nr-campo__coincide:empty { display: none; }
#nr-site .nr-campo__coincide.is-ok::before { content: "✓"; color: var(--nr-verde); font-weight: 800; }
#nr-site .nr-campo__coincide.is-no { color: var(--nr-accento-fondo); }
#nr-site .nr-campo__coincide.is-no::before { content: "!"; font-weight: 800; }

/* ==========================================================================
   4. SPUNTE
   La singola spunta è quella della privacy nella landing: qui solo l'elenco.
   ========================================================================== */

#nr-site .nr-spunte {
	display: grid;
	gap: 16px;
}

/* ==========================================================================
   5. AVVISI
   ========================================================================== */

/* ---- 5.1 Riquadro ----
   Lo stesso degli avvisi del carrello: pallino verde se è andata, rosa se no. */

#nr-site .nr-avviso {
	position: relative;
	margin: 0;
	padding: 16px 22px 16px 54px;
	border: 2px solid var(--nr-fg);
	border-radius: 18px;
	background: var(--nr-chiaro);
	color: var(--nr-scuro);
	font-size: calc(var(--nr-u) * .95);
	font-weight: 550;
	line-height: 1.45;
	text-align: left;
}

#nr-site .nr-avviso::before {
	content: "";
	position: absolute;
	top: 21px;
	left: 22px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--nr-verde);
}

#nr-site .nr-avviso--errore { border-color: var(--nr-accento-fondo); }
#nr-site .nr-avviso--errore::before { background: var(--nr-accento-fondo); }

/* ---- 5.2 Dentro il modulo ---- */

#nr-site .nr-modulo .nr-avviso {
	padding: 12px 16px 12px 46px;
	border-color: var(--nr-scuro);
	font-size: calc(var(--nr-u) * .92);
}

#nr-site .nr-modulo .nr-avviso::before { top: 17px; left: 18px; width: 12px; height: 12px; }
#nr-site .nr-modulo .nr-avviso--errore { border-color: var(--nr-accento-fondo); }

/* ---- 5.3 In cima alla pagina ---- */

#nr-site .nr-utente__testa .nr-avviso { margin-top: 28px; }

/* ==========================================================================
   6. SCHEDE
   Messaggi semplici al posto di un modulo: già dentro, nessun ordine,
   registrazioni chiuse. Quella con il modulo è la lettera della landing.
   ========================================================================== */

/* ---- 6.1 Messaggio ---- */

#nr-site .nr-scheda {
	display: grid;
	justify-items: start;
	gap: 14px;
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
	padding: clamp(22px, 4vw, 36px);
	border: 2px dashed color-mix(in srgb, var(--nr-fg) 40%, transparent);
	border-radius: var(--nr-r);
	font-size: calc(var(--nr-u) * 1.02);
	line-height: 1.55;
}

#nr-site .nr-scheda__titolo {
	font-size: calc(var(--nr-u) * 1.3);
	font-weight: 800;
	line-height: 1.2;
}

/* ---- 6.2 Con il modulo ---- */

#nr-site .nr-scheda--modulo {
	--nr-fg: var(--nr-scuro);
	--nr-bg: var(--nr-crema);
	--nr-linea: color-mix(in srgb, var(--nr-scuro) 20%, transparent);
	display: block;
	max-width: none;
	padding: clamp(28px, 4vw, 56px);
	border: 2px solid var(--nr-scuro);
	background: var(--nr-grana) var(--nr-crema);
	color: var(--nr-scuro);
	box-shadow: 12px 12px 0 var(--nr-scuro);
}

/* ==========================================================================
   7. AREA PERSONALE
   ========================================================================== */

/* ---- 7.1 Menu interno ---- */

#nr-site .nr-area__menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 28px;
	list-style: none;
}

#nr-site .nr-area__menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 18px;
	border: 2px solid var(--nr-fg);
	border-radius: 999px;
	font-size: calc(var(--nr-u) * .92);
	font-weight: 650;
	transition: background-color .3s, color .3s, transform .4s var(--nr-ease);
}

@media (hover: hover) {
	#nr-site .nr-area__menu a:hover {
		background: var(--nr-fg);
		color: var(--nr-bg);
		transform: translateY(-2px);
	}
}

/* ---- 7.2 Blocchi ---- */

#nr-site .nr-area__blocco {
	margin-top: clamp(56px, 8vw, 96px);
	scroll-margin-top: calc(var(--nr-top-h) + 24px);
}

#nr-site .nr-area__titolo {
	margin-bottom: 24px;
	font-size: var(--nr-fs-h3);
	font-weight: 760;
	font-stretch: 82%;
	line-height: 1.1;
	letter-spacing: -.01em;
	text-align: center;
}

#nr-site .nr-area__griglia {
	display: grid;
	gap: clamp(56px, 8vw, 96px) 40px;
	margin-top: clamp(56px, 8vw, 96px);
}

#nr-site .nr-area__griglia > .nr-area__blocco { margin-top: 0; }

@media (min-width: 1000px) {
	#nr-site .nr-area__griglia {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}
}

/* ---- 7.3 I tuoi dati e uscita ---- */

#nr-site #nr-dati > .nr-scheda--modulo {
	max-width: 760px;
	margin-inline: auto;
}

#nr-site .nr-modulo--dati > p:not([class]) { font-size: calc(var(--nr-u) * .98); line-height: 1.55; }

#nr-site .nr-area__esci {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}

/* ==========================================================================
   8. ORDINI
   ========================================================================== */

/* ---- 8.1 Elenco ---- */

#nr-site .nr-ordini {
	display: grid;
	gap: 28px;
	max-width: 760px;
	margin-inline: auto;
	list-style: none;
}

/* Ogni ordine è uno scontrino su carta crema, più leggero della lettera. */
#nr-site .nr-ordini__voce > .nr-scheda {
	--nr-fg: var(--nr-scuro);
	--nr-bg: var(--nr-crema);
	--nr-linea: color-mix(in srgb, var(--nr-scuro) 20%, transparent);
	justify-items: stretch;
	gap: 20px;
	max-width: none;
	border: 2px solid var(--nr-scuro);
	background: var(--nr-grana) var(--nr-crema);
	color: var(--nr-scuro);
	box-shadow: 8px 8px 0 var(--nr-scuro);
}

/* ---- 8.2 Testa ---- */

#nr-site .nr-ordini__testa {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
}

#nr-site .nr-ordini__testa h3 {
	font-size: calc(var(--nr-u) * 1.3);
	font-weight: 800;
	line-height: 1.2;
}

#nr-site .nr-ordini__data {
	font-family: var(--nr-mono);
	font-size: var(--nr-fs-mini);
	letter-spacing: .06em;
	opacity: .78;
}

/* ---- 8.3 Stato ----
   Un cartellino per stato: pieno quando è consegnato, rosa se si è fermato. */

#nr-site .nr-ordini__stato {
	margin-left: auto;
	padding: 4px 12px;
	border: 2px solid currentColor;
	border-radius: 999px;
	font-size: calc(var(--nr-u) * .74);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}

#nr-site .nr-ordini__voce--processing .nr-ordini__stato { border-color: var(--nr-verde); }

#nr-site .nr-ordini__voce--completed .nr-ordini__stato {
	border-color: var(--nr-scuro);
	background: var(--nr-scuro);
	color: var(--nr-crema);
}

#nr-site :is(.nr-ordini__voce--cancelled, .nr-ordini__voce--failed, .nr-ordini__voce--refunded) .nr-ordini__stato { color: var(--nr-accento-fondo); }

/* ---- 8.4 Righe ---- */

#nr-site .nr-ordini__righe {
	display: grid;
	list-style: none;
}

#nr-site .nr-ordini__riga {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px dashed color-mix(in srgb, var(--nr-scuro) 35%, transparent);
}

#nr-site .nr-ordini__nome { min-width: 0; font-weight: 700; }
#nr-site .nr-ordini__nome span { font-weight: 550; opacity: .7; white-space: nowrap; }

#nr-site .nr-ordini__prezzo {
	flex: none;
	font-weight: 750;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* ---- 8.5 Piede ---- */

#nr-site .nr-ordini__piede {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px 20px;
	padding-top: 16px;
	border-top: 2px solid var(--nr-scuro);
}

#nr-site .nr-ordini__piede strong {
	margin-left: 6px;
	font-size: calc(var(--nr-u) * 1.4);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   9. DOCUMENTI
   ========================================================================== */

/* ---- 9.1 Data e impaginazione ---- */

#nr-site .nr-doc__agg {
	margin-top: 18px;
	font-family: var(--nr-mono);
	font-size: var(--nr-fs-mini);
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .78;
}

#nr-site .nr-doc__corpo {
	display: grid;
	gap: 40px;
	max-width: 1120px;
	margin: clamp(40px, 6vw, 72px) auto 0;
}

@media (min-width: 1000px) {
	#nr-site .nr-doc__corpo {
		grid-template-columns: minmax(220px, 280px) minmax(0, 70ch);
		justify-content: center;
		align-items: start;
	}

	#nr-site .nr-doc__indice {
		position: sticky;
		top: calc(var(--nr-top-h) + 32px);
	}

	/* Senza indice il testo prende tutta la riga, sempre al centro. */
	#nr-site .nr-doc__corpo > .nr-doc__testo:only-child { grid-column: 1 / -1; justify-self: center; }
}

/* ---- 9.2 Indice ---- */

#nr-site .nr-doc__indice {
	padding-left: 18px;
	border-left: 2px solid var(--nr-fg);
	font-size: calc(var(--nr-u) * .92);
}

#nr-site .nr-doc__indice-t {
	font-family: var(--nr-mono);
	font-size: var(--nr-fs-mini);
	letter-spacing: .12em;
	text-transform: uppercase;
}

#nr-site .nr-doc__indice ol {
	display: grid;
	gap: 2px;
	margin-top: 12px;
	list-style: none;
	counter-reset: nr-voce;
}

#nr-site .nr-doc__indice li {
	display: flex;
	gap: 10px;
	counter-increment: nr-voce;
}

#nr-site .nr-doc__indice li::before {
	content: counter(nr-voce, decimal-leading-zero);
	padding: 5px 0;
	color: var(--nr-rame-scuro);
	font-family: var(--nr-mono);
	font-size: var(--nr-fs-mini);
	line-height: 1.9;
}

#nr-site .nr-doc__indice a {
	padding: 4px 0;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
	transition: text-decoration-color .3s;
}

@media (hover: hover) {
	#nr-site .nr-doc__indice a:hover { text-decoration-color: currentColor; }
}

/* ---- 9.3 Testo ---- */

#nr-site .nr-doc__testo {
	width: 100%;
	max-width: 70ch;
	margin-inline: auto;
	line-height: 1.65;
	text-wrap: pretty;
}

#nr-site .nr-doc__sezione { scroll-margin-top: calc(var(--nr-top-h) + 24px); }
#nr-site .nr-doc__sezione + .nr-doc__sezione { margin-top: 44px; }

#nr-site .nr-doc__sezione h2 {
	font-size: calc(var(--nr-u) * 1.5);
	font-weight: 760;
	font-stretch: 82%;
	line-height: 1.15;
	text-wrap: balance;
}

#nr-site .nr-doc__sezione :is(p, ul) { margin-top: 12px; }

#nr-site .nr-doc__sezione ul {
	display: grid;
	gap: 8px;
	list-style: none;
}

#nr-site .nr-doc__sezione ul li {
	position: relative;
	padding-left: 22px;
}

#nr-site .nr-doc__sezione ul li::before {
	content: "";
	position: absolute;
	top: .62em;
	left: 2px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--nr-rame);
}

#nr-site .nr-doc__testo a {
	font-weight: 650;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
}

#nr-site .nr-doc__testo strong { font-weight: 750; }

/* ---- 9.4 Tabelle ----
   Su schermi stretti la tabella scorre dentro il suo riquadro, che prende
   il fuoco da tastiera per poterla scorrere senza mouse. */

#nr-site .nr-doc__tabella {
	margin-top: 16px;
	overflow-x: auto;
	border: 2px solid var(--nr-fg);
	border-radius: 18px;
}

#nr-site .nr-doc__tabella:focus-visible { outline-offset: 4px; }

#nr-site .nr-doc__tabella table {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-size: calc(var(--nr-u) * .9);
	line-height: 1.45;
}

#nr-site .nr-doc__tabella :is(th, td) {
	padding: 10px 14px;
	border: 0;
	border-bottom: 1px solid var(--nr-linea);
	text-align: left;
	vertical-align: top;
}

#nr-site .nr-doc__tabella tr:last-child :is(th, td) { border-bottom: 0; }

#nr-site .nr-doc__tabella thead th {
	background: var(--nr-chiaro);
	color: var(--nr-scuro);
	font-weight: 700;
}

#nr-site .nr-doc__tabella tbody th {
	font-weight: 650;
	word-break: break-word;
}

/* ---- 9.5 Pulsante e altri documenti ---- */

#nr-site .nr-doc__azione { margin-top: 32px; }

#nr-site .nr-doc__azione .nr-btn {
	min-height: 52px;
	white-space: normal;
	text-align: center;
}

#nr-site .nr-doc__altri {
	max-width: 1120px;
	margin: clamp(56px, 8vw, 96px) auto 0;
	text-align: center;
}

#nr-site .nr-doc__altri-t {
	font-family: var(--nr-mono);
	font-size: var(--nr-fs-mini);
	letter-spacing: .12em;
	text-transform: uppercase;
}

#nr-site .nr-doc__altri ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
	list-style: none;
}

/* ==========================================================================
   10. INVIO IN CORSO
   nr-utente.js segna il modulo mentre parte, per evitare il doppio invio.
   ========================================================================== */

#nr-site .nr-modulo.is-invio [type="submit"] {
	opacity: .7;
	cursor: progress;
}

@media (hover: hover) {
	#nr-site .nr-modulo [type="submit"][aria-disabled="true"]:hover {
		transform: none;
		box-shadow: none;
	}
}

/* ==========================================================================
   11. SCHERMI STRETTI
   ========================================================================== */

@media (max-width: 899px) {
	#nr-site .nr-utente__lato { max-width: 760px; width: 100%; margin-inline: auto; }
	#nr-site .nr-doc__indice { max-width: 70ch; width: 100%; margin-inline: auto; }
}

@media (max-width: 599px) {
	#nr-site .nr-scheda--modulo { box-shadow: 7px 7px 0 var(--nr-scuro); }
	#nr-site .nr-ordini__voce > .nr-scheda { box-shadow: 5px 5px 0 var(--nr-scuro); }

	#nr-site .nr-utente .nr-modulo__invio .nr-btn {
		width: 100%;
		white-space: normal;
		text-align: center;
	}

	#nr-site .nr-modulo__invio--due { flex-direction: column; align-items: stretch; }

	#nr-site .nr-ordini__stato { margin-left: 0; }
	#nr-site .nr-ordini__piede { flex-direction: column; align-items: flex-start; }
	#nr-site .nr-ordini__piede .nr-btn { width: 100%; }

	#nr-site .nr-area__menu a { padding: 8px 14px; }
}

/* ==========================================================================
   12. MOVIMENTO RIDOTTO
   Le transizioni le azzera già la landing: qui fermo solo gli spostamenti.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	#nr-site .nr-area__menu a:hover { transform: none; }
}

#nr-site.nr-reduce .nr-area__menu a:hover { transform: none; }
