/* Pistoia Oro — catalogo vetrina, richiesta info, recensioni.
   Usa i token del tema Impreza (colori, ombra, raggi); gli input ereditano lo stile nativo.
   Niente colori/raggi inventati: solo var(--color-content-*) e var(--box-shadow). */

.po-box { margin: 1.5rem 0; }
.po-where { margin-bottom: .75rem; }
.po-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1rem; }
.po-btn-tel, .po-btn-wa, .po-btn-outline { box-shadow: inset 0 0 0 2px currentColor; }
.po-details { border: 1px solid rgba(0, 0, 0, .12); border-radius: 1rem; padding: 0 1.25rem; }
.po-details > summary { cursor: pointer; font-weight: 600; padding: 1rem 0; }
.po-details[open] { padding-bottom: 1.25rem; }
.po-price-label { font-size: .95em; font-weight: 600; }
.po-loop-btn { margin-top: .5rem; }

/* Filtro categorie: pillole con l'accento del tema */
.po-cats { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.25rem 0 1.5rem; width: 100%; }
.po-cats a {
	padding: .45rem 1.1rem;
	border-radius: 2rem;
	border: 2px solid var(--color-content-primary, #ff8f19);
	color: var(--color-content-primary, #ff8f19);
	font-weight: 600;
	text-decoration: none;
}
.po-cats a[aria-current="page"] { background: var(--color-content-primary, #ff8f19); color: var(--color-content-bg, #fff); }

/* Modulo richiesta info — gli input ereditano bordo, raggio e tipografia del tema */
.po-form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.po-form p { margin: 0 0 .9rem; }
.po-form .po-full { grid-column: 1 / -1; }
.po-form label { display: block; font-weight: 600; margin-bottom: .3rem; }
.po-form input[type="text"], .po-form input[type="tel"], .po-form input[type="email"], .po-form select, .po-form textarea { width: 100%; }
.po-form input[type="checkbox"] { appearance: auto; -webkit-appearance: checkbox; width: 1.1em; height: 1.1em; vertical-align: -.15em; }
.po-form .po-privacy label { font-weight: 400; font-size: .9em; }
.po-form .po-privacy input { margin-right: .4rem; }
.po-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.po-alert { padding: .8rem 1rem; border-radius: .3rem; font-weight: 600; }
.po-alert--ok { background: var(--color-content-primary-faded, rgba(255, 143, 25, .15)); color: var(--color-content-heading, #000); }
.po-alert--err { background: #fdecea; color: #8a1c13; }

/* Recensioni: card come le altre del sito (ombra e raggio del tema) */
.po-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.po-review-card {
	background: var(--color-content-bg, #fff);
	border-radius: 1rem;
	padding: 1.5rem;
	box-shadow: var(--box-shadow, 0 5px 15px rgba(0, 0, 0, .15));
	text-align: center;
}
.po-review-g { width: 2.75rem; height: 2.75rem; margin: 0 auto .75rem; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 1.4rem; color: #fff; background: #4285f4; }
.po-review-name { font-size: 1.15rem; margin-bottom: .25rem; }
.po-review-addr { font-size: .9em; opacity: .8; }

@media (max-width: 600px) {
	.po-form { grid-template-columns: 1fr; }
	.po-actions .w-btn { flex: 1 1 100%; text-align: center; }
}
.po-richiesta, #richiesta-info-box { scroll-margin-top: 140px; }

/* Catalogo in aggiornamento (articoli non ancora caricati) */
.po-catalog-updating {
	text-align: center;
	padding: clamp(1.5rem, 5vw, 3rem) 1rem;
	font-size: 1.05em;
	opacity: .85;
}
