/*
Theme Name: Kinetonos Style
Description: Tema a blocchi leggero e senza !important, pensato per essere personalizzato dall'Editor del sito. Palette verde-salvia con accento rame, titoli Playfair Display e testo Lato. Include pattern generici per pagine a sezioni (hero, schede, livelli, FAQ, invito all'azione). Nessun titolo di pagina visibile per impostazione predefinita.
Version: 0.8.0
Requires at least: 6.5
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: kinetonos-style
Tags: e-commerce, full-site-editing, block-patterns, custom-colors, wide-blocks, accessibility-ready, one-column
*/

/* Gli stili principali vivono in theme.json. Qui solo ciò che theme.json non esprime.
   Nessun !important: tutto si può sovrascrivere dal CSS aggiuntivo o da un tema child. */

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

.wp-block-button__link,
.wp-element-button {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-element-button {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 2px solid var(--wp--preset--color--ink);
	padding: 12px 24px;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-element-button:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

/* Niente scorrimento laterale: le landing con elementi a 100vw o fuori misura
   non devono far muovere la pagina in orizzontale (clip non rompe lo sticky). */
html,
body {
	overflow-x: clip;
}

/* Contenuti vecchi (articoli e pagine): nulla deve superare la larghezza dello schermo.
   Immagini, video e didascalie con larghezza fissa si adattano; tabelle e codice
   scorrono dentro il proprio riquadro; gli indirizzi lunghi vanno a capo. */
.wp-block-post-content {
	overflow-wrap: break-word;
}

.wp-block-post-content :where(img, video, iframe, embed, object, figure, .wp-caption) {
	max-width: 100%;
}

.wp-block-post-content :where(img, video) {
	height: auto;
}

.wp-block-post-content :where(pre) {
	max-width: 100%;
	overflow-x: auto;
}

.wp-block-post-content :where(table) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

/* Linea sotto il titolo dell'articolo, con un po' di spazio dopo */
.kn-title-rule {
	color: var(--wp--preset--color--teal);
	opacity: 0.45;
	margin-block: 16px 28px;
}

/* Titoli di sezione su telefono: meno spaziatura tra le lettere */
@media (max-width: 600px) {
	.wp-site-blocks h2 {
		letter-spacing: 0.06em;
	}
}

/* Sezioni a fascia */
.kn-section {
	padding-top: clamp(3rem, 7vw, 4.5rem);
	padding-bottom: clamp(3rem, 7vw, 4.5rem);
	padding-left: 24px;
	padding-right: 24px;
}

.kn-header {
	padding: 20px 24px;
}

.kn-header .wp-block-site-title a {
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}

/* Schede con bordo */
.kn-card {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 22px;
	padding: 28px;
	background: var(--wp--preset--color--white);
}

.kn-card--featured {
	border: 3px solid var(--wp--preset--color--ink);
}

.kn-card--dark {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--ink);
}

/* Etichette e sovratitoli */
.kn-eyebrow {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal);
	margin-bottom: 18px;
}

.kn-badge {
	display: inline-block;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 6px 14px;
}

.kn-price {
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
	margin: 0;
}

.kn-step-number {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--teal);
	margin: 0;
}

.kn-step {
	border-top: 3px solid var(--wp--preset--color--ink);
	padding-top: 18px;
}

/* FAQ con il blocco Dettagli */
.wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 4px 0;
}

.wp-block-details summary {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.4;
	cursor: pointer;
	padding: 16px 0;
	min-height: 48px;
}

/* Navigazione */
.wp-block-navigation a {
	text-decoration: none;
	font-weight: 700;
}

/* Menu aperto su telefono: margine laterale, il testo non tocca il bordo */
.kn-header .wp-block-navigation__responsive-container.is-menu-open {
	padding-top: 20px;
	padding-right: 28px;
	padding-bottom: 28px;
	padding-left: 28px;
}

.kn-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
}
