/* ==========================================================================
   landing-reclama-scheda.css — Landing /reclama-scheda/
   038b — Scope: .nia-rec (BEM prefix, zero collisione con il resto)
   Tutti i colori/typo/spacing da nia-base.css (--nia-*). Niente re-dichiarazioni.
   Mobile-first, breakpoint unico 768px.
   ========================================================================== */

/* === ASTRA OVERRIDE: full-width landing layout =============================
   Stesso pattern di homepage.css (.home #content .ast-container) e
   test-archive.css (.post-type-archive-test ...). Neutralizza la colonna
   boxed di Astra così i background delle sezioni (hero teal, sand, CTA teal)
   arrivano bordo-bordo. Scoping su .nia-page-reclama-scheda (aggiunta via
   body_class filter in landing-reclama-scheda.php) — zero leak su altre URL.
   ========================================================================== */
.nia-page-reclama-scheda #content .ast-container {
	display: block;
	max-width: 100%;
	padding: 0;
	margin: 0;
}

.nia-page-reclama-scheda #content .ast-container > #primary,
.nia-page-reclama-scheda #primary.content-area {
	max-width: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
}

/* ---------- Base / Reset ---------- */
.nia-rec {
	font-family: var(--nia-font-body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--nia-text-primary);
	-webkit-font-smoothing: antialiased;
	background: var(--nia-bg);
}

.nia-rec *,
.nia-rec *::before,
.nia-rec *::after {
	box-sizing: border-box;
}

.nia-rec a {
	color: var(--nia-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.nia-rec a:hover,
.nia-rec a:focus-visible {
	color: var(--nia-accent-dark);
}

/* ---------- Container ---------- */
.nia-rec-container {
	max-width: var(--nia-max-w);
	margin-inline: auto;
	padding-inline: var(--nia-sp-4);
}

.nia-rec-container--narrow {
	max-width: 760px;
}

/* ---------- Sezione base (ritmo verticale) ---------- */
.nia-rec-section {
	padding-block: var(--nia-sp-12);
}

@media (min-width: 768px) {
	.nia-rec-section {
		padding-block: var(--nia-sp-16);
	}
}

/* Alternanza colori — teal hero, bianco, sand, bianco, sand, teal CTA */
.nia-rec-section--hero     { background: var(--nia-teal); color: #fff; }
.nia-rec-section--modello  { background: var(--nia-card-bg); }
.nia-rec-section--benefici { background: var(--nia-bg); }
.nia-rec-section--config   { background: var(--nia-card-bg); }
.nia-rec-section--faq      { background: var(--nia-bg); }
.nia-rec-section--cta      { background: var(--nia-teal-deeper); color: #fff; }

/* ---------- Tipografia ---------- */
.nia-rec-h2 {
	font-family: var(--nia-font-heading);
	font-size: clamp(1.6rem, 3.2vw, 2.2rem);
	line-height: 1.2;
	font-weight: 700;
	margin: 0 0 var(--nia-sp-4);
	color: var(--nia-text-primary);
}

.nia-rec-h2--on-dark {
	color: #fff;
}

.nia-rec-lead {
	font-size: 1.05rem;
	max-width: 68ch;
	margin: 0 0 var(--nia-sp-8);
	color: var(--nia-text-secondary);
}

.nia-rec-section--hero .nia-rec-lead,
.nia-rec-section--cta  .nia-rec-lead {
	color: rgba(255, 255, 255, 0.9);
}

.nia-rec-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.78rem;
	font-weight: 600;
	margin: 0 0 var(--nia-sp-4);
	color: rgba(255, 255, 255, 0.82);
}

/* ---------- S1 Hero ---------- */
.nia-rec-hero__title {
	font-family: var(--nia-font-heading);
	font-size: clamp(1.9rem, 5.2vw, 3rem);
	line-height: 1.15;
	font-weight: 700;
	margin: 0 0 var(--nia-sp-5);
	color: #fff;
	max-width: 22ch;
}

.nia-rec-hero__sub {
	font-size: 1.05rem;
	line-height: 1.6;
	max-width: 58ch;
	margin: 0 0 var(--nia-sp-8);
	color: rgba(255, 255, 255, 0.92);
}

.nia-rec-hero__scroll {
	margin: var(--nia-sp-6) 0 0;
}

.nia-rec-link-secondary {
	display: inline-block;
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	text-underline-offset: 4px;
	font-weight: 500;
	min-height: 44px;
	line-height: 44px;
}

.nia-rec-section--config .nia-rec-link-secondary {
	color: var(--nia-accent);
	text-decoration-color: var(--nia-accent-light);
}

.nia-rec-link-secondary:hover,
.nia-rec-link-secondary:focus-visible {
	text-decoration-color: currentColor;
}

/* ---------- City checker ---------- */
.nia-rec-checker {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: var(--nia-radius);
	padding: var(--nia-sp-5);
	margin-block: var(--nia-sp-6);
	max-width: 560px;
	backdrop-filter: blur(4px);
}

.nia-rec-checker__label {
	display: block;
	font-weight: 600;
	font-size: 1rem;
	margin-bottom: var(--nia-sp-3);
	color: #fff;
}

.nia-rec-checker__form {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-2);
}

@media (min-width: 560px) {
	.nia-rec-checker__form {
		flex-direction: row;
	}
}

.nia-rec-checker__input {
	flex: 1 1 auto;
	min-height: 48px;
	padding: 0 var(--nia-sp-4);
	font-family: inherit;
	font-size: 1rem;
	color: var(--nia-text-primary);
	background: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: var(--nia-radius-sm);
	outline: none;
}

.nia-rec-checker__input::placeholder {
	color: var(--nia-text-muted);
}

.nia-rec-checker__input:focus-visible {
	border-color: var(--nia-cta);
	box-shadow: 0 0 0 3px rgba(240, 211, 81, 0.35);
}

.nia-rec-checker__submit {
	min-height: 48px;
	padding: 0 var(--nia-sp-6);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	color: var(--nia-cta-text);
	background: var(--nia-cta);
	border: 1px solid var(--nia-cta);
	border-radius: var(--nia-radius-sm);
	cursor: pointer;
	transition: background var(--nia-transition), border-color var(--nia-transition);
}

.nia-rec-checker__submit:hover,
.nia-rec-checker__submit:focus-visible {
	background: var(--nia-cta-hover);
	border-color: var(--nia-cta-hover);
}

.nia-rec-checker__help {
	margin: var(--nia-sp-3) 0 0;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.7);
}

.nia-rec-checker__help kbd {
	font-family: inherit;
	background: rgba(255, 255, 255, 0.18);
	padding: 1px 6px;
	border-radius: 4px;
	font-size: 0.78rem;
}

.nia-rec-checker__result {
	margin-top: var(--nia-sp-4);
	padding: var(--nia-sp-3) var(--nia-sp-4);
	border-radius: var(--nia-radius-sm);
	background: rgba(255, 255, 255, 0.95);
	color: var(--nia-text-primary);
	font-size: 0.95rem;
}

/* ---------- Trust bar ---------- */
.nia-rec-trustbar {
	list-style: none;
	margin: var(--nia-sp-8) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--nia-sp-4);
}

@media (min-width: 560px) {
	.nia-rec-trustbar {
		grid-template-columns: repeat(3, 1fr);
	}
}

.nia-rec-trustbar__item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-left: var(--nia-sp-4);
	border-left: 2px solid var(--nia-cta);
}

.nia-rec-trustbar__kpi {
	font-family: var(--nia-font-heading);
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
}

.nia-rec-trustbar__label {
	font-size: 0.88rem;
	color: rgba(255, 255, 255, 0.78);
}

/* ---------- S2 Modello — compare cards ---------- */
.nia-rec-compare {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--nia-sp-5);
	margin-top: var(--nia-sp-6);
}

@media (min-width: 768px) {
	.nia-rec-compare {
		grid-template-columns: 1fr 1fr;
		gap: var(--nia-sp-8);
	}
}

.nia-rec-compare__card {
	background: var(--nia-bg);
	border: 1px solid var(--nia-border);
	border-radius: var(--nia-radius);
	padding: var(--nia-sp-6);
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-4);
}

.nia-rec-compare__card--new {
	background: var(--nia-accent-xlight);
	border-color: var(--nia-accent-light);
}

.nia-rec-compare__head {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-2);
}

.nia-rec-compare__badge {
	display: inline-block;
	align-self: flex-start;
	font-size: 0.72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 4px 10px;
	border-radius: 999px;
}

.nia-rec-compare__badge--old {
	color: var(--nia-text-secondary);
	background: var(--nia-border);
}

.nia-rec-compare__badge--new {
	color: #fff;
	background: var(--nia-accent);
}

.nia-rec-compare__title {
	font-family: var(--nia-font-heading);
	font-size: 1.15rem;
	margin: 0;
	color: var(--nia-text-primary);
}

.nia-rec-compare__caption {
	margin: 0;
	font-size: 0.9rem;
	color: var(--nia-text-secondary);
	font-style: italic;
}

.nia-rec-compare__more {
	margin: 0;
	font-size: 0.85rem;
	color: var(--nia-text-muted);
	text-align: center;
}

/* Mock list (directory tradizionale) */
.nia-rec-mock-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.nia-rec-mock-list__row {
	display: flex;
	gap: var(--nia-sp-3);
	align-items: center;
	padding: 10px;
	background: var(--nia-card-bg);
	border: 1px solid var(--nia-border);
	border-radius: var(--nia-radius-sm);
}

.nia-rec-mock-list__row--highlight {
	opacity: 0.45;
	filter: grayscale(0.3);
}

.nia-rec-mock-list__avatar {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--nia-border);
	flex: 0 0 auto;
}

.nia-rec-mock-list__lines {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.nia-rec-mock-list__line {
	display: block;
	height: 6px;
	border-radius: 3px;
	background: var(--nia-border);
	width: 90%;
}

.nia-rec-mock-list__line--thick {
	height: 8px;
	background: var(--nia-border-light);
	width: 65%;
	background: #c9c3bd;
}

.nia-rec-mock-list__line--short {
	width: 40%;
}

/* Mock profile (NIA) */
.nia-rec-mock-profile {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-4);
	align-items: center;
	text-align: center;
	padding: var(--nia-sp-4);
	background: var(--nia-card-bg);
	border: 1px solid var(--nia-accent-light);
	border-radius: var(--nia-radius-sm);
}

.nia-rec-mock-profile__avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--nia-accent) 0%, var(--nia-accent-dark) 100%);
}

.nia-rec-mock-profile__bio {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	align-items: center;
}

.nia-rec-mock-profile__bio .nia-rec-mock-list__line {
	width: 85%;
}

.nia-rec-mock-profile__form {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-top: var(--nia-sp-3);
	border-top: 1px dashed var(--nia-border);
}

.nia-rec-mock-profile__field {
	display: block;
	height: 28px;
	border-radius: var(--nia-radius-sm);
	background: var(--nia-bg);
	border: 1px solid var(--nia-border);
}

.nia-rec-mock-profile__cta {
	display: block;
	height: 32px;
	border-radius: var(--nia-radius-sm);
	background: var(--nia-cta);
}

/* ---------- S3 Benefici ---------- */
.nia-rec-benefits {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--nia-sp-5);
	margin-top: var(--nia-sp-4);
}

@media (min-width: 768px) {
	.nia-rec-benefits {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--nia-sp-6);
	}
}

.nia-rec-benefit {
	background: var(--nia-card-bg);
	border: 1px solid var(--nia-border);
	border-radius: var(--nia-radius);
	padding: var(--nia-sp-6);
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-3);
	transition: border-color var(--nia-transition), box-shadow var(--nia-transition);
}

.nia-rec-benefit:hover {
	border-color: var(--nia-accent-light);
	box-shadow: var(--nia-shadow-md);
}

.nia-rec-benefit__icon {
	width: 44px;
	height: 44px;
	border-radius: var(--nia-radius-sm);
	background: var(--nia-accent-xlight);
	color: var(--nia-accent);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.nia-rec-benefit__icon svg {
	width: 24px;
	height: 24px;
}

.nia-rec-benefit__title {
	font-family: var(--nia-font-heading);
	font-size: 1.2rem;
	margin: 0;
	color: var(--nia-text-primary);
}

.nia-rec-benefit__body {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--nia-text-secondary);
}

/* ---------- S5 Configuratore (shell 038d) ---------- */
.nia-rec-configurator {
	margin-top: var(--nia-sp-6);
	border: 1px solid var(--nia-border);
	border-radius: var(--nia-radius);
	padding: var(--nia-sp-6) var(--nia-sp-5);
	background: var(--nia-card-bg);
	min-height: 200px;
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-4);
}

.nia-rec-configurator[data-nia-empty="true"] {
	border-style: dashed;
	background: var(--nia-bg);
}

/* Placeholder legacy 038b — non più renderizzato dal JS 038d ma lasciato
   come fallback no-JS. */
.nia-rec-configurator__placeholder {
	text-align: center;
	max-width: 440px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-3);
}

.nia-rec-configurator__placeholder-title {
	font-family: var(--nia-font-heading);
	font-size: 1.15rem;
	margin: 0;
	color: var(--nia-text-primary);
}

.nia-rec-configurator__placeholder-body {
	margin: 0;
	font-size: 0.95rem;
	color: var(--nia-text-secondary);
}

.nia-rec-configurator__placeholder-cta {
	margin: var(--nia-sp-2) 0 0;
}

/* Header */
.nia-rec-configurator__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--nia-sp-3);
	border-bottom: 1px solid var(--nia-border-light);
	padding-bottom: var(--nia-sp-3);
}

.nia-rec-configurator__title {
	font-family: var(--nia-font-heading);
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0;
	color: var(--nia-text-primary);
}

.nia-rec-configurator__clear {
	background: transparent;
	border: none;
	color: var(--nia-text-muted);
	font-size: 0.88rem;
	font-weight: 500;
	cursor: pointer;
	padding: 6px 10px;
	border-radius: var(--nia-radius-sm);
	min-height: 32px;
	transition: color var(--nia-transition), background var(--nia-transition);
}
.nia-rec-configurator__clear:hover,
.nia-rec-configurator__clear:focus-visible {
	color: var(--nia-accent-dark);
	background: var(--nia-accent-xlight);
}

/* Autocomplete add */
.nia-rec-configurator__add {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-2);
}

.nia-rec-configurator__add-label {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--nia-text-secondary);
	letter-spacing: 0.02em;
}

.nia-rec-configurator__search {
	position: relative;
}

.nia-rec-configurator__search-input {
	width: 100%;
	min-height: 44px;
	padding: 10px 14px;
	font: inherit;
	font-size: 1rem;
	color: var(--nia-text-primary);
	background: #fff;
	border: 1px solid var(--nia-border);
	border-radius: var(--nia-radius-sm);
	box-shadow: none;
	transition: border-color var(--nia-transition), box-shadow var(--nia-transition);
}
.nia-rec-configurator__search-input:focus-visible {
	outline: none;
	border-color: var(--nia-accent);
	box-shadow: 0 0 0 3px var(--nia-accent-xlight);
}
.nia-rec-configurator__search-input::placeholder {
	color: var(--nia-text-muted);
}

.nia-rec-configurator__add-help {
	margin: 0;
	font-size: 0.82rem;
	color: var(--nia-text-muted);
}

/* Dropdown suggerimenti */
.nia-rec-configurator__suggest {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	list-style: none;
	margin: 0;
	padding: 4px;
	background: #fff;
	border: 1px solid var(--nia-border);
	border-radius: var(--nia-radius-sm);
	box-shadow: var(--nia-shadow-md);
	max-height: 280px;
	overflow-y: auto;
	z-index: 20;
}

.nia-rec-configurator__suggest-item {
	display: flex;
	align-items: center;
	gap: var(--nia-sp-3);
	padding: 10px 12px;
	min-height: 44px;
	border-radius: var(--nia-radius-sm);
	cursor: pointer;
	color: var(--nia-text-primary);
	font-size: 0.96rem;
	transition: background var(--nia-transition);
}
.nia-rec-configurator__suggest-item.is-active,
.nia-rec-configurator__suggest-item:hover {
	background: var(--nia-accent-xlight);
}
.nia-rec-configurator__suggest-item.is-disabled {
	cursor: not-allowed;
	opacity: 0.6;
}
.nia-rec-configurator__suggest-city {
	flex: 1;
	font-weight: 500;
}
.nia-rec-configurator__suggest-price {
	font-size: 0.88rem;
	color: var(--nia-accent-dark);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.nia-rec-configurator__suggest-badge {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--nia-text-muted);
	background: var(--nia-bg);
	padding: 2px 8px;
	border-radius: 999px;
}
.nia-rec-configurator__suggest-empty {
	padding: 12px;
	font-size: 0.9rem;
	color: var(--nia-text-muted);
	text-align: center;
	cursor: default;
}

/* Empty state (nessuna città selezionata) */
.nia-rec-configurator__empty {
	text-align: center;
	padding: var(--nia-sp-5) var(--nia-sp-3);
	color: var(--nia-text-secondary);
}
.nia-rec-configurator__empty p {
	margin: 0 0 var(--nia-sp-2);
}
.nia-rec-configurator__empty-hint {
	font-size: 0.9rem;
	color: var(--nia-text-muted);
}

/* Items list */
.nia-rec-configurator__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.nia-rec-configurator__item {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: var(--nia-sp-3);
	padding: 10px 12px;
	background: #fff;
	border: 1px solid var(--nia-border-light);
	border-radius: var(--nia-radius-sm);
	transition: background var(--nia-transition), box-shadow var(--nia-transition);
}

.nia-rec-configurator__item.is-pulse {
	background: var(--nia-accent-xlight);
	box-shadow: 0 0 0 2px var(--nia-accent-light);
}

.nia-rec-configurator__item-city {
	font-weight: 500;
	color: var(--nia-text-primary);
}

.nia-rec-configurator__item-price {
	font-size: 0.95rem;
	color: var(--nia-accent-dark);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.nia-rec-configurator__item-remove {
	background: transparent;
	border: 1px solid transparent;
	color: var(--nia-text-muted);
	font-size: 1.35rem;
	line-height: 1;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color var(--nia-transition), background var(--nia-transition), border-color var(--nia-transition);
}
.nia-rec-configurator__item-remove:hover,
.nia-rec-configurator__item-remove:focus-visible {
	color: #b71c1c;
	background: #fdecea;
	border-color: #f5c0bb;
	outline: none;
}

/* Footer: total + CTA + warning */
.nia-rec-configurator__footer {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-3);
	padding-top: var(--nia-sp-3);
	border-top: 1px solid var(--nia-border-light);
}

.nia-rec-configurator__total {
	font-size: 1.02rem;
	color: var(--nia-text-secondary);
}
.nia-rec-configurator__total-count {
	font-weight: 600;
	color: var(--nia-text-primary);
}
.nia-rec-configurator__total-amount {
	font-weight: 700;
	color: var(--nia-accent-dark);
	font-variant-numeric: tabular-nums;
}

.nia-rec-configurator__cta {
	min-height: 52px;
	width: 100%;
	font-size: 1rem;
	font-weight: 600;
}
.nia-rec-configurator__cta[disabled],
.nia-rec-configurator__cta[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
}

.nia-rec-configurator__warning {
	margin: 0;
	font-size: 0.88rem;
	color: var(--nia-text-muted);
	text-align: center;
}

/* Notice (toast inline, success/error) */
.nia-rec-configurator__notice {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-2);
	align-items: flex-start;
	padding: 12px 14px;
	border-radius: var(--nia-radius-sm);
	font-size: 0.92rem;
	background: var(--nia-bg);
	border: 1px solid var(--nia-border-light);
	color: var(--nia-text-secondary);
}
.nia-rec-configurator__notice--error {
	background: #fdecea;
	border-color: #f5c0bb;
	color: #8a1f1a;
}
.nia-rec-configurator__notice--success {
	background: var(--nia-accent-xlight);
	border-color: var(--nia-accent-light);
	color: var(--nia-accent-dark);
}
.nia-rec-configurator__notice-msg {
	margin: 0;
}

@media (min-width: 768px) {
	.nia-rec-configurator {
		padding: var(--nia-sp-8) var(--nia-sp-6);
	}
	.nia-rec-configurator__footer {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	.nia-rec-configurator__total {
		order: 1;
	}
	.nia-rec-configurator__cta {
		order: 2;
		width: auto;
		min-width: 280px;
	}
	.nia-rec-configurator__warning {
		order: 3;
		flex-basis: 100%;
		text-align: right;
	}
}

/* ---------- S6 FAQ ---------- */
.nia-rec-faq {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-3);
	margin-top: var(--nia-sp-4);
}

.nia-rec-faq__item {
	background: var(--nia-card-bg);
	border: 1px solid var(--nia-border);
	border-radius: var(--nia-radius-sm);
	transition: border-color var(--nia-transition), box-shadow var(--nia-transition);
}

.nia-rec-faq__item[open] {
	border-color: var(--nia-accent-light);
	box-shadow: var(--nia-shadow-sm);
}

.nia-rec-faq__q {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--nia-sp-3);
	padding: var(--nia-sp-4) var(--nia-sp-5);
	min-height: 56px;
	font-family: var(--nia-font-body);
	font-size: 1rem;
	font-weight: 600;
	color: var(--nia-text-primary);
}

.nia-rec-faq__q::-webkit-details-marker {
	display: none;
}

.nia-rec-faq__q-text {
	flex: 1 1 auto;
}

.nia-rec-faq__chevron {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	border-right: 2px solid var(--nia-accent);
	border-bottom: 2px solid var(--nia-accent);
	transform: rotate(45deg);
	transition: transform var(--nia-transition);
	margin-top: -4px;
}

.nia-rec-faq__item[open] .nia-rec-faq__chevron {
	transform: rotate(-135deg);
	margin-top: 4px;
}

.nia-rec-faq__a {
	padding: 0 var(--nia-sp-5) var(--nia-sp-5);
}

.nia-rec-faq__a p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.6;
	color: var(--nia-text-secondary);
}

/* ---------- S7 CTA finale ---------- */
.nia-rec-cta-final {
	text-align: center;
}

.nia-rec-cta-final__body {
	font-size: 1.05rem;
	margin: 0 0 var(--nia-sp-6);
	color: rgba(255, 255, 255, 0.92);
	max-width: 58ch;
	margin-inline: auto;
}

.nia-rec-cta-final__actions {
	margin: 0;
}

.nia-rec-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 var(--nia-sp-8);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	border-radius: var(--nia-radius-sm);
	text-decoration: none;
	cursor: pointer;
	transition: background var(--nia-transition), color var(--nia-transition), transform var(--nia-transition);
}

.nia-rec-btn--primary {
	background: var(--nia-cta);
	color: var(--nia-cta-text);
	border: 1px solid var(--nia-cta);
}

.nia-rec-btn--primary:hover,
.nia-rec-btn--primary:focus-visible {
	background: var(--nia-cta-hover);
	border-color: var(--nia-cta-hover);
	color: var(--nia-cta-text);
	transform: translateY(-1px);
}

/* ============================================================
 * 038c — City checker: stati risultato (libera / reclamata / not-found)
 * Popolato dal JS in landing-reclama-scheda.js tramite innerHTML.
 * ============================================================ */
.nia-rec-checker__result[data-state] {
	display: flex;
	flex-direction: column;
	gap: var(--nia-sp-3);
}

.nia-rec-checker__result[data-state="loading"] {
	color: var(--nia-text-secondary, #555);
	font-style: italic;
}

.nia-rec-checker__msg {
	margin: 0;
	line-height: 1.45;
}

.nia-rec-checker__msg--ok { color: var(--nia-accent-dark); }
.nia-rec-checker__msg--info { color: var(--nia-text-primary); }
.nia-rec-checker__msg--muted { color: var(--nia-text-secondary, #666); }
.nia-rec-checker__msg--error { color: #b00020; }

.nia-rec-checker__msg a {
	color: var(--nia-accent-dark);
	text-decoration: underline;
}

.nia-rec-checker__price {
	display: inline-block;
	margin-left: var(--nia-sp-2);
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--nia-accent-xlight);
	color: var(--nia-accent-dark);
	font-size: 0.85rem;
	font-weight: 600;
	white-space: nowrap;
}

.nia-rec-checker__actions {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--nia-sp-2);
}

.nia-rec-checker__chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--nia-sp-2);
}

.nia-rec-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--nia-sp-2);
	min-height: 44px;
	padding: 0 var(--nia-sp-4);
	font: inherit;
	font-weight: 600;
	color: var(--nia-accent-dark);
	background: #fff;
	border: 1px solid var(--nia-accent-light);
	border-radius: 999px;
	cursor: pointer;
	transition: background var(--nia-transition), border-color var(--nia-transition), transform var(--nia-transition);
}

.nia-rec-chip:hover,
.nia-rec-chip:focus-visible {
	background: var(--nia-accent-xlight);
	border-color: var(--nia-accent);
	transform: translateY(-1px);
}

.nia-rec-chip__price {
	font-weight: 500;
	font-size: 0.82rem;
	color: var(--nia-text-secondary, #555);
}

