/*
Theme Name: Nu-Maber
Theme URI: https://www.numaber.it/
Author: Nu-Maber S.r.l.
Description: Tema a blocchi per Nu-Maber — prodotti e soluzioni per la flexografia. Solo editor nativo di WordPress, multilingua con Polylang.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: numaber
*/

/* ---------- struttura generale ---------- */

.wp-site-blocks > * + * { margin-block-start: 0; }
.nm-main { margin: 0; }
.nm-main > .wp-block-post-content > :first-child:not(.alignfull) { margin-block-start: var(--wp--preset--spacing--60); }
.nm-main > .wp-block-post-content > :last-child:not(.alignfull) { margin-block-end: var(--wp--preset--spacing--60); }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }

.nm-section {
	padding-block: var(--wp--preset--spacing--60);
}
.nm-section > .wp-block-heading:not(:first-child) { margin-block-start: var(--wp--preset--spacing--60); }
.nm-section > .wp-block-heading + * { margin-block-start: var(--wp--preset--spacing--40); }

.nm-box {
	padding: var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius);
}

::selection { background: var(--wp--preset--color--accent); color: #000; }

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

/* sezioni su sfondo scuro: link e pulsanti leggibili */
.has-primary-background-color a:where(:not(.wp-element-button)),
.has-contrast-background-color a:where(:not(.wp-element-button)) { color: inherit; }
.has-primary-background-color .wp-block-heading,
.has-contrast-background-color .wp-block-heading { color: inherit; }
.has-primary-background-color .wp-block-button:not(.is-style-outline) .wp-element-button {
	background: #fff; color: var(--wp--preset--color--primary-dark); border-color: #fff;
}
.has-primary-background-color .is-style-outline .wp-element-button,
.has-contrast-background-color .is-style-outline .wp-element-button {
	color: #fff; border-color: #fff;
}
.has-primary-background-color .is-style-outline .wp-element-button:hover,
.has-contrast-background-color .is-style-outline .wp-element-button:hover {
	background: #fff; color: var(--wp--preset--color--primary-dark);
}
.is-style-outline .wp-element-button { background: transparent; color: var(--wp--preset--color--primary-dark); border-color: currentColor; }
.is-style-outline .wp-element-button:hover { background: var(--wp--preset--color--primary); color: #fff; border-color: var(--wp--preset--color--primary); }

/* ---------- intestazione ---------- */

.nm-topbar { padding-block: 1.1rem; background: #fff; }
.nm-topbar__row {
	display: grid !important;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
}
.nm-topbar__row > .nm-login { justify-self: end; }
.nm-logo { margin: 0 !important; }
.nm-logo img { display: block; height: auto; }

.nm-lingue { display: flex; align-items: center; gap: .35rem; }
.nm-lingue__icona { flex: none; color: var(--wp--preset--color--primary); }
.nm-lingue ul { display: flex; gap: .15rem; list-style: none; margin: 0; padding: 0; }
.nm-lingue a {
	display: inline-block; padding: .3rem .45rem;
	font-size: .8rem; font-weight: 700; letter-spacing: .06em;
	color: var(--wp--preset--color--primary-dark); text-decoration: none; border-radius: 3px;
}
.nm-lingue a:hover { background: var(--wp--preset--color--light); }
.nm-lingue .is-current a { background: var(--wp--preset--color--primary); color: #fff; }

.nm-login .wp-element-button { padding: .6em 1.3em; }

.nm-navbar { padding-block: 0; }
.nm-navbar .wp-block-navigation a,
.nm-navbar .wp-block-navigation__responsive-container-open,
.nm-navbar .wp-block-navigation__responsive-container-close,
.nm-footer .wp-block-navigation a { color: #fff; text-decoration: none; }
.nm-menu .wp-block-navigation__container { gap: 0; }
.nm-menu .wp-block-navigation-item__content {
	display: block; padding: 1.05rem 1.1rem; line-height: 1.2;
	transition: background-color .15s ease;
}
.nm-menu .wp-block-navigation-item__content:hover,
.nm-menu .current-menu-item > .wp-block-navigation-item__content {
	background: #00C2D4; text-decoration: none;
}
.nm-menu .wp-block-navigation__responsive-container-open { padding: .9rem 0; }
.nm-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .8rem 0; font-size: 1.1rem; }

/* ---------- home: copertina ---------- */

.nm-hero { padding-block: var(--wp--preset--spacing--70); }
.nm-hero .wp-block-cover__inner-container > .nm-box {
	max-width: 1100px;
	padding: clamp(1.5rem, 4vw, 3rem);
	box-shadow: 0 18px 50px rgba(0, 0, 0, .18);
}
.nm-hero h1 { margin-top: 0; }
.nm-hero h1::after {
	content: ""; display: block; width: 3.5rem; height: 4px; margin-top: 1rem;
	background: var(--wp--preset--color--primary);
}

/* ---------- numeri ---------- */

.nm-stats { gap: var(--wp--preset--spacing--40) !important; }
.nm-stats + .nm-stats { margin-block-start: var(--wp--preset--spacing--50); }
.nm-stat { text-align: center; gap: .35rem !important; height: 100%; }
.nm-stat__num {
	margin: 0; font-size: clamp(2.6rem, 5vw, 3.6rem); line-height: 1;
	font-weight: 800; color: var(--wp--preset--color--primary); font-variant-numeric: tabular-nums;
}
.nm-stat__label { margin: 0; font-size: .95rem; line-height: 1.4; max-width: 16rem; }

/* ---------- card articoli ---------- */

.nm-cards .wp-block-post-template { gap: var(--wp--preset--spacing--50); }
.nm-cards .wp-block-post {
	display: flex; flex-direction: column; gap: .6rem;
	background: #fff; border-top: 4px solid var(--wp--preset--color--primary);
}
.has-light-background-color .nm-cards .wp-block-post,
.nm-cards .wp-block-post { box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.nm-cards .wp-block-post > * { margin: 0; padding-inline: 1.25rem; }
.nm-cards .wp-block-post-featured-image { padding: 0; margin: 0; overflow: hidden; }
.nm-cards .wp-block-post-featured-image img { transition: transform .4s ease; object-fit: contain !important; background: #fff; }
.nm-cards .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.nm-cards .wp-block-post-date { padding-top: .6rem; }
.nm-cards .wp-block-post-excerpt { padding-bottom: 1.4rem; font-size: .95rem; }
.nm-cards .wp-block-post-excerpt__excerpt { margin: 0; }
.nm-cards .wp-block-post-title { line-height: 1.3; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); font-weight: 700; }

/* ---------- articolo ---------- */

.nm-articolo__testa { padding-top: var(--wp--preset--spacing--60); }
.nm-articolo__testa .wp-block-post-title { margin-top: .4rem; }
.nm-sottotitolo {
	font-size: var(--wp--preset--font-size--large); line-height: 1.5;
	color: var(--wp--preset--color--primary-dark); font-weight: 600; margin-top: .8rem;
}
.nm-articolo .wp-block-post-content { margin-top: var(--wp--preset--spacing--40); }
.nm-articolo__testa { padding-bottom: 0; }
.nm-cta {
	box-sizing: border-box;
	margin-top: var(--wp--preset--spacing--60) !important;
	padding: var(--wp--preset--spacing--50);
	background: var(--wp--preset--color--light);
	border-left: 4px solid var(--wp--preset--color--primary);
	text-align: center;
}
.nm-cta p { margin: 0 0 1rem; font-weight: 600; }
.nm-torna { margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60) !important; font-weight: 700; }

.nm-testata h1, .nm-testata .wp-block-post-title { margin: 0; }

/* ---------- elementi vari ---------- */

/* iframe inseriti con il blocco HTML (es. login): centrati e larghi quanto il contenuto largo */
.is-layout-constrained > iframe { display: block; max-width: var(--wp--style--global--wide-size) !important; margin-inline: auto !important; }
.nm-tabella table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.nm-tabella th { background: var(--wp--preset--color--primary); color: #fff; text-align: left; font-weight: 700; }
.nm-tabella th, .nm-tabella td { padding: .7rem .9rem; border: 1px solid #dcdcdc; vertical-align: top; }
.nm-tabella tbody tr:nth-child(even) td { background: var(--wp--preset--color--light); }
.nm-colimg { height: 100%; border-radius: var(--wp--custom--radius); }

.nm-map iframe { width: 100%; min-height: 380px; border: 0; display: block; }
.nm-table-wrap { overflow-x: auto; }
.nm-table { border-collapse: collapse; width: 100%; }
.nm-table td, .nm-table th { border: 1px solid #ddd; padding: .5rem .75rem; }
.nm-logos { gap: var(--wp--preset--spacing--40); align-items: center; }
.wp-block-embed.is-type-video { max-width: 960px; margin-inline: auto; }

/* ---------- piè di pagina ---------- */

.nm-footer { padding-block: var(--wp--preset--spacing--60); font-size: .95rem; }
.nm-footer a { color: #fff; }
.nm-footer__brand { font-size: 1.15rem; line-height: 1.45; }
.nm-footer__menu { width: 100%; }
.nm-footer__menu .wp-block-navigation__container { width: 100%; gap: 0 !important; }
.nm-footer__menu .wp-block-navigation-item {
	width: 100%; border-bottom: 2px solid rgba(255,255,255,.28);
}
.nm-footer__menu .wp-block-navigation-item__content { display: block; padding: .55rem 0; }
.nm-footer__menu .wp-block-navigation-item__content:hover { text-decoration: underline; }
.nm-social { margin-bottom: 1rem !important; }
.nm-social .wp-social-link { font-size: 26px; }
.nm-legal { padding-block: 1.1rem; background: #fff; }
.nm-legal p { margin: 0; color: #333; font-size: .8rem !important; line-height: 1.5; }

/* ---------- mobile ---------- */

@media (max-width: 781px) {
	.nm-topbar__row { grid-template-columns: auto 1fr auto; }
	.nm-logo { justify-self: center; }
	.nm-logo img { width: 170px !important; }
	.nm-lingue a { padding: .25rem .3rem; font-size: .72rem; }
	.nm-lingue__icona { width: 15px; height: 15px; }
	.nm-lingue { gap: .15rem; }
	.nm-login .wp-element-button { padding: .5em .8em; font-size: .75rem; }
	.nm-menu { justify-content: flex-end; }
	.nm-hero { padding-block: var(--wp--preset--spacing--40); }
	.nm-stats { display: grid !important; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}
