/* Stili minimi del plugin: mettono le cose al loro posto e nient'altro.
   Colori e caratteri li decide il tema — queste classi sono fatte per essere sovrascritte. */

.abn-regalo {
	margin: 0 0 20px;
	padding: 16px 18px;
	border: 1px dashed currentColor;
	border-radius: 14px;
	opacity: 0.85;
}
.abn-regalo.attivo { border-style: solid; opacity: 1; }

.abn-regalo__titolo { margin: 0 0 10px; font-weight: 600; }
.abn-regalo__nota { margin: 0 0 12px; font-weight: 600; }

.abn-regalo__scelte {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 12px;
}
.abn-regalo__scelta {
	display: grid;
	gap: 4px;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	color: inherit;
	border: 1px solid rgba(128, 128, 128, 0.35);
	border-radius: 12px;
}
.abn-regalo__scelta:hover { border-color: currentColor; }
.abn-regalo__scelta img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.abn-regalo__scelta .nome { font-weight: 600; font-size: 0.92em; }
.abn-regalo__scelta .valore { font-size: 0.8em; opacity: 0.7; }

.abn-regalo__tag {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 7px;
	border-radius: 999px;
	font-size: 0.72em;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border: 1px solid currentColor;
}

/* ---------- recensioni ---------- */
.abn-rec__stelle { color: #f5a623; letter-spacing: 0.06em; white-space: nowrap; }
.abn-rec__vuote { color: rgba(128, 128, 128, 0.35); }

.abn-rec-sintesi,
.abn-rec-mini {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.9em;
	margin: 0 0 10px;
}
.abn-rec-mini { font-size: 0.82em; margin: 4px 0; }
.abn-rec-sintesi span,
.abn-rec-mini span { opacity: 0.7; }

.abn-rec__testa {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}
.abn-rec__testa strong { font-size: 1.5em; }

.abn-rec__elenco { display: grid; gap: 18px; }

.abn-rec__voce h4 { margin: 8px 0 4px; }
.abn-rec__voce p { margin: 0 0 8px; }
.abn-rec__voce footer { font-size: 0.85em; opacity: 0.75; }

.abn-rec__ok {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	font-size: 0.86em;
	border: 1px solid currentColor;
}

/* La risposta del negozio conta quanto la recensione: chi legge guarda come si risponde
   a una lamentela per capire con chi ha a che fare. */
.abn-rec__risposta {
	margin-top: 10px;
	padding: 10px 14px;
	border-left: 3px solid currentColor;
	background: rgba(128, 128, 128, 0.07);
}
.abn-rec__risposta strong { display: block; font-size: 0.82em; margin-bottom: 2px; }
.abn-rec__risposta p { margin: 0; font-size: 0.92em; }

/* ---------- fascia di testimonianze ----------
   Scorre in orizzontale con lo scroll nativo: nessuna libreria, funziona col dito sul
   telefono e con la rotella sul desktop, e non si rompe se il JavaScript non parte. */
.abn-testi { overflow: hidden; }
.abn-testi__pista {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 4px 16px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.abn-testi__voce {
	flex: 0 0 min(320px, 82vw);
	scroll-snap-align: start;
	margin: 0;
	padding: 18px 20px;
	border: 1px solid rgba(128, 128, 128, 0.25);
	border-radius: 16px;
	display: grid;
	gap: 10px;
	align-content: start;
}
.abn-testi__voce blockquote {
	margin: 0;
	font-size: 1.02em;
	line-height: 1.45;
	quotes: "\201C" "\201D";
}
.abn-testi__voce blockquote::before { content: open-quote; opacity: 0.4; }
.abn-testi__voce blockquote::after { content: close-quote; opacity: 0.4; }
.abn-testi__voce figcaption { font-size: 0.85em; opacity: 0.75; }
.abn-testi__voce figcaption a { color: inherit; }
