/*
Theme Name: Pilates in Italy 2026
Theme URI: https://pilatesinitaly.basipilates.it/
Description: Tema a blocchi del redesign 2026, senza page builder. Le parti dinamiche (catalogo, lezione, preferiti) arrivano dal plugin "Pilates in Italy – Lezioni".
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: pilatesinitaly-2026
*/

/* Base ------------------------------------------------------------------ */

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { height: auto; max-width: 100%; }
/* Intestazione, contenuto e piè di pagina attaccati, senza lo spazio automatico tra i blocchi. */
.wp-site-blocks > * + * { margin-block-start: 0; }
/* Il piè di pagina resta in fondo anche sulle pagine corte. */
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > .pii-main { flex: 1 0 auto; }
.pii-main { min-height: 50vh; }

h1, h2, .wp-block-post-title { font-weight: 300; }
.pii-trattino::before {
	background: var(--wp--preset--color--primario);
	content: "";
	display: block;
	height: 2px;
	margin-bottom: 26px;
	width: 38px;
}

.pii-sezione { padding-bottom: clamp(3.5rem, 7vw, 6.5rem); padding-top: clamp(3.5rem, 7vw, 6.5rem); }
.pii-sezione--prima { padding-top: clamp(2rem, 4vw, 3.5rem); }
.pii-sezione--coda { padding-top: 0; }
.pii-sezione--bianca { background: var(--wp--preset--color--bianco); }
.pii-sezione > .pii-dopo,
.pii-sezione > * + .wp-block-pii-recenti { margin-top: clamp(4rem, 8vw, 7rem); }
.pii-foto-tonda img { border-radius: 18px; display: block; width: 100%; }

/* Pulsanti --------------------------------------------------------------- */

.wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--testo); }
.pii-bottone-play .wp-block-button__link::before {
	border-bottom: 6px solid transparent;
	border-left: 9px solid currentColor;
	border-top: 6px solid transparent;
	content: "";
	display: inline-block;
	margin-right: 12px;
	vertical-align: -1px;
}
.pii-bottone-chiaro .wp-block-button__link { background: #fff !important; color: var(--wp--preset--color--notte) !important; }
.pii-bottone-chiaro .wp-block-button__link:hover { background: var(--wp--preset--color--rosa-chiaro) !important; }

/* Home: hero ------------------------------------------------------------- */

.pii-hero { overflow: hidden; padding-top: clamp(2rem, 6vw, 5.5rem); }
.pii-hero__colonne { gap: clamp(1rem, 3vw, 2.5rem) !important; margin-bottom: 0; }
.pii-hero__testo { padding-bottom: clamp(2rem, 5vw, 4.5rem); }
.pii-hero__piccolo,
.pii-hero__medio {
	color: #6c797f !important;
	font-family: var(--wp--preset--font-family--raleway);
	font-size: clamp(2.4rem, 5.2vw, 4.6rem);
	font-weight: 200;
	letter-spacing: .01em;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}
.pii-hero__grande {
	color: var(--wp--preset--color--primario) !important;
	font-size: clamp(4.3rem, 11.6vw, 11.2rem);
	font-weight: 300;
	letter-spacing: -.01em;
	line-height: .9;
	margin: .03em 0 .06em -.05em !important;
	text-transform: uppercase;
	white-space: nowrap;
}
.pii-hero__medio { margin-top: 0 !important; }
.pii-hero__intro { color: var(--wp--preset--color--testo-secondario); font-size: 1.0625rem; line-height: 1.75; margin-top: 2.25rem !important; max-width: 30em; }
.pii-hero__bottoni { gap: 14px; margin-top: 2.25rem !important; }
.pii-hero__figura { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; }
.pii-hero__figura figure { margin: 0; }
/* La foto ha già lo stesso grigio di fondo del sito (#F5F5F5), quindi si fonde da sola. */
.pii-hero__figura img { display: block; margin-left: auto; max-height: 720px; object-fit: contain; width: 100%; }

/* Home: il portale ------------------------------------------------------- */

.pii-intro { gap: clamp(1.5rem, 8vw, 9rem) !important; }
.pii-intro h2 { font-size: clamp(2rem, 3.3vw, 3rem); margin-bottom: 0; }
.pii-intro p { font-size: 1.0625rem; line-height: 1.85; }
.pii-intro__basi { border-top: 1px solid var(--wp--preset--color--bordo); gap: 1.4rem !important; margin-top: 2.5rem !important; padding-top: 2.25rem; }
.pii-intro__basi figure { flex: none; margin: 0; }
.pii-intro__basi p { font-size: .875rem; line-height: 1.6; margin: 0; }

/* Home: una crescita continua ------------------------------------------- */

.pii-crescita { background: var(--wp--preset--color--notte); color: rgba(255, 255, 255, .82); }
.pii-crescita h2, .pii-crescita h3 { color: #fff; }
.pii-crescita h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); }
.pii-crescita .pii-trattino::before { background: rgba(255, 255, 255, .55); }
.pii-crescita p { color: rgba(255, 255, 255, .8); font-size: 1rem; line-height: 1.8; }
.pii-crescita__colonne { gap: clamp(2rem, 6vw, 6rem) !important; }
.pii-crescita__voci { border-top: 1px solid rgba(255, 255, 255, .22); }
.pii-crescita__voce { border-bottom: 1px solid rgba(255, 255, 255, .22); display: grid; gap: 1.25rem; grid-template-columns: minmax(0, .9fr) minmax(0, 1.6fr); margin: 0 !important; padding: 1.75rem 0; }
.pii-crescita__voce h3 { font-family: var(--wp--preset--font-family--raleway); font-size: 1.55rem; font-weight: 400; line-height: 1.3; margin: 0; }
.pii-crescita__voce p { font-size: .9375rem; line-height: 1.7; margin: 0; }

/* Home: maestri ---------------------------------------------------------- */

.pii-maestri { gap: clamp(2rem, 7vw, 6rem) !important; }
.pii-maestri h2 { font-size: clamp(2.2rem, 3.8vw, 3.2rem); }
.pii-maestri p { font-size: 1.0625rem; line-height: 1.85; }
.pii-maestri .wp-block-pii-insegnanti { margin-top: 2.25rem; }

/* Pagine interne --------------------------------------------------------- */

.pii-testata-pagina { padding-bottom: clamp(2rem, 4vw, 3rem); padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.pii-testata-pagina h1, .pii-testata-pagina .wp-block-query-title { font-size: clamp(2.5rem, 5vw, 4rem); margin: 0; }
.pii-testata-pagina__sopra { font-size: .875rem; margin: 0 0 1.5rem; }
.pii-testata-pagina__sopra a { color: var(--wp--preset--color--testo-secondario); text-decoration: none; }
.pii-testata-pagina__sopra a::after { content: " ›"; }
/*
 * Il testo introduttivo parte sotto il titolo: il riquadro è largo quanto il titolo (1240px al massimo,
 * centrato come lui) e il margine destro accorcia le righe a circa 44em.
 * border-box è indispensabile: senza, il margine si somma alla larghezza e il testo finisce sul bordo sinistro.
 */
.pii-testata-pagina > .pii-attacco,
.pii-testata-pagina > .wp-block-term-description {
	box-sizing: border-box;
	color: var(--wp--preset--color--testo-secondario);
	font-size: 1.125rem;
	line-height: 1.75;
	margin-top: 1.25rem;
	max-width: 1240px !important;
	padding-right: max(0px, calc(min(1240px, 100%) - 44em));
}
.pii-testata-pagina + .pii-sezione { padding-top: clamp(1rem, 2vw, 1.5rem); }
/* Termini e condizioni: partono sotto il titolo con righe corte, come l'attacco. Niente sfondi: il padding li allargherebbe a 1240px. */
.pii-legale > * {
	box-sizing: border-box;
	max-width: 1240px !important;
	padding-right: max(0px, calc(min(1240px, 100%) - 46rem));
}
.pii-legale h2 { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin-bottom: .85rem; margin-top: 2.75rem; scroll-margin-top: 90px; }
.pii-legale p, .pii-legale li { color: var(--wp--preset--color--testo); font-size: 1rem; line-height: 1.75; }
.pii-legale p { margin-bottom: 1rem; margin-top: 0; }
.pii-legale ol, .pii-legale ul { margin-bottom: 1rem; margin-top: 0; padding-left: 1.25rem; }
.pii-legale li + li { margin-top: .35rem; }
.pii-legale > .pii-bozza,
.pii-legale > .pii-legale__modulo { border-left: 3px solid var(--wp--preset--color--primario); padding-left: 1rem; }
.pii-legale > .pii-bozza { margin-bottom: 2rem; }
.pii-legale > .pii-legale__modulo { list-style: none; }
.pii-legale > .pii-legale__modulo-titolo { margin-bottom: .6rem; margin-top: 1.75rem; }
.pii-legale__indice li { font-size: .9375rem; }
.pii-legale__indice a { color: inherit; }
.pii-legale > .pii-legale__data { color: var(--wp--preset--color--testo-secondario); font-size: .875rem; margin-top: 2.75rem; }
.pii-legale h3 { font-size: 1.125rem; margin-bottom: .5rem; margin-top: 1.75rem; }
.pii-legale__tabella { margin: 0 0 1.25rem; }
.pii-legale__tabella table { border-collapse: collapse; font-size: .9375rem; width: 100%; }
.pii-legale__tabella th, .pii-legale__tabella td { border: 0; border-bottom: 1px solid var(--wp--preset--color--bordo); color: var(--wp--preset--color--testo); line-height: 1.55; padding: .7rem 1rem .7rem 0; text-align: left; vertical-align: top; }
.pii-legale__tabella thead { border: 0; }
.pii-legale__tabella th { font-weight: 600; }
@media (max-width: 700px) {
	.pii-legale__tabella thead { display: none; }
	.pii-legale__tabella tr { border-bottom: 1px solid var(--wp--preset--color--bordo); display: block; padding: .7rem 0; }
	.pii-legale__tabella td { border: 0; display: block; padding: .15rem 0; }
	.pii-legale__tabella td:nth-child(1) { font-weight: 600; }
	.pii-legale__tabella td:nth-child(2)::before { content: "Base giuridica: "; font-weight: 600; }
	.pii-legale__tabella td:nth-child(3)::before { content: "Per quanto tempo: "; font-weight: 600; }
}
.pii-da-fare { background: #f4e9e6; border-radius: 3px; color: #7a2f3d; padding: 0 .2em; }
@media (min-width: 700px) {
	.pii-legale__indice { columns: 2; column-gap: 2.5rem; }
}
.pii-pagina { padding-bottom: clamp(3rem, 6vw, 5rem); padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.pii-pagina .wp-block-post-title { font-size: clamp(2.5rem, 5vw, 4rem); margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.pii-pagina .wp-block-post-title::before {
	background: var(--wp--preset--color--primario);
	content: "";
	display: block;
	height: 2px;
	margin-bottom: 26px;
	width: 38px;
}
.pii-blocco-testo { gap: clamp(2rem, 7vw, 6rem) !important; }
.pii-blocco-testo h2 { font-size: clamp(2rem, 3.4vw, 2.9rem); }
.pii-blocco-testo p { font-size: 1.0625rem; line-height: 1.85; }
.pii-vantaggi { gap: 1.25rem !important; }
.pii-vantaggi > .wp-block-column { background: #fff; border: 1px solid var(--wp--preset--color--bordo); border-radius: 16px; padding: 1.75rem; }
.pii-vantaggi h3 { font-family: var(--wp--preset--font-family--raleway); font-size: 1.4rem; font-weight: 400; margin: 0 0 .5rem; }
.pii-vantaggi p { font-size: .9375rem; margin: 0; }

/* Piè di pagina ---------------------------------------------------------- */

.pii-footer { background: var(--wp--preset--color--notte); color: rgba(255, 255, 255, .78); font-size: .9375rem; padding-bottom: 2.25rem; padding-top: clamp(3rem, 6vw, 5rem); }
.pii-footer p { color: rgba(255, 255, 255, .78); margin: 0; }
.pii-footer a { color: rgba(255, 255, 255, .86); text-decoration: none; }
.pii-footer a:hover { color: #fff; }
.pii-footer__colonne { gap: 2rem !important; margin-bottom: 0; }
.pii-footer__marchio .wp-block-pii-logo { margin-bottom: 1.25rem; }
.pii-footer__marchio p { line-height: 1.7; max-width: 24em; }
.pii-footer__titolo { color: #fff !important; font-family: var(--wp--preset--font-family--montserrat) !important; font-size: .9375rem !important; font-weight: 600 !important; margin: .4rem 0 1.25rem; }
.pii-footer__lista { list-style: none; margin: 0; padding: 0; }
.pii-footer__lista li { margin: 0 0 .8rem; }
.pii-footer__fondo { border-top: 1px solid rgba(255, 255, 255, .18); font-size: .8125rem; margin-top: clamp(2.5rem, 5vw, 4rem) !important; padding-top: 1.75rem; }
.pii-footer__fondo p { color: rgba(255, 255, 255, .66); }
.pii-footer .pii-logo__testo { color: #fff; }
.pii-footer .pii-logo__by { color: rgba(255, 255, 255, .7); }

/* WooCommerce: account, carrello, cassa ---------------------------------- */

.woocommerce input.input-text,
.woocommerce select,
.woocommerce textarea,
.woocommerce-page input.input-text {
	background: #fff;
	border: 1px solid var(--wp--preset--color--bordo);
	border-radius: 12px;
	font: inherit;
	padding: .85rem 1rem;
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce .wp-element-button {
	background: var(--wp--preset--color--primario) !important;
	border: 0;
	border-radius: 999px !important;
	color: #fff !important;
	font-weight: 600;
	padding: .95rem 1.7rem !important;
}
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce .woocommerce-ResetPassword {
	background: #fff;
	border: 1px solid var(--wp--preset--color--bordo) !important;
	border-radius: 18px !important;
	padding: clamp(1.25rem, 3vw, 2.25rem) !important;
}
.woocommerce .u-columns.col2-set { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.woocommerce .u-columns.col2-set .u-column1,
.woocommerce .u-columns.col2-set .u-column2 { float: none; width: auto; }
/* Le pagine dell'account hanno il loro foglio di stile: assets/account.css */

/* Telefono --------------------------------------------------------------- */

@media (max-width: 781px) {
	.pii-hero__colonne { flex-direction: column; }
	.pii-hero__testo { padding-bottom: 0; }
	.pii-hero__intro { font-size: .9375rem; }
	.pii-hero__bottoni { flex-direction: column; }
	.pii-hero__bottoni .wp-block-button, .pii-hero__bottoni .wp-block-button__link { width: 100%; }
	.pii-hero__figura { margin: 0 auto; max-width: 360px; }
	.pii-intro__basi { flex-wrap: wrap !important; }
	.pii-crescita__voce { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
	.pii-crescita .wp-block-button, .pii-crescita .wp-block-button__link { width: 100%; }
	.pii-maestri { flex-direction: column; }
	.pii-footer__colonne { display: grid !important; grid-template-columns: 1fr 1fr; }
	.pii-footer__marchio,
	.pii-footer__colonne > .wp-block-column:last-child { grid-column: 1 / -1; }
	.pii-footer__fondo { align-items: flex-start !important; flex-direction: column; gap: .75rem; }
}
