/*
 * Mariblue Header — stili vetro e classico (docs/header-widget.md).
 *
 * Tutto è dentro .mb-hdr (CSS annidato): le regole battono quelle del tema
 * (Hello colora link e pulsanti) senza !important. .mb-hdr è fissato in alto
 * ed è il contenitore "site": le regole @container guardano la sua
 * larghezza, cioè quella della finestra.
 */
.mb-hdr-space { height: 80px; }
.mb-hdr-space.is-classica { height: 84px; }
@media (max-width: 699px) { .mb-hdr-space { height: 68px; } }
@media (max-width: 980px) { .mb-hdr-space.is-classica { height: 68px; } }
.mb-hdr-space.is-design { display: none; }

.mb-hdr {
    position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 990;
    container: site / inline-size;
    font-family: var(--mb-font-testo); color: var(--mb-testo); line-height: 1.55; font-size: 16px; text-align: left;
    &.is-design { position: relative; top: 0; z-index: 2; }

    *, *::before, *::after { box-sizing: border-box; }
    :where(h1, h2, h3, h4, p, ul) { margin: 0; }
    :where(h3) { font-family: var(--mb-font-titoli); line-height: 1.12; }
    a { color: inherit; text-decoration: none; }
    /* pulsanti: via gli stili del tema */
    button, [type="button"], [type="submit"] { font: inherit; color: inherit; background: transparent; border: 0; padding: 0; border-radius: 0; text-transform: none; white-space: normal; letter-spacing: inherit; box-shadow: none; min-height: 0; }
    button:is(:hover, :focus), [type="button"]:is(:hover, :focus) { color: inherit; background-color: transparent; }
    img { max-width: none; }
    .wrap { max-width: 1200px; margin-inline: auto; padding-inline: 40px; }
    @container site (max-width: 700px) { .wrap { padding-inline: 18px; } }
    .mb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

    /* lingua con le bandiere (solo con l'inglese acceso): piccola e discreta.
       In cima niente riquadro, solo le due voci; scorrendo una pillola di vetro più bassa della capsula. */
    .mbh-lgpill, .mb-lgpill { pointer-events: auto; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0; height: 34px; padding: 2px; border-radius: 999px; }
    .mbh-lgpill[hidden], .mb-lgpill[hidden] { display: none; }
    .mbh:not(.is-scrolled):not(.is-open) .mbh-lgpill, .mb-lgpill { background: transparent; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
    .mbh:not(.is-scrolled):not(.is-open) .mbh-lgpill::before { opacity: 0; }
    .mbh.is-scrolled .mbh-lgpill { height: 40px; padding: 3px; }
    .mbh-lgpill a, .mb-lgpill a { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 8px; border-radius: 999px; text-decoration: none; font: 800 11.5px var(--mb-font-titoli); letter-spacing: .05em; color: var(--g-ink, var(--mb-testo)); opacity: .45; transition: background .2s, opacity .2s; }
    .mbh-lgpill a .flag, .mb-lgpill a .flag { filter: grayscale(.6); transition: filter .2s; }
    .mbh-lgpill a:hover, .mb-lgpill a:hover { opacity: .85; }
    .mbh-lgpill a.on, .mb-lgpill a.on { opacity: 1; background: var(--mb-mare); color: var(--mb-blu); }
    .mbh.is-scrolled .mbh-lgpill a.on { background: rgba(255,255,255,.75); }
    .mbh-lgpill a.on .flag, .mb-lgpill a.on .flag { filter: none; }
    .mbh-lgpill a:focus-visible, .mb-lgpill a:focus-visible { outline: 2px solid var(--mb-oro); outline-offset: 1px; }
    .flag { display: inline-block; width: 17px; height: 12px; border-radius: 2px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0,0,0,.12); flex: 0 0 auto; }
    .flag svg { display: block; width: 100%; height: 100%; }
    /* posizione: dopo i link rapidi (desktop in cima) oppure spinta a destra */
    .mbh-lgpill { margin-left: auto; }
    .mbh-inline + .mbh-lgpill { margin-left: 8px; }
    .mbh.is-scrolled .mbh-inline + .mbh-lgpill { margin-left: auto; }
    @container site (max-width: 999px) { .mbh .mbh-inline + .mbh-lgpill { margin-left: auto; } }
    .mbh.mbh .mbh-lgpill:not([hidden]) + .mbh-caps { margin-left: 6px; }
    .mbh.mbh .mbh-inline + .mbh-lgpill[hidden] + .mbh-caps { margin-left: auto; }
    @container site (min-width: 1000px) { .mbh.mbh:not(.is-scrolled) .mbh-inline + .mbh-lgpill[hidden] + .mbh-caps { margin-left: 8px; } }
    /* telefono: solo le bandiere, per stare accanto al logo */
    @container site (max-width: 699px) {
        .mbh-lgpill, .mbh.is-scrolled .mbh-lgpill { height: 34px; padding: 2px; }
        .mbh-lgpill a { height: 28px; padding: 0 6px; }
        .mbh-lgpill a span { display: none; }
        .mb-lgpill a span { display: none; }
    }

    /* =========================================================
       Stile classico
       ========================================================= */
    .mb-header { position: relative; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--mb-linea); }
    .mb-header__in { display: flex; align-items: center; gap: 24px; height: 84px; transition: height .25s; }
    .mb-header.is-small .mb-header__in { height: 64px; }
    .mb-header .mb-logo img { display: block; height: 60px; width: auto; transition: height .25s; }
    .mb-header.is-small .mb-logo img { height: 44px; }
    .mb-nav { display: flex; gap: 2px; margin: 0 auto; padding: 0; }
    .mb-nav > li { list-style: none; position: relative; }
    .mb-nav a { display: flex; align-items: center; gap: 6px; padding: 10px 13px; border-radius: 8px; font: 700 16px var(--mb-font-titoli); color: var(--mb-testo); text-decoration: none; }
    .mb-nav a:hover, .mb-nav li:focus-within > a { color: var(--mb-blu); background: var(--mb-mare); }
    .mb-nav .caret { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); }
    .mb-sub { position: absolute; top: 100%; left: 0; min-width: 240px; padding: 8px; margin: 0; list-style: none; background: #fff; border: 1px solid var(--mb-linea); border-radius: 12px; box-shadow: 0 14px 36px rgba(10,46,82,.14); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .18s; }
    .mb-nav li:hover > .mb-sub, .mb-nav li:focus-within > .mb-sub { opacity: 1; visibility: visible; transform: none; }
    .mb-sub a { font-weight: 600; font-size: 15px; }
    .mb-tools { display: flex; align-items: center; gap: 10px; }
    .mb-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--mb-blu); background: var(--mb-mare); border: 0; cursor: pointer; text-decoration: none; }
    .mb-icon svg { width: 20px; height: 20px; }
    .mb-burger { display: none; }
    .mb-panel1 { display: none; }
    @container site (max-width: 699px) { .mb-tools .btn { display: none; } }
    /* tablet: il pannello è un cassetto a destra, non tutta la larghezza */
    @container site (min-width: 700px) and (max-width: 980px) {
        .mb-header .mb-panel1.open { left: auto !important; width: 380px; border-left: 1px solid var(--mb-linea); border-radius: 0 0 0 16px; }
    }
    @container site (max-width: 980px) {
        .mb-nav { display: none; }
        .mb-burger { display: grid; }
        .mb-header__in { height: 68px; justify-content: space-between; }
        .mb-header .mb-logo img { height: 46px; }
        .mb-panel1.open { display: block; position: absolute; inset: 68px 0 auto 0; background: #fff; border-bottom: 1px solid var(--mb-linea); box-shadow: 0 20px 40px rgba(10,46,82,.15); padding: 8px 18px 22px; }
        .mb-panel1 details { border-bottom: 1px solid var(--mb-linea); }
        .mb-panel1 summary, .mb-panel1 > a { display: flex; justify-content: space-between; padding: 15px 2px; font: 800 18px var(--mb-font-titoli); text-decoration: none; list-style: none; cursor: pointer; }
        .mb-panel1 > a { border-bottom: 1px solid var(--mb-linea); }
        .mb-panel1 summary::-webkit-details-marker { display: none; }
        .mb-panel1 summary::after { content: "+"; color: var(--mb-blu); }
        .mb-panel1 details a { display: block; padding: 9px 12px; font-weight: 600; text-decoration: none; }
        .mb-panel1 .btn { margin-top: 16px; width: 100%; }
    }

    /* =========================================================
       Stile vetro
       ========================================================= */
    .mbh {
        --bh: 80px;
        --gx: 28px;
        --g-bg: linear-gradient(145deg, rgba(255,255,255,.62), rgba(255,255,255,.34));
        --g-border: rgba(255,255,255,.72);
        --g-ink: #10284A;
        --g-hover: rgba(0,71,171,.10);
        --g-shadow: 0 12px 32px -10px rgba(10,46,82,.38), 0 2px 8px rgba(0,0,0,.06);
        --g-inner: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 1px rgba(255,255,255,.35), inset 0 0 0 .5px rgba(255,255,255,.5);
        --spring: cubic-bezier(.22,1.35,.36,1);
        --ease: cubic-bezier(.32,.72,0,1);
        position: relative;
        height: var(--bh);
        pointer-events: none;
    }
    .mbh.is-dark {
        --g-bg: linear-gradient(145deg, rgba(14,40,74,.58), rgba(6,24,48,.38));
        --g-border: rgba(255,255,255,.22);
        --g-ink: #fff;
        --g-hover: rgba(255,255,255,.14);
        --g-shadow: 0 12px 32px -10px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.2);
        --g-inner: inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 1px rgba(255,255,255,.08), inset 0 0 0 .5px rgba(255,255,255,.12);
    }
    @container site (max-width: 699px) { .mbh { --bh: 68px; --gx: 14px; } }

    .mbh-edge { position: absolute; inset: 0 0 auto 0; height: calc(var(--bh) * .9); opacity: 0; pointer-events: none; transition: opacity .45s var(--ease); background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,0)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); mask-image: linear-gradient(180deg, #000 35%, transparent); -webkit-mask-image: linear-gradient(180deg, #000 35%, transparent); }
    .mbh.is-scrolled .mbh-edge { opacity: 1; }
    .mbh.is-dark .mbh-edge { background: linear-gradient(180deg, rgba(8,30,58,.55), rgba(8,30,58,0)); }

    .mbh-bar { position: absolute; inset: 0; background: #fff; border-bottom: 1px solid var(--mb-linea); transition: opacity .45s var(--ease), transform .45s var(--ease); }
    .mbh.is-scrolled .mbh-bar { opacity: 0; transform: translateY(-8px); }

    .mbh-row { position: relative; height: 100%; max-width: 1280px; margin: 0 auto; padding: 0 var(--gx); display: flex; align-items: center; gap: 12px; }

    .mbh-glass { position: relative; isolation: isolate; background: var(--g-bg); backdrop-filter: blur(22px) saturate(190%) brightness(1.04); -webkit-backdrop-filter: blur(22px) saturate(190%) brightness(1.04); border: 1px solid var(--g-border); box-shadow: var(--g-shadow), var(--g-inner); color: var(--g-ink); transition: background .4s, border-color .4s, box-shadow .4s, color .3s; }
    .mbh-glass::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: -1; background: radial-gradient(120% 70% at 20% -10%, rgba(255,255,255,.55), transparent 55%), radial-gradient(90% 60% at 100% 120%, rgba(255,255,255,.18), transparent 60%); mix-blend-mode: soft-light; }
    @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
        .mbh-glass { background: rgba(255,255,255,.94); }
        .mbh.is-dark .mbh-glass { background: rgba(10,46,82,.94); }
    }

    /* logo e cerchio con l'onda */
    .mbh-logo { position: relative; flex: 0 0 auto; width: 150px; height: 60px; pointer-events: auto; }
    .mbh-logo .long { position: absolute; left: 0; top: 50%; transform: translateY(-50%); transform-origin: left center; transition: opacity .35s var(--ease), transform .5s var(--ease); }
    .mbh-logo .long img { display: block; height: 62px; width: auto; }
    .mbh-logo .orb { position: absolute; left: 0; top: 50%; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; opacity: 0; transform: translateY(-50%) scale(.55); transition: opacity .3s var(--ease), transform .55s var(--spring), background .4s; pointer-events: none; }
    .mbh-logo .orb img { width: 38px; height: auto; }
    .mbh.is-scrolled .mbh-logo .long { opacity: 0; transform: translateY(-50%) scale(.82); pointer-events: none; }
    .mbh.is-scrolled .mbh-logo .orb { opacity: 1; transform: translateY(-50%) scale(1); pointer-events: auto; }
    @container site (max-width: 699px) {
        .mbh-logo { width: 112px; height: 50px; }
        .mbh-logo .long img { height: 50px; }
        .mbh-logo .orb { visibility: hidden; }
        .mbh.is-scrolled .mbh-logo { width: 0; pointer-events: none; }
    }

    /* link rapidi: solo desktop, solo in cima */
    .mbh-inline { display: none; align-items: center; gap: 2px; margin-left: auto; pointer-events: auto; transition: opacity .3s var(--ease), transform .45s var(--ease); }
    @container site (min-width: 1000px) { .mbh-inline { display: flex; } }
    .mbh-inline a { padding: 8px 12px; border-radius: 999px; color: var(--mb-testo); text-decoration: none; font: 700 15.5px/1.2 var(--mb-font-titoli); transition: background .2s, color .2s; }
    .mbh-inline a:hover, .mbh-inline a:focus-visible { background: var(--mb-mare); color: var(--mb-blu); outline: none; }
    .mbh.is-scrolled .mbh-inline { opacity: 0; transform: translateY(-6px); pointer-events: none; position: absolute; }


    /* capsula [account | menu] */
    .mbh-caps { pointer-events: auto; display: flex; align-items: center; flex: 0 0 auto; margin-left: auto; height: 52px; padding: 4px; gap: 2px; border-radius: 999px; transition: transform .5s var(--spring), background .4s, box-shadow .4s, border-color .4s; }
    @container site (max-width: 699px) { .mbh:not(.is-scrolled) .mbh-caps { margin-left: auto; } }
    .mbh:not(.is-scrolled):not(.is-open) .mbh-caps { background: var(--mb-mare); border-color: var(--mb-linea); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; color: var(--mb-blu); }
    .mbh:not(.is-scrolled):not(.is-open) .mbh-caps::before { opacity: 0; }
    .mbh-ib { appearance: none; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; width: 44px; height: 44px; display: grid; place-items: center; color: inherit; position: relative; transition: transform .45s var(--spring), background .2s; -webkit-tap-highlight-color: transparent; }
    .mbh-ib:hover, .mbh-ib[aria-expanded="true"] { background: var(--g-hover); }
    .mbh-ib:active { transform: scale(.86); }
    .mbh-ib:focus-visible { outline: 2px solid var(--mb-oro); outline-offset: 1px; }
    .mbh-ib svg { width: 24px; height: 24px; }
    .mbh-sep { width: 1px; height: 22px; background: currentColor; opacity: .16; }
    .mbh-av { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--mb-blu); color: #fff; font: 800 13px/1 var(--mb-font-titoli); letter-spacing: .02em; box-shadow: 0 0 0 2px #fff; }
    .mbh-av.is-pending { background: var(--mb-oro); }
    /* capsula: scorciatoia della gestione e richiesta dei privati, con il pallino del numero */
    .mbh-ib--n { position: relative; text-decoration: none; }
    .mbh-ib--n svg { width: 22px; height: 22px; }
    .mbh-dot { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--mb-oro); color: #fff; font: 800 11px/18px var(--mb-font-titoli); text-align: center; }
    .mbh-dot--in { position: static; display: inline-block; margin-left: 4px; vertical-align: 1px; }
    .mbh-reqw { position: relative; display: inline-flex; }
    .mbh-req { position: absolute; top: calc(100% + 12px); right: -60px; width: min(320px, calc(100vw - 32px)); display: grid; gap: 10px; padding: 16px; border-radius: 22px; background: rgba(255,255,255,.96); color: var(--mb-testo); box-shadow: 0 24px 60px -20px rgba(10,46,82,.45); z-index: 5; text-align: left; }
    .mbh-req[hidden] { display: none; }
    .mbh-req b { font: 800 16px var(--mb-font-titoli); color: var(--mb-blu); }
    .mbh-req ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
    .mbh-req li { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; font-size: 14px; }
    .mbh-req li img { width: 36px; height: 36px; border-radius: 8px; object-fit: cover; }
    .mbh-req li small { display: block; color: var(--mb-tenue); font-size: 12px; }
    .mbh-req li em { font-style: normal; font-weight: 800; color: var(--mb-tenue); }
    .mbh-req p { margin: 0; font-size: 14px; color: var(--mb-tenue); }
    .mbh-burger { width: 22px; height: 14px; position: relative; display: block; }
    .mbh-burger i { position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform .45s var(--spring), opacity .2s, top .45s var(--spring); }
    .mbh-burger i:nth-child(1) { top: 0; } .mbh-burger i:nth-child(2) { top: 6px; } .mbh-burger i:nth-child(3) { top: 12px; }
    .mbh-ib[aria-expanded="true"] .mbh-burger i:nth-child(1) { top: 6px; transform: rotate(45deg); }
    .mbh-ib[aria-expanded="true"] .mbh-burger i:nth-child(2) { opacity: 0; transform: scaleX(.2); }
    .mbh-ib[aria-expanded="true"] .mbh-burger i:nth-child(3) { top: 6px; transform: rotate(-45deg); }
    @container site (max-width: 699px) {
        .mbh-caps { height: 46px; padding: 3px; }
        .mbh-ib { width: 40px; height: 40px; }
        .mbh-ib svg { width: 22px; height: 22px; }
    }

    /* velo */
    .mbh-scrim { position: absolute; left: 0; right: 0; top: 0; height: var(--fh, 100vh); background: rgba(8,30,58,.18); opacity: 0; pointer-events: none; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); transition: opacity .35s var(--ease); z-index: -1; }
    .mbh.is-open .mbh-scrim { opacity: 1; pointer-events: auto; }

    /* pannelli */
    .mbh-panel { --p-ink: #10284A; --p-soft: #55687F; --p-group: rgba(255,255,255,.6); --p-line: rgba(10,46,82,.09);
        position: absolute; top: calc(var(--bh) - 6px); right: max(var(--gx), calc((100% - 1280px) / 2 + var(--gx)));
        border-radius: 30px; pointer-events: none; opacity: 0; transform: scale(.22,.12); filter: blur(8px);
        transform-origin: calc(100% - 26px) -30px;
        transition: transform .32s var(--ease), opacity .22s var(--ease), filter .3s var(--ease);
        max-height: calc(var(--fh, 100vh) - var(--bh) - 16px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin;
        color: var(--p-ink); text-align: left;
        background: linear-gradient(160deg, rgba(255,255,255,.84), rgba(246,250,255,.68));
        border: 1px solid rgba(255,255,255,.85);
        box-shadow: 0 30px 70px -20px rgba(10,46,82,.5), 0 4px 14px rgba(0,0,0,.08), inset 0 1px 0 #fff;
        backdrop-filter: blur(34px) saturate(200%); -webkit-backdrop-filter: blur(34px) saturate(200%); }
    .mbh-panel.is-open { opacity: 1; transform: none; filter: none; pointer-events: auto; transition: transform .6s var(--spring), opacity .2s var(--ease), filter .3s var(--ease); }
    .mbh-panel .st { opacity: 0; transform: translateY(8px) scale(.98); transition: opacity .2s, transform .3s var(--ease); }
    .mbh-panel.is-open .st { opacity: 1; transform: none; transition: opacity .35s var(--ease), transform .55s var(--spring); transition-delay: calc(60ms + var(--i, 0) * 35ms); }
    .mbh-menu { width: min(860px, calc(100cqw - 2 * var(--gx))); padding: 18px; }
    .mbh-acc { width: 360px; padding: 18px; transform-origin: calc(100% - 76px) -30px; transition-property: transform, opacity, filter, width; }
    /* registrazione: pannello più largo, campi su due colonne con respiro */
    .mbh-acc.is-wide { width: 500px; padding: 22px; }
    .mbh-acc.is-wide .mbh-form .two { gap: 12px; }
    @container site (max-width: 699px) { .mbh-acc.is-wide { width: auto; padding: 18px; } }
    @container site (max-width: 699px) {
        .mbh-panel { left: 10px; right: 10px; width: auto; border-radius: 28px; top: calc(var(--bh) - 4px); transform-origin: calc(100% - 30px) -26px; }
        .mbh-menu { padding: 14px; }
        .mbh-acc { transform-origin: calc(100% - 70px) -26px; }
    }

    .mbh-search { display: flex; align-items: center; gap: 8px; height: 46px; margin-bottom: 14px; padding: 0 14px; border-radius: 14px; background: rgba(0,71,171,.07); color: var(--p-soft); }
    .mbh-search svg { width: 18px; height: 18px; flex: 0 0 auto; }
    .mbh-search input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; outline: none; font: 600 16px var(--mb-font-testo); color: var(--p-ink); }
    .mbh-search input::placeholder { color: #7A8BA0; }
    /* il reset del tema e Safari iOS disegnano un riquadro bianco dentro la pillola */
    .mbh.mbh .mbh-search input, .mbh.mbh .mbh-search input:focus { -webkit-appearance: none; appearance: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; outline: none; }
    .mbh.mbh .mbh-search input::-webkit-search-decoration, .mbh.mbh .mbh-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
    .mbh-search:focus-within { box-shadow: 0 0 0 2px var(--mb-blu); }

    .mbh-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
    .mbh-tiles a { position: relative; overflow: hidden; isolation: isolate; border-radius: 20px; padding: 14px 16px; min-height: 104px; display: flex; flex-direction: column; justify-content: flex-end; text-decoration: none; color: #fff; background: var(--mb-blu-scuro); transition: transform .4s var(--spring); }
    .mbh-tiles a:active { transform: scale(.97); }
    .mbh-tiles a::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,30,70,0) 15%, rgba(0,30,70,.72)); }
    .mbh-tiles img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
    .mbh-tiles b { font: 800 17px/1.15 var(--mb-font-titoli); }
    .mbh-tiles small { font-size: 12.5px; opacity: .92; }

    .mbh-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .mbh-cols > div { min-width: 0; }
    @container site (max-width: 699px) { .mbh-cols { grid-template-columns: 1fr; } .mbh-tiles a { min-height: 92px; } }
    .mbh-gt { font: 800 11.5px/1.3 var(--mb-font-testo); letter-spacing: 1.2px; text-transform: uppercase; color: var(--p-soft); margin: 2px 10px 6px; }
    .mbh-group { background: var(--p-group); border-radius: 18px; overflow: hidden; border: .5px solid rgba(255,255,255,.75); }
    .mbh-group > a, .mbh-group > button { display: flex; align-items: center; gap: 11px; width: 100%; padding: 10px 12px; text-decoration: none; color: var(--p-ink); position: relative; background: transparent; border: 0; font: inherit; text-align: left; cursor: pointer; transition: background .15s; }
    .mbh-group > :is(a,button) + :is(a,button)::before { content: ""; position: absolute; top: 0; left: 52px; right: 0; height: .5px; background: var(--p-line); }
    .mbh-group > :is(a,button):hover, .mbh-group > :is(a,button):focus-visible { background: rgba(0,71,171,.07); outline: none; }
    .mbh-ic { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; color: #fff; background: var(--mb-blu); }
    .mbh-ic svg { width: 17px; height: 17px; }
    .mbh-ic.oro { background: var(--mb-oro); } .mbh-ic.scuro { background: var(--mb-blu-scuro); } .mbh-ic.verde { background: #1F9D55; }
    .mbh-tx { flex: 1; min-width: 0; line-height: 1.2; }
    .mbh-tx b { display: block; font: 700 14.5px/1.25 var(--mb-font-testo); }
    .mbh-tx small { display: block; font-size: 12px; line-height: 1.3; color: var(--p-soft); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mbh-chev { width: 14px; height: 14px; color: #9AA9BC; flex: 0 0 auto; }
    .mbh-pills { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 12px 12px 52px; }
    .mbh-pills a { font: 700 12.5px/1.3 var(--mb-font-testo); padding: 5px 10px; border-radius: 999px; background: rgba(255,255,255,.85); border: .5px solid rgba(10,46,82,.12); color: var(--mb-blu-scuro); text-decoration: none; transition: background .15s, color .15s; }
    .mbh-pills a:hover { background: var(--mb-blu); color: #fff; }
    .mbh-mine { margin-bottom: 14px; }
    .mbh-mine > a { padding: 12px 14px; }

    .mbh-foot { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; align-items: stretch; }
    .mbh-foot a, .mbh-btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px; border-radius: 15px; text-decoration: none; font: 800 15px/1.2 var(--mb-font-titoli); border: 0; cursor: pointer; transition: transform .4s var(--spring), filter .2s; }
    .mbh-foot a:active, .mbh-btn:active { transform: scale(.97); }
    .mbh-gold { background: var(--mb-oro); color: #fff; box-shadow: 0 8px 18px -8px rgba(198,149,13,.8); }
    .mbh-gold:hover { filter: brightness(1.07); }
    .mbh-blue { background: var(--mb-blu); color: #fff; }
    /* sui pulsanti pieni il testo resta bianco anche con i colori dei link del tema */
    .mbh-btn.mbh-blue, .mbh-btn.mbh-gold, .mbh-foot a.mbh-blue, .mbh-foot a.mbh-gold, .mbh-stack a.mbh-blue, .mbh-stack a.mbh-gold { color: #fff; }
    .mbh-btn.mbh-out { color: var(--mb-blu); }
    .mbh-out { background: rgba(255,255,255,.7); color: var(--mb-blu); box-shadow: inset 0 0 0 1.5px var(--mb-blu); }
    .mbh-foot svg { width: 19px; height: 19px; }
    .mbh-foot .tel { flex: 0 0 auto; }
    .mbh-lang { flex: 0 0 auto; display: flex; align-items: center; gap: 4px; padding: 0 12px; border-radius: 15px; border: 1.5px dashed #A9BAD0; font: 800 13px var(--mb-font-titoli); color: var(--p-soft); }
    .mbh-lang b { color: var(--mb-blu); }
    @container site (max-width: 699px) { .mbh-foot .tel span { display: none; } .mbh-foot .tel { width: 48px; padding: 0; } }

    /* pannello account */
    .mbh-acc-h { display: flex; gap: 12px; align-items: center; margin: 2px 4px 14px; }
    .mbh-acc-h .wave { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: #fff; box-shadow: inset 0 0 0 1px var(--mb-linea); }
    .mbh-acc-h .wave img { width: 34px; }
    .mbh-acc-h .mbh-av { width: 46px; height: 46px; font-size: 16px; box-shadow: none; }
    .mbh-acc-h b { display: block; font: 800 17px/1.2 var(--mb-font-titoli); }
    .mbh-acc-h small { display: block; color: var(--p-soft); font-size: 13px; line-height: 1.3; margin-top: 2px; }
    .mbh-perks { display: grid; gap: 7px; margin: 0 6px 16px; padding: 0; list-style: none; font-size: 14px; line-height: 1.35; color: var(--p-soft); }
    .mbh-perks li { display: flex; gap: 8px; align-items: flex-start; }
    .mbh-perks svg { width: 16px; height: 16px; color: var(--mb-oro); flex: 0 0 auto; margin-top: 1px; }
    .mbh-stack { display: grid; gap: 8px; }
    .mbh-link { appearance: none; background: none; border: 0; padding: 0; color: var(--mb-blu); font: 700 14px var(--mb-font-testo); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
    .mbh-center { text-align: center; margin-top: 12px; }
    .mbh-note { margin: 10px 6px 0; font-size: 13px; line-height: 1.45; color: var(--p-soft); }
    .mbh-back { appearance: none; background: none; border: 0; padding: 4px 6px; margin: -4px 0 8px -6px; color: var(--mb-blu); font: 800 14px var(--mb-font-titoli); cursor: pointer; border-radius: 8px; }
    .mbh-back:focus-visible { outline: 2px solid var(--mb-oro); }
    .mbh-h3 { font: 800 20px/1.2 var(--mb-font-titoli); margin: 0 4px 12px; color: var(--p-ink); }
    .mbh-form { display: grid; gap: 10px; }
    .mbh-form .two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .mbh-field { display: grid; gap: 4px; }
    .mbh-field label { font: 700 12.5px var(--mb-font-testo); color: var(--p-soft); padding-left: 4px; }
    .mbh-field input, .mbh-field select { width: 100%; height: 46px; padding: 0 14px; border-radius: 12px; border: 1px solid #C9D6E6; background: rgba(255,255,255,.92); font: 600 16px var(--mb-font-testo); color: var(--p-ink); outline: none; appearance: none; }
    .mbh-field select { background-image: linear-gradient(45deg, transparent 50%, #55687F 50%), linear-gradient(135deg, #55687F 50%, transparent 50%); background-position: calc(100% - 18px) 20px, calc(100% - 13px) 20px; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 32px; }
    .mbh-field input:focus, .mbh-field select:focus { border-color: var(--mb-blu); box-shadow: 0 0 0 3px rgba(0,71,171,.15); }
    .mbh-pass { position: relative; }
    .mbh-pass input { padding-right: 48px; }
    .mbh-eye { position: absolute; right: 4px; top: 4px; width: 38px; height: 38px; border: 0; background: transparent; border-radius: 10px; color: var(--p-soft); cursor: pointer; display: grid; place-items: center; }
    .mbh-eye svg { width: 20px; height: 20px; }
    .mbh-row2 { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px; }
    .mbh-check { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; line-height: 1.4; color: var(--p-ink); }
    .mbh-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--mb-blu); flex: 0 0 auto; }
    .mbh-ts { display: flex; align-items: center; gap: 10px; height: 58px; padding: 0 14px; border-radius: 10px; border: 1.5px dashed #A9BAD0; background: rgba(255,255,255,.6); font-size: 13px; color: var(--p-soft); }
    .mbh-ts i { width: 22px; height: 22px; border-radius: 5px; border: 2px solid #9AA9BC; flex: 0 0 auto; }
    .mbh-err { padding: 10px 12px; border-radius: 12px; background: #FDECEE; color: var(--mb-rosso); font-size: 13.5px; font-weight: 700; }
    .mbh-ok { padding: 14px; border-radius: 14px; background: #E8F6EE; color: #146C3C; font-size: 14.5px; line-height: 1.45; }
    .mbh-ok b { display: block; font: 800 16px var(--mb-font-titoli); margin-bottom: 4px; }
    .mbh-type { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 14px; background: rgba(0,71,171,.08); margin-bottom: 4px; }
    .mbh-type button { height: 38px; border: 0; border-radius: 11px; background: transparent; font: 800 14px var(--mb-font-titoli); color: var(--p-soft); cursor: pointer; }
    .mbh-type button[aria-pressed="true"] { background: #fff; color: var(--mb-blu); box-shadow: 0 2px 8px rgba(10,46,82,.12); }
    .mbh-type button.is-off { border: 1.5px dashed #A9BAD0; }
    .mbh-badge { display: inline-block; font: 800 10.5px/1.4 var(--mb-font-testo); letter-spacing: .5px; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: #FFF3CF; color: #8A6500; margin-top: 4px; }
    .mbh-danger b { color: var(--mb-rosso); }
    .mbh-view[hidden] { display: none !important; }
    /* campi B2B o privato nascosti: .mbh-form (display: grid) vincerebbe su hidden */
    [data-rt-show][hidden] { display: none !important; }

    /* tutto fermo per chi non vuole movimento */
    @media (prefers-reduced-motion: reduce) { .mbh *, .mbh *::before, .mbh *::after, .mbh { transition-duration: .01ms !important; animation: none !important; } }
    .mbh a, .mbh button { text-transform: none; }

    /* selettore di lingua in fondo al menu */
    .mbh-lang { border-style: solid; padding: 3px; gap: 2px; }
    .mbh-lang a { padding: 6px 10px; border-radius: 12px; color: var(--mb-tenue); font-weight: 800; }
    .mbh-lang a.on { background: var(--mb-blu); color: #fff; }
    /* hover dei pulsanti più forte del reset */
    .mbh-ib:is(:hover, :focus-visible), .mbh-ib[aria-expanded="true"] { background: var(--g-hover); }
    .mb-icon:hover { background: var(--mb-linea); }
    .mbh-tsbox { min-height: 65px; }
    .mbh-check a { color: var(--mb-blu); text-decoration: underline; }
    .mbh-field select { color: var(--p-ink); }
}
