/* MBE Security – generato da build/gen_css.py */
/* ---------- Icone (line-art, maschere SVG) ---------- */
:root { --i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); --mbe-circuit-bg: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 800 700%22%3E%3Cg fill=%22none%22 stroke=%22%232BB3C8%22 stroke-opacity=%22.35%22 stroke-width=%221.2%22%3E%3Cpath d=%22M800 90 H610 L560 140 H430%22/%3E%3Cpath d=%22M800 170 H660 L600 230 H520 L480 270 H360%22/%3E%3Cpath d=%22M800 260 H700 L650 310 H560%22/%3E%3Cpath d=%22M800 340 H620 L570 390 H450 L410 430 H300%22/%3E%3Cpath d=%22M800 420 H720 L680 460 H600%22/%3E%3Cpath d=%22M800 500 H650 L600 550 H480%22/%3E%3Cpath d=%22M800 590 H700 L640 650 H540%22/%3E%3Cpath d=%22M610 90 V40 H520%22/%3E%3Cpath d=%22M600 230 V180 H540%22/%3E%3Cpath d=%22M570 390 V470 H520%22/%3E%3Cpath d=%22M700 260 V210%22/%3E%3Cpath d=%22M650 500 V440%22/%3E%3C/g%3E%3Cg fill=%22%232BB3C8%22 fill-opacity=%22.6%22%3E%3Ccircle cx=%22430%22 cy=%22140%22 r=%224%22/%3E%3Ccircle cx=%22360%22 cy=%22270%22 r=%224%22/%3E%3Ccircle cx=%22560%22 cy=%22310%22 r=%224%22/%3E%3Ccircle cx=%22300%22 cy=%22430%22 r=%224%22/%3E%3Ccircle cx=%22600%22 cy=%22460%22 r=%224%22/%3E%3Ccircle cx=%22480%22 cy=%22550%22 r=%224%22/%3E%3Ccircle cx=%22540%22 cy=%22650%22 r=%224%22/%3E%3Ccircle cx=%22520%22 cy=%2240%22 r=%224%22/%3E%3Ccircle cx=%22540%22 cy=%22180%22 r=%224%22/%3E%3Ccircle cx=%22520%22 cy=%22470%22 r=%224%22/%3E%3Ccircle cx=%22700%22 cy=%22210%22 r=%224%22/%3E%3Ccircle cx=%22650%22 cy=%22440%22 r=%224%22/%3E%3C/g%3E%3C/svg%3E"); }
.mbe-ic-shield { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8.3-7 10-4-1.7-7-5.5-7-10V6l7-3z'/%3E%3Ccircle cx='12' cy='10.5' r='1.8'/%3E%3Cpath d='M12 12.3v3'/%3E%3C/svg%3E"); }
.mbe-ic-law { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M7 20h10M5 7h14'/%3E%3Cpath d='M7 7l-3 6a3 3 0 006 0L7 7zM17 7l-3 6a3 3 0 006 0l-3-6z'/%3E%3C/svg%3E"); }
.mbe-ic-doc { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V8l-5-5z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 14l2 2 4-4'/%3E%3C/svg%3E"); }
.mbe-ic-key { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='M11 12l8-8M16 7l2 2M14 9l2 2'/%3E%3C/svg%3E"); }
.mbe-ic-cloud { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4 4 0 01-.6-7.96A6 6 0 0118 9.5 4.25 4.25 0 0117.5 18H7z'/%3E%3Cpath d='M10 14h4M12 12v4'/%3E%3C/svg%3E"); }
.mbe-ic-firewall { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 10h18M3 14.5h18M9 5v5M15 10v4.5M9 14.5V19'/%3E%3C/svg%3E"); }
.mbe-ic-laptop { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='5' width='14' height='10' rx='1.5'/%3E%3Cpath d='M3 19h18'/%3E%3Cpath d='M12 8l2.5 1v1.6c0 1.4-1 2.5-2.5 3-1.5-.5-2.5-1.6-2.5-3V9L12 8z'/%3E%3C/svg%3E"); }
.mbe-ic-backup { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='6' rx='7' ry='3'/%3E%3Cpath d='M5 6v6c0 1.7 3.1 3 7 3s7-1.3 7-3V6'/%3E%3Cpath d='M5 12v6c0 1.7 3.1 3 7 3 1 0 2-.1 2.8-.3'/%3E%3Cpath d='M18 15v5M15.5 17.5L18 15l2.5 2.5'/%3E%3C/svg%3E"); }
.mbe-ic-remote { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0116 0v2'/%3E%3Crect x='3' y='14' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='14' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 20c0 1-2 1.5-4 1.5h-2'/%3E%3C/svg%3E"); }
.mbe-ic-radar { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 12l5.5-5.5'/%3E%3Ccircle cx='15' cy='15' r='1'/%3E%3C/svg%3E"); }
.mbe-ic-factory { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20V10l5 3V10l5 3V6l5 3v11H3z'/%3E%3Cpath d='M7 17h2M11 17h2M15 17h2'/%3E%3C/svg%3E"); }
.mbe-ic-briefcase { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='12' rx='2'/%3E%3Cpath d='M9 7V5h6v2M3 12h18'/%3E%3C/svg%3E"); }
.mbe-ic-health { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 017-2.6A4 4 0 0119 10c0 5.6-7 10-7 10z'/%3E%3Cpath d='M7.5 11.5h2.5l1-2 2 4 1-2h2.5'/%3E%3C/svg%3E"); }
.mbe-ic-people { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9.5' r='2.3'/%3E%3Cpath d='M3.5 19a5.5 5.5 0 0111 0M14.5 15.2a4.3 4.3 0 016 3.8'/%3E%3C/svg%3E"); }
.mbe-ic-building { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='1'/%3E%3Cpath d='M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2M10.5 21v-3h3v3'/%3E%3C/svg%3E"); }
.mbe-ic-search { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.5-4.5'/%3E%3C/svg%3E"); }
.mbe-ic-plan { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='2'/%3E%3Cpath d='M8 9h8M8 13h5M8 17h3'/%3E%3C/svg%3E"); }
.mbe-ic-gear { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1'/%3E%3C/svg%3E"); }
.mbe-ic-pulse { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l2-5 4 10 2-5h6'/%3E%3C/svg%3E"); }
.mbe-ic-check { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.mbe-ic-phone { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 005 5L15 13l5 2v4a2 2 0 01-2 2A16 16 0 013 6a2 2 0 012-2z'/%3E%3C/svg%3E"); }
.mbe-ic-mail { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.mbe-ic-pin { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.5-6-11a6 6 0 0112 0c0 5.5-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.2'/%3E%3C/svg%3E"); }
.mbe-ic-calendar { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.mbe-ic-chat { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4V5z'/%3E%3C/svg%3E"); }
.mbe-ic-web { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M6.5 6.5h.01M9 6.5h.01'/%3E%3Cpath d='M12 12.5l3 1.2v1.6c0 1.6-1.2 2.8-3 3.4-1.8-.6-3-1.8-3-3.4v-1.6l3-1.2z'/%3E%3C/svg%3E"); }
.mbe-ic-lock { --mbe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 018 0v3'/%3E%3C/svg%3E"); }

/* =========================================================
   MBE Security – stile componenti
   Colori e font sono definiti in theme.json (variabili --wp--preset--*)
   ========================================================= */

:root {
	--mbe-navy: var(--wp--preset--color--navy, #123A5E);
	--mbe-deep: var(--wp--preset--color--navy-deep, #0B2440);
	--mbe-turq: var(--wp--preset--color--turquoise, #2BB3C8);
	--mbe-teal: var(--wp--preset--color--teal, #127A8A);
	--mbe-light: var(--wp--preset--color--light, #F4F7FA);
	--mbe-line: var(--wp--preset--color--line, #DCE4EC);
	--mbe-muted: var(--wp--preset--color--muted, #5A6B7B);
	--mbe-radius: var(--wp--custom--radius--m, 12px);
	--mbe-radius-l: var(--wp--custom--radius--l, 20px);
	--mbe-shadow: var(--wp--custom--shadow--card);
	--mbe-shadow-lift: var(--wp--custom--shadow--lift);
	--mbe-ease: cubic-bezier(.2,.7,.2,1);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--mbe-turq); color: var(--mbe-deep); }
img { height: auto; max-width: 100%; }
strong { font-weight: 600; }

/* Accessibilità: link salta al contenuto + focus visibile */
.mbe-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: var(--mbe-deep); color: #fff; padding: .75rem 1.25rem; border-radius: 0 0 8px 0; }
.mbe-skip:focus { left: 0; color: #fff; }
:focus-visible { outline: 2px solid var(--mbe-turq); outline-offset: 3px; }

/* ---------- Header ---------- */
.mbe-header {
	position: sticky; top: 0; z-index: 100;
	background: rgba(255,255,255,.92);
	-webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color .3s, box-shadow .3s;
}
.admin-bar .mbe-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mbe-header { top: 0; } }
.mbe-header.is-scrolled { border-bottom-color: var(--mbe-line); box-shadow: 0 6px 24px rgba(11,36,64,.06); }
.mbe-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: var(--wp--custom--header--height, 76px); }
.mbe-logo { display: inline-flex; align-items: center; gap: .85rem; flex-shrink: 0; text-decoration: none; }
.mbe-logo img { display: block; width: auto; height: 46px; }
.mbe-logo__tag { display: block; padding-left: .85rem; border-left: 1.5px solid var(--mbe-line); font-family: var(--wp--preset--font-family--sans, Inter, sans-serif); font-size: .74rem; font-weight: 600; line-height: 1.3; letter-spacing: .13em; text-transform: uppercase; color: var(--mbe-navy); white-space: nowrap; }
.mbe-logo:hover .mbe-logo__tag { color: var(--mbe-teal); }
@media (min-width: 601px) and (max-width: 1240px) { .mbe-header .mbe-logo__tag { display: none; } }
@media (max-width: 600px) { .mbe-logo { gap: .6rem; } .mbe-logo img { height: 36px; } .mbe-logo__tag { padding-left: .6rem; font-size: .66rem; letter-spacing: .1em; } }
@media (max-width: 360px) { .mbe-logo__tag { display: none; } }
.mbe-header .wp-block-navigation { gap: 1.6rem; }
.mbe-header .wp-block-navigation a { text-decoration: none; color: var(--mbe-navy); }
.mbe-header .wp-block-navigation .wp-block-navigation-item__content { position: relative; padding: .4rem 0; }
.mbe-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--mbe-turq);
	transform: scaleX(0); transform-origin: left; transition: transform .3s var(--mbe-ease);
}
.mbe-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.mbe-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.mbe-header .wp-block-navigation__submenu-container { border: 1px solid var(--mbe-line) !important; border-radius: var(--mbe-radius); box-shadow: var(--mbe-shadow-lift); padding: .5rem !important; min-width: 300px !important; }
.mbe-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem .75rem !important; border-radius: 8px; font-size: .92rem; }
.mbe-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--mbe-light); }
.mbe-header__cta .wp-block-button__link { padding: .7rem 1.2rem; font-size: .92rem; }
@media (max-width: 1080px) { .mbe-header .mbe-header__cta, .mbe-header__nav .wp-block-buttons.mbe-header__cta { display: none !important; } }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.1rem; }

/* ---------- Utility ---------- */
.mbe-eyebrow {
	display: inline-flex; align-items: center; gap: .6rem;
	font-size: .78rem !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--mbe-teal);
}
.mbe-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--mbe-turq); border-radius: 2px; }
.has-navy-background-color .mbe-eyebrow, .has-navy-deep-background-color .mbe-eyebrow, .mbe-hero .mbe-eyebrow, .mbe-dark .mbe-eyebrow { color: var(--mbe-turq); }
.mbe-lead { font-size: var(--wp--preset--font-size--large); color: var(--mbe-muted); line-height: 1.6; }
.mbe-dark .mbe-lead, .mbe-hero .mbe-lead { color: var(--wp--preset--color--mist); }
.mbe-dark a:not(.wp-block-button__link), .has-navy-background-color a:not(.wp-block-button__link), .has-navy-deep-background-color a:not(.wp-block-button__link) { color: var(--mbe-turq); }
.mbe-center { text-align: center; }
.mbe-center .mbe-eyebrow { justify-content: center; }
.mbe-section-head { max-width: 720px; margin-left: auto !important; margin-right: auto !important; text-align: center; }
.mbe-section-head .mbe-eyebrow { justify-content: center; }
.mbe-placeholder { background: #FFF8E1; border: 1px dashed #C99A00; color: #6B5200 !important; padding: .15rem .45rem; border-radius: 4px; font-size: .9em; }

/* Bottoni */
.wp-block-button__link { transition: background-color .25s, color .25s, transform .25s var(--mbe-ease), box-shadow .25s; box-shadow: 0 6px 18px rgba(43,179,200,.28); }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(11,36,64,.18); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--mbe-navy); border: 1.5px solid currentColor; box-shadow: none; padding: calc(.95rem - 1.5px) calc(1.6rem - 1.5px); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--mbe-navy); color: #fff; border-color: var(--mbe-navy); }
.mbe-dark .wp-block-button.is-style-outline > .wp-block-button__link, .mbe-hero .wp-block-button.is-style-outline > .wp-block-button__link, .has-navy-background-color .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.mbe-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover, .mbe-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover, .has-navy-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--mbe-navy); border-color: #fff; }
.mbe-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover, .mbe-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #fff; color: var(--mbe-navy); }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--mbe-navy); color: #fff; }

/* ---------- HERO ---------- */
.mbe-hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(135deg,#0B2440 0%,#123A5E 62%,#17507d 100%); color: #fff; }
.mbe-hero h1, .mbe-hero h2 { color: #fff; }
.mbe-hero h1 { font-size: var(--wp--preset--font-size--hero); line-height: 1.08; letter-spacing: -.02em; }
.mbe-hero h1 em, .mbe-hero h1 .mbe-accent { font-style: italic; color: var(--mbe-turq); }
.mbe-hero__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.mbe-hero__bg svg { position: absolute; right: -6%; top: -10%; width: 78%; height: 120%; opacity: .55; }
@media (max-width: 781px) { .mbe-hero__bg svg { width: 160%; right: -60%; opacity: .28; } }
.mbe-hero__bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 70% at 85% 30%, rgba(43,179,200,.18), transparent 70%), radial-gradient(40% 50% at 0% 100%, rgba(43,179,200,.10), transparent 70%); }
.mbe-circuit path { fill: none; stroke: #2BB3C8; stroke-width: 1.2; stroke-opacity: .35; }
.mbe-circuit circle { fill: #2BB3C8; fill-opacity: .7; }
.mbe-circuit .pulse { stroke-opacity: 1; stroke-width: 2; stroke-dasharray: 40 600; stroke-dashoffset: 640; animation: mbe-pulse 6s linear infinite; filter: drop-shadow(0 0 4px #2BB3C8); }
.mbe-circuit .pulse.d2 { animation-delay: 1.5s; animation-duration: 7.5s; }
.mbe-circuit .pulse.d3 { animation-delay: 3s; animation-duration: 6.5s; }
.mbe-circuit .pulse.d4 { animation-delay: 4.2s; animation-duration: 8s; }
.mbe-circuit .node { animation: mbe-blink 3.2s ease-in-out infinite; }
.mbe-circuit .node:nth-of-type(2n) { animation-delay: 1.1s; }
.mbe-circuit .node:nth-of-type(3n) { animation-delay: 2.2s; }
@keyframes mbe-pulse { to { stroke-dashoffset: 0; } }
@keyframes mbe-blink { 0%,100% { fill-opacity: .25; } 50% { fill-opacity: .95; } }
@media (prefers-reduced-motion: reduce) { .mbe-circuit .pulse, .mbe-circuit .node { animation: none; } .mbe-circuit .pulse { stroke-dasharray: none; stroke-opacity: .5; } }

.mbe-hero__portrait { position: relative; max-width: 420px; margin-left: auto !important; }
.mbe-hero__portrait figure, .mbe-hero__portrait img { margin: 0; border-radius: var(--mbe-radius-l); }
.mbe-hero__portrait::before { content: ""; position: absolute; inset: -14px 14px 14px -14px; border: 1.5px solid rgba(43,179,200,.55); border-radius: calc(var(--mbe-radius-l) + 6px); z-index: -1; }
.mbe-photo-ph { aspect-ratio: 4/5; border-radius: var(--mbe-radius-l); background: linear-gradient(160deg, rgba(255,255,255,.10), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.18); display: grid; place-items: center; text-align: center; padding: 2rem; color: var(--wp--preset--color--mist); font-size: .9rem; }
.mbe-photo-ph img { width: 46%; margin: 0 auto 1rem; opacity: .95; filter: drop-shadow(0 10px 30px rgba(0,0,0,.35)); }
.mbe-photo-ph--light { background: var(--mbe-light); border-color: var(--mbe-line); color: var(--mbe-muted); }
.mbe-hero__badge { position: absolute; left: -1.5rem; bottom: 1.5rem; background: #fff; color: var(--mbe-navy); border-radius: 14px; padding: .85rem 1.1rem; box-shadow: var(--mbe-shadow-lift); display: flex; gap: .75rem; align-items: center; font-size: .85rem; line-height: 1.3; }
.mbe-hero__badge strong { display: block; font-family: var(--wp--preset--font-family--serif); font-size: 1.6rem; line-height: 1; color: var(--mbe-navy); }
@media (max-width: 781px) { .mbe-hero__portrait { margin: 2rem auto 0 !important; max-width: 340px; } .mbe-hero__badge { left: .5rem; } }

.mbe-hero__meta { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.75rem !important; color: var(--wp--preset--color--mist); font-size: .9rem; }
.mbe-hero__meta span { display: inline-flex; align-items: center; gap: .45rem; }
.mbe-hero__meta span::before { content: ""; width: 16px; height: 16px; background: var(--mbe-turq); -webkit-mask: var(--i-check) center/contain no-repeat; mask: var(--i-check) center/contain no-repeat; }

/* Banner scadenza */
.mbe-alert { background: var(--mbe-turq); color: var(--mbe-deep); font-size: .92rem; font-weight: 500; text-align: center; padding: .6rem 1rem; }
.mbe-alert a { color: var(--mbe-deep) !important; font-weight: 700; }

/* ---------- Trust bar ---------- */
.mbe-trust { border-bottom: 1px solid var(--mbe-line); }
.mbe-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.mbe-trust__item { padding: 1.75rem 1.25rem; text-align: center; border-right: 1px solid var(--mbe-line); }
.mbe-trust__item:last-child { border-right: 0; }
.mbe-trust__item > * { margin: 0 !important; }
.mbe-trust__item p { color: var(--mbe-muted); font-size: .9rem; line-height: 1.45; }
.mbe-trust__item p strong { display: block; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--mbe-navy); font-weight: 600; line-height: 1.1; margin-bottom: .35rem; }
@media (max-width: 781px) { .mbe-trust__grid { grid-template-columns: 1fr 1fr; } .mbe-trust__item:nth-child(2) { border-right: 0; } .mbe-trust__item:nth-child(-n+2) { border-bottom: 1px solid var(--mbe-line); } }
.mbe-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .75rem 2.25rem; padding: 1.25rem 0 0; }
.mbe-logos span { font-weight: 600; letter-spacing: .04em; color: var(--mbe-muted); font-size: .95rem; }

/* ---------- Cards ---------- */
.mbe-grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mbe-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mbe-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .mbe-grid, .mbe-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .mbe-grid, .mbe-grid--2, .mbe-grid--4 { grid-template-columns: 1fr; } }
.mbe-grid > * { margin: 0 !important; }

.mbe-card {
	position: relative; background: #fff; border: 1px solid var(--mbe-line); border-radius: var(--mbe-radius);
	padding: 2rem 1.75rem 1.75rem; box-shadow: var(--mbe-shadow);
	transition: transform .35s var(--mbe-ease), box-shadow .35s, border-color .35s;
	display: flex; flex-direction: column; gap: .75rem;
}
.mbe-card > * { margin: 0 !important; }
.mbe-card h3 { font-size: 1.15rem; }
.mbe-card p { color: var(--mbe-muted); font-size: .97rem; line-height: 1.65; }
.mbe-card p:last-child a { font-weight: 600; text-decoration: none; margin-top: auto; }
.mbe-card p:last-child a::after { content: " →"; transition: margin .25s; }
.mbe-card:hover { transform: translateY(-4px); box-shadow: var(--mbe-shadow-lift); border-color: rgba(43,179,200,.5); }
.mbe-card::after { content: ""; position: absolute; left: 1.75rem; right: 1.75rem; top: -1px; height: 2px; background: var(--mbe-turq); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--mbe-ease); }
.mbe-card:hover::after { transform: scaleX(1); }
/* Icona: riquadro (::before della card) + glifo (::before del titolo h3) */
.mbe-card[class*="mbe-ic-"] { padding-top: 5.5rem; }
.mbe-card[class*="mbe-ic-"]::before { content: ""; position: absolute; top: 1.75rem; left: 1.75rem; width: 48px; height: 48px; border-radius: 12px; background: var(--mbe-light); box-shadow: inset 0 0 0 1px var(--mbe-line); }
.mbe-card[class*="mbe-ic-"] > h3::before { content: ""; position: absolute; top: calc(1.75rem + 11px); left: calc(1.75rem + 11px); width: 26px; height: 26px; background: var(--mbe-teal); -webkit-mask: var(--mbe-icon) center/contain no-repeat; mask: var(--mbe-icon) center/contain no-repeat; }
.mbe-card--dark { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); box-shadow: none; }
.mbe-card--dark h3 { color: #fff; }
.mbe-card--dark p { color: var(--wp--preset--color--mist); }
.mbe-card--dark[class*="mbe-ic-"]::before { background-color: rgba(43,179,200,.12); box-shadow: inset 0 0 0 1px rgba(43,179,200,.3); }
.mbe-card--dark[class*="mbe-ic-"] > h3::before { background: var(--mbe-turq); }
.mbe-card--flat { box-shadow: none; background: var(--mbe-light); border-color: transparent; }

/* ---------- Problema / statistiche ---------- */
.mbe-stat { border-left: 2px solid var(--mbe-turq); padding: .25rem 0 .25rem 1.25rem; }
.mbe-stat > * { margin: 0 !important; }
.mbe-stat strong, .mbe-stat .mbe-stat__n { display: block; font-family: var(--wp--preset--font-family--serif); font-size: clamp(2.2rem, 4.5vw, 3.2rem); line-height: 1; color: var(--mbe-navy); font-weight: 600; margin-bottom: .4rem !important; }
.mbe-dark .mbe-stat strong, .mbe-dark .mbe-stat .mbe-stat__n { color: #fff; }
.mbe-stat p { color: var(--mbe-muted); font-size: .95rem; }
.mbe-dark .mbe-stat p { color: var(--wp--preset--color--mist); }
.mbe-source { font-size: .8rem !important; color: var(--mbe-muted); }
.mbe-dark .mbe-source { color: var(--wp--preset--color--mist); }

/* ---------- Metodo (step) ---------- */
.mbe-steps { counter-reset: mbe-step; position: relative; }
.mbe-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 27px; height: 1px; background: repeating-linear-gradient(90deg, var(--mbe-turq) 0 8px, transparent 8px 14px); opacity: .6; }
@media (max-width: 1000px) { .mbe-steps::before { display: none; } }
.mbe-step { counter-increment: mbe-step; position: relative; padding-top: 4.5rem; }
.mbe-step > * { margin: 0 0 .5rem !important; }
.mbe-step::before { content: "0" counter(mbe-step); position: absolute; top: 0; left: 0; width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 1.5px solid var(--mbe-turq); display: grid; place-items: center; font-family: var(--wp--preset--font-family--serif); font-weight: 600; font-size: 1.15rem; color: var(--mbe-navy); }
.mbe-dark .mbe-step::before { background: var(--mbe-deep); color: #fff; }
.mbe-step p { color: var(--mbe-muted); font-size: .97rem; }
.mbe-dark .mbe-step p { color: var(--wp--preset--color--mist); }
.mbe-dark .mbe-step h3 { color: #fff; }

/* ---------- Chi sono ---------- */
.mbe-signature { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 1.6rem !important; color: var(--mbe-navy); }
.mbe-checklist { list-style: none; padding-left: 0 !important; }
.mbe-checklist li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.mbe-checklist li::before { content: ""; position: absolute; left: 0; top: .3em; width: 20px; height: 20px; border-radius: 50%; background: rgba(43,179,200,.15) ; }
.mbe-checklist li::after { content: ""; position: absolute; left: 4px; top: calc(.3em + 4px); width: 12px; height: 12px; background: var(--mbe-teal); -webkit-mask: var(--i-check) center/contain no-repeat; mask: var(--i-check) center/contain no-repeat; }
.mbe-dark .mbe-checklist li::after { background: var(--mbe-turq); }
.mbe-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.mbe-tags > p, .mbe-tags span { margin: 0 !important; display: inline-block; font-size: .85rem; padding: .35rem .8rem; border-radius: 999px; background: var(--mbe-light); border: 1px solid var(--mbe-line); color: var(--mbe-navy); }
.mbe-quote { font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.4rem, 2.6vw, 1.9rem) !important; line-height: 1.4; color: var(--mbe-navy); font-style: italic; }
.mbe-dark .mbe-quote { color: #fff; }

/* Timeline */
.mbe-timeline { position: relative; padding-left: 2rem; }
.mbe-timeline::before { content: ""; position: absolute; left: 6px; top: .5rem; bottom: .5rem; width: 1px; background: var(--mbe-line); }
.mbe-timeline > .wp-block-group { position: relative; margin-bottom: 1.75rem !important; }
.mbe-timeline > .wp-block-group > * { margin: 0 0 .35rem !important; }
.mbe-timeline > .wp-block-group::before { content: ""; position: absolute; left: calc(-2rem + 1px); top: .45rem; width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 2px solid var(--mbe-turq); }
.mbe-timeline .mbe-when { font-size: .82rem !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mbe-teal); }
.mbe-timeline p { color: var(--mbe-muted); }

/* ---------- Casi di studio ---------- */
.mbe-case { background: #fff; border-radius: var(--mbe-radius); border: 1px solid var(--mbe-line); padding: 2rem; box-shadow: var(--mbe-shadow); }
.mbe-case > * { margin: 0 0 .75rem !important; }
.mbe-case .mbe-case__n { font-family: var(--wp--preset--font-family--serif); font-size: 2.6rem !important; color: var(--mbe-teal); line-height: 1; font-weight: 600; }
.mbe-case dl, .mbe-psr { margin: 0; }
.mbe-psr p { margin: 0 0 .6rem !important; font-size: .95rem; color: var(--mbe-muted); }
.mbe-psr p strong { color: var(--mbe-navy); display: inline-block; min-width: 92px; }

/* ---------- Partner ---------- */
.mbe-partner { display: flex; flex-direction: column; gap: .5rem; }
.mbe-partner .mbe-partner__name { font-family: var(--wp--preset--font-family--sans); font-weight: 700; font-size: 1.2rem !important; color: var(--mbe-navy); letter-spacing: .01em; }
.mbe-partner .mbe-partner__role { font-size: .78rem !important; text-transform: uppercase; letter-spacing: .12em; color: var(--mbe-teal); font-weight: 600; }

/* ---------- FAQ ---------- */
.wp-block-details summary { cursor: pointer; list-style: none; font-weight: 600; color: var(--mbe-navy); font-size: 1.05rem; padding-right: 2.5rem; position: relative; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; position: absolute; right: .25rem; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; border: 1.5px solid var(--mbe-turq);
	background: linear-gradient(var(--mbe-teal),var(--mbe-teal)) center/10px 1.5px no-repeat, linear-gradient(var(--mbe-teal),var(--mbe-teal)) center/1.5px 10px no-repeat; transition: transform .3s var(--mbe-ease); }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { color: var(--mbe-muted); margin-top: .75rem; }
.wp-block-details:first-of-type { border-top: 1px solid var(--mbe-line); }

/* ---------- CTA band ---------- */
.mbe-cta { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--mbe-radius-l); background: linear-gradient(135deg,#0B2440 0%,#123A5E 70%,#17507d 100%); color: #fff; }
.mbe-cta { padding-left: clamp(1.5rem, 5vw, 4.5rem) !important; padding-right: clamp(1.5rem, 5vw, 4.5rem) !important; }
.mbe-cta > * { max-width: 760px; margin-left: 0 !important; }
.mbe-cta h2 { color: #fff; }
.mbe-cta p { color: var(--wp--preset--color--mist); }
.mbe-cta::before { content: ""; position: absolute; right: -80px; top: -80px; width: 340px; height: 340px; border-radius: 50%; border: 1px solid rgba(43,179,200,.35); z-index: -1; }
.mbe-cta::after { content: ""; position: absolute; right: -10px; top: -10px; width: 200px; height: 200px; border-radius: 50%; border: 1px dashed rgba(43,179,200,.35); z-index: -1; }
.mbe-trustline { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; font-size: .85rem !important; color: var(--wp--preset--color--mist); }

/* ---------- Page header (pagine interne) ---------- */
.mbe-pagehead { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(135deg,#0B2440 0%,#123A5E 75%); }
.mbe-pagehead::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--mbe-circuit-bg); background-repeat: no-repeat; background-position: right -40px center; background-size: auto 140%; opacity: .5; }
.mbe-pagehead .wp-block-post-title { color: #fff; max-width: 860px; }
.mbe-breadcrumb { font-size: .85rem; color: var(--wp--preset--color--mist); }
.mbe-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.mbe-breadcrumb li + li::before { content: "/"; margin: 0 .45rem; opacity: .5; }
.mbe-breadcrumb a { color: var(--wp--preset--color--mist) !important; text-decoration: none; }
.mbe-breadcrumb a:hover { color: #fff !important; text-decoration: underline; }
.mbe-breadcrumb [aria-current] { color: var(--mbe-turq); }

/* Contenuti testuali */
.entry-content > h2, .wp-block-post-content > h2 { margin-top: 3rem; }
.entry-content > h3, .wp-block-post-content > h3 { margin-top: 2rem; }
.wp-block-post-content > .alignfull:first-child { margin-top: 0 !important; }
.wp-block-post-content > .alignfull + .alignfull { margin-top: 0 !important; }
.wp-block-post-content > .alignfull:last-child { margin-bottom: 0 !important; }
.wp-block-post-content ul:not(.mbe-checklist):not(.wp-block-navigation__container) li::marker { color: var(--mbe-turq); }

/* Box laterale / evidenza */
.mbe-box { background: var(--mbe-light); border-radius: var(--mbe-radius); padding: 1.75rem 2rem; border-left: 3px solid var(--mbe-turq); }
.mbe-box > * { margin-top: 0 !important; }
.mbe-box > :last-child { margin-bottom: 0 !important; }

/* ---------- Form contatti ---------- */
.mbe-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; }
.mbe-form .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .mbe-form { grid-template-columns: 1fr; } }
.mbe-form label { display: block; font-weight: 600; font-size: .88rem; color: var(--mbe-navy); margin-bottom: .35rem; }
.mbe-form label .req { color: #B42318; }
.mbe-form input[type=text], .mbe-form input[type=email], .mbe-form input[type=tel], .mbe-form select, .mbe-form textarea {
	width: 100%; max-width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink); background: #fff; border: 1px solid #B9C7D5; border-radius: 10px; padding: .8rem .95rem; transition: border-color .2s, box-shadow .2s; }
.mbe-form textarea { min-height: 130px; resize: vertical; }
.mbe-form input:focus, .mbe-form select:focus, .mbe-form textarea:focus { outline: none; border-color: var(--mbe-teal); box-shadow: 0 0 0 3px rgba(43,179,200,.25); }
.mbe-form .mbe-consent { display: flex; gap: .65rem; align-items: flex-start; font-size: .88rem; color: var(--mbe-muted); font-weight: 400; }
.mbe-form .mbe-consent input { margin-top: .25rem; width: 18px; height: 18px; accent-color: var(--mbe-teal); flex-shrink: 0; }
.mbe-form p { margin: 0; }
.mbe-form [aria-invalid="true"] { border-color: #B42318 !important; box-shadow: 0 0 0 3px rgba(180,35,24,.15) !important; }
.mbe-form button:disabled { opacity: .7; cursor: wait; }
.mbe-form button { font: inherit; font-weight: 600; cursor: pointer; border: 0; border-radius: 999px; background: var(--mbe-turq); color: var(--mbe-deep); padding: 1rem 1.8rem; transition: background .25s, color .25s, transform .25s; box-shadow: 0 6px 18px rgba(43,179,200,.28); }
.mbe-form button:hover { background: var(--mbe-navy); color: #fff; transform: translateY(-2px); }
.mbe-form .mbe-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mbe-form__note { font-size: .85rem; color: var(--mbe-muted); }
.mbe-notice { padding: 1rem 1.25rem; border-radius: 10px; margin-bottom: 1.25rem; font-size: .95rem; }
.mbe-notice--error { background: #FEF3F2; color: #912018; border: 1px solid #FECDCA; }
.mbe-form-card { background: #fff; border-radius: var(--mbe-radius-l); padding: clamp(1.5rem, 4vw, 2.5rem); box-shadow: var(--mbe-shadow-lift); border: 1px solid var(--mbe-line); color: var(--wp--preset--color--ink); }
.mbe-form-card h2, .mbe-form-card h3 { color: var(--mbe-navy) !important; }

/* Contatti */
.mbe-contact-list { list-style: none; padding: 0 !important; margin: 0; display: grid; gap: 1rem; }
.mbe-contact-list li { display: flex; gap: .9rem; align-items: flex-start; }
.mbe-contact-list li::before { content: ""; flex-shrink: 0; width: 40px; height: 40px; border-radius: 10px; background: var(--mbe-light) ; box-shadow: inset 0 0 0 1px var(--mbe-line); }
.mbe-contact-list li { position: relative; }
.mbe-contact-list li::after { content: ""; position: absolute; left: 10px; top: 10px; width: 20px; height: 20px; background: var(--mbe-teal); -webkit-mask: var(--mbe-icon) center/contain no-repeat; mask: var(--mbe-icon) center/contain no-repeat; }

/* ---------- Footer ---------- */
.mbe-footer { background: var(--mbe-deep); color: var(--wp--preset--color--mist); font-size: .93rem; position: relative; overflow: hidden; isolation: isolate; }
.mbe-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--mbe-turq), transparent 70%); }
.mbe-footer h2, .mbe-footer h3, .mbe-footer h4 { color: #fff; font-family: var(--wp--preset--font-family--sans); font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; margin-bottom: 1rem; }
.mbe-footer a { color: var(--wp--preset--color--mist); text-decoration: none; }
.mbe-footer a:hover { color: var(--mbe-turq); text-decoration: underline; }
.mbe-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.mbe-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 2.5rem; padding: 4.5rem 0 3rem; }
@media (max-width: 1000px) { .mbe-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .mbe-footer__grid { grid-template-columns: 1fr; gap: 2rem; padding-top: 3rem; } }
.mbe-footer__logo { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.25rem; }
.mbe-footer__logo img { height: 46px; width: auto; display: block; }
.mbe-footer__logo .mbe-logo__tag { border-left-color: rgba(201,214,227,.35); color: #fff; }
.mbe-footer__brand p { max-width: 34ch; }
.mbe-footer__legal { border-top: 1px solid rgba(255,255,255,.1); padding: 1.5rem 0 2rem; display: flex; flex-wrap: wrap; gap: .75rem 2rem; justify-content: space-between; font-size: .82rem; }
.mbe-footer__legal nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.mbe-footer__partners { display: flex; flex-wrap: wrap; gap: .4rem .5rem; margin-top: 1rem; }
.mbe-footer__partners span { font-size: .75rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: .2rem .65rem; }

/* ---------- Barra mobile chiamata/WhatsApp ---------- */
.mbe-mobilebar { display: none; }
@media (max-width: 781px) {
	.mbe-mobilebar { display: grid; grid-template-columns: 1fr 1fr 1.3fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 200; background: #fff; border-top: 1px solid var(--mbe-line); box-shadow: 0 -8px 24px rgba(11,36,64,.1); padding-bottom: env(safe-area-inset-bottom); }
	.mbe-mobilebar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; padding: .55rem .25rem; font-size: .75rem; font-weight: 600; color: var(--mbe-navy); text-decoration: none; min-height: 56px; }
	.mbe-mobilebar a svg { width: 20px; height: 20px; }
	.mbe-mobilebar a.is-primary { background: var(--mbe-turq); color: var(--mbe-deep); }
	body { padding-bottom: 60px; }
}

/* ---------- Animazioni allo scroll ---------- */
.js .mbe-reveal, .js .mbe-grid > *, .js .mbe-steps > * { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--mbe-ease), transform .7s var(--mbe-ease); }
.js .is-visible.mbe-reveal, .js .mbe-grid > .is-visible, .js .mbe-steps > .is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .mbe-reveal, .js .mbe-grid > *, .js .mbe-steps > * { opacity: 1 !important; transform: none !important; transition: none; } }

/* ---------- Blog ---------- */
.mbe-postcard { border: 1px solid var(--mbe-line); border-radius: var(--mbe-radius); padding: 1.5rem; height: 100%; background: #fff; transition: box-shadow .3s, transform .3s var(--mbe-ease); }
.mbe-postcard:hover { box-shadow: var(--mbe-shadow-lift); transform: translateY(-3px); }
.mbe-postcard .wp-block-post-title a { text-decoration: none; color: var(--mbe-navy); }
.mbe-postcard .wp-block-post-featured-image img { border-radius: 8px; }
.wp-block-query-pagination a { text-decoration: none; }
.wp-block-post-content.mbe-prose a { text-underline-offset: 3px; }

/* ---------- Stampa ---------- */
@media print { .mbe-header, .mbe-footer, .mbe-mobilebar, .mbe-hero__bg { display: none !important; } }

/* Titoli su sfondo scuro */
.mbe-dark :is(h1,h2,h3,h4), .has-navy-background-color :is(h1,h2,h3,h4), .has-navy-deep-background-color :is(h1,h2,h3,h4), .mbe-cta :is(h1,h2,h3,h4) { color: #fff; }
.mbe-cta .mbe-form-card :is(h1,h2,h3,h4) { color: var(--mbe-navy); }
.mbe-hero__bg { max-width: none !important; margin: 0 !important; }
.mbe-trust__grid > * { margin: 0 !important; }
.mbe-alert p { margin: 0; }
.mbe-cta a:not(.wp-block-button__link) { color: var(--mbe-turq); }
.mbe-cta .mbe-checklist li::after { background: var(--mbe-turq); }
.mbe-cta .mbe-form-card p, .mbe-form-card .mbe-form__note, .mbe-form-card .mbe-consent { color: var(--mbe-muted); }
.mbe-cta .mbe-form-card a { color: var(--mbe-teal); }
.mbe-eyebrow { display: flex; }
.mbe-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.mbe-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--mbe-navy); border-color: #fff; }
.mbe-cta .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: #fff; color: var(--mbe-navy); }
.mbe-contact-list { margin-top: 1.5rem !important; }

/* ---------- Visual al posto della foto ---------- */
.mbe-visual { position: relative; max-width: 460px; margin-left: auto !important; margin-right: 0 !important; }
.mbe-visual--hero { aspect-ratio: 1 / 1.02; }
.mbe-visual__stage { position: absolute; inset: 6% 6% 10% 6%; display: grid; place-items: center; }
.mbe-visual__ring { position: absolute; border-radius: 50%; border: 1px solid rgba(43,179,200,.28); inset: 0; }
.mbe-visual__ring.r2 { inset: 13%; border-style: dashed; border-color: rgba(43,179,200,.35); animation: mbe-spin 60s linear infinite; }
.mbe-visual__ring.r3 { inset: 27%; background: radial-gradient(circle, rgba(43,179,200,.22), rgba(43,179,200,0) 70%); border-color: rgba(43,179,200,.45); }
.mbe-visual__orbit { position: absolute; inset: 0; animation: mbe-spin 14s linear infinite; }
.mbe-visual__orbit i { position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: var(--mbe-turq); box-shadow: 0 0 14px 3px rgba(43,179,200,.7); }
.mbe-visual__emblem { position: relative; width: 40%; height: auto; filter: drop-shadow(0 14px 34px rgba(0,0,0,.45)) drop-shadow(0 0 18px rgba(43,179,200,.35)); }
@keyframes mbe-spin { to { transform: rotate(360deg); } }
.mbe-chip { position: absolute; display: flex; flex-direction: column; gap: .1rem; padding: .7rem 1rem .75rem; border-radius: 14px; background: rgba(11,36,64,.72); border: 1px solid rgba(43,179,200,.35); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--wp--preset--color--mist); font-size: .78rem; line-height: 1.3; box-shadow: 0 10px 30px rgba(0,0,0,.25); animation: mbe-float 7s ease-in-out infinite; white-space: nowrap; }
.mbe-chip b { color: #fff; font-size: .92rem; font-weight: 600; }
.mbe-chip b::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--mbe-turq); margin-right: .45rem; vertical-align: middle; box-shadow: 0 0 8px var(--mbe-turq); }
.mbe-chip.c1 { top: 6%; left: -4%; }
.mbe-chip.c2 { top: 40%; right: -6%; animation-delay: -2.3s; }
.mbe-chip.c3 { bottom: 20%; left: -8%; animation-delay: -4.6s; }
.mbe-visual--hero .mbe-hero__badge { left: auto; right: 4%; bottom: 0; }
@keyframes mbe-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) { .mbe-visual__orbit, .mbe-visual__ring.r2, .mbe-chip { animation: none; } }
@media (max-width: 781px) {
	.mbe-visual { margin: 1.5rem auto 0 !important; max-width: 360px; }
	.mbe-chip { font-size: .72rem; padding: .55rem .8rem; }
	.mbe-chip.c1 { left: 0; } .mbe-chip.c2 { right: 0; } .mbe-chip.c3 { left: 0; }
}

/* Scheda credenziali */
.mbe-idcard { position: relative; background: #fff; border: 1px solid var(--mbe-line); border-radius: var(--mbe-radius-l); padding: clamp(1.5rem, 3vw, 2.25rem); box-shadow: var(--mbe-shadow-lift); overflow: hidden; }
.mbe-idcard::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--mbe-navy), var(--mbe-turq)); }
.mbe-idcard::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; background-image: var(--mbe-circuit-bg); background-size: cover; opacity: .35; pointer-events: none; }
.mbe-idcard p { margin: 0; }
.mbe-idcard__head { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--mbe-line); }
.mbe-idcard__head img { width: 64px; height: auto; flex-shrink: 0; }
.mbe-idcard__name { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 600; color: var(--mbe-navy); line-height: 1.15; }
.mbe-idcard__role { font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--mbe-teal); margin-top: .25rem !important; }
.mbe-idcard__tag { font-size: .9rem; color: var(--mbe-muted); margin: 1rem 0 1.25rem !important; }
.mbe-idcard__label { font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mbe-muted); margin-bottom: .6rem !important; }
.mbe-idcard__certs { list-style: none; margin: 0; padding: 0 !important; display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; position: relative; z-index: 1; }
.mbe-idcard__certs li { background: var(--mbe-light); border: 1px solid var(--mbe-line); border-radius: 10px; padding: .55rem .75rem; font-weight: 600; font-size: .9rem; color: var(--mbe-navy); line-height: 1.2; }
.mbe-idcard__certs li small { display: block; font-weight: 500; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color: var(--mbe-teal); margin-bottom: .15rem; }
.mbe-idcard__foot { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--mbe-line); font-size: .85rem; color: var(--mbe-muted); position: relative; z-index: 1; }
.mbe-idcard__foot b { display: block; color: var(--mbe-navy); font-size: .92rem; }
.mbe-tags--center { justify-content: center; }

/* ---------- Notizie automatiche ---------- */
.mbe-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 1000px) { .mbe-news { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .mbe-news { grid-template-columns: 1fr; } }
.mbe-news__item { background: #fff; border: 1px solid var(--mbe-line); border-radius: var(--mbe-radius); padding: 1.25rem 1.4rem; display: flex; flex-direction: column; gap: .5rem; transition: box-shadow .3s, transform .3s var(--mbe-ease); }
.mbe-news__item:hover { box-shadow: var(--mbe-shadow-lift); transform: translateY(-3px); }
.mbe-news__item > * { margin: 0; }
.mbe-news__meta { font-size: .78rem; color: var(--mbe-muted); }
.mbe-news__src { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--mbe-teal); }
.mbe-news__title { font-family: var(--wp--preset--font-family--sans); font-size: 1.02rem; line-height: 1.35; font-weight: 600; }
.mbe-news__title a { color: var(--mbe-navy); text-decoration: none; }
.mbe-news__title a:hover { text-decoration: underline; }
.mbe-news__title a::after { content: " ↗"; color: var(--mbe-teal); font-size: .85em; }
.mbe-news__text { font-size: .9rem; color: var(--mbe-muted); line-height: 1.55; }
.mbe-news__note, .mbe-news__empty { font-size: .8rem; color: var(--mbe-muted); margin-top: 1rem; text-align: center; }
.mbe-download { border-left-color: var(--mbe-turq); }
.mbe-download .wp-block-buttons { margin-top: .5rem; }
.mbe-header .wp-block-navigation { gap: 1.3rem; }

/* ---------- Mock sito web (home) ---------- */
.mbe-webmock { max-width: 520px; margin-left: auto !important; background: #fff; border: 1px solid var(--mbe-line); border-radius: 16px; box-shadow: var(--mbe-shadow-lift); overflow: hidden; }
.mbe-webmock__bar { display: flex; align-items: center; gap: 6px; padding: .7rem .9rem; background: #EEF3F7; border-bottom: 1px solid var(--mbe-line); }
.mbe-webmock__bar > span { width: 10px; height: 10px; border-radius: 50%; background: #C9D6E3; }
.mbe-webmock__url { margin-left: .6rem; flex: 1; display: flex; align-items: center; gap: .4rem; background: #fff; border: 1px solid var(--mbe-line); border-radius: 999px; padding: .3rem .8rem; font-size: .78rem; color: var(--mbe-muted); }
.mbe-webmock__url svg { color: var(--mbe-teal); }
.mbe-webmock__body { padding: 1.2rem; display: grid; gap: 1rem; }
.mbe-webmock__hero { background: linear-gradient(135deg,#0B2440,#123A5E); border-radius: 10px; padding: 1.2rem; display: grid; gap: .45rem; }
.mbe-webmock__hero i { display: block; height: 9px; border-radius: 5px; background: rgba(255,255,255,.85); width: 70%; }
.mbe-webmock__hero i + i { width: 52%; background: rgba(255,255,255,.5); }
.mbe-webmock__hero i.s { width: 40%; height: 7px; background: rgba(201,214,227,.45); }
.mbe-webmock__hero b { display: block; width: 32%; height: 22px; border-radius: 999px; background: var(--mbe-turq); margin-top: .4rem; }
.mbe-webmock__checks { list-style: none; margin: 0; padding: 0 !important; display: grid; gap: .55rem; }
.mbe-webmock__checks li { position: relative; padding: .6rem .8rem .6rem 2.6rem; border: 1px solid var(--mbe-line); border-radius: 10px; font-size: .88rem; line-height: 1.3; }
.mbe-webmock__checks li::before { content: ""; position: absolute; left: .8rem; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: rgba(43,179,200,.15); }
.mbe-webmock__checks li::after { content: ""; position: absolute; left: calc(.8rem + 5px); top: 50%; width: 12px; height: 12px; margin-top: -6px; background: var(--mbe-teal); -webkit-mask: var(--i-check) center/contain no-repeat; mask: var(--i-check) center/contain no-repeat; }
.mbe-webmock__checks strong { display: block; color: var(--mbe-navy); }
.mbe-webmock__checks span { color: var(--mbe-muted); font-size: .8rem; }
@media (max-width: 781px) { .mbe-webmock { margin: 1rem auto 0 !important; } }
/* Banner: link mai spezzato, testo su tutta la larghezza */
.mbe-alert > p { max-width: 1200px !important; }
.mbe-alert a { white-space: nowrap; }
/* Footer legale: testo e link sulla stessa riga */
.mbe-footer__legal { align-items: center; }
.mbe-footer__legal p { margin: 0; }
.mbe-footer__legal nav { align-items: center; }

/* ---------- Pulsante Contattami (WhatsApp + Teams) ---------- */
.mbe-cw { position: fixed; right: 20px; bottom: 20px; z-index: 250; font-size: .92rem; }
.mbe-cw__toggle { display: inline-flex; align-items: center; gap: .5rem; border: 0; cursor: pointer; font: inherit; font-weight: 600; color: #fff; background: #0E7A40; border-radius: 999px; padding: .8rem 1.2rem; box-shadow: 0 10px 28px rgba(11,36,64,.25); transition: transform .2s, background .2s; }
.mbe-cw__toggle:hover { transform: translateY(-2px); background: #0B6535; }
.mbe-cw__panel { position: absolute; right: 0; bottom: calc(100% + 12px); width: 320px; max-width: calc(100vw - 32px); background: #fff; border: 1px solid var(--mbe-line); border-radius: 16px; box-shadow: var(--mbe-shadow-lift); overflow: hidden; }
.mbe-cw__panel[hidden] { display: none; }
.mbe-cw__head { position: relative; background: var(--mbe-deep); color: #fff; padding: 1rem 2.6rem 1rem 1.1rem; }
.mbe-cw__head strong { display: block; font-size: 1rem; }
.mbe-cw__head span { color: var(--wp--preset--color--mist); font-size: .8rem; }
.mbe-cw__close { position: absolute; right: .6rem; top: .6rem; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 1.2rem; cursor: pointer; }
.mbe-cw__form { padding: 1rem 1.1rem .4rem; display: grid; gap: .5rem; }
.mbe-cw__form label { font-weight: 600; color: var(--mbe-navy); font-size: .88rem; }
.mbe-cw__form textarea { width: 100%; font: inherit; font-size: .92rem; border: 1px solid #B9C7D5; border-radius: 10px; padding: .6rem .75rem; resize: vertical; box-sizing: border-box; }
.mbe-cw__form textarea:focus { outline: none; border-color: var(--mbe-teal); box-shadow: 0 0 0 3px rgba(43,179,200,.25); }
.mbe-cw__send { border: 0; cursor: pointer; font: inherit; font-weight: 600; background: #0E7A40; color: #fff; border-radius: 999px; padding: .7rem 1rem; }
.mbe-cw__send:hover { background: #0B6535; }
.mbe-cw__note { margin: 0; font-size: .75rem; color: var(--mbe-muted); }
.mbe-cw__alt { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .6rem 1.1rem 1.1rem; }
.mbe-cw__alt a { text-align: center; text-decoration: none; font-weight: 600; font-size: .82rem; color: #4B53BC; border: 1.5px solid #4B53BC; border-radius: 999px; padding: .55rem .5rem; }
.mbe-cw__alt a:hover { background: #4B53BC; color: #fff; }
@media (max-width: 781px) { .mbe-cw { right: 12px; bottom: 72px; } .mbe-cw__toggle span { display: none; } .mbe-cw__toggle { padding: .8rem; } }
@media print { .mbe-cw { display: none; } }

/* Loghi partner (caricati da Aspetto › Loghi partner) */
.mbe-partner .mbe-partner__logo { display: block; height: 44px; width: auto; max-width: 190px; object-fit: contain; object-position: left center; margin: 0 0 .75rem !important; }

/* ---------- Pagina 404 ---------- */
.mbe-404 { position: relative; overflow: hidden; background: var(--mbe-deep) var(--mbe-circuit-bg) right -120px top -60px / 900px auto no-repeat; color: #fff; padding: clamp(3rem, 7vw, 6rem) 1.25rem clamp(3rem, 6vw, 5rem); }
.mbe-404::before { content: "404"; position: absolute; right: -2vw; bottom: -6vw; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-weight: 700; font-size: clamp(10rem, 26vw, 24rem); line-height: 1; color: rgba(43,179,200,.07); pointer-events: none; }
.mbe-404__inner { position: relative; max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.mbe-404__kicker { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; font-size: .8rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mbe-turq); }
.mbe-404__kicker span { width: 28px; height: 2px; background: var(--mbe-turq); }
.mbe-404__title { margin: 0 0 1.1rem; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-weight: 600; font-size: clamp(2rem, 4.2vw, 3.2rem); line-height: 1.12; color: #fff; }
.mbe-404__title em { color: var(--mbe-turq); font-style: italic; }
.mbe-404__lead { margin: 0 0 1.8rem; max-width: 34rem; font-size: 1.08rem; line-height: 1.6; color: #C9D6E3; }
.mbe-404__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-bottom: 1.6rem; }
.mbe-404__btn { display: inline-flex; align-items: center; padding: .85rem 1.5rem; border-radius: 999px; border: 1.5px solid rgba(255,255,255,.55); color: #fff; font-weight: 600; text-decoration: none; transition: background .2s var(--mbe-ease), border-color .2s var(--mbe-ease), transform .2s var(--mbe-ease); }
.mbe-404__btn:hover, .mbe-404__btn:focus-visible { border-color: #fff; background: rgba(255,255,255,.08); transform: translateY(-1px); }
.mbe-404__btn.is-primary { background: var(--mbe-turq); border-color: var(--mbe-turq); color: var(--mbe-deep); }
.mbe-404__btn.is-primary:hover, .mbe-404__btn.is-primary:focus-visible { background: #5CC9D9; border-color: #5CC9D9; }
.mbe-404__search { display: flex; max-width: 30rem; background: rgba(255,255,255,.06); border: 1px solid rgba(201,214,227,.3); border-radius: 999px; padding: .3rem; }
.mbe-404__search input { flex: 1; min-width: 0; background: transparent; border: 0; color: #fff; padding: .55rem 1rem; font: inherit; font-size: .95rem; }
.mbe-404__search input::placeholder { color: #9FB2C4; }
.mbe-404__search input:focus { outline: none; }
.mbe-404__search:focus-within { border-color: var(--mbe-turq); box-shadow: 0 0 0 3px rgba(43,179,200,.25); }
.mbe-404__search button { border: 0; border-radius: 999px; background: #fff; color: var(--mbe-deep); font-weight: 600; padding: .55rem 1.2rem; cursor: pointer; }
.mbe-404__term { background: #071A2F; border: 1px solid rgba(43,179,200,.35); border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.03) inset; overflow: hidden; }
.mbe-404__bar { display: flex; align-items: center; gap: .4rem; padding: .7rem 1rem; background: rgba(255,255,255,.04); border-bottom: 1px solid rgba(255,255,255,.06); }
.mbe-404__bar i { width: 10px; height: 10px; border-radius: 50%; background: #3A5068; }
.mbe-404__bar i:first-child { background: #E86A5F; } .mbe-404__bar i:nth-child(2) { background: #E8B95F; } .mbe-404__bar i:nth-child(3) { background: #4CC38A; }
.mbe-404__bar span { margin-left: auto; font: 500 .75rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #6F86A0; }
.mbe-404__term pre { margin: 0; padding: 1.2rem 1.3rem 1.4rem; font: 400 clamp(.72rem, 1.05vw, .88rem)/1.85 ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; color: #DDE7F0; white-space: pre; overflow-x: auto; background: none; border: 0; }
.mbe-404__term .p { color: var(--mbe-turq); } .mbe-404__term .k { color: #6F86A0; } .mbe-404__term .d { color: #3E5670; }
.mbe-404__term .ok { color: #4CC38A; font-weight: 600; } .mbe-404__term .ko { color: #F0A35E; font-weight: 600; }
.mbe-404__term .cur { display: inline-block; width: .6em; height: 1.1em; vertical-align: -.2em; background: var(--mbe-turq); animation: mbe-blink 1.1s steps(1) infinite; }
@keyframes mbe-blink { 50% { opacity: 0; } }
.mbe-404__cards { position: relative; max-width: 1180px; margin: clamp(2.5rem, 5vw, 4rem) auto 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.mbe-404__card { display: flex; flex-direction: column; gap: .35rem; padding: 1.1rem 1.2rem; border-radius: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(201,214,227,.18); color: #C9D6E3; text-decoration: none; font-size: .9rem; line-height: 1.45; transition: background .2s var(--mbe-ease), border-color .2s var(--mbe-ease), transform .2s var(--mbe-ease); }
.mbe-404__card strong { color: #fff; font-size: 1rem; }
.mbe-404__card strong span { color: var(--mbe-turq); display: inline-block; transition: transform .2s var(--mbe-ease); }
.mbe-404__card:hover, .mbe-404__card:focus-visible { background: rgba(43,179,200,.1); border-color: rgba(43,179,200,.55); transform: translateY(-2px); }
.mbe-404__card:hover strong span { transform: translateX(3px); }
.mbe-404 a:focus-visible, .mbe-404 button:focus-visible { outline: 2px solid var(--mbe-turq); outline-offset: 3px; }
@media (max-width: 900px) { .mbe-404__inner { grid-template-columns: 1fr; } .mbe-404__cards { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .mbe-404__cards { grid-template-columns: 1fr; } .mbe-404__search button { padding: .55rem .9rem; } }
@media (prefers-reduced-motion: reduce) { .mbe-404__term .cur { animation: none; } .mbe-404__btn, .mbe-404__card { transition: none; } }
.mbe-404__inner > * { min-width: 0; }
.mbe-404 .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 520px) { .mbe-404 { padding-left: 1rem; padding-right: 1rem; } .mbe-404__actions .mbe-404__btn { flex: 1 1 auto; justify-content: center; } }
@media (max-width: 520px) { .mbe-404__term pre { font-size: .66rem; padding: 1rem .9rem 1.1rem; } }

/* 404 – rifiniture */
.mbe-404__term { position: relative; }
.mbe-404__term::before { content: ""; position: absolute; inset: -40% -20% auto auto; width: 70%; height: 140%; background: radial-gradient(closest-side, rgba(43,179,200,.18), transparent); pointer-events: none; z-index: -1; }
.mbe-404__inner > .mbe-404__term { isolation: isolate; }
.mbe-404__term .c { color: #56708C; font-style: italic; }
.mbe-404__term .l { display: inline; }
.js .mbe-404__term .l { opacity: 0; animation: mbe-line .35s var(--mbe-ease) forwards; animation-delay: calc(var(--i) * .32s + .2s); }
@keyframes mbe-line { from { opacity: 0; } to { opacity: 1; } }
.mbe-404__ico { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: .45rem; border-radius: 10px; background: rgba(43,179,200,.14); }
.mbe-404__ico::before { content: ""; width: 22px; height: 22px; background: var(--mbe-turq); -webkit-mask: var(--mbe-icon) center / contain no-repeat; mask: var(--mbe-icon) center / contain no-repeat; }
.mbe-404__card:hover .mbe-404__ico { background: rgba(43,179,200,.24); }
.mbe-404__title { text-wrap: balance; }
.mbe-404__lead { text-wrap: pretty; }
@media (prefers-reduced-motion: reduce) { .js .mbe-404__term .l { opacity: 1; animation: none; } }
@media (max-width: 520px) { .mbe-404__cards { gap: .75rem; } .mbe-404__card { display: grid; grid-template-columns: 40px 1fr; column-gap: .9rem; row-gap: .15rem; align-items: start; padding: 1rem; } .mbe-404__ico { grid-row: span 2; margin: 0; } }

/* Meta articolo */
.mbe-postmeta { gap: .5rem 1.25rem; margin-top: 1rem !important; }
.mbe-postmeta a { color: var(--wp--preset--color--mist) !important; }
.mbe-pagehead .wp-block-query-title, .mbe-pagehead h1 { color: #fff; }
.mbe-pagehead > .alignwide > * + * { margin-top: 1rem; }
.mbe-prose > h2 { margin-top: 2.5rem; }
/* Stato del bando voucher */
.mbe-vstatus { --c: var(--mbe-turq); border: 1px solid var(--mbe-line); border-left: 5px solid var(--c); background: #fff; border-radius: var(--mbe-radius); padding: 1.1rem 1.25rem; margin: 1.5rem 0 2rem; box-shadow: var(--mbe-shadow); }
.mbe-vstatus p { margin: 0; }
.mbe-vstatus p + p { margin-top: .45rem; }
.mbe-vstatus__label { display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--mbe-navy); text-transform: uppercase; letter-spacing: .04em; font-size: .82rem; }
.mbe-vstatus__label span { width: .7rem; height: .7rem; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 4px color-mix(in srgb, var(--c) 25%, transparent); }
.mbe-vstatus.is-aperto { --c: #1a9e5c; }
.mbe-vstatus.is-aperto .mbe-vstatus__label span { animation: mbe-vpulse 1.8s ease-in-out infinite; }
.mbe-vstatus.is-precompilazione { --c: #e0a100; }
.mbe-vstatus.is-chiuso, .mbe-vstatus.is-esauriti { --c: #8a94a6; }
.mbe-vstatus__note { font-style: italic; }
.mbe-vstatus__src { font-size: .8rem; color: var(--mbe-muted); }
@keyframes mbe-vpulse { 50% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--c) 0%, transparent); } }
@media (prefers-reduced-motion: reduce) { .mbe-vstatus__label span { animation: none !important; } }
/* Tabelle negli articoli */
.mbe-table { margin: 2rem 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mbe-table table { width: 100%; border-collapse: collapse; font-size: .95rem; background: #fff; border: 1px solid var(--mbe-line); border-radius: var(--mbe-radius); overflow: hidden; }
.mbe-table th { background: var(--mbe-navy); color: #fff; text-align: left; font-weight: 600; padding: .75rem 1rem; }
.mbe-table td { padding: .7rem 1rem; border-top: 1px solid var(--mbe-line); vertical-align: top; }
.mbe-table tbody tr:nth-child(even) td { background: var(--mbe-light); }
.mbe-table td:first-child { font-weight: 600; color: var(--mbe-navy); }
@media (max-width: 600px) { .mbe-table table { font-size: .85rem; } .mbe-table th, .mbe-table td { padding: .55rem .6rem; } }
.mbe-table figcaption { font-size: .8rem; color: var(--mbe-muted); margin-top: .5rem; text-align: left; }
