/* Studio di Ingegneria MG: stili del sito e dell'editor */

:root {
	--mg-linea: var(--wp--preset--color--linea, #CBD3DC);
	--mg-blu: var(--wp--preset--color--blu, #2E4A6B);
	--mg-profondo: var(--wp--preset--color--blu-profondo, #1B2D44);
	--mg-azzurro: var(--wp--preset--color--azzurro, #7C98B9);
	--mg-grigio: var(--wp--preset--color--grigio, #55606C);
	--mg-sans: var(--wp--preset--font-family--sans);
}

/* Base */
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
::selection { background: #D7E1EC; color: var(--mg-profondo); }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--mg-blu);
	outline-offset: 3px;
}
.principale { min-height: 50vh; }
.wp-block-image img, .wp-block-post-featured-image img { border-radius: 2px; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 2px; }

/* Testata */
.testata { border-bottom: 1px solid var(--mg-linea); position: relative; z-index: 20; }
.testata__logo img { display: block; height: auto; max-height: 64px; width: auto; }
.testata__menu { font-family: var(--mg-sans); }
.testata__menu .wp-block-navigation-item__content { color: var(--wp--preset--color--inchiostro); text-decoration: none; padding-block: 0.35rem; }
.testata__menu .wp-block-navigation-item__content:hover { color: var(--mg-blu); text-decoration: none; box-shadow: inset 0 -2px 0 var(--mg-azzurro); }
.testata__menu .current-menu-item > .wp-block-navigation-item__content,
.testata__menu .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--mg-blu); box-shadow: inset 0 -2px 0 var(--mg-blu); }
.testata__menu .wp-block-navigation__submenu-container {
	border: 1px solid var(--mg-linea) !important;
	padding: 0.5rem 0;
	min-width: 17rem !important;
	background: #fff;
}
.testata__menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 1rem; }
.testata__menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { box-shadow: none; background: var(--wp--preset--color--pietra); }
.testata__menu .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.testata__menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.125rem; }

/* Apertura della pagina iniziale */
.apertura { border-bottom: 1px solid var(--mg-linea); }
.apertura__testo { color: var(--mg-grigio); max-width: 34rem; }
.apertura__citazione { font-style: italic; color: var(--mg-grigio); }

.spirale { width: 100%; max-width: 560px; margin-inline: auto; }
.spirale svg { display: block; width: 100%; height: auto; overflow: visible; }
.spirale__quadrati rect { fill: none; stroke: var(--mg-azzurro); stroke-width: 0.6; vector-effect: non-scaling-stroke; opacity: 0.7; }
.spirale__curva { fill: none; stroke: var(--mg-blu); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 0; }

@media (prefers-reduced-motion: no-preference) {
	.spirale__quadrati { animation: mg-compare 1.2s ease-out both; }
	.spirale__curva { stroke-dashoffset: 1; animation: mg-traccia 2.6s cubic-bezier(.45, 0, .2, 1) 0.4s forwards; }
}
@keyframes mg-traccia { to { stroke-dashoffset: 0; } }
@keyframes mg-compare { from { opacity: 0; } to { opacity: 1; } }

/* Sezioni */
.sezione-bianca { background: #fff; }
.sezione-scura { background: var(--mg-profondo); color: var(--wp--preset--color--pietra); }
.sezione-scura :where(h2, h3) { color: #fff; }
.sezione-scura a:where(:not(.wp-element-button)) { color: #fff; }
.sezione-scura .wp-block-list li { margin-bottom: 0.4rem; }
.sezione-scura .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }
.sezione-scura .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--mg-profondo); }
.sezione__intro { color: var(--mg-grigio); max-width: 40rem; }
.sezione-scura .sezione__intro { color: #C9D4E0; }

/* Pulsanti */
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid var(--mg-blu); color: var(--mg-blu); background: transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--mg-blu); color: #fff; }

/* Loghi di certificazioni e associazioni */
.loghi { align-items: center; }
.loghi .wp-block-image { margin: 0; }
.loghi img { max-height: 72px; width: auto !important; object-fit: contain; }

/* Pagine interne */
.apertura-pagina { border-bottom: 1px solid var(--mg-linea); margin-bottom: var(--wp--preset--spacing--40); }
.apertura-pagina__sintesi, .apertura-pagina .wp-block-post-excerpt { color: var(--mg-grigio); max-width: 40rem; }
.apertura-pagina .wp-block-post-excerpt__more-text { display: none; }
.apertura-pagina__immagine { margin-bottom: var(--wp--preset--spacing--40) !important; }
.contenuto-pagina h2 { margin-top: var(--wp--preset--spacing--40); }
.contenuto-pagina > .wp-block-list li { margin-bottom: 0.35rem; }

/* Piè di pagina */
.piede { font-family: var(--mg-sans); font-size: 0.975rem; line-height: 1.6; }
.piede__nome { font-family: var(--wp--preset--font-family--serif); color: #fff; font-weight: 600; }
.piede__titolo { font-family: var(--mg-sans); font-size: 1rem !important; font-weight: 600; color: #fff; margin-bottom: 0.6rem; letter-spacing: 0; }
.piede__legale, .piede__nota, .piede__copyright { color: #AFC0D2; }
.piede__link { list-style: none; padding: 0 !important; }
.piede__link li { margin-bottom: 0.3rem; }
.piede a { text-decoration-color: rgba(255,255,255,.4); }
.piede__separatore { border: 0; height: 1px; opacity: 0.6; margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--20); }

/* Stampa */
@media print {
	.testata__menu, .piede, .wp-block-buttons { display: none !important; }
	body { background: #fff; }
}

/* Impaginazione allineata a sinistra: titolo e testo partono dallo stesso margine degli elementi larghi */
.apertura-pagina > *,
.contenuto-pagina > :where(:not(.alignwide):not(.alignfull)) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
	margin-right: auto !important;
}

/* Citazione di Vitruvio in apertura */
.apertura .apertura__citazione { border-left: 2px solid var(--mg-azzurro); margin: 0 0 var(--wp--preset--spacing--30); }
.apertura .apertura__citazione p { font-size: var(--wp--preset--font-size--medio); line-height: 1.55; color: var(--mg-grigio); }
.apertura .apertura__citazione cite { font-family: var(--mg-sans); font-style: normal; font-size: 0.95rem; color: var(--mg-profondo); }
.apertura h1 { max-width: none; font-size: var(--wp--preset--font-size--molto-grande); }

/* Firma in chiusura della pagina Chi siamo */
.firma-studio { font-family: var(--mg-sans); letter-spacing: 0.04em; color: var(--mg-profondo); margin-top: var(--wp--preset--spacing--40) !important; }

/* Gallerie a immagine intera (schede di progetto, tavole) */
.wp-block-gallery:not(.is-cropped) figure.wp-block-image { background: #fff; }
.wp-block-gallery:not(.is-cropped) figure.wp-block-image img { object-fit: contain; }

/* Testata su due righe: logo sopra, menu completo sotto */
.testata__riga { padding-bottom: 0.7rem; }
.testata > .testata__menu { border-top: 1px solid var(--mg-linea); padding-block: 0.55rem; font-size: 0.95rem; }
@media (max-width: 599px) { .testata > .testata__menu { position: absolute; top: 1.5rem; right: max(16px, env(safe-area-inset-right, 0px)); border-top: 0; padding: 0; } .testata { position: relative; } .testata__riga { padding-bottom: 0.9rem; } }
