/*
Theme Name: Soluzione Ufficio
Theme URI: https://soluzione-ufficio.com
Author: Soluzione Ufficio
Description: Tema a blocchi per il sito di Soluzione Ufficio: vetrina, servizi, blog e negozio di prodotti ricondizionati.
Version: 1.3.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: soluzione-ufficio
*/

/* ---------- Base ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
.su-main > * + *,
.su-main .wp-block-post-content > * { margin-block-start: 0; }
.su-main .wp-block-post-content.su-prose > * + * { margin-block-start: 1.25rem; }

:where(a):focus-visible,
:where(button):focus-visible,
:where(summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
}

/* ---------- Header ---------- */
.su-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	border-bottom: 1px solid #e3e8ee;
}
.admin-bar .su-header { top: 32px; }
.su-header img { display: block; height: 56px; width: auto; }
.su-header .wp-block-navigation a { text-decoration: none; }
.su-header .wp-block-navigation a:hover { color: var(--wp--preset--color--teal-dark); }
@media (max-width: 782px) {
	.admin-bar .su-header { top: 46px; }
	.su-header .su-header-cta { display: none; }
	.su-header img { height: 44px; }
}

/* ---------- Sezioni ---------- */
.su-section { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.su-hero {
	padding-block: clamp(3rem, 8vw, 6rem);
	background-color: var(--wp--preset--color--navy);
	background-image: url("assets/img/pattern-circuit.svg");
	background-size: cover;
	background-position: center;
}
.su-hero--page { padding-block: clamp(2.5rem, 5vw, 4rem); }
.su-hero--page h1 { margin-bottom: 0.75rem; }
.su-hero img { display: block; max-width: 100%; height: auto; }
.su-trust { padding-block: 1.75rem; }
.su-cta { padding-block: clamp(2.5rem, 5vw, 3.5rem); text-align: center; }

/* Testo chiaro su sfondi scuri */
.su-on-dark h1, .su-on-dark h2, .su-on-dark h3, .su-on-dark h4 { color: #fff; }
.su-on-dark p, .su-on-dark li { color: #e4eefa; }
.su-on-dark a:not(.wp-block-button__link) { color: #fff; }
.su-on-dark .is-style-outline .wp-block-button__link {
	color: #fff;
	border-color: #fff;
	background: transparent;
}
.su-on-dark .is-style-outline .wp-block-button__link:hover {
	background: #fff;
	color: var(--wp--preset--color--navy);
}

/* ---------- Icone e schede ---------- */
.su-icon {
	display: block;
	width: 40px;
	height: 40px;
	color: var(--wp--preset--color--teal-dark);
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.su-icon--sm { width: 32px; height: 32px; }
.su-card {
	position: relative;
	height: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 12px;
	padding: 1.5rem;
	transition: border-color 0.2s ease;
}
.su-card:hover { border-color: var(--wp--preset--color--teal); }
.su-card h3 { margin: 0.75rem 0 0.5rem; }
.su-card h3 a { text-decoration: none; color: var(--wp--preset--color--navy); }
.su-card h3 a::after { content: ""; position: absolute; inset: 0; }
.su-card p { margin: 0; color: var(--wp--preset--color--grey); }
.su-card .wp-block-buttons { margin-top: 1rem; }

.su-trust .wp-block-column { display: flex; align-items: center; gap: 0.9rem; }
.su-trust p { margin: 0; font-size: 0.9375rem; line-height: 1.4; }
.su-trust strong { color: var(--wp--preset--color--navy); }

.su-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--teal-dark);
	color: #fff;
	font-weight: 700;
	margin: 0;
}

/* ---------- FAQ ---------- */
.wp-block-details {
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 10px;
	padding: 1rem 1.25rem;
}
.wp-block-details summary { cursor: pointer; font-weight: 500; color: var(--wp--preset--color--navy); }
.wp-block-details[open] summary { margin-bottom: 0.5rem; }

/* ---------- Footer ---------- */
.su-footer { padding-block: 3rem 1.5rem; }
.su-footer img { display: block; height: 64px; width: auto; }
.su-footer ul { list-style: none; padding: 0; margin: 0; }
.su-footer li { margin: 0.4rem 0; }
.su-footer a { text-decoration: none; }
.su-footer a:hover { text-decoration: underline; }
.su-footer h3 { font-size: 1rem; margin: 0 0 0.75rem; }
.su-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.2); margin-top: 2rem; padding-top: 1.25rem; }
.su-footer-bottom p { font-size: 0.8125rem; margin: 0; }

/* ---------- Dati azienda (shortcode) ---------- */
.su-dato { margin: 0 0 0.4rem; }
.su-dato--vuoto { font-size: 0.8125rem; opacity: 0.8; }

/* ---------- Blog (base, da rifinire) ---------- */
.su-main .wp-block-post-template .wp-block-post-title { font-size: 1.25rem; margin: 0.5rem 0; }
.su-main .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--navy); }

@media (prefers-reduced-motion: reduce) {
	.su-card { transition: none; }
}
