/*
Theme Name: Twenty Twenty-Five per La Bonin
Theme URI: https://cloudfactory.it
Template: twentytwentyfive
Description: Child Theme sviluppato da Cloudfactory S.r.l.
Author: Cloudfactory S.r.l.
Author URI: https://cloudfactory.it
Version: 0.2.0
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: labonin
*/

/*
 * Tema a blocchi: font, colori, spaziature e tipografia stanno in theme.json
 * (e nelle varianti di stile in styles/). Qui solo regole che theme.json non copre.
 * I font sono self-hosted in assets/fonts/ (woff2, font-display: swap).
 */

/* Etichette "alla Sézane": maiuscolo spaziato, corpo piccolo. Classe riusabile nei blocchi. */
.labonin-etichetta,
.is-style-labonin-etichetta {
	font-family: var(--wp--preset--font-family--testo);
	font-size: var(--wp--preset--font-size--etichetta);
	letter-spacing: var(--wp--custom--spaziatura-lettere--etichetta);
	text-transform: uppercase;
	font-weight: 400;
}

/* Prezzi e nomi prodotto negli elenchi, stesso registro tipografico. */
.labonin-nome-prodotto {
	font-family: var(--wp--preset--font-family--testo);
	font-size: var(--wp--preset--font-size--etichetta);
	letter-spacing: var(--wp--custom--spaziatura-lettere--etichetta);
	text-transform: uppercase;
}

/* ---------- Header ---------- */
.labonin-header {
	border-bottom: 1px solid var(--wp--preset--color--contrasto-3);
	background: var(--wp--preset--color--base);
}
/* Tre zone: menu | logo centrato | strumenti. Sovrascrive il flex del gruppo. */
.labonin-header__riga.wp-block-group {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}
.labonin-header__strumenti { justify-self: end; }
.labonin-header__logo img,
.labonin-header__logo .custom-logo {
	display: block;
	width: 150px;
	height: auto;
	max-height: 52px;
}
.labonin-nav .wp-block-navigation-item__content { text-decoration: none; }
.labonin-nav .wp-block-navigation-item__content:hover,
.labonin-nav .wp-block-navigation-item__content:focus-visible { color: var(--wp--preset--color--accento); }
.labonin-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--contrasto-3);
	padding: var(--wp--preset--spacing--10) 0;
	min-width: 220px;
}
.labonin-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.45rem 1.25rem;
	text-transform: none;
	letter-spacing: 0.04em;
	font-size: var(--wp--preset--font-size--small);
}
.labonin-nav .wp-block-navigation__submenu-icon { margin-left: 0.35em; }
/* Menu a tendina (mobile) */
.labonin-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
}
.labonin-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0;
	background: transparent;
	padding-left: var(--wp--preset--spacing--20);
}
.labonin-nav .wp-block-navigation__responsive-container-open,
.labonin-nav .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--contrasto); }

/* Lingue IT | EN */
.labonin-lingue {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-family: var(--wp--preset--font-family--testo);
	font-size: var(--wp--preset--font-size--etichetta);
	letter-spacing: var(--wp--custom--spaziatura-lettere--etichetta);
	text-transform: uppercase;
}
.labonin-lingue__voce { text-decoration: none; color: var(--wp--preset--color--contrasto-2); padding: 0.25em 0; }
.labonin-lingue__voce:hover, .labonin-lingue__voce:focus-visible { color: var(--wp--preset--color--accento); }
.labonin-lingue__voce.is-attuale { color: var(--wp--preset--color--contrasto); border-bottom: 1px solid currentColor; }
.labonin-lingue__sep { color: var(--wp--preset--color--contrasto-3); }

/* Account e mini-carrello di WooCommerce: icone sottili, niente prezzo. */
.labonin-header__strumenti .wc-block-customer-account__account-icon,
.labonin-header__strumenti .wc-block-mini-cart__icon { width: 22px; height: 22px; }
.labonin-header__strumenti .wc-block-mini-cart__button { padding: 0; }
.labonin-header__strumenti .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--contrasto);
	color: var(--wp--preset--color--base-2);
	border: 0;
	font-size: 0.6rem;
	min-width: 1rem;
	height: 1rem;
	line-height: 1rem;
}
.labonin-header__strumenti .wc-block-customer-account__account-icon { color: var(--wp--preset--color--contrasto); }

@media (max-width: 781px) {
	.labonin-header__riga.wp-block-group { grid-template-columns: 1fr auto 1fr; }
	.labonin-header__logo img, .labonin-header__logo .custom-logo { width: 118px; }
	.labonin-lingue { font-size: 0.7rem; }
	.labonin-header__strumenti.wp-block-group { gap: var(--wp--preset--spacing--10); }
}

/* Nessun selettore lingua flottante di TranslatePress (il tema ha IT | EN nel menu). */
.trp-floating-switcher, #trp-floater-ls { display: none !important; }

/* ---------- Footer ---------- */
.labonin-footer__menu .wp-block-navigation-item__content {
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrasto-2);
}
.labonin-footer__menu .wp-block-navigation-item__content:hover,
.labonin-footer__menu .wp-block-navigation-item__content:focus-visible { color: var(--wp--preset--color--accento); }
.labonin-footer .wp-block-heading { margin-bottom: var(--wp--preset--spacing--20); }
.labonin-footer p a { text-decoration: none; }
.labonin-footer__nota { color: var(--wp--preset--color--contrasto-2); letter-spacing: 0.1em; text-transform: uppercase; }

/* ---------- Pagine ---------- */
.wp-block-post-title { margin-bottom: 0; }
/* Colonne testo + immagine: su mobile prima l'immagine. */
@media (max-width: 781px) {
	.wp-block-columns.labonin-colonne-inverse { flex-direction: column-reverse; }
}
.labonin-hero .wp-block-cover__inner-container { padding: var(--wp--preset--spacing--40) 0; }
.labonin-hero .is-style-labonin-etichetta { margin-bottom: var(--wp--preset--spacing--10); }
.labonin-hero h1 { margin-bottom: var(--wp--preset--spacing--30); }
.wp-block-image img { height: auto; }
/* Ricerca (404 e risultati): campo e pulsante squadrati. */
.wp-block-search__input { border: 1px solid var(--wp--preset--color--contrasto-3); background: var(--wp--preset--color--base-2); border-radius: 0; }
.wp-block-search__button { border-radius: 0; }
