/* Made in Marche — primitive condivise tra blocchi e template. */

:root {
	--mim-primary: #1A6B82;
	--mim-accent: #F5A623;
	--mim-secondary: #2E8B57;
	--mim-dark: #123038;
	--mim-dark-deep: #0d2a2c;
	--mim-base: #FAF7F0;
	--mim-muted: #5a6b6d;
	--mim-radius-card: 24px;
	--mim-radius-panel: 20px;
	--mim-radius-pill: 999px;
	--mim-shadow-soft: 0 12px 30px -16px rgba(18, 48, 56, 0.35);
	--mim-shadow-panel: 0 24px 60px -34px rgba(18, 48, 56, 0.6);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { background: var(--mim-base); color: var(--mim-dark); }

img { max-width: 100%; height: auto; display: block; }

.mim-icon { display: inline-block; vertical-align: middle; flex: 0 0 auto; }

/* Contenitore standard (1200px) coerente con il layout di theme.json. */
.mim-container {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 24px;
}

.mim-section { padding-block: clamp(64px, 9vw, 116px); }

/* Eyebrow (etichetta maiuscola sopra i titoli). */
.mim-eyebrow {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* Pulsanti. */
.mim-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 800;
	font-size: 1.04rem;
	padding: 16px 28px;
	border-radius: var(--mim-radius-pill);
	text-decoration: none;
	border: 0;
	cursor: pointer;
	transition: transform 0.15s ease, background 0.15s ease;
	line-height: 1;
}
.mim-btn:hover { transform: translateY(-1px); }
.mim-btn--accent { background: var(--mim-accent); color: #3a2a05; box-shadow: 0 16px 36px -14px rgba(0, 0, 0, 0.5); }
.mim-btn--accent:hover { background: #ffb637; }
.mim-btn--ghost { background: rgba(255, 255, 255, 0.1); color: #fff; border: 1.5px solid rgba(255, 255, 255, 0.45); backdrop-filter: blur(6px); }
.mim-btn--ghost:hover { background: rgba(255, 255, 255, 0.2); }
.mim-btn--solid { background: var(--mim-primary); color: #fff; }
.mim-btn--outline { background: #fff; color: var(--mim-dark); border: 1.5px solid rgba(26,107,130,0.22); }
.mim-btn--outline:hover { border-color: var(--mim-primary); background: #fff; }

/* Link inline con sottolineatura animata. */
.mim-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--mim-primary);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 2px solid rgba(26, 107, 130, 0.25);
	padding-bottom: 3px;
}
.mim-link:hover { border-color: var(--mim-primary); }

/* Badge / chip. */
.mim-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 0.76rem;
	letter-spacing: 0.04em;
	padding: 6px 13px;
	border-radius: var(--mim-radius-pill);
}

/* Griglia auto-fit riusata da soluzioni/pilastri/aziende. */
.mim-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 26px;
}

@media (max-width: 640px) {
	.mim-grid { grid-template-columns: 1fr; }
}

/* ---------- Header ---------- */
.mim-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(250, 247, 240, 0.82);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(26, 107, 130, 0.12);
}
.mim-header__inner { min-height: 74px; }
.mim-header__brand { gap: 12px; text-decoration: none; }
.mim-header__wordmark { gap: 2px; }
.mim-header__wordmark .wp-block-site-title { margin: 0; line-height: 1; }
.mim-header__wordmark .wp-block-site-title a { color: var(--mim-dark); text-decoration: none; }
.mim-header__tagline {
	margin: 2px 0 0;
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--mim-primary);
	max-width: 30ch;
}
.mim-header__nav { gap: 30px; }
.mim-nav .wp-block-navigation__container { gap: 28px; }
.mim-nav a { color: #2C3E40; font-weight: 500; font-size: 0.92rem; text-decoration: none; }
.mim-nav a:hover { color: var(--mim-primary); }
.mim-header__cta .wp-block-button__link {
	background: var(--mim-accent);
	color: #3a2a05;
	font-size: 0.92rem;
	padding: 11px 20px;
	box-shadow: 0 6px 18px -8px rgba(245, 166, 35, 0.8);
}
.mim-header__cta .wp-block-button__link:hover { background: #e8991a; }

@media (max-width: 880px) {
	.mim-header .mim-header__cta { display: none; }
}
@media (max-width: 520px) {
	.mim-header__tagline { display: none; }
}

/* Mobile nav: hamburger overlay */
/* The header's backdrop-filter creates a containing block that traps the
   fixed overlay (collapsing it to the header box). Drop it while open. */
html.has-modal-open .mim-header {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.mim-nav .wp-block-navigation__responsive-container-open {
	color: var(--mim-dark);
	padding: 6px;
}
.mim-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.mim-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--mim-dark) !important;
	inset: 0;
	min-height: 100dvh;
	padding: 28px 24px;
}
.mim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color: #FAF7F0;
	padding: 6px;
}
.mim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.mim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	margin-top: 12px;
}
.mim-nav .wp-block-navigation__responsive-container.is-menu-open a,
.mim-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: #FAF7F0;
	font-family: var(--wp--preset--font-family--heading, Georgia, serif);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.3;
	padding: 12px 0;
}
.mim-nav .wp-block-navigation__responsive-container.is-menu-open a:hover {
	color: var(--mim-accent);
}

/* ---------- Footer ---------- */
.mim-footer { background: var(--mim-dark); color: #cfe0e3; padding-block: 72px 36px; }
.mim-footer__grid { gap: 44px 32px; }
.mim-footer__brand { gap: 14px; max-width: 380px; grid-column: 1 / -1; }
.mim-footer__claim { color: #a9c4c8; font-size: 0.98rem; }
.mim-footer__h {
	margin: 0 0 4px;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #7FB0BC;
	font-weight: 700;
}
.mim-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mim-footer__links li, .mim-footer__links a { color: #cfe0e3; font-size: 0.95rem; text-decoration: none; line-height: 1.5; }
.mim-footer__links a:hover { color: var(--mim-accent); }
.mim-footer__bottom {
	margin-top: 56px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	gap: 8px 24px;
}
.mim-footer__legal { color: #7FB0BC; font-size: 0.82rem; margin: 0; }
.mim-footer__legal-links { gap: 20px; }
.mim-footer__legal-links a { color: #9bb6bb; text-decoration: none; }
.mim-footer__legal-links a:hover { color: var(--mim-accent); }
