/* ===== Italian Big Book — Home (ispirazione sobria, calore e dignità) ===== */
:root {
    --ibb-cream: #f6f2ea;
    --ibb-warm-white: #faf8f4;
    --ibb-paper: #fffdf9;
    --ibb-ink: #2c3a47;
    --ibb-ink-soft: #4a5564;
    --ibb-muted: #6b7280;
    --ibb-border: #e2ddd4;
    --ibb-border-soft: #ebe6dd;
    --ibb-accent: #3d5a4c;
    --ibb-accent-hover: #324a3e;
    --ibb-accent-soft: #e8efe9;
    --ibb-shadow: rgba(44, 58, 71, 0.07);
    --ibb-shadow-deep: rgba(26, 37, 47, 0.12);
    --ibb-wa-green: #dcf8c6;
    --ibb-wa-text: #111b21;
    --ibb-wa-link: #027eb5;
    --ibb-wa-preview-width: 336px;
    --ibb-wa-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --ibb-serif: "Cormorant Garamond", "Georgia", "Times New Roman", serif;
    --ibb-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Footer copyright: lungo su PC, corto su mobile */
.ibb-footer-credit {
    display: inline-block;
    max-width: 100%;
    line-height: 1.45;
    font-size: 0.92em;
}

.ibb-footer-credit-short {
    display: none;
}

@media (max-width: 720px) {
    .ibb-footer-credit-full {
        display: none;
    }

    .ibb-footer-credit-short {
        display: inline;
    }
}

/* Pagina home: sfondo caldo, tipografia */
body.ibb-home-lena,
body.page-id-9,
body.page-id-70,
body.page-id-71 {
    background-color: var(--ibb-cream) !important;
    font-family: var(--ibb-sans);
    color: var(--ibb-ink-soft);
}

body.ibb-home-lena .site,
body.page-id-9 .site,
body.page-id-70 .site,
body.page-id-71 .site {
    background-color: var(--ibb-cream);
}

body.ibb-home-lena .content-bg,
body.page-id-9 .content-bg,
body.page-id-70 .content-bg,
body.page-id-71 .content-bg {
    background: transparent !important;
}

body.ibb-home-lena .entry-content,
body.page-id-9 .entry-content,
body.page-id-70 .entry-content,
body.page-id-71 .entry-content {
    margin-top: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.ibb-home-lena .content-wrap,
body.ibb-home-legacy .content-wrap,
body.ibb-home-preview .content-wrap,
body.page-id-9 .content-wrap,
body.page-id-70 .content-wrap,
body.page-id-71 .content-wrap,
body.page-id-2073 .content-wrap {
    padding-top: 0 !important;
}

body.ibb-home-lena .entry-hero,
body.ibb-home-legacy .entry-hero,
body.ibb-home-preview .entry-hero,
body.page-id-9 .entry-hero,
body.page-id-70 .entry-hero,
body.page-id-71 .entry-hero,
body.page-id-2073 .entry-hero {
    display: none !important;
}

body.ibb-home-lena .entry-hero-container,
body.ibb-home-legacy .entry-hero-container,
body.ibb-home-preview .entry-hero-container,
body.ibb-branded-chrome .entry-hero-container,
body.page-id-9 .entry-hero-container,
body.page-id-70 .entry-hero-container,
body.page-id-71 .entry-hero-container,
body.page-id-2073 .entry-hero-container {
    display: none !important;
}

/* ===== Header unificato (home + tutte le pagine IBB) — eredita lo stesso aspetto ===== */
body.ibb-branded-chrome #masthead,
body.ibb-branded-chrome #mobile-header,
body.ibb-branded-chrome .site-header,
body.ibb-branded-chrome #masthead .site-main-header-wrap,
body.ibb-branded-chrome #masthead .site-top-header-wrap,
body.ibb-branded-chrome #masthead .site-bottom-header-wrap,
body.ibb-branded-chrome #masthead .site-header-row-container-inner,
body.ibb-branded-chrome #mobile-header .site-header-row-container-inner {
    background: var(--ibb-cream) !important;
    background-color: var(--ibb-cream) !important;
    border-bottom: 1px solid var(--ibb-border-soft) !important;
    box-shadow: none !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 100 !important;
}

body.ibb-branded-chrome.transparent-header #masthead,
body.ibb-branded-chrome.mobile-transparent-header #masthead,
body.ibb-branded-chrome.transparent-header #mobile-header,
body.ibb-branded-chrome.mobile-transparent-header #mobile-header {
    position: relative !important;
    background: var(--ibb-cream) !important;
}

body.ibb-branded-chrome #masthead .site-main-header-inner-wrap,
body.ibb-branded-chrome #mobile-header .site-main-header-inner-wrap {
    min-height: clamp(56px, 8vw, 72px) !important;
    max-width: min(1180px, 94vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 8px clamp(12px, 2vw, 20px) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px 18px !important;
}

/* PC: riga 1 = logo + titolo; bandiere in alto a destra (CSS, senza flash JS); riga 2 = menu */
@media (min-width: 1025px) {
    body.ibb-branded-chrome #masthead .site-main-header-inner-wrap {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center !important;
        justify-content: stretch !important;
        column-gap: 0 !important;
        row-gap: 4px !important;
        min-height: 0 !important;
        padding-top: 10px !important;
        padding-bottom: 8px !important;
        position: relative !important;
    }

    body.ibb-branded-chrome #masthead .site-header-main-section-left {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        max-width: calc(100% - 150px);
        padding-right: 12px;
        box-sizing: border-box;
    }

    body.ibb-branded-chrome #masthead .site-header-main-section-right,
    body.ibb-branded-chrome #masthead .main-navigation,
    body.ibb-branded-chrome #masthead .header-navigation,
    body.ibb-branded-chrome #masthead .primary-menu-container,
    body.ibb-branded-chrome #masthead .header-menu-container,
    body.ibb-branded-chrome #masthead ul#primary-menu {
        position: static !important;
    }

    body.ibb-branded-chrome #masthead .site-header-main-section-right {
        grid-column: 1;
        grid-row: 2;
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        justify-content: stretch !important;
        padding-left: calc(clamp(48px, 7vw, 62px) + clamp(8px, 1.2vw, 14px)) !important;
        box-sizing: border-box !important;
    }

    body.ibb-branded-chrome #masthead .main-navigation,
    body.ibb-branded-chrome #masthead .header-navigation,
    body.ibb-branded-chrome #masthead .primary-menu-container,
    body.ibb-branded-chrome #masthead .header-menu-container {
        width: 100% !important;
        justify-content: stretch !important;
    }

    body.ibb-branded-chrome #masthead .site-branding .site-title,
    body.ibb-branded-chrome #masthead .site-branding .site-title a {
        font-size: clamp(1.55rem, 2.9vw, 2.2rem) !important;
        letter-spacing: 0.04em !important;
    }

    body.ibb-branded-chrome #masthead .site-branding .custom-logo {
        max-height: clamp(54px, 7.5vw, 70px) !important;
    }

    body.ibb-branded-chrome #masthead ul#primary-menu {
        justify-content: space-between !important;
        gap: 0.25rem 0.85rem !important;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li:not(.lang-item) {
        flex: 1 1 auto !important;
        text-align: center;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li:not(.lang-item) > a {
        display: inline-block !important;
        padding: 0.35rem 0.45rem !important;
        font-size: 0.84rem !important;
        letter-spacing: 0.1em !important;
    }

    /* Bandiere: fisse in alto a destra fin dal primo paint (niente jump JS) */
    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item {
        position: absolute !important;
        top: 10px !important;
        z-index: 6 !important;
        margin: 0 !important;
        order: 0 !important;
        flex: 0 0 auto !important;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item:nth-last-child(1) {
        right: clamp(12px, 2vw, 20px) !important;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item:nth-last-child(2) {
        right: calc(clamp(12px, 2vw, 20px) + 48px) !important;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item:nth-last-child(3) {
        right: calc(clamp(12px, 2vw, 20px) + 96px) !important;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item a {
        display: inline-flex !important;
        align-items: center !important;
        padding: 3px !important;
        border: 2px solid transparent !important;
        border-radius: 4px !important;
        line-height: 0 !important;
        box-sizing: border-box !important;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item img {
        width: 36px !important;
        height: auto !important;
        max-width: 36px !important;
        display: block !important;
    }

    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item.current-lang > a,
    body.ibb-branded-chrome #masthead #primary-menu > li.current-lang > a,
    body.ibb-branded-chrome #masthead #primary-menu > li.lang-item.current_page_item > a {
        border-color: #2f6fed !important;
    }

    html[lang^="es"] body.ibb-branded-chrome #masthead ul#primary-menu {
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }

    html[lang^="es"] body.ibb-branded-chrome #masthead #primary-menu > li.lang-item {
        position: absolute !important;
    }
}

body.ibb-branded-chrome .site-header-main-section-left,
body.ibb-branded-chrome .site-header-main-section-right {
    display: flex !important;
    align-items: center !important;
    min-width: 0;
}

body.ibb-branded-chrome .site-header-main-section-left {
    flex: 0 1 auto;
}

body.ibb-branded-chrome .site-header-main-section-right {
    flex: 1 1 0 !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    max-width: none !important;
}

body.ibb-branded-chrome .main-navigation,
body.ibb-branded-chrome .header-navigation,
body.ibb-branded-chrome .primary-menu-container,
body.ibb-branded-chrome .header-menu-container {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.ibb-branded-chrome .site-branding {
    padding: 0 !important;
    margin: 0 !important;
}

body.ibb-branded-chrome .site-branding .brand {
    display: flex !important;
    align-items: center !important;
    gap: clamp(8px, 1.2vw, 14px) !important;
    text-decoration: none !important;
}

body.ibb-branded-chrome .site-branding .custom-logo {
    width: auto !important;
    max-height: clamp(48px, 7vw, 62px) !important;
    height: auto !important;
}

body.ibb-branded-chrome .site-branding .site-title-wrap {
    margin: 0 !important;
}

body.ibb-branded-chrome .site-branding .site-title,
body.ibb-branded-chrome .site-branding .site-title a {
    font-family: var(--ibb-serif) !important;
    font-size: clamp(1.15rem, 2vw, 1.65rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    color: var(--ibb-ink) !important;
    text-transform: none !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

body.ibb-branded-chrome #primary-menu > li > a,
body.ibb-branded-chrome #mobile-menu > li > a {
    font-family: var(--ibb-sans) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--ibb-ink-soft) !important;
    padding: 0.35rem 0.45rem !important;
}

body.ibb-branded-chrome #primary-menu > li > a:hover,
body.ibb-branded-chrome #primary-menu > li.current-menu-item > a,
body.ibb-branded-chrome #mobile-menu > li > a:hover,
body.ibb-branded-chrome #mobile-menu > li.current-menu-item > a {
    color: var(--ibb-accent) !important;
}

body.ibb-branded-chrome .primary-menu-container > ul.menu,
body.ibb-branded-chrome .header-menu-container > ul.menu,
body.ibb-branded-chrome ul#primary-menu,
body.ibb-branded-chrome ul#mobile-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.05rem 0.22rem !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.ibb-branded-chrome ul#mobile-menu {
    flex-wrap: wrap !important;
}

body.ibb-branded-chrome #primary-menu > li:not(.lang-item),
body.ibb-branded-chrome #mobile-menu > li:not(.lang-item) {
    order: 1 !important;
    flex: 0 1 auto;
    min-width: 0;
}

body.ibb-branded-chrome #primary-menu > li:not(.lang-item) > a,
body.ibb-branded-chrome #mobile-menu > li:not(.lang-item) > a {
    white-space: nowrap;
}

body.ibb-branded-chrome #primary-menu > li.lang-item,
body.ibb-branded-chrome #mobile-menu > li.lang-item {
    order: 99 !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
}

body.ibb-branded-chrome #primary-menu > li.lang-item > a,
body.ibb-branded-chrome #mobile-menu > li.lang-item > a {
    border: 2px solid transparent;
    border-radius: 3px;
    box-sizing: border-box;
}

body.ibb-branded-chrome #primary-menu > li.lang-item.current-lang > a,
body.ibb-branded-chrome #primary-menu > li.current-lang > a,
body.ibb-branded-chrome #mobile-menu > li.lang-item.current-lang > a,
body.ibb-branded-chrome #mobile-menu > li.current-lang > a {
    border-color: #2f6fed;
}

body.ibb-branded-chrome #primary-menu > li.lang-item:first-of-type,
body.ibb-branded-chrome #mobile-menu > li.lang-item:first-of-type {
    margin-left: 0.45rem;
}

.ibb-header-clock-bar {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #f4f7f5;
    border-bottom: 1px solid var(--ibb-border-soft, #d5ddd8);
    box-sizing: border-box;
}

.ibb-header-clock-bar-inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 18px;
    width: 100%;
    max-width: min(1180px, 94vw);
    margin: 0 auto;
    padding: 6px clamp(12px, 2vw, 20px);
    box-sizing: border-box;
}

.ibb-header-group-tagline {
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font-family: "Source Sans 3", system-ui, sans-serif !important;
    font-size: clamp(0.82rem, 1.35vw, 0.95rem) !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: var(--ibb-muted, #5a6b63) !important;
    min-width: 0;
}

.ibb-header-clock-bar .ibb-home-clock,
.ibb-header-clock-bar .ibb-header-clock {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
}

.ibb-italian-clock-text {
    display: inline;
    font-family: "Source Sans 3", system-ui, sans-serif !important;
    font-size: clamp(0.82rem, 1.35vw, 0.95rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0;
    color: var(--ibb-muted, #5a6b63) !important;
    line-height: 1.35 !important;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    white-space: nowrap;
}

/* Evita doppio testo se la home ha ancora il vecchio intro in pagina */
.ibb-home-page .ibb-home-intro {
    display: none !important;
}

@media (max-width: 780px) {
    .ibb-header-clock-bar-inner {
        flex-direction: column;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 6px;
        padding: 8px 12px;
    }

    .ibb-header-group-tagline {
        text-align: center !important;
        order: 1;
    }

    .ibb-header-clock-bar .ibb-header-clock {
        order: 2;
        text-align: center !important;
        width: 100%;
    }

    .ibb-italian-clock-text {
        white-space: normal;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
    }
}

/* Spagnolo: stesso font dell'italiano; bandiere nel flusso flex (niente posizione assoluta) */
html[lang^="es"] body.ibb-branded-chrome #masthead .site-main-header-inner-wrap,
html[lang^="es"] body.ibb-branded-chrome #mobile-header .site-main-header-inner-wrap {
    align-items: center !important;
    min-height: clamp(56px, 8vw, 72px) !important;
}

html[lang^="es"] body.ibb-branded-chrome .site-header-main-section-right,
html[lang^="es"] body.ibb-branded-chrome .main-navigation,
html[lang^="es"] body.ibb-branded-chrome .header-navigation {
    align-items: center !important;
}

html[lang^="es"] body.ibb-branded-chrome .primary-menu-container {
    position: static !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
}

html[lang^="es"] body.ibb-branded-chrome ul#primary-menu {
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    align-content: center !important;
    row-gap: 0.2rem !important;
    column-gap: 0.28rem !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
}

html[lang^="es"] body.ibb-branded-chrome #primary-menu > li.lang-item {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    flex: 0 0 auto !important;
    margin-left: 0 !important;
}

html[lang^="es"] body.ibb-branded-chrome #primary-menu > li.lang-item:first-of-type {
    margin-left: 0.65rem !important;
}

html[lang^="es"] body.ibb-branded-chrome #primary-menu > li.lang-item a {
    display: inline-flex !important;
    align-items: center !important;
    padding-left: 0.15rem !important;
    padding-right: 0.15rem !important;
}

body.ibb-branded-chrome .content-wrap {
    padding-top: 0 !important;
}

/* Header leggero — stesso aspetto su home e pagine contenuto (legacy selectors) */
body.ibb-home-lena .site-header,
body.ibb-content-page-body .site-header,
body.ibb-servitori-page-body .site-header,
body.ibb-home-lena #mobile-header,
body.ibb-content-page-body #mobile-header,
body.ibb-servitori-page-body #mobile-header,
body.page-id-9 .site-header,
body.page-id-70 .site-header,
body.page-id-71 .site-header {
    background: rgba(246, 242, 234, 0.92) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--ibb-border-soft) !important;
    box-shadow: none !important;
    position: relative !important;
}

body.ibb-home-lena .site-branding .brand,
body.ibb-content-page-body .site-branding .brand,
body.ibb-servitori-page-body .site-branding .brand {
    display: flex !important;
    align-items: center;
    gap: clamp(8px, 1.2vw, 14px);
    text-decoration: none;
}

body.ibb-home-lena .site-branding .custom-logo,
body.ibb-content-page-body .site-branding .custom-logo,
body.ibb-servitori-page-body .site-branding .custom-logo {
    width: auto !important;
    max-height: clamp(48px, 7vw, 62px) !important;
    height: auto !important;
}

body.ibb-home-lena .site-branding .site-title-wrap,
body.ibb-content-page-body .site-branding .site-title-wrap,
body.ibb-servitori-page-body .site-branding .site-title-wrap {
    margin: 0;
}

body.ibb-home-lena .site-branding .site-title,
body.ibb-home-lena .site-branding .site-title a,
body.ibb-content-page-body .site-branding .site-title,
body.ibb-content-page-body .site-branding .site-title a,
body.ibb-servitori-page-body .site-branding .site-title,
body.ibb-servitori-page-body .site-branding .site-title a,
body.page-id-9 .site-branding .site-title,
body.page-id-9 .site-branding .site-title a,
body.page-id-70 .site-branding .site-title,
body.page-id-70 .site-branding .site-title a,
body.page-id-71 .site-branding .site-title,
body.page-id-71 .site-branding .site-title a {
    font-family: var(--ibb-serif) !important;
    font-size: clamp(1.15rem, 2vw, 1.65rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    color: var(--ibb-ink) !important;
    text-transform: none !important;
    line-height: 1.2 !important;
}

body.ibb-home-lena #primary-menu > li > a,
body.ibb-home-lena #mobile-menu > li > a,
body.ibb-content-page-body #primary-menu > li > a,
body.ibb-content-page-body #mobile-menu > li > a,
body.ibb-servitori-page-body #primary-menu > li > a,
body.ibb-servitori-page-body #mobile-menu > li > a,
body.page-id-9 #primary-menu > li > a,
body.page-id-70 #primary-menu > li > a,
body.page-id-71 #primary-menu > li > a {
    font-family: var(--ibb-sans) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--ibb-ink-soft) !important;
    padding-top: 0.35rem !important;
    padding-bottom: 0.35rem !important;
}

body.ibb-home-lena #primary-menu > li > a:hover,
body.ibb-home-lena #primary-menu > li.current-menu-item > a,
body.ibb-content-page-body #primary-menu > li > a:hover,
body.ibb-content-page-body #primary-menu > li.current-menu-item > a,
body.page-id-9 #primary-menu > li > a:hover,
body.page-id-9 #primary-menu > li.current-menu-item > a {
    color: var(--ibb-accent) !important;
}

/* Contenitore pagina */
.ibb-home-page {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}

.ibb-home-body {
    max-width: min(1180px, 94vw);
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(12px, 2vw, 20px) clamp(12px, 2vw, 20px) clamp(20px, 3vw, 32px) !important;
}

.ibb-home-intro {
    margin: 0 0 clamp(10px, 1.5vw, 14px) !important;
    padding: 0 clamp(8px, 2vw, 16px);
    font-family: var(--ibb-sans) !important;
    font-size: clamp(0.92rem, 1.6vw, 1.02rem) !important;
    line-height: 1.55 !important;
    color: var(--ibb-ink-soft) !important;
    text-align: center !important;
}

.ibb-home-intro-help {
    margin: 0 0 clamp(14px, 2vw, 20px) !important;
    padding: 0 clamp(8px, 2vw, 20px);
    font-family: var(--ibb-sans) !important;
    font-size: clamp(0.88rem, 1.45vw, 0.98rem) !important;
    line-height: 1.55 !important;
    color: var(--ibb-muted) !important;
    text-align: center !important;
    max-width: 52em;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Colonna sinistra — spaziatura compatta */
.ibb-home-left > .wp-block-group {
    margin-top: 8px !important;
}

.ibb-home-left > .wp-block-group:first-child {
    margin-top: 0 !important;
}

body.ibb-home-sober .ibb-home-left .ibb-tradition-box {
    margin: 0 0 clamp(12px, 1.8vw, 16px) !important;
    padding: clamp(12px, 1.8vw, 16px) clamp(14px, 2vw, 18px) !important;
}

body.ibb-home-sober .ibb-home-left .ibb-home-document-box {
    margin: 0 0 clamp(12px, 1.8vw, 16px) !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
}

body.ibb-home-sober .ibb-home-left .ibb-tradition-quote {
    font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
    margin-bottom: 6px !important;
}

body.ibb-home-sober .ibb-home-left .ibb-tradition-label {
    margin-bottom: 6px !important;
}

body.ibb-home-sober .ibb-home-left .ibb-zoom-meeting {
    padding: clamp(10px, 1.6vw, 14px) clamp(12px, 1.8vw, 16px) !important;
}

body.ibb-home-sober .ibb-home-left .ibb-zoom-meeting p {
    margin-bottom: 8px !important;
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
}

body.ibb-home-sober .ibb-home-left .ibb-zoom-meeting .wp-block-button__link {
    padding: 0.65rem 0.9rem !important;
    font-size: 0.84rem !important;
}

body.ibb-home-sober .ibb-home-left .ibb-zoom-tips {
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px solid var(--ibb-border-soft);
}

body.ibb-home-sober .ibb-home-left .ibb-zoom-tips-label {
    margin: 0 0 4px !important;
    font-size: 0.72rem !important;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ibb-muted);
    text-align: left;
}

body.ibb-home-sober .ibb-home-left .ibb-zoom-tips-list {
    margin: 0 !important;
    padding-left: 1.1em !important;
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
    color: var(--ibb-muted);
    text-align: left;
}

body.ibb-home-sober .ibb-home-left .ibb-zoom-tips-list li {
    margin-bottom: 2px;
}

body.ibb-home-sober .ibb-home-right .ibb-contatti-box {
    margin-top: clamp(12px, 1.8vw, 16px) !important;
    padding: clamp(10px, 1.6vw, 14px) clamp(12px, 1.8vw, 16px) !important;
}

body.ibb-home-sober .ibb-home-right .ibb-contatti-box h4 {
    margin-bottom: 6px !important;
    font-size: 1.05rem !important;
}

body.ibb-home-sober .ibb-home-right .ibb-contatti-box p {
    margin-bottom: 8px !important;
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
}

body.ibb-home-sober .ibb-home-right .ibb-contatti-box .wp-block-button__link {
    padding: 0.6rem 0.85rem !important;
    font-size: 0.82rem !important;
}

body.ibb-home-sober .ibb-home-right .ibb-tradition7-box {
    margin-top: clamp(12px, 1.8vw, 16px) !important;
    padding: clamp(10px, 1.6vw, 14px) clamp(12px, 1.8vw, 16px) !important;
}

body.ibb-home-sober .ibb-home-right .ibb-tradition7-quote {
    font-size: clamp(0.98rem, 1.6vw, 1.15rem) !important;
    margin-bottom: 6px !important;
}

body.ibb-home-sober .ibb-home-right .ibb-tradition7-box .ibb-tradition-note {
    font-size: 0.84rem !important;
    line-height: 1.4 !important;
}

body.ibb-home-sober .ibb-home-right .ibb-tradition7-box .wp-block-buttons {
    margin-top: 8px !important;
}

body.ibb-home-sober .ibb-home-right .ibb-btn-paypal .wp-block-button__link {
    padding: 0.6rem 0.9rem !important;
    font-size: 0.82rem !important;
}

body.ibb-home-sober .ibb-home-left .wp-block-group.ibb-tradition-box,
body.ibb-home-sober .ibb-home-left .ibb-home-document-box,
body.ibb-home-sober .ibb-home-left .wp-block-group.ibb-zoom-meeting,
body.ibb-home-sober .ibb-home-right .wp-block-group.ibb-contatti-box,
body.ibb-home-sober .ibb-home-right .wp-block-group.ibb-tradition7-box {
    position: relative;
    padding-bottom: 26px !important;
}

.ibb-home-section-edit {
    display: none !important;
}

.ibb-home-section-edit .ibb-edit-section {
    font-size: 0.65rem !important;
    padding: 3px 7px !important;
    letter-spacing: 0.03em;
}

/* Pagine contenuto — stesso stile sobrio della home (body.ibb-home-lena eredita header) */
body.ibb-content-page-body {
    background-color: var(--ibb-cream) !important;
    font-family: var(--ibb-sans);
    color: var(--ibb-ink-soft);
}

body.ibb-content-page-body .site,
body.ibb-content-page-body .content-bg,
body.ibb-content-page-body #inner-wrap {
    background-color: var(--ibb-cream) !important;
}

body.ibb-content-page-body .site-content,
body.ibb-content-page-body #primary,
body.ibb-content-page-body .content-container,
body.ibb-content-page-body .site-container,
body.ibb-content-page-body .content-wrap,
body.ibb-content-page-body .content-area,
body.ibb-content-page-body .entry-content-wrap,
body.ibb-content-page-body article.entry,
body.ibb-content-page-body .entry.single-entry {
    padding-top: 0 !important;
    margin-top: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.ibb-content-page-body .entry-content {
    margin-top: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.ibb-content-page-body .ibb-content-page.alignfull,
body.ibb-content-page-body .alignfull.ibb-content-page {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.ibb-content-page-body .entry-hero,
body.ibb-content-page-body .entry-hero-container,
body.ibb-content-page-body .entry-header,
body.ibb-content-page-body .page-title,
body.ibb-content-page-body .kadence-title,
body.ibb-content-page-body .entry-hero-section {
    display: none !important;
}

.ibb-content-page {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    box-sizing: border-box;
}

.ibb-content-body {
    max-width: min(820px, 94vw);
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(12px, 2vw, 20px) clamp(18px, 3vw, 28px) clamp(48px, 6vw, 72px) !important;
    text-align: left;
    box-sizing: border-box;
}

.ibb-paper-box {
    margin-bottom: 20px;
    padding: clamp(16px, 2.5vw, 22px) clamp(18px, 2.8vw, 26px) !important;
    border: 1px solid var(--ibb-border) !important;
    border-radius: 4px !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 8px 24px var(--ibb-shadow) !important;
}

.ibb-content-body h1 {
    font-family: var(--ibb-serif);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    color: var(--ibb-ink);
    margin: 0 0 12px;
    text-align: center;
}

.ibb-content-intro {
    font-size: 1.02rem;
    line-height: 1.6;
    color: var(--ibb-ink-soft);
    margin-bottom: 24px !important;
    text-align: center;
}

.ibb-content-body h3 {
    font-family: var(--ibb-serif);
    font-size: 1.25rem;
    color: var(--ibb-ink);
    margin: 24px 0 8px;
}

.ibb-content-body p {
    color: var(--ibb-ink-soft);
    line-height: 1.6;
    margin-bottom: 12px;
}

.ibb-oiaa-box {
    margin: 0 0 24px !important;
    padding: clamp(14px, 2vw, 18px) !important;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: rgba(255, 253, 249, 0.6);
}

.ibb-oiaa-box h3 {
    margin-top: 0 !important;
}

/* OIAA — colori ispirati al sito ufficiale (navy + teal) */
.ibb-oiaa-panel {
    margin: 0 0 28px !important;
}

.ibb-oiaa-panel-inner {
    padding: clamp(18px, 3vw, 28px);
    border-radius: 18px;
    background:
        radial-gradient(circle at 90% 10%, rgba(0, 188, 212, 0.22), transparent 42%),
        linear-gradient(145deg, #0b1f3a 0%, #12345c 55%, #0e4f6e 100%);
    color: #eef7ff;
    box-shadow: 0 12px 32px rgba(11, 31, 58, 0.28);
}

.ibb-oiaa-panel-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.ibb-oiaa-panel-logo-link {
    display: block;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #fff;
    padding: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.ibb-oiaa-panel-logo {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.ibb-oiaa-panel-brand-text {
    flex: 1 1 220px;
    min-width: 0;
}

.ibb-oiaa-panel-member {
    margin: 0 0 6px !important;
    font-size: 0.78rem !important;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7ee7f0 !important;
}

.ibb-oiaa-panel-wordmark {
    display: block;
    max-width: min(280px, 100%);
    height: auto;
    margin: 0 0 8px;
    border-radius: 4px;
    background: #fff;
    padding: 4px 8px;
}

.ibb-oiaa-panel-title {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(1.1rem, 2.2vw, 1.4rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.ibb-oiaa-panel-text {
    margin: 0 0 16px !important;
    color: rgba(238, 247, 255, 0.92) !important;
    line-height: 1.55 !important;
}

.ibb-oiaa-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 16px;
}

.ibb-oiaa-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(126, 231, 240, 0.35);
    color: #f4fbff;
    font-size: 0.86rem;
    line-height: 1.4;
}

.ibb-oiaa-card strong {
    color: #fff;
    font-size: 0.95rem;
}

.ibb-oiaa-card-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #00bcd4 center / 58% no-repeat;
    box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.25);
}

.ibb-oiaa-card-meetings .ibb-oiaa-card-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M4 5h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H9l-4 3v-3H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm15 3 3-2v10l-3-2V8z'/%3E%3C/svg%3E");
}

.ibb-oiaa-card-help .ibb-oiaa-card-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0 2c-3.3 0-6 1.7-6 3.8V20h12v-2.2C18 15.7 15.3 14 12 14z'/%3E%3C/svg%3E");
}

.ibb-oiaa-card-service .ibb-oiaa-card-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 11a3 3 0 1 0-3-3 3 3 0 0 0 3 3zm8 0a3 3 0 1 0-3-3 3 3 0 0 0 3 3zM8 13c-2.7 0-5 1.4-5 3.2V18h6.1A6.9 6.9 0 0 1 8 13zm8 0a6.8 6.8 0 0 0-3.8 1.2A5 5 0 0 1 16 18h5v-1.8C21 14.4 18.7 13 16 13z'/%3E%3C/svg%3E");
}

.ibb-oiaa-panel-actions {
    margin: 0 !important;
    text-align: center;
}

.ibb-btn-oiaa-solid {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 22px;
    border-radius: 10px;
    background: #00bcd4;
    color: #062033 !important;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0, 188, 212, 0.35);
}

.ibb-btn-oiaa-solid:hover {
    background: #26c6da;
    color: #041826 !important;
}

.ibb-oiaa-member {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px 4px 4px;
    border-radius: 999px;
    background: #0b1f3a;
    color: #eef7ff !important;
    text-decoration: none !important;
    border: 1px solid rgba(0, 188, 212, 0.45);
    box-shadow: 0 2px 10px rgba(11, 31, 58, 0.18);
    line-height: 1.15;
    max-width: 100%;
}

.ibb-oiaa-member:hover {
    background: #12345c;
    color: #fff !important;
}

.ibb-oiaa-member-logo {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    object-fit: contain;
    flex: 0 0 auto;
}

.ibb-oiaa-member-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ibb-oiaa-member-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #7ee7f0;
}

.ibb-oiaa-member-sub {
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
}

.ibb-oiaa-home-row {
    display: flex;
    justify-content: center;
    margin: 0 0 14px;
}

body.ibb-branded-chrome .site-branding .ibb-oiaa-member--header {
    display: none !important;
}

body.ibb-branded-chrome .site-branding {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .ibb-oiaa-cards {
        grid-template-columns: 1fr;
    }

    body.ibb-branded-chrome .site-branding .ibb-oiaa-member--header .ibb-oiaa-member-sub {
        display: none;
    }
}

.ibb-gruppi-disclaimer {
    font-size: 0.9rem !important;
    color: var(--ibb-muted) !important;
    margin-bottom: 12px !important;
    line-height: 1.45 !important;
}

.ibb-btn-oiaa .wp-block-button__link,
.ibb-btn-home .wp-block-button__link {
    font-size: 0.88rem !important;
    padding: 0.65rem 1rem !important;
    border-radius: 2px !important;
    font-family: var(--ibb-sans);
}

.ibb-btn-oiaa .wp-block-button__link {
    border-color: var(--ibb-border) !important;
    color: var(--ibb-ink) !important;
}

.ibb-newcomer-page .wp-block-buttons {
    margin-top: 20px;
    gap: 8px;
}

/* Letteratura AA — Nuovo ad AA? */
.ibb-aa-literature {
    margin: 0 0 32px;
}

.ibb-aa-literature-section {
    margin-bottom: 24px !important;
}

.ibb-aa-literature-title {
    font-family: var(--ibb-serif);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    color: var(--ibb-ink);
    text-align: center;
    margin: 0 0 16px !important;
    letter-spacing: 0.04em;
}

.ibb-aa-literature-subtitle {
    font-family: var(--ibb-serif);
    font-size: 1.15rem;
    color: var(--ibb-ink);
    margin: 20px 0 12px !important;
    text-align: center;
}

.ibb-aa-literature-p,
.ibb-aa-literature-closing {
    font-size: 0.98rem;
    line-height: 1.65;
    color: var(--ibb-ink-soft);
    margin-bottom: 12px !important;
    text-align: justify;
}

.ibb-aa-literature-closing {
    margin-top: 16px !important;
    font-style: italic;
    text-align: center;
}

.ibb-aa-literature-list,
.ibb-aa-literature-abc {
    margin: 12px 0 16px !important;
    padding-left: 1.4em !important;
    font-size: 0.96rem;
    line-height: 1.6;
    color: var(--ibb-ink-soft);
}

.ibb-aa-literature-list li,
.ibb-aa-literature-abc li {
    margin-bottom: 8px;
}

.ibb-newcomer-practical-title {
    font-family: var(--ibb-serif);
    font-size: clamp(1.4rem, 2.4vw, 1.75rem) !important;
    color: var(--ibb-ink);
    text-align: center;
    margin: 36px 0 20px !important;
    padding-top: 24px;
    border-top: 1px solid var(--ibb-border);
}

body.ibb-content-page-body .entry-hero-container {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Menu prima delle bandiere (Polylang mette le lingue in ordine diverso per EN/ES) */
body.ibb-home-lena .primary-menu-container > ul.menu,
body.ibb-home-lena .header-menu-container > ul.menu,
body.ibb-home-lena ul#primary-menu,
body.ibb-home-lena ul#mobile-menu,
body.ibb-content-page-body .primary-menu-container > ul.menu,
body.ibb-content-page-body .header-menu-container > ul.menu,
body.ibb-content-page-body ul#primary-menu,
body.ibb-content-page-body ul#mobile-menu,
body.ibb-servitori-page-body .primary-menu-container > ul.menu,
body.ibb-servitori-page-body .header-menu-container > ul.menu,
body.ibb-servitori-page-body ul#primary-menu,
body.ibb-servitori-page-body ul#mobile-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.1rem 0.35rem;
}

body.ibb-home-lena #primary-menu > li:not(.lang-item),
body.ibb-home-lena #mobile-menu > li:not(.lang-item),
body.ibb-content-page-body #primary-menu > li:not(.lang-item),
body.ibb-content-page-body #mobile-menu > li:not(.lang-item),
body.ibb-servitori-page-body #primary-menu > li:not(.lang-item),
body.ibb-servitori-page-body #mobile-menu > li:not(.lang-item) {
    order: 1 !important;
}

body.ibb-home-lena #primary-menu > li.lang-item,
body.ibb-home-lena #mobile-menu > li.lang-item,
body.ibb-content-page-body #primary-menu > li.lang-item,
body.ibb-content-page-body #mobile-menu > li.lang-item,
body.ibb-servitori-page-body #primary-menu > li.lang-item,
body.ibb-servitori-page-body #mobile-menu > li.lang-item {
    order: 99 !important;
}

body.ibb-home-lena #primary-menu > li.lang-item:first-of-type,
body.ibb-home-lena #mobile-menu > li.lang-item:first-of-type,
body.ibb-content-page-body #primary-menu > li.lang-item:first-of-type,
body.ibb-content-page-body #mobile-menu > li.lang-item:first-of-type,
body.ibb-servitori-page-body #primary-menu > li.lang-item:first-of-type,
body.ibb-servitori-page-body #mobile-menu > li.lang-item:first-of-type {
    margin-left: 0.55rem;
}
.ibb-gruppi-wrap {
    margin-top: 16px;
}

.ibb-gruppi-edit-hint {
    font-size: 0.88rem;
    color: var(--ibb-muted);
    margin: 0 0 12px !important;
    line-height: 1.45;
}

.ibb-gruppi-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr) minmax(0, 0.9fr);
    gap: 1px;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    overflow: hidden;
    background: var(--ibb-border);
    box-shadow: 0 8px 24px var(--ibb-shadow);
}

.ibb-gruppi-row {
    display: contents;
}

.ibb-gruppi-head .ibb-gruppi-cell {
    background: var(--ibb-accent-soft);
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ibb-ink);
    padding: 14px 16px;
    border-bottom: none;
}

.ibb-gruppi-row:not(.ibb-gruppi-head) .ibb-gruppi-cell {
    padding: 14px 16px;
    border-bottom: none;
    background: var(--ibb-paper);
    font-size: 0.94rem;
    line-height: 1.55;
    color: var(--ibb-ink-soft);
    min-height: 56px;
    vertical-align: top;
}

.ibb-gruppi-row.is-empty .ibb-gruppi-cell {
    background: rgba(255, 255, 255, 0.2);
}

.ibb-gruppi-row:not(.ibb-gruppi-head):last-of-type .ibb-gruppi-cell {
    border-bottom: none;
}

.ibb-gruppi-input,
.ibb-gruppi-textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--ibb-border);
    border-radius: 3px;
    padding: 12px 14px;
    font-family: var(--ibb-sans);
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--ibb-ink);
    background: var(--ibb-warm-white);
}

.ibb-gruppi-textarea {
    resize: vertical;
    min-height: 72px;
}

.ibb-gruppi-link {
    display: inline-block;
    padding: 5px 10px;
    background: var(--ibb-accent);
    color: #fff !important;
    text-decoration: none;
    border-radius: 2px;
    font-size: 0.82rem;
    font-weight: 600;
}

.ibb-gruppi-link:hover {
    background: var(--ibb-accent-hover);
}

.ibb-gruppi-actions {
    margin: 14px 0 0 !important;
    display: flex;
    align-items: center;
    gap: 12px;
}

.ibb-gruppi-save {
    cursor: pointer;
}

.ibb-gruppi-status {
    font-size: 0.85rem;
    color: var(--ibb-accent);
}

/* Good News + Locandina */
.ibb-good-news-wrap {
    margin-top: 8px;
}

.ibb-good-news-hint {
    font-size: 0.9rem;
    color: var(--ibb-muted);
    margin: 0 0 16px !important;
    line-height: 1.5;
}

.ibb-home-locandina-mode {
    margin: 20px 0 8px;
    padding-top: 16px;
    border-top: 1px solid var(--ibb-border, #e5e0d8);
}

.ibb-home-meeting-effect {
    margin: 14px 0 8px;
}

.ibb-home-meeting-effect .ibb-field-hint {
    margin: 6px 0 0;
}

.ibb-locandina-mode-options {
    margin: 8px 0 0;
    padding: 0;
    border: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ibb-locandina-mode-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.95rem;
    line-height: 1.45;
    cursor: pointer;
}

.ibb-locandina-mode-option input {
    margin-top: 3px;
    flex-shrink: 0;
}

.ibb-good-news-form-grid,
.ibb-locandina-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
}

.ibb-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
}

.ibb-field span {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ibb-muted);
}

.ibb-field-wide {
    grid-column: 1 / -1;
}

.ibb-good-news-input,
.ibb-good-news-textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--ibb-border);
    border-radius: 3px;
    padding: 12px 14px;
    font-family: var(--ibb-sans);
    font-size: 0.92rem;
    color: var(--ibb-ink);
    background: var(--ibb-warm-white);
}

.ibb-good-news-textarea {
    resize: vertical;
    min-height: 80px;
    line-height: 1.5;
}

.ibb-good-news-actions {
    margin: 18px 0 0 !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.ibb-good-news-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 8px;
}

.ibb-good-news-card {
    position: relative;
    margin-bottom: 0 !important;
}

.ibb-good-news-card-type {
    margin: 0 0 6px !important;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ibb-accent);
}

.ibb-good-news-card-title {
    margin: 0 0 8px !important;
    font-family: var(--ibb-serif);
    font-size: 1.35rem;
    color: var(--ibb-ink);
}

.ibb-good-news-card-date {
    margin: 0 0 8px !important;
    font-weight: 600;
    color: var(--ibb-ink);
}

.ibb-good-news-card-short,
.ibb-good-news-card-long {
    margin: 0 0 8px !important;
    line-height: 1.55;
    color: var(--ibb-ink-soft);
}

.ibb-good-news-remove {
    position: absolute;
    top: 12px;
    right: 12px;
    border: none;
    background: transparent;
    color: var(--ibb-muted);
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
}

.ibb-good-news-empty {
    text-align: center;
    color: var(--ibb-muted);
    padding: 24px;
}

.ibb-locandina-wrap {
    margin-top: 32px;
}

.ibb-locandina-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
    gap: clamp(20px, 3vw, 32px);
    align-items: start;
    margin-top: 12px;
}

.ibb-locandina-col-data {
    min-width: 0;
}

.ibb-locandina-col-preview {
    position: sticky;
    top: 16px;
}

.ibb-locandina-col-preview .ibb-locandina-preview-wrap {
    margin-top: 0;
}

.ibb-locandina-col-preview .ibb-locandina-wa-card {
    max-width: var(--ibb-wa-preview-width);
    margin: 0 auto;
}

/* Anteprima creazione locandina: immagine intera come WhatsApp */
.ibb-locandina-col-preview .ibb-locandina-wa-bubble {
    padding: 0;
    overflow: visible;
}

.ibb-locandina-col-preview .ibb-locandina-wa-image {
    margin: 0;
    aspect-ratio: auto;
    overflow: visible;
}

.ibb-locandina-col-preview .ibb-locandina-preview-html {
    padding: 6px 10px 10px;
}

.ibb-locandina-heading {
    margin: 0 0 8px !important;
    font-family: var(--ibb-serif);
    font-size: 1.35rem;
    color: var(--ibb-ink);
}

.ibb-locandina-preview-wrap {
    margin-top: 16px;
}

.ibb-locandina-preview-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ibb-muted);
    margin-bottom: 8px !important;
}

.ibb-locandina-preview {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: var(--ibb-sans);
    font-size: 0.88rem;
    line-height: 1.55;
    padding: 16px;
    margin: 0;
    border: none;
    border-top: 1px solid var(--ibb-border-soft);
    border-radius: 0;
    background: #e8f5e9;
    color: var(--ibb-ink-soft);
    max-height: none;
    overflow: visible;
}

.ibb-locandina-wa-card {
    max-width: var(--ibb-wa-preview-width);
    width: 100%;
    margin: 0 auto;
    background: transparent;
    border: none;
    box-shadow: none;
    overflow: visible;
}

.ibb-locandina-wa-bubble {
    background: var(--ibb-wa-green);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 1.5px rgba(11, 20, 26, 0.13);
}

.ibb-locandina-wa-bubble .ibb-locandina-preview-html,
.ibb-locandina-wa-bubble .ibb-home-locandina-text {
    padding: 6px 10px 10px;
    font-family: var(--ibb-wa-font);
    font-size: 14.2px;
    line-height: 1.34;
    color: var(--ibb-wa-text);
    text-align: left;
    background: transparent;
}

.ibb-locandina-wa-bubble .ibb-locandina-preview-html .ibb-loc-line,
.ibb-locandina-wa-bubble .ibb-home-locandina-text .ibb-loc-line {
    margin: 0 0 3px;
}

.ibb-locandina-wa-bubble .ibb-locandina-preview-html .ibb-loc-value,
.ibb-locandina-wa-bubble .ibb-home-locandina-text .ibb-loc-value {
    margin: 0 0 5px;
}

.ibb-locandina-wa-bubble .ibb-locandina-preview-html .ibb-loc-inline .ibb-loc-value,
.ibb-locandina-wa-bubble .ibb-home-locandina-text .ibb-loc-inline .ibb-loc-value {
    display: inline;
    margin: 0;
}

.ibb-locandina-wa-bubble .ibb-locandina-preview-html .ibb-loc-spacer,
.ibb-locandina-wa-bubble .ibb-home-locandina-text .ibb-loc-spacer {
    margin: 0;
    padding: 0;
    line-height: 0.25;
    font-size: 0;
}

.ibb-locandina-wa-bubble .ibb-locandina-preview-html .ibb-loc-link a,
.ibb-locandina-wa-bubble .ibb-home-locandina-text .ibb-loc-link a {
    color: var(--ibb-wa-link);
    text-decoration: underline;
    word-break: break-all;
}

.ibb-locandina-wa-bubble .ibb-locandina-preview-html strong,
.ibb-locandina-wa-bubble .ibb-home-locandina-text strong {
    font-weight: 700;
}

/* In anteprima WA: niente colori custom (in WA restano solo grassetto/link) */
.ibb-locandina-wa-bubble .ibb-locandina-preview-html [style*="color"],
.ibb-locandina-wa-bubble .ibb-home-locandina-text [style*="color"] {
    color: var(--ibb-wa-text) !important;
}

.ibb-home-locandina.ibb-locandina-wa-card {
    max-width: var(--ibb-wa-preview-width);
    width: 100%;
}

.ibb-locandina-preview-html {
    padding: 6px 10px 10px;
    font-family: var(--ibb-wa-font);
    font-size: 14.2px;
    line-height: 1.34;
    color: var(--ibb-wa-text);
    text-align: left;
}

.ibb-locandina-preview-html .ibb-loc-line {
    margin: 0 0 3px;
}

.ibb-locandina-preview-html .ibb-loc-value {
    margin: 0 0 5px;
}

.ibb-locandina-preview-html .ibb-loc-spacer {
    margin: 0;
    padding: 0;
    line-height: 0.25;
    font-size: 0;
}

.ibb-locandina-preview-html .ibb-loc-link a {
    color: var(--ibb-wa-link);
    text-decoration: underline;
    word-break: break-all;
}

.ibb-locandina-preview-empty {
    margin: 0;
    color: var(--ibb-muted);
    font-style: italic;
}

.ibb-home-doc-form.is-editing {
    outline: 2px solid rgba(18, 140, 126, 0.35);
    outline-offset: 4px;
    border-radius: 8px;
}

.ibb-home-doc-edit-row .ibb-home-doc-edit-cell {
    padding: 10px 12px 14px;
    background: rgba(18, 140, 126, 0.06);
    border-bottom: 1px solid var(--ibb-border);
    vertical-align: top;
}

.ibb-home-doc-edit-row .ibb-home-doc-form {
    margin: 0;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--ibb-border-soft, #d5ddd8);
    border-radius: 6px;
}

.ibb-home-doc-form-host:empty {
    display: none;
}

.ibb-loc-field-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    width: 100%;
}

.ibb-loc-field-row .ibb-loc-input {
    flex: 1 1 180px;
    min-width: 0;
}

.ibb-loc-style-btns {
    display: inline-flex;
    gap: 4px;
    flex-shrink: 0;
}

.ibb-loc-style-btn {
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    border: 1px solid var(--ibb-border);
    border-radius: 3px;
    background: var(--ibb-paper);
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    color: var(--ibb-muted);
}

.ibb-loc-style-btn.is-active {
    background: var(--ibb-accent);
    border-color: var(--ibb-accent);
    color: #fff;
}

.ibb-loc-color-palette {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    margin-top: 6px;
}

.ibb-loc-color-btn {
    width: 22px;
    height: 22px;
    padding: 0;
    border: 2px solid var(--ibb-border);
    border-radius: 50%;
    cursor: pointer;
    flex-shrink: 0;
    background: var(--ibb-paper);
}

.ibb-loc-color-btn.is-default {
    background: linear-gradient(135deg, #fff 45%, #ccc 55%);
}

.ibb-loc-color-btn.is-active {
    border-color: var(--ibb-ink);
    box-shadow: 0 0 0 2px rgba(18, 140, 126, 0.35);
}

.ibb-loc-flag-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.ibb-loc-flag-row select {
    min-width: 160px;
}

.ibb-locandina-style-hint {
    margin-top: 0.25rem;
    font-size: 0.82rem !important;
}

.ibb-loc-meetings-picker {
    margin: 0.75rem 0 1rem;
    padding: 0.75rem 1rem;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid var(--ibb-border);
    border-radius: 8px;
}

.ibb-loc-meetings-picker-label {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
    font-weight: 600;
}

.ibb-loc-meetings-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 220px;
    overflow-y: auto;
}

.ibb-loc-meeting-item {
    display: flex;
    align-items: stretch;
    gap: 6px;
}

.ibb-loc-meeting-item.is-active .ibb-loc-meeting-select {
    border-color: var(--ibb-accent);
    background: rgba(18, 140, 126, 0.08);
}

.ibb-loc-meeting-select {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 8px 10px;
    border: 1px solid var(--ibb-border);
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
}

.ibb-loc-meeting-date {
    font-weight: 600;
}

.ibb-loc-meeting-meta {
    font-size: 0.88rem;
    color: var(--ibb-muted);
}

.ibb-loc-meeting-item .ibb-meeting-del {
    flex-shrink: 0;
    min-width: 36px;
    padding: 0 8px;
    font-size: 1.2rem;
    line-height: 1;
}

.ibb-loc-meetings-empty {
    padding: 0.5rem 0;
    color: var(--ibb-muted);
    font-style: italic;
}

.ibb-loc-speaker-place-row {
    display: grid;
    grid-template-columns: 5rem minmax(0, 1fr) minmax(150px, 170px);
    gap: 10px 12px;
    align-items: start;
}

.ibb-loc-speaker-place-row .ibb-field,
.ibb-loc-speaker-place-row .ibb-loc-field {
    margin: 0;
    min-width: 0;
}

.ibb-loc-speaker-place-row .ibb-field > span,
.ibb-loc-speaker-place-row .ibb-loc-field-label {
    min-height: 2.5em;
    display: flex;
    align-items: flex-end;
    line-height: 1.25;
}

.ibb-loc-speaker-place-row .ibb-loc-field-row {
    flex-wrap: nowrap;
}

.ibb-loc-speaker-place-row .ibb-loc-field-row .ibb-loc-input {
    flex: 1 1 auto;
    min-width: 0;
}

.ibb-loc-prep-field .ibb-loc-prep-input,
.ibb-loc-country-field select {
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
}

.ibb-loc-prep-field .ibb-loc-prep-input {
    text-align: center;
}

.ibb-loc-country-field select {
    width: 100%;
}

@media (max-width: 640px) {
    .ibb-loc-speaker-place-row {
        grid-template-columns: 1fr 1fr;
    }

    .ibb-loc-country-field {
        grid-column: 1 / -1;
    }
}

.ibb-home-locandina {
    margin-bottom: 12px;
}

/*
 * Immagine locandina: come su WhatsApp — intera, proporzioni naturali (niente ritaglio).
 */
.ibb-home-locandina-image,
.ibb-locandina-wa-image {
    position: relative;
    width: 100%;
    aspect-ratio: auto;
    overflow: visible;
    background: transparent;
    line-height: 0;
    font-size: 0;
    margin: 0;
    padding: 0;
}

.ibb-home-locandina-image img,
.ibb-locandina-wa-image img {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    vertical-align: top;
}

/* Miniatura nel form servitori: anteprima intera */
.ibb-locandina-thumb {
    position: relative;
    width: min(100%, 300px);
    aspect-ratio: auto;
    overflow: visible;
    background: var(--ibb-paper, #f7f3ea);
    line-height: 0;
    font-size: 0;
}

.ibb-locandina-thumb img {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.ibb-home-locandina-actions {
    margin: 10px 0 0 !important;
    padding: 0;
    text-align: center;
    background: transparent;
}

.ibb-home-locandina-copy-hint {
    margin: 0 !important;
    padding: 0 0 10px;
    text-align: left;
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--ibb-muted);
}

.ibb-home-locandina-wa-status {
    margin: 0 16px 16px !important;
    padding: 12px 14px;
    font-size: 0.84rem;
    line-height: 1.55;
    color: var(--ibb-ink);
    text-align: left;
    border: 1px solid var(--ibb-accent);
    border-radius: 6px;
    background: rgba(255, 253, 249, 0.95);
}

.ibb-home-locandina-share,
.ibb-home-locandina-wa-dl {
    border: none;
    cursor: pointer;
    display: inline-block;
    padding: 0.55rem 0.95rem;
    border-radius: 2px;
    background: var(--ibb-accent);
    color: #fff;
    font-weight: 600;
    font-size: 0.8rem;
    font-family: var(--ibb-sans);
    letter-spacing: 0.04em;
}

.ibb-home-locandina-share:hover,
.ibb-home-locandina-wa-dl:hover,
.ibb-home-locandina-share.is-copied,
.ibb-home-locandina-wa-dl.is-copied {
    background: var(--ibb-accent-hover);
}

.ibb-home-locandina-body {
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 0 4px 4px;
}

.ibb-home-locandina-text {
    padding: 0;
    font-size: inherit;
    line-height: inherit;
    text-align: left;
    color: inherit;
}

.ibb-home-locandina-text .ibb-loc-line {
    margin: 0 0 3px;
}

.ibb-home-locandina-text .ibb-loc-value {
    margin: 0 0 5px;
}

.ibb-home-locandina-text .ibb-loc-spacer {
    margin: 0;
    padding: 0;
    line-height: 0.25;
    font-size: 0;
}

.ibb-home-locandina-text .ibb-loc-link a {
    color: var(--ibb-wa-link);
    text-decoration: underline;
    word-break: break-all;
}

.ibb-home-document-text {
    text-align: justify;
    font-family: var(--ibb-sans);
    font-size: 0.97rem;
    line-height: 1.62;
    color: var(--ibb-ink-soft);
}

.ibb-home-document-text p {
    margin: 0 0 0.8em;
}

.ibb-home-document-text p:last-child {
    margin-bottom: 0;
}

.ibb-home-document-html-inline h1 {
    margin: 0 0 12px;
    font-family: var(--ibb-serif);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    line-height: 1.2;
    color: var(--ibb-ink);
    text-align: left;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.ibb-home-document-html-inline .ibb-doc-label {
    display: none;
}

.ibb-home-doc-list {
    text-align: left;
    margin: 0 0 12px 1.2em;
    padding: 0;
}

.ibb-home-doc-closing {
    font-style: italic;
    margin-top: 12px !important;
}

.ibb-home-document-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 280px;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 4px;
}

.ibb-home-document-pdf iframe {
    display: block;
    width: 100%;
    height: min(360px, 50vh);
    border: 1px solid var(--ibb-border-soft);
    border-radius: 4px;
    background: #fff;
}

.ibb-home-document-pdf.ibb-pdf-embed {
    width: 100%;
    min-height: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.ibb-pdf-embed-pages {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.ibb-pdf-page {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    background: #fff;
    box-shadow: none;
}

.ibb-pdf-embed-loading {
    margin: 0 0 8px !important;
    font-size: 0.9rem;
    color: var(--ibb-muted);
}

.ibb-pdf-embed-fallback {
    margin: 8px 0 0 !important;
}

.ibb-pdf-embed.is-ready .ibb-pdf-embed-loading,
.ibb-pdf-embed.is-ready .ibb-pdf-embed-fallback {
    display: none !important;
}

.ibb-home-document-pdf-link {
    font-size: 0.88rem;
    color: var(--ibb-accent);
}

.ibb-home-docs-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

.ibb-home-doc-card {
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    padding: 12px 14px;
    background: var(--ibb-paper);
}

.ibb-home-doc-card-head {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 6px;
}

.ibb-home-doc-card-type {
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    color: var(--ibb-muted);
}

.ibb-home-doc-card-active {
    font-size: 0.72rem;
    color: var(--ibb-accent);
    font-weight: 600;
}

.ibb-home-doc-card-label {
    font-size: 0.82rem;
    color: var(--ibb-muted);
    margin: 0 0 8px !important;
}

.ibb-home-docs-subtitle {
    font-size: 1.15rem !important;
    margin-top: 8px !important;
}

.ibb-home-doc-file-preview img {
    max-width: 200px;
    margin-top: 8px;
    border-radius: 4px;
}

.ibb-servitori-section-home-doc {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--ibb-border);
}

.ibb-zoom-meeting:has(.ibb-home-locandina.ibb-locandina-wa-card) .ibb-zoom-fallback {
    display: none !important;
}

.ibb-zoom-meeting .ibb-home-locandina.ibb-locandina-wa-card + .ibb-zoom-fallback {
    display: none !important;
}

.ibb-home-locandina-wrap {
    flex: 0 0 auto;
    width: 100%;
    margin: 0 0 clamp(14px, 2vw, 18px) !important;
}

.ibb-home-left > .ibb-home-locandina-wrap,
.ibb-home-center > .ibb-home-locandina-wrap,
.ibb-home-right > .ibb-home-locandina-wrap,
.ibb-home-left > .wp-block-group.ibb-zoom-meeting,
.ibb-home-right > .wp-block-group.ibb-zoom-meeting,
.ibb-home-left > .wp-block-group.ibb-tradition7-box {
    flex: 0 0 auto;
    width: 100%;
}

/* Home: 3 colonne se c'è locandina, altrimenti 2 (sinistra + riflessione) */
.ibb-home-3col .ibb-home-body {
    max-width: min(1280px, 100%) !important;
}

.ibb-home-3col .ibb-home-main {
    align-items: flex-start !important;
}

.ibb-home-3col .ibb-home-left,
.ibb-home-3col .ibb-home-center,
.ibb-home-3col .ibb-home-right {
    min-width: 0;
}

.ibb-home-3col .ibb-home-center > .ibb-home-locandina-wrap {
    margin: 0 !important;
}

.ibb-home-3col .ibb-home-right > .ibb-home-reflection {
    margin: 0 !important;
    height: 100%;
}

/* Default 2 colonne; colonna centrale a larghezza 0 (il teaser fixed resta visibile) */
body:not(.ibb-home-locandina-open) .ibb-home-3col .ibb-home-center {
    display: block !important;
    flex: 0 0 0 !important;
    flex-basis: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: none !important;
}

.ibb-home-3col .ibb-home-main > .ibb-home-left,
.ibb-home-3col .ibb-home-main > .ibb-home-right {
    flex-basis: 50% !important;
    width: 50% !important;
}

/*
 * Locandina aperta (solo desktop): 3 colonne allineate in alto.
 * Ordine: 1) locandina  2) chiamaci/hero  3) riflessione
 */
@media (min-width: 768px) {
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-body {
        --ibb-loc-first: min(380px, 30vw);
        --ibb-loc-gap: clamp(16px, 2.2vw, 28px);
        max-width: min(1400px, calc(100vw - 24px)) !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main {
        display: grid !important;
        grid-template-columns: var(--ibb-loc-first) minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        align-items: start !important;
        justify-items: stretch !important;
        column-gap: var(--ibb-loc-gap) !important;
        row-gap: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-left,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-center,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-right {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: start !important;
        flex: unset !important;
        flex-basis: auto !important;
        flex-grow: 0 !important;
        flex-shrink: 1 !important;
    }

    /* Locandina → colonna 1 */
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-center {
        grid-column: 1 !important;
        order: 1 !important;
    }

    /* Chiamaci / hero → colonna 2 */
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-left {
        grid-column: 2 !important;
        order: 2 !important;
    }

    /* Riflessione → colonna 3 */
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-right {
        grid-column: 3 !important;
        order: 3 !important;
    }

    body.ibb-home-locandina-open .ibb-home-locandina-wrap,
    body.ibb-home-locandina-open .ibb-home-locandina-slot,
    body.ibb-home-locandina-open .ibb-home-locandina.ibb-locandina-wa-card,
    body.ibb-home-locandina-open .ibb-home-locandina-bundle,
    body.ibb-home-locandina-open .ibb-home-center .wp-block-shortcode {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-left > *,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-center > *,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-right > *,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-left > .wp-block-group,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-left > .wp-block-cover,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-left > .ibb-home-document-box,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-right > .ibb-home-reflection,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-right .wp-block-group,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-right .wp-block-shortcode,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-center .wp-block-shortcode,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-reflection,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-riflessione-wrapper,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-hero,
    body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina.ibb-locandina-wa-card {
        margin-top: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-top: 0 !important;
        max-width: 100% !important;
    }
}

body.ibb-home-locandina-open .ibb-meeting-teaser {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.ibb-home-locandina-bundle {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Pulsante fluttuante «Ehi, oggi c'è la riunione!» — grande e visibile su PC */
.ibb-meeting-fireworks {
    position: fixed;
    inset: 0;
    z-index: 1150;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: block;
}

body.ibb-meeting-day-celebrate .ibb-meeting-teaser:not(.is-waiting-effect) {
    animation: ibb-teaser-bounce 1.1s ease-in-out infinite;
    box-shadow:
        0 14px 36px rgba(251, 133, 0, 0.55),
        0 0 0 5px rgba(255, 255, 255, 0.75),
        0 0 40px rgba(255, 183, 3, 0.55);
}

.ibb-meeting-teaser.is-waiting-effect {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .ibb-meeting-fireworks {
        display: none !important;
    }
}

.ibb-meeting-teaser {
    position: fixed;
    right: max(28px, env(safe-area-inset-right));
    bottom: max(28%, 140px);
    z-index: 1200;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    max-width: min(420px, calc(100vw - 48px));
    padding: 18px 26px 18px 16px;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    text-align: left;
    color: #062033;
    background: linear-gradient(135deg, #ffe566 0%, #ffb703 45%, #fb8500 100%);
    box-shadow:
        0 14px 36px rgba(251, 133, 0, 0.5),
        0 0 0 4px rgba(255, 255, 255, 0.65);
    animation: ibb-teaser-bounce 1.6s ease-in-out infinite;
    touch-action: manipulation;
    transform-origin: center center;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.ibb-meeting-teaser:hover,
.ibb-meeting-teaser:focus-visible {
    filter: brightness(1.06);
    outline: none;
    animation-play-state: paused;
    transform: scale(1.06);
}

/* Dopo ~30s: più piccolo e meno invadente (come la prima versione) */
.ibb-meeting-teaser.is-settled {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(18px, env(safe-area-inset-bottom));
    gap: 10px;
    max-width: min(320px, calc(100vw - 32px));
    padding: 12px 16px 12px 12px;
    box-shadow:
        0 10px 28px rgba(251, 133, 0, 0.4),
        0 0 0 3px rgba(255, 255, 255, 0.55);
    animation: ibb-teaser-wiggle 3.2s ease-in-out infinite;
    transition:
        bottom 0.55s ease,
        right 0.55s ease,
        padding 0.55s ease,
        max-width 0.55s ease,
        box-shadow 0.55s ease;
}

.ibb-meeting-teaser.is-settled .ibb-meeting-teaser-bubble {
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.35rem;
    animation: none;
}

.ibb-meeting-teaser.is-settled .ibb-meeting-teaser-title {
    font-size: 0.95rem;
}

.ibb-meeting-teaser.is-settled .ibb-meeting-teaser-hint {
    font-size: 0.75rem;
    font-weight: 600;
}

.ibb-meeting-teaser.is-settled .ibb-meeting-teaser-pulse {
    inset: -4px;
    border-width: 2px;
    animation: ibb-teaser-pulse 2s ease-out infinite;
}

.ibb-meeting-teaser-bubble {
    flex: 0 0 auto;
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.85rem;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.14);
    animation: ibb-teaser-spin 2.8s ease-in-out infinite;
}

.ibb-meeting-teaser-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ibb-meeting-teaser-title {
    font-family: var(--ibb-sans);
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.2;
}

.ibb-meeting-teaser-hint {
    font-size: 0.95rem;
    font-weight: 700;
    opacity: 0.9;
}

.ibb-meeting-teaser-pulse {
    position: absolute;
    inset: -8px;
    border-radius: inherit;
    border: 3px solid rgba(255, 183, 3, 0.85);
    animation: ibb-teaser-pulse 1.4s ease-out infinite;
    pointer-events: none;
}

.ibb-home-locandina-toolbar {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 12px 0 0;
    width: 100%;
}

.ibb-home-locandina-hide {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.5rem;
    min-height: 2.25rem;
    padding: 0.45rem 1.35rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #3d8b7a 0%, #2f6f62 100%);
    color: #fff !important;
    font-size: 0.86rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(47, 111, 98, 0.28);
    transition: filter 0.15s ease, transform 0.15s ease;
}

.ibb-home-locandina-hide:hover,
.ibb-home-locandina-hide:focus-visible {
    filter: brightness(1.08);
    color: #fff !important;
    outline: none;
}

.ibb-home-locandina-hide:active {
    transform: translateY(1px);
}

@keyframes ibb-teaser-bounce {
    0%, 100% {
        transform: translateY(0) rotate(0deg) scale(1);
    }
    15% {
        transform: translateY(-14px) rotate(-3deg) scale(1.04);
    }
    30% {
        transform: translateY(0) rotate(2deg) scale(1);
    }
    45% {
        transform: translateY(-10px) rotate(3deg) scale(1.03);
    }
    60% {
        transform: translateY(0) rotate(-1.5deg) scale(1);
    }
    75% {
        transform: translateY(-6px) rotate(1.5deg) scale(1.02);
    }
}

@keyframes ibb-teaser-spin {
    0%, 100% { transform: rotate(0deg) scale(1); }
    25% { transform: rotate(-12deg) scale(1.08); }
    50% { transform: rotate(10deg) scale(1); }
    75% { transform: rotate(-8deg) scale(1.06); }
}

@keyframes ibb-teaser-pulse {
    0% { opacity: 0.9; transform: scale(1); }
    70% { opacity: 0; transform: scale(1.14); }
    100% { opacity: 0; transform: scale(1.14); }
}

@keyframes ibb-teaser-wiggle {
    0%, 86%, 100% { transform: rotate(0deg); }
    88% { transform: rotate(-2deg); }
    90% { transform: rotate(2.5deg); }
    92% { transform: rotate(-1.5deg); }
    94% { transform: rotate(1deg); }
}

@media (max-width: 1024px) {
    .ibb-meeting-teaser {
        left: 16px;
        right: 16px;
        bottom: max(20px, env(safe-area-inset-bottom));
        max-width: none;
        justify-content: center;
        padding: 14px 18px 14px 14px;
        gap: 12px;
        animation-duration: 1.8s;
    }

    .ibb-meeting-teaser-title {
        font-size: 1.05rem;
    }

    .ibb-meeting-teaser-hint {
        font-size: 0.85rem;
    }

    .ibb-meeting-teaser-bubble {
        width: 2.8rem;
        height: 2.8rem;
        font-size: 1.5rem;
    }
}

/* Mobile / tablet stretto: un blocco sotto l'altro (mai 2 o 3 colonne affiancate) */
@media (max-width: 767px) {
    .ibb-home-main,
    .ibb-home-3col .ibb-home-main,
    body.ibb-home-locandina-open .ibb-home-main,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main,
    body.ibb-home-locandina-open.home .ibb-home-main,
    body.ibb-home-locandina-open.page-id-9 .ibb-home-main,
    body.ibb-home-locandina-open.page-id-70 .ibb-home-main,
    body.ibb-home-locandina-open.page-id-71 .ibb-home-main {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 1.25rem !important;
    }

    .ibb-home-main > .wp-block-column,
    .ibb-home-main > .ibb-home-left,
    .ibb-home-main > .ibb-home-center,
    .ibb-home-main > .ibb-home-right,
    .ibb-home-3col .ibb-home-main > .ibb-home-left,
    .ibb-home-3col .ibb-home-main > .ibb-home-center,
    .ibb-home-3col .ibb-home-main > .ibb-home-right,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-left,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-center,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-right {
        flex: 0 0 auto !important;
        flex-basis: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-self: stretch !important;
        margin-top: 0 !important;
    }

    /* Colonna centrale chiusa: non occupa spazio in colonna */
    body:not(.ibb-home-locandina-open) .ibb-home-3col .ibb-home-center {
        display: none !important;
        flex: 0 0 0 !important;
        width: 0 !important;
        max-width: 0 !important;
        min-width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-body {
        --ibb-loc-first: 100%;
        max-width: min(1180px, 94vw) !important;
    }

    /* Mobile a locandina aperta: locandina → chiamaci → riflessione */
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-center {
        order: 1 !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-left {
        order: 2 !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-right {
        order: 3 !important;
    }
}

.ibb-home-locandina-heading {
    display: none !important;
}

body.ibb-home-layout-locandina .ibb-home-locandina-wrap {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0 0 10px !important;
    display: flex;
    flex-direction: column;
}

body.ibb-home-layout-locandina .ibb-home-locandina-slot {
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
}

body.ibb-home-layout-locandina .ibb-home-locandina.ibb-locandina-wa-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 8px !important;
}

body.ibb-home-layout-locandina .ibb-locandina-wa-bubble {
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

body.ibb-home-layout-locandina .ibb-home-locandina-image,
body.ibb-home-layout-locandina .ibb-locandina-wa-image {
    flex: 0 0 auto;
    max-height: none;
    aspect-ratio: auto;
    overflow: visible;
}

/* Home aperta: proporzioni naturali come WhatsApp */
body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-image,
body.ibb-home-locandina-open .ibb-home-center .ibb-locandina-wa-image {
    aspect-ratio: auto;
    overflow: visible;
}

body.ibb-home-layout-locandina .ibb-home-locandina-text {
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
}

body.ibb-home-layout-locandina .ibb-home-locandina-text .ibb-loc-line {
    margin-bottom: 2px !important;
}

body.ibb-home-layout-locandina .ibb-home-locandina-actions {
    margin-top: 6px !important;
}

body.ibb-home-layout-locandina .ibb-home-left .ibb-zoom-meeting,
body.ibb-home-layout-locandina .ibb-home-right .ibb-zoom-meeting {
    flex: 0 0 auto;
    padding: clamp(8px, 1.2vw, 12px) clamp(10px, 1.4vw, 14px) !important;
}

.ibb-home-center > .ibb-home-locandina-wrap,
.ibb-home-right > .ibb-home-locandina-wrap {
    margin-top: 0 !important;
}

.ibb-home-right > .ibb-home-reflection {
    margin-top: 0 !important;
}

.ibb-tradition7-page .ibb-tradition7-page-body {
    max-width: 40rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.ibb-tradition7-page-title {
    text-align: center !important;
    margin-bottom: 12px !important;
}

.ibb-tradition7-page-intro {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ibb-tradition7-page-box {
    margin: 16px auto 0 !important;
    max-width: 100% !important;
    width: 100%;
    text-align: center;
}

.ibb-tradition7-page-box .ibb-tradition-quote,
.ibb-tradition7-page-box .ibb-tradition-note {
    text-align: center !important;
}

body.ibb-home-layout-locandina .ibb-home-left .ibb-tradition7-box {
    flex: 0 0 auto;
    padding: clamp(10px, 1.4vw, 14px) clamp(12px, 1.6vw, 16px) !important;
    margin-top: 8px !important;
}

body.ibb-home-layout-locandina .ibb-tradition7-quote {
    font-size: clamp(0.92rem, 1.4vw, 1.05rem) !important;
    margin-bottom: 4px !important;
}

body.ibb-home-layout-locandina .ibb-tradition7-box .ibb-tradition-note {
    font-size: 0.8rem !important;
    line-height: 1.35 !important;
    margin-bottom: 0 !important;
}

body.ibb-home-layout-locandina .ibb-home-right .ibb-home-doc-slot-secondary {
    margin-top: clamp(10px, 1.5vw, 14px) !important;
    flex: 0 0 auto;
    width: 100%;
    min-height: 0;
}

body.ibb-home-layout-locandina .ibb-home-right .ibb-home-doc-slot-secondary .ibb-home-document-box {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    height: var(--ibb-home-doc-max-height);
    min-height: var(--ibb-home-doc-max-height);
    max-height: var(--ibb-home-doc-max-height);
    overflow: hidden;
    margin: 0 !important;
}

body.ibb-home-layout-locandina .ibb-home-right .ibb-home-doc-slot-secondary .ibb-home-document-label {
    flex: 0 0 auto;
}

body.ibb-home-layout-locandina .ibb-home-right .ibb-home-doc-slot-secondary .ibb-home-document-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

body.ibb-home-layout-locandina .ibb-home-right .ibb-home-doc-slot-secondary .ibb-home-document-scroll:has(.ibb-home-document-pdf:not(.ibb-pdf-embed)) {
    overflow: hidden;
}

.ibb-home-locandina-heading {
    margin: 0 0 12px !important;
    font-family: var(--ibb-serif) !important;
    font-size: clamp(1rem, 2.2vw, 1.12rem) !important;
    color: var(--ibb-ink) !important;
}

.ibb-home-locandina-slot {
    width: 100%;
}

.ibb-btn-contacts-page .wp-block-button__link {
    border-radius: 2px !important;
    color: var(--ibb-ink) !important;
    border-color: var(--ibb-border) !important;
    background: transparent !important;
    font-weight: 500 !important;
    font-size: 0.88rem !important;
}

.ibb-contacts-page .ibb-contacts-card {
    margin: 0 0 18px;
    padding: clamp(16px, 2.2vw, 22px);
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: var(--ibb-paper);
    box-shadow: 0 8px 24px var(--ibb-shadow);
}

.ibb-contacts-page .ibb-contacts-card h3 {
    margin-top: 0;
    font-family: var(--ibb-serif);
}

.ibb-contacts-page .ibb-contacts-card p a {
    color: var(--ibb-ink);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ibb-contacts-page .ibb-contacts-email-card {
    border-left: 3px solid #4a6274;
}

.ibb-contacts-page .ibb-contacts-site-email-card {
    border-left: 3px solid #2f6f62;
}

.ibb-contacts-page .ibb-call-first-step {
    margin: 0 0 22px !important;
}

.ibb-contacts-page .ibb-contacts-home-actions {
    margin: 0 0 8px !important;
    justify-content: center !important;
}

.ibb-locandina-thumb {
    margin-top: 10px;
    border-radius: 4px;
    border: 1px solid var(--ibb-border);
    max-width: 300px;
}

.ibb-locandina-thumb-main {
    max-width: 300px;
}

.ibb-locandina-image-hint {
    display: block;
    margin-bottom: 8px;
}

.ibb-locandina-upload-image {
    background: var(--ibb-accent) !important;
    color: #fff !important;
    border-color: var(--ibb-accent) !important;
}

.ibb-locandina-upload-image:hover {
    background: var(--ibb-accent-hover) !important;
}

.ibb-locandina-image-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

@media (max-width: 640px) {
    .ibb-good-news-form-grid,
    .ibb-locandina-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 960px) {
    .ibb-locandina-columns {
        grid-template-columns: 1fr;
    }

    .ibb-locandina-col-preview {
        position: static;
    }
}

/* Area Servitori */
.ibb-servitori-preamble {
    text-align: center;
    max-width: 640px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ibb-servitori-invite {
    text-align: center;
    max-width: 560px;
    margin: 0 auto 24px !important;
    padding: clamp(14px, 2vw, 18px) clamp(16px, 2.5vw, 22px) !important;
    font-family: var(--ibb-serif);
    font-size: clamp(1.05rem, 1.8vw, 1.2rem);
    line-height: 1.55;
    color: var(--ibb-ink);
    border: 1px solid var(--ibb-border-soft);
    border-radius: 4px;
    background: rgba(255, 253, 249, 0.85);
    box-shadow: 0 4px 16px var(--ibb-shadow);
}

.ibb-servitori-login {
    max-width: 400px;
    margin: 0 auto;
}

.ibb-pass-row {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 100%;
}

.ibb-pass-row .ibb-good-news-input,
.ibb-pass-row input {
    flex: 1 1 auto;
    min-width: 0;
}

.ibb-pass-toggle {
    flex: 0 0 auto;
    min-width: 78px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid var(--ibb-border);
    border-radius: 3px;
    background: var(--ibb-paper);
    color: var(--ibb-ink);
    font-size: 0.85rem;
    cursor: pointer;
}

.ibb-pass-toggle:hover {
    border-color: var(--ibb-accent);
}

.ibb-servitori-current-pass {
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ibb-border);
}

.ibb-servitori-auth-wrap {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
}

.ibb-servitori-auth-wrap .ibb-servitori-login {
    margin: 0 auto;
}

.ibb-servitori-logged-hint {
    text-align: center;
    margin: 0 auto 14px !important;
    max-width: 400px;
    font-size: 0.98rem;
    line-height: 1.45;
    color: var(--ibb-ink, #1f2937);
}

.ibb-servitori-login .ibb-good-news-actions {
    justify-content: center;
}

.ibb-servitori-legacy-home {
    text-align: center;
    margin: 28px auto 0 !important;
    font-size: 0.95rem;
}

.ibb-servitori-legacy-home a {
    color: var(--ibb-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ibb-servitori-logged {
    text-align: center;
    margin: 24px auto !important;
}

.ibb-servitori-area-btn {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
}

.ibb-servitori-login-btn {
    border: none;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
}

.ibb-servitori-login-error {
    color: #a33;
    font-size: 0.9rem;
    margin-top: 8px !important;
}

.ibb-servitori-area-body {
    max-width: min(1100px, 94vw) !important;
}

.ibb-servitori-dashboard {
    width: 100%;
}

.ibb-servitori-section {
    margin-bottom: 32px;
}

.ibb-servitori-section-archive {
    margin-bottom: 36px;
}

.ibb-servitori-meeting-actions {
    margin-top: 12px !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.ibb-loc-date-status {
    margin: 0 0 10px;
    font-size: 0.88rem;
    color: #128c7e;
    font-weight: 600;
}

.ibb-loc-date-status.is-error {
    color: #a33;
}

.ibb-loc-date-field {
    order: -2;
}

.ibb-locandina-form .ibb-field:has(#ibb-loc-type) {
    order: -1;
}

.ibb-meeting-publish-gn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    color: var(--ibb-ink-soft);
}

.ibb-meeting-save-status.is-error,
.ibb-good-news-status.is-error {
    color: #a33;
}

.ibb-servitori-section-title {
    font-family: var(--ibb-serif);
    font-size: 1.35rem;
    color: var(--ibb-ink);
    margin: 0 0 12px;
}

.ibb-servitori-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 16px !important;
}

.ibb-servitori-mail-box {
    margin-top: 8px;
}

.ibb-servitori-mail-list {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: grid;
    gap: 10px;
}

.ibb-servitori-mail-item {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 16px;
    padding: 10px 12px;
    border: 1px solid var(--ibb-border-soft, #d5ddd8);
    border-radius: 4px;
    background: #fff;
}

.ibb-servitori-mail-label {
    min-width: 6.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ibb-muted);
}

.ibb-servitori-mail-address {
    font-family: var(--ibb-sans);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ibb-ink);
    text-decoration: none;
    word-break: break-all;
}

.ibb-servitori-mail-address:hover {
    color: var(--ibb-accent);
    text-decoration: underline;
}

.ibb-servitori-mail-webmail {
    margin: 0;
}

.ibb-home-doc-builtin-note {
    grid-column: 1 / -1;
    margin: 0;
    padding: 10px 12px;
    background: rgba(74, 98, 116, 0.08);
    border-left: 3px solid #4a6274;
    font-size: 0.92rem;
    color: var(--ibb-ink);
}

.ibb-home-docs-picker {
    margin: 0.75rem 0 1rem;
    padding: 0.75rem 1rem;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid var(--ibb-border);
    border-radius: 8px;
}

.ibb-home-doc-field-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 16px;
    align-items: start;
    width: 100%;
}

.ibb-home-doc-field-row textarea {
    width: 100%;
    min-width: 0;
}

.ibb-home-doc-style-btns {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
    min-width: 118px;
}

.ibb-home-doc-style-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ibb-home-doc-style-btn {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: var(--ibb-paper);
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    color: var(--ibb-muted);
}

.ibb-home-doc-style-btn.is-active {
    background: var(--ibb-accent);
    border-color: var(--ibb-accent);
    color: #fff;
}

.ibb-home-docs-table-wrap {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--ibb-border);
    border-radius: 6px;
    background: #fff;
}

.ibb-home-docs-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.ibb-home-docs-table th,
.ibb-home-docs-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--ibb-border);
    text-align: left;
    vertical-align: middle;
}

.ibb-home-docs-table th {
    position: sticky;
    top: 0;
    background: var(--ibb-paper);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ibb-muted);
    z-index: 1;
}

.ibb-home-doc-row {
    cursor: pointer;
}

.ibb-home-doc-row:hover {
    background: rgba(18, 140, 126, 0.05);
}

.ibb-home-doc-row.is-active {
    background: rgba(18, 140, 126, 0.1);
}

.ibb-home-doc-row-title {
    font-weight: 600;
}

.ibb-home-doc-row-testata {
    color: var(--ibb-muted);
    font-size: 0.88rem;
}

.ibb-home-doc-in-home {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(18, 140, 126, 0.15);
    color: var(--ibb-accent);
    font-size: 0.72rem;
    font-weight: 700;
    vertical-align: middle;
}

.ibb-home-docs-empty {
    color: var(--ibb-muted);
    font-style: italic;
}

.ibb-home-docs-toolbar-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    margin: 0 0 14px;
    clear: both;
}

.ibb-home-doc-add-btn {
    flex: 0 0 auto;
    padding: 12px 22px;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
    min-height: 2.75rem;
}

.ibb-home-docs-toolbar-hint {
    flex: 1 1 220px;
    margin: 0 !important;
    max-width: 42rem;
    font-size: 0.88rem;
    line-height: 1.35;
}

.ibb-home-docs-toolbar-row .ibb-home-doc-status {
    flex: 1 1 100%;
    margin: 0;
}

.ibb-servitori-section-documenti .ibb-home-docs-table-wrap,
.ibb-servitori-documenti-page .ibb-home-docs-table-wrap {
    max-height: min(62vh, 720px);
}

.ibb-servitori-section-documenti .ibb-home-docs-editor,
.ibb-servitori-documenti-page .ibb-home-docs-editor {
    margin-top: 0;
}

.ibb-servitori-section-documenti {
    margin-top: 0;
}

.ibb-home-docs-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 400px);
    gap: clamp(20px, 3vw, 32px);
    align-items: start;
}

.ibb-home-docs-col-form {
    min-width: 0;
}

.ibb-home-docs-col-preview {
    position: sticky;
    top: 16px;
}

.ibb-home-docs-preview-slot {
    min-height: 200px;
}

.ibb-home-docs-preview-box {
    margin: 0;
}

.ibb-home-docs-preview-box .ibb-home-document-scroll {
    max-height: min(420px, 60vh);
    overflow-y: auto;
}

.ibb-home-docs-save-row {
    margin-top: 12px;
}

.ibb-servitori-documenti-page .ibb-content-body,
.ibb-servitori-section-documenti .ibb-content-body {
    max-width: min(1180px, 97vw);
}

.ibb-home-doc-open-hint {
    font-size: 0.82rem;
    color: var(--ibb-accent);
    font-weight: 600;
}

.ibb-home-docs-table th.ibb-home-docs-th-actions,
.ibb-home-docs-table td.ibb-home-doc-row-action {
    text-align: right;
}

.ibb-home-doc-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}

.ibb-home-doc-row-actions .ibb-edit-rif {
    margin: 0;
    padding: 5px 10px;
    font-size: 0.82rem;
    text-decoration: none;
}

.ibb-home-doc-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
}

.ibb-home-doc-badge.is-reserved {
    background: rgba(120, 70, 20, 0.12);
    color: #6b3a12;
}

.ibb-home-doc-badge.is-home {
    background: rgba(40, 100, 70, 0.12);
    color: #1f5c3f;
}

.ibb-field-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.ibb-field-check input[type="checkbox"] {
    margin-top: 3px;
}

.ibb-doc-reader {
    position: fixed;
    inset: 0;
    z-index: 100050;
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: clamp(12px, 2vw, 24px);
    background: rgba(18, 22, 28, 0.72);
    backdrop-filter: blur(2px);
}

.ibb-doc-reader[hidden] {
    display: none !important;
}

.ibb-doc-reader-panel {
    display: flex;
    flex-direction: column;
    width: min(1100px, 100%);
    height: min(92vh, 100%);
    background: #f7f4ef;
    border: 1px solid rgba(0, 0, 0, 0.18);
    border-radius: 6px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

.ibb-doc-reader-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 16px;
    padding: 12px 16px;
    background: #ebe4d8;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.ibb-doc-reader-bar strong {
    font-size: 1.05rem;
    color: #2c2418;
}

.ibb-doc-reader-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ibb-doc-reader-body {
    flex: 1 1 auto;
    min-height: 0;
    background: #fff;
    overflow: auto;
}

.ibb-doc-reader-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 70vh;
    border: 0;
    background: #525659;
}

.ibb-doc-reader-image {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 20px;
    min-height: 100%;
    background: #1a1a1a;
}

.ibb-doc-reader-image img {
    max-width: 100%;
    height: auto;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.ibb-doc-reader-text {
    max-width: 48rem;
    margin: 0 auto;
    padding: clamp(20px, 4vw, 40px);
    font-size: 1.05rem;
    line-height: 1.65;
    color: #2a241c;
}

.ibb-doc-reader-file {
    padding: 40px 24px;
    text-align: center;
}

.ibb-doc-reader-av {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: clamp(20px, 4vw, 40px);
    background: #1a1a1a;
}

.ibb-doc-reader-av audio {
    width: min(640px, 100%);
}

.ibb-doc-reader-av video {
    width: min(960px, 100%);
    max-height: calc(92vh - 80px);
    background: #000;
}

.ibb-home-document-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    align-items: center;
    margin: 10px 0 0;
}

.ibb-home-document-media-label {
    margin: 0 0 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--ibb-muted);
}

.ibb-home-document-audio audio,
.ibb-home-document-video video {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    background: #111;
}

.ibb-home-document-video {
    width: 100%;
}

.ibb-home-document-html iframe {
    display: block;
    width: 100%;
    min-height: 0;
    height: 100%;
    border: 0;
    background: #fff;
}

.ibb-home-document-file-name {
    margin: 0;
    color: var(--ibb-muted);
    font-size: 0.95rem;
}

body.ibb-doc-reader-open {
    overflow: hidden;
}

@media (max-width: 960px) {
    .ibb-home-docs-columns {
        grid-template-columns: 1fr;
    }

    .ibb-home-docs-col-preview {
        position: static;
    }

    .ibb-doc-reader {
        padding: 0;
    }

    .ibb-doc-reader-panel {
        width: 100%;
        height: 100%;
        border-radius: 0;
    }
}

.ibb-servitori-subnav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ibb-servitori-subnav-link {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: var(--ibb-paper);
    color: var(--ibb-ink);
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 600;
}

.ibb-servitori-subnav-link.is-active,
.ibb-servitori-subnav-link:hover {
    border-color: #128c7e;
    color: #128c7e;
}

.ibb-centralino {
    margin-top: 1.25rem;
}

.ibb-centralino-intro {
    margin: 0 0 1.5rem;
    max-width: 48rem;
    line-height: 1.55;
    color: var(--ibb-muted);
}

.ibb-centralino-hint {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    color: var(--ibb-muted);
}

.ibb-centralino-badge {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: var(--ibb-accent-soft);
    color: var(--ibb-ink);
}

.ibb-centralino-table .ibb-c-slot-name,
.ibb-centralino-table .ibb-c-slot-phone {
    width: 100%;
    min-width: 10rem;
    font: inherit;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: #fff;
}

.ibb-centralino-hub-row td {
    background: rgba(18, 140, 126, 0.04);
}

.ibb-centralino-section {
    margin-bottom: 2.25rem;
}

.ibb-centralino-section h2 {
    margin: 0 0 0.85rem;
    font-size: 1.15rem;
}

.ibb-centralino-form {
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: var(--ibb-paper);
}

.ibb-centralino-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
}

.ibb-centralino-grid-shifts {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
}

.ibb-centralino-grid label {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.82rem;
    font-weight: 600;
    min-width: 0;
}

.ibb-centralino-grid input,
.ibb-centralino-grid select {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.45rem;
    font: inherit;
    font-weight: 400;
    padding: 0.45rem 0.55rem;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: #fff;
    color: var(--ibb-ink);
}

.ibb-centralino-confirm {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    margin-top: 1rem;
}

.ibb-centralino-confirm .ibb-centralino-status {
    margin: 0;
}

.ibb-centralino-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.9rem;
}

.ibb-centralino-secondary {
    opacity: 0.92;
}

.ibb-centralino-status {
    min-height: 1.25em;
    margin: 0.65rem 0 0;
    font-size: 0.86rem;
    color: #128c7e;
}

.ibb-centralino-status.is-error {
    color: #b42318;
}

.ibb-centralino-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: var(--ibb-paper);
}

.ibb-centralino-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.ibb-centralino-table th,
.ibb-centralino-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--ibb-border-soft);
    vertical-align: top;
}

.ibb-centralino-table th {
    background: var(--ibb-accent-soft);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ibb-centralino-row-actions {
    white-space: nowrap;
}

.ibb-centralino-btn {
    font: inherit;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.28rem 0.55rem;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: #fff;
    color: var(--ibb-ink);
    cursor: pointer;
}

.ibb-centralino-btn:hover {
    border-color: #128c7e;
    color: #128c7e;
}

.ibb-centralino-btn-danger:hover {
    border-color: #b42318;
    color: #b42318;
}

@media (max-width: 767px) {
    .ibb-centralino-grid,
    .ibb-centralino-grid-shifts {
        grid-template-columns: 1fr;
    }
}

.ibb-loc-date-words {
    display: block;
    margin-top: 6px;
    font-weight: 700;
    color: var(--ibb-ink);
}

.ibb-loc-date-field .ibb-loc-field-row {
    margin-top: 4px;
}

.ibb-field-hint {
    display: block;
    margin-top: 4px;
    font-size: 0.78rem;
    color: var(--ibb-muted);
    line-height: 1.4;
}

.ibb-meetings-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--ibb-border);
    border-radius: 4px;
    background: var(--ibb-paper);
    box-shadow: 0 4px 16px var(--ibb-shadow);
}

.ibb-meetings-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.ibb-meetings-table th,
.ibb-meetings-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid var(--ibb-border-soft);
    vertical-align: top;
}

.ibb-meetings-table th {
    background: var(--ibb-accent-soft);
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ibb-meetings-actions {
    white-space: nowrap;
}

.ibb-meetings-actions .ibb-meeting-poster {
    font-size: 0.78rem;
    padding: 4px 8px;
}

.ibb-meetings-img {
    text-align: center;
    color: var(--ibb-muted);
    font-size: 0.82rem;
}

.ibb-meetings-table td.ibb-meetings-actions {
    min-width: 11rem;
}

.ibb-servitori-news-section {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--ibb-border);
}

@media (max-width: 900px) {
    .ibb-meetings-table {
        font-size: 0.82rem;
    }

    .ibb-meetings-table th,
    .ibb-meetings-table td {
        padding: 8px 10px;
    }
}

.ibb-content-body {
    max-width: min(960px, 94vw);
}

@media (max-width: 767px) {
    .ibb-gruppi-grid {
        grid-template-columns: 1fr;
    }

    .ibb-gruppi-head {
        display: none;
    }

    .ibb-gruppi-row:not(.ibb-gruppi-head) {
        display: block;
        border-bottom: 1px solid rgba(44, 58, 71, 0.12);
        padding: 10px 0;
    }

    .ibb-gruppi-row:not(.ibb-gruppi-head) .ibb-gruppi-cell {
        display: block;
        border: none;
        padding: 4px 0;
        min-height: 0;
        background: transparent;
    }

    .ibb-gruppi-row:not(.ibb-gruppi-head) .ibb-gruppi-col-name {
        font-weight: 600;
        color: var(--ibb-ink);
    }
}

/* Documento / Tradizione — riquadro in evidenza home */
.ibb-tradition-box {
    margin: 0 0 16px !important;
    padding: clamp(18px, 2.5vw, 24px) clamp(20px, 3vw, 28px) !important;
    border: 1px solid var(--ibb-border) !important;
    border-left: 4px solid var(--ibb-accent) !important;
    border-radius: 4px !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 8px 24px var(--ibb-shadow) !important;
}

/* Documento in home: stesso riquadro della Riflessione giornaliera */
.ibb-home-document-box {
    margin: 0 0 16px !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
    border: 1px solid var(--ibb-border) !important;
    border-radius: 4px !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 12px 36px var(--ibb-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
}

.ibb-tradition-label {
    margin: 0 0 10px !important;
    font-family: var(--ibb-sans) !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--ibb-muted) !important;
    line-height: 1.4 !important;
}

.ibb-tradition-quote {
    margin: 0 0 10px !important;
    font-family: var(--ibb-serif) !important;
    font-size: clamp(1.3rem, 2.4vw, 1.7rem) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: var(--ibb-ink) !important;
}

.ibb-tradition-note {
    margin: 0 !important;
    font-family: var(--ibb-sans) !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
    color: var(--ibb-ink-soft) !important;
}

.ibb-home-left .ibb-zoom-meeting {
    margin-top: 0 !important;
}
.ibb-home-hero-banner {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    min-height: calc(100vh - 72px) !important;
    min-height: calc(100svh - 72px) !important;
}

.ibb-home-hero-banner .wp-block-cover__image-background {
    object-fit: cover;
    object-position: center 42%;
}

.ibb-home-hero-banner .wp-block-cover__background {
    opacity: 1 !important;
    background: linear-gradient(
        180deg,
        rgba(26, 37, 32, 0.35) 0%,
        rgba(26, 37, 32, 0.52) 45%,
        rgba(20, 28, 24, 0.62) 100%
    ) !important;
}

.ibb-home-hero-banner .wp-block-cover__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: inherit;
    padding: clamp(24px, 5vw, 48px);
    text-align: center;
}

.ibb-hero-kicker {
    margin: 0 0 0.65em !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-family: var(--ibb-sans) !important;
    font-size: clamp(0.68rem, 1.4vw, 0.78rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
}

.ibb-hero-overlay-text {
    margin: 0 !important;
    color: #ffffff !important;
    font-family: var(--ibb-serif) !important;
    font-size: clamp(2.2rem, 5.5vw, 3.75rem) !important;
    font-weight: 500 !important;
    font-style: italic;
    line-height: 1.12 !important;
    letter-spacing: 0.02em !important;
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
    max-width: 14ch;
}

/* Hero colonna sinistra — immagine + slogan */
.ibb-home-classic .ibb-home-hero,
.ibb-home-hero {
    border-radius: 16px !important;
    overflow: hidden;
    margin: 0 0 14px !important;
    min-height: min(280px, 42vh) !important;
}

.ibb-home-hero .wp-block-cover__background {
    opacity: 1 !important;
    background: linear-gradient(180deg, rgba(18, 48, 36, 0.08), rgba(12, 32, 24, 0.28)) !important;
}

.ibb-home-hero .wp-block-cover__image-background {
    object-fit: cover;
    object-position: center center;
    /* filter: regolato da Servitori (default luminosità/contrasto) */
}

.ibb-home-hero .wp-block-cover__inner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: inherit;
    padding: 20px 16px;
}

.ibb-home-hero .ibb-hero-overlay-text {
    font-family: var(--ibb-serif) !important;
    font-size: clamp(1.55rem, 3.2vw, 2.35rem) !important;
    font-weight: 700 !important;
    font-style: italic;
    color: #fff8e7 !important;
    line-height: 1.25 !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
    max-width: 16ch;
}

/* CTA «Fai il primo passo» */
.ibb-call-first-step {
    margin: 0 0 16px !important;
    padding: 18px 16px 16px !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 214, 102, 0.55), transparent 45%),
        radial-gradient(circle at 88% 10%, rgba(37, 211, 102, 0.35), transparent 40%),
        linear-gradient(145deg, #1b5e4a 0%, #0d9488 48%, #0f766e 100%) !important;
    box-shadow: 0 10px 28px rgba(15, 118, 110, 0.28);
    color: #fff !important;
}

.ibb-call-impact {
    margin: 0 0 8px !important;
    font-family: var(--ibb-serif) !important;
    font-size: clamp(1.35rem, 2.8vw, 1.75rem) !important;
    font-weight: 700 !important;
    font-style: italic;
    color: #fff8e7 !important;
    line-height: 1.2 !important;
}

.ibb-call-number {
    margin: 0 0 14px !important;
    font-size: clamp(1.25rem, 2.4vw, 1.55rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em;
}

.ibb-call-number a {
    color: #ffffff !important;
    text-decoration: none !important;
}

.ibb-call-number a:hover {
    color: #d1fae5 !important;
}

.ibb-call-actions {
    gap: 10px !important;
}

.ibb-btn-phone-call .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 12px 22px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ff8a4c, #ea580c) !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    box-shadow: 0 6px 18px rgba(234, 88, 12, 0.4);
    border: none !important;
}

.ibb-btn-phone-call .wp-block-button__link:hover {
    filter: brightness(1.06);
    color: #fff !important;
}

.ibb-btn-whatsapp-vivid .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 12px 22px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #34d399, #128c7e) !important;
    color: #fff !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    box-shadow: 0 6px 18px rgba(18, 140, 126, 0.4);
    border: none !important;
}

.ibb-btn-whatsapp-vivid .wp-block-button__link:hover {
    filter: brightness(1.06);
    color: #fff !important;
}

.ibb-call-icon,
.ibb-wa-icon {
    display: inline-block;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.ibb-call-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.5.6 3.8.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.6.6 3.8.1.4 0 .8-.3 1.1L6.6 10.8z'/%3E%3C/svg%3E");
}

.ibb-wa-icon {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 50%;
    background-color: #25d366;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.95.51 3.85 1.48 5.53L2 22l4.7-1.53a9.86 9.86 0 0 0 5.34 1.45h.01c5.46 0 9.91-4.45 9.91-9.91C21.96 6.45 17.5 2 12.04 2zm5.75 14.05c-.24.68-1.42 1.25-1.96 1.33-.5.07-1.14.1-1.84-.12-.42-.13-.97-.32-1.67-.62-2.94-1.27-4.85-4.24-5-4.44-.14-.2-1.17-1.56-1.17-2.97 0-1.42.74-2.11 1-2.4.26-.28.57-.35.76-.35h.55c.18 0 .42-.06.66.5.24.58.82 2 .89 2.15.07.15.12.32.02.52-.1.2-.15.32-.3.5-.14.17-.3.38-.43.51-.14.14-.29.3-.12.58.16.28.72 1.19 1.55 1.93 1.06.95 1.96 1.24 2.24 1.38.28.14.44.12.6-.07.17-.2.7-.81.88-1.09.19-.28.37-.23.63-.14.26.1 1.64.77 1.92.91.28.14.47.21.54.33.07.12.07.68-.17 1.36z'/%3E%3C/svg%3E");
    background-size: 72%;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.4);
}

/* Widget WhatsApp in-page */
.ibb-wa-panel[hidden] {
    display: none !important;
}

.ibb-wa-panel {
    position: fixed;
    inset: 0;
    z-index: 100050;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 16px;
    pointer-events: none;
}

.ibb-wa-panel__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    pointer-events: auto;
}

.ibb-wa-panel__card {
    position: relative;
    z-index: 1;
    width: min(360px, calc(100vw - 24px));
    max-height: min(520px, calc(100vh - 32px));
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.28);
    pointer-events: auto;
    animation: ibb-wa-panel-in 0.22s ease-out;
}

@keyframes ibb-wa-panel-in {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.ibb-wa-panel__head {
    display: grid;
    grid-template-columns: 44px 1fr 36px;
    gap: 10px;
    align-items: start;
    padding: 14px 14px 12px;
    background: linear-gradient(180deg, #128c7e, #075e54);
    color: #fff;
}

.ibb-wa-panel__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #25d366 center / 62% no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.95.51 3.85 1.48 5.53L2 22l4.7-1.53a9.86 9.86 0 0 0 5.34 1.45h.01c5.46 0 9.91-4.45 9.91-9.91C21.96 6.45 17.5 2 12.04 2zm5.75 14.05c-.24.68-1.42 1.25-1.96 1.33-.5.07-1.14.1-1.84-.12-.42-.13-.97-.32-1.67-.62-2.94-1.27-4.85-4.24-5-4.44-.14-.2-1.17-1.56-1.17-2.97 0-1.42.74-2.11 1-2.4.26-.28.57-.35.76-.35h.55c.18 0 .42-.06.66.5.24.58.82 2 .89 2.15.07.15.12.32.02.52-.1.2-.15.32-.3.5-.14.17-.3.38-.43.51-.14.14-.29.3-.12.58.16.28.72 1.19 1.55 1.93 1.06.95 1.96 1.24 2.24 1.38.28.14.44.12.6-.07.17-.2.7-.81.88-1.09.19-.28.37-.23.63-.14.26.1 1.64.77 1.92.91.28.14.47.21.54.33.07.12.07.68-.17 1.36z'/%3E%3C/svg%3E");
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.ibb-wa-panel__head-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.ibb-wa-panel__head-text strong {
    font-size: 1.05rem;
    line-height: 1.2;
}

.ibb-wa-panel__head-text span {
    font-size: 0.86rem;
    line-height: 1.35;
    opacity: 0.95;
}

.ibb-wa-panel__close {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.ibb-wa-panel__close:hover {
    background: rgba(255, 255, 255, 0.24);
}

.ibb-wa-panel__body {
    padding: 14px;
    background: #ece5dd;
}

.ibb-wa-panel__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.ibb-wa-panel__input {
    width: 100%;
    min-height: 110px;
    resize: vertical;
    border: 0;
    border-radius: 12px;
    padding: 12px 14px;
    font: inherit;
    line-height: 1.4;
    color: #0f172a;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.ibb-wa-panel__input:focus {
    outline: 2px solid #25d366;
    outline-offset: 1px;
}

.ibb-wa-panel__foot {
    padding: 12px 14px 14px;
    background: #fff;
}

.ibb-wa-panel__send {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 12px 18px !important;
    background: linear-gradient(180deg, #34d399, #128c7e) !important;
    color: #fff !important;
    font: inherit !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 6px 18px rgba(18, 140, 126, 0.35) !important;
}

.ibb-wa-panel__send:hover,
.ibb-wa-panel__send:focus {
    filter: brightness(1.05);
    color: #fff !important;
    background: linear-gradient(180deg, #34d399, #128c7e) !important;
}

.ibb-wa-panel__send .ibb-wa-icon {
    box-shadow: none;
    flex: 0 0 auto;
}

.ibb-wa-panel__send-label {
    color: #fff !important;
}

body.ibb-wa-panel-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .ibb-wa-panel {
        align-items: flex-end;
        justify-content: center;
        padding: 10px;
    }

    .ibb-wa-panel__card {
        width: min(100%, 420px);
    }
}

/* Bandiera locandina più grande */
.ibb-loc-flag {
    font-size: 1.85em;
    line-height: 1;
    vertical-align: -0.15em;
    margin-left: 0.2em;
}

/* Touch target «Applica» (pubblica in home) */
#ibb-home-doc-set-active {
    min-height: 48px;
    min-width: 160px;
    padding: 12px 18px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(15, 118, 110, 0.25);
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.ibb-home-docs-active-editor .ibb-good-news-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

#ibb-home-doc-status.is-error {
    color: #b91c1c;
    font-weight: 600;
}

#ibb-home-doc-status.is-ok {
    color: #047857;
    font-weight: 600;
}

/* ===== Layout home a due colonne ===== */
.ibb-home-page {
    --ibb-home-doc-max-height: 320px;
    --ibb-home-reflection-max-height: min(520px, 68vh);
}

body.ibb-home-layout-locandina {
    --ibb-home-doc-max-height: 220px;
    --ibb-home-reflection-max-height: min(380px, 48vh);
}

body.ibb-home-layout-standard {
    --ibb-home-doc-max-height: 320px;
    --ibb-home-reflection-max-height: min(560px, 72vh);
}

/* Layout con locandina: PayPal a sinistra; Settima Tradizione a destra nascosta */
body.ibb-home-layout-locandina .ibb-tradition7-slot-right {
    display: none !important;
}

body.ibb-home-layout-locandina .ibb-tradition7-slot-left {
    display: block !important;
}

/* Layout standard: Settima Tradizione a destra */
body.ibb-home-layout-standard .ibb-tradition7-slot-left {
    display: none !important;
}

body.ibb-home-layout-standard .ibb-tradition7-slot-right {
    display: block !important;
}

/*
 * Documento in home (toggle servitori):
 * sempre sotto la riflessione (colonna destra), mai duplicato a sinistra.
 */
body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot,
body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot-secondary {
    display: block !important;
    margin-top: 12px !important;
    flex: 0 0 auto;
    width: 100%;
    min-height: 0;
}

body.ibb-home-doc-enabled .ibb-home-doc-slot-primary,
body:not(.ibb-home-doc-enabled) .ibb-home-doc-slot {
    display: none !important;
}

/* Documento sotto riflessione: stesso riquadro della riflessione */
body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot .ibb-home-document-box,
body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot-secondary .ibb-home-document-box {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    margin: 0 !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
    box-sizing: border-box;
    border: 1px solid var(--ibb-border) !important;
    border-radius: 4px !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 12px 36px var(--ibb-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
}

.ibb-home-page .ibb-home-document-label {
    margin: 0 0 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--ibb-border-soft);
}

body.ibb-home-doc-enabled .ibb-home-right .ibb-home-document-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}

body.ibb-home-doc-enabled .ibb-home-right .ibb-home-document-scroll:has(.ibb-home-document-pdf:not(.ibb-pdf-embed)) {
    overflow: hidden;
}

body.ibb-home-layout-standard .ibb-home-right .ibb-tradition7-slot-right {
    margin-top: clamp(14px, 2vw, 18px) !important;
    flex: 0 0 auto;
}

body.ibb-home-layout-standard .ibb-home-left .ibb-home-doc-slot-primary {
    flex: 0 0 auto;
    width: 100%;
}

/* Larghezze colonne gestite da .ibb-home-3col (2 o 3 colonne) */

.ibb-home-main {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: clamp(16px, 2.5vw, 28px) !important;
    margin-bottom: 0 !important;
}

.ibb-home-main > .wp-block-column,
.ibb-home-main > .ibb-home-left,
.ibb-home-main > .ibb-home-right {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    min-height: 0 !important;
}

.ibb-home-left,
.ibb-home-right {
    display: flex;
    flex-direction: column;
    min-height: 0;
    align-self: stretch !important;
}

/* Documento variabile — altezza fissa, scroll interno */
.ibb-home-left > .ibb-home-document-box,
.ibb-home-left > .ibb-home-doc-slot-primary .ibb-home-document-box,
.ibb-home-left > .ibb-tradition-box.ibb-home-document-box {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    height: var(--ibb-home-doc-max-height);
    max-height: var(--ibb-home-doc-max-height);
    overflow: hidden;
    margin: 0 0 clamp(14px, 2vw, 18px) !important;
}

.ibb-home-document-label {
    flex: 0 0 auto;
}

.ibb-home-document-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 4px;
    overscroll-behavior: contain;
}

/* Un solo scroll: iframe PDF legacy; PDF.js (embed) scorre nel riquadro come la riflessione */
.ibb-home-document-scroll:has(.ibb-home-document-pdf:not(.ibb-pdf-embed)) {
    overflow: hidden;
    padding-right: 0;
}

.ibb-home-document-scroll .ibb-home-document-pdf:not(.ibb-pdf-embed) {
    height: 100%;
    min-height: 0;
}

.ibb-home-document-scroll .ibb-home-document-pdf:not(.ibb-pdf-embed) iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    border: 0;
    background: #fff;
}

.ibb-home-document-scroll .ibb-pdf-embed {
    height: auto;
    min-height: 0;
}

/* In home niente Leggi/Scarica: si fa dalla Biblioteca */
.ibb-home-page .ibb-home-document-actions,
.ibb-home-page .ibb-home-document-pdf-link,
.ibb-home-page .ibb-home-document-file-link {
    display: none !important;
}

.ibb-home-document-scroll::-webkit-scrollbar,
.ibb-riflessione-body::-webkit-scrollbar {
    width: 5px;
}

.ibb-home-document-scroll::-webkit-scrollbar-thumb,
.ibb-riflessione-body::-webkit-scrollbar-thumb {
    background: #cfc8bc;
    border-radius: 999px;
}

.ibb-home-document-scroll::-webkit-scrollbar-track,
.ibb-riflessione-body::-webkit-scrollbar-track {
    background: transparent;
}

.ibb-home-left .ibb-home-document-pdf iframe {
    height: 200px;
    max-height: none;
}

.ibb-home-left .ibb-home-document-media img {
    max-height: none;
}

/* Locandina — sotto al documento, altezza naturale */
.ibb-home-left .ibb-zoom-meeting {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-top: 0 !important;
}

.ibb-home-left .ibb-zoom-tips {
    margin-top: 12px;
}

.ibb-home-locandina-empty {
    margin: 0 0 12px !important;
    padding: 12px 14px;
    border: 1px dashed var(--ibb-border);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.55);
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--ibb-ink-soft);
    text-align: center;
}

/* Riflessione — occupa lo spazio sopra Settima Tradizione */
.ibb-home-right .ibb-home-reflection {
    flex: 0 0 auto;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    margin-top: 0 !important;
    box-sizing: border-box;
    overflow: hidden;
    max-height: var(--ibb-home-reflection-max-height);
    align-self: flex-start;
}

.ibb-home-right .ibb-contatti-box {
    margin-top: clamp(14px, 2vw, 18px) !important;
    flex: 0 0 auto;
}

/* La Settima Tradizione ora sta in fondo alla prima colonna */
.ibb-home-left .ibb-tradition7-box {
    margin-top: clamp(14px, 2vw, 18px) !important;
    flex: 0 0 auto;
}

/* compat: regole generiche se non .ibb-home-sober */

/* Settima Tradizione — autosufficienza e contributi */
.ibb-tradition7-box {
    margin: 12px 0 0 !important;
    padding: clamp(14px, 2vw, 18px) clamp(16px, 2.5vw, 22px) !important;
    border: 1px solid var(--ibb-border) !important;
    border-left: 4px solid #8a7355 !important;
    border-radius: 4px !important;
    background: var(--ibb-warm-white) !important;
    box-shadow: 0 6px 20px var(--ibb-shadow) !important;
}

.ibb-tradition7-quote {
    font-size: clamp(1.05rem, 1.8vw, 1.3rem) !important;
    line-height: 1.3 !important;
}

.ibb-tradition7-box .ibb-tradition-note {
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
}

.ibb-tradition7-box .wp-block-buttons {
    margin-top: 14px !important;
    width: 100%;
    justify-content: center;
}

.ibb-btn-paypal .wp-block-button__link {
    background: #3d4f63 !important;
    color: #fff !important;
    border-radius: 2px !important;
    border: 1px solid #2f3f50 !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.04em;
    font-family: var(--ibb-sans);
    padding: 0.75rem 1.1rem !important;
}

.ibb-btn-paypal .wp-block-button__link:hover {
    background: #2f3f50 !important;
}

.ibb-home-right .ibb-home-reflection > .wp-block-group__inner-container {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    height: auto;
}

.ibb-home-right .ibb-home-reflection .ibb-riflessione-wrapper,
.ibb-home-right .ibb-home-reflection .riflessione-wrapper {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    height: auto !important;
    max-height: none !important;
    overflow: hidden;
}

.ibb-home-reflection .ibb-riflessione-body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
}

/* Compatibilità snippet legacy */
.ibb-home-reflection .riflessione-wrapper:not(.ibb-riflessione-wrapper) {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
    border-radius: 4px !important;
    border: 1px solid var(--ibb-border) !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 12px 36px var(--ibb-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
}

.ibb-home-reflection .riflessione-wrapper:not(.ibb-riflessione-wrapper) > div[style] {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    line-height: 1.62 !important;
    font-size: 0.97rem !important;
    font-family: var(--ibb-sans);
}

.ibb-home-actions {
    align-items: stretch !important;
    gap: 16px !important;
}

.ibb-home-actions > .wp-block-column {
    display: flex;
    flex-direction: column;
}

.ibb-home-actions .ibb-zoom-meeting,
.ibb-home-actions .ibb-contatti-box {
    height: 100%;
    margin-top: 0 !important;
    box-sizing: border-box;
}

/* Riquadri sinistra */
.ibb-contatti-box {
    padding: clamp(16px, 2.2vw, 22px) !important;
    border: 1px solid var(--ibb-border) !important;
    border-radius: 4px !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 8px 24px var(--ibb-shadow) !important;
}

.ibb-contatti-box h4 {
    margin: 0 0 10px !important;
    font-family: var(--ibb-serif) !important;
    color: var(--ibb-ink) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
}

.ibb-contatti-box p {
    margin: 0 0 14px !important;
    color: var(--ibb-muted) !important;
    line-height: 1.55 !important;
    font-size: 0.94rem !important;
}

.ibb-contatti-box .wp-block-buttons {
    gap: 10px;
}

.ibb-btn-whatsapp .wp-block-button__link {
    background: #3d8f5a !important;
    color: #fff !important;
    border-radius: 2px !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.04em;
    border: none !important;
    box-shadow: none !important;
}

.ibb-btn-email .wp-block-button__link {
    background: #4a6274 !important;
    color: #fff !important;
    border-radius: 2px !important;
    font-weight: 600 !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.04em;
    border: none !important;
    box-shadow: none !important;
}

.ibb-contatti-box p a {
    color: var(--ibb-ink);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ibb-btn-phone .wp-block-button__link {
    border-radius: 2px !important;
    color: var(--ibb-ink) !important;
    border-color: var(--ibb-border) !important;
    background: transparent !important;
    font-weight: 500 !important;
    font-size: 0.88rem !important;
}

.ibb-home-reflection {
    margin-top: 0;
}

.ibb-home-main,
.home .ibb-home-main,
.page-id-9 .ibb-home-main,
.page-id-70 .ibb-home-main,
.page-id-71 .ibb-home-main {
    align-items: stretch !important;
}

/* Locandina aperta: allinea i 3 blocchi in alto (override stretch home) */
body.ibb-home-locandina-open .ibb-home-main,
body.ibb-home-locandina-open.home .ibb-home-main,
body.ibb-home-locandina-open.page-id-9 .ibb-home-main,
body.ibb-home-locandina-open.page-id-70 .ibb-home-main,
body.ibb-home-locandina-open.page-id-71 .ibb-home-main,
body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main {
    align-items: flex-start !important;
}

.ibb-home-main > .wp-block-column,
.page-id-9 .ibb-home-main > .wp-block-column,
.page-id-70 .ibb-home-main > .wp-block-column,
.page-id-71 .ibb-home-main > .wp-block-column {
    display: flex;
    flex-direction: column;
}

body.ibb-home-locandina-open .ibb-home-center > *,
body.ibb-home-locandina-open .ibb-home-center .wp-block-shortcode {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina.ibb-locandina-wa-card {
    max-width: 100% !important;
    margin: 0 !important;
}

/*
 * Locandina aperta: riquadro unico (come la riflessione), senza banda bianca sopra.
 * Colonna 1 = locandina, colonna 2 = hero/chiamaci.
 */
body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina.ibb-locandina-wa-card {
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid var(--ibb-border) !important;
    border-radius: 4px !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 12px 36px var(--ibb-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

body.ibb-home-locandina-open .ibb-home-center .ibb-locandina-wa-bubble {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    gap: 0 !important;
}

body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-image,
body.ibb-home-locandina-open .ibb-home-center .ibb-locandina-wa-image {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    line-height: 0 !important;
    font-size: 0 !important;
    flex: 0 0 auto !important;
}

body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-image img,
body.ibb-home-locandina-open .ibb-home-center .ibb-locandina-wa-image img {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-text {
    padding: 10px 12px 4px !important;
    margin: 0 !important;
}

body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-actions {
    margin: 0 !important;
    padding: 8px 12px 12px !important;
    background: var(--ibb-paper);
}

body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-toolbar,
body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-wrap > .ibb-home-locandina-toolbar {
    margin: 10px 0 0 !important;
    padding: 0 !important;
}

/* Hero / chiamaci (2ª colonna): attaccato in alto, niente banda bianca */
body.ibb-home-locandina-open .ibb-home-left {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.ibb-home-locandina-open .ibb-home-left .ibb-home-doc-slot:empty,
body.ibb-home-locandina-open .ibb-home-left .ibb-home-doc-slot:not(:has(.ibb-home-document-box)) {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.ibb-home-locandina-open .ibb-home-left .ibb-home-hero.wp-block-cover,
body.ibb-home-locandina-open .ibb-home-left .wp-block-cover.ibb-home-hero,
body.ibb-home-locandina-open .ibb-home-left .wp-block-cover {
    margin: 0 !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    margin-inline: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--ibb-border) !important;
    border-radius: 4px !important;
    box-shadow: 0 12px 36px var(--ibb-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
    overflow: hidden !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    align-items: center !important;
    position: relative !important;
    top: 0 !important;
}

body.ibb-home-locandina-open .ibb-home-left .wp-block-cover .wp-block-cover__image-background,
body.ibb-home-locandina-open .ibb-home-left .ibb-home-hero .wp-block-cover__image-background {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    margin: 0 !important;
}

body.ibb-home-locandina-open .ibb-home-left .wp-block-cover .wp-block-cover__inner-container {
    margin: 0 !important;
    padding: 0.5rem !important;
}

/* Riflessione giornaliera — riquadro curato */
.ibb-riflessione-wrapper {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    min-height: 0;
    padding: clamp(18px, 2.5vw, 26px);
    border-radius: 4px;
    border: 1px solid var(--ibb-border);
    background: var(--ibb-paper);
    box-shadow: 0 12px 36px var(--ibb-shadow), inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.ibb-riflessione-header {
    flex: 0 0 auto;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ibb-border-soft);
}

.ibb-riflessione-topbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.ibb-riflessione-date-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.ibb-riflessione-date-row .ibb-riflessione-date {
    flex: 1 1 auto;
    margin: 0 !important;
    min-width: 0;
}

.ibb-riflessione-date-row .ibb-copy-wa {
    flex: 0 0 auto;
}

.ibb-riflessione-form {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
}

.ibb-riflessione-form label {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--ibb-muted);
    text-transform: uppercase;
    font-family: var(--ibb-sans);
}

.ibb-riflessione-form select {
    padding: 5px 10px;
    border: 1px solid var(--ibb-border);
    border-radius: 2px;
    background: var(--ibb-warm-white);
    font-size: 0.84rem;
    color: var(--ibb-ink);
    font-family: var(--ibb-sans);
}

.ibb-riflessione-form button {
    padding: 5px 12px;
    border: none;
    border-radius: 2px;
    background: var(--ibb-accent);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.04em;
    font-family: var(--ibb-sans);
}

.ibb-riflessione-form button:hover {
    background: var(--ibb-accent-hover);
}

.ibb-riflessione-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin: 0;
}

.ibb-copy-wa,
.ibb-btn-primary,
.ibb-edit-rif {
    font-size: 0.72rem;
    padding: 6px 12px;
    border-radius: 2px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    font-weight: 600;
    white-space: nowrap;
    letter-spacing: 0.04em;
    font-family: var(--ibb-sans);
}

.ibb-copy-wa,
.ibb-btn-primary {
    background: #3d8f5a;
    color: #fff;
    box-shadow: none;
}

.ibb-copy-wa.is-copied {
    background: #2f6f47;
}

.ibb-edit-rif {
    background: var(--ibb-warm-white);
    color: var(--ibb-ink);
    border: 1px solid var(--ibb-border);
}

.ibb-riflessione-date {
    margin: 0;
    padding: 0;
    border-bottom: none;
    color: var(--ibb-muted);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-family: var(--ibb-sans);
}

.ibb-riflessione-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding-right: 6px;
    line-height: 1.62;
    color: var(--ibb-ink-soft);
    font-size: 0.97rem;
    text-align: justify;
    font-family: var(--ibb-sans);
}

.ibb-riflessione-body--compact {
    font-size: 0.86em !important;
    line-height: 1.48 !important;
}

.ibb-riflessione-body--compact .ibb-riflessione-title {
    font-size: 1.05em !important;
    margin-bottom: 8px !important;
}

.ibb-riflessione-title {
    margin: 0 0 12px;
    font-family: var(--ibb-serif);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    line-height: 1.2;
    color: var(--ibb-ink);
    text-align: left;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.ibb-riflessione-text p {
    margin: 0 0 0.8em;
}

.ibb-riflessione-text p.ibb-riflessione-ref {
    margin: 0.2em 0 0.9em;
    font-size: 0.9em;
    font-weight: 600;
    font-style: italic;
    font-family: var(--ibb-serif);
    color: var(--ibb-muted);
    letter-spacing: 0.02em;
    text-align: left;
}

.ibb-riflessione-text p:last-child {
    margin-bottom: 0;
}

.ibb-riflessione-body::-webkit-scrollbar {
    width: 5px;
}

.ibb-riflessione-body::-webkit-scrollbar-thumb {
    background: #cfc8bc;
    border-radius: 999px;
}

.ibb-riflessione-body::-webkit-scrollbar-track {
    background: transparent;
}

/* ZOOM */
.ibb-zoom-meeting {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    margin-top: 0 !important;
    padding: clamp(16px, 2.2vw, 22px) !important;
    border: 1px solid var(--ibb-border) !important;
    border-radius: 4px !important;
    background: var(--ibb-paper) !important;
    box-shadow: 0 8px 24px var(--ibb-shadow) !important;
}

.ibb-zoom-meeting .wp-block-group {
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap !important;
}

.ibb-zoom-meeting p {
    width: 100%;
    max-width: 100% !important;
    margin: 0 auto 14px !important;
    font-size: clamp(0.9rem, 2vw, 0.98rem) !important;
    line-height: 1.55 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    color: var(--ibb-ink-soft) !important;
    font-family: var(--ibb-sans);
}

.ibb-zoom-meeting .wp-block-buttons {
    width: 100%;
    justify-content: center;
}

.ibb-zoom-meeting .wp-block-button {
    width: 100%;
}

.ibb-btn-zoom .wp-block-button__link,
.ibb-zoom-meeting .wp-block-button__link,
.ibb-btn-zoom-brand .wp-block-button__link {
    width: 100%;
    max-width: 100%;
    white-space: normal !important;
    text-align: center;
    line-height: 1.35 !important;
    padding: 0.95rem 1.25rem !important;
    border-radius: 14px !important;
    border: none !important;
    background: linear-gradient(180deg, #4da3ff 0%, #2d8cff 55%, #0b5fff 100%) !important;
    color: #fff !important;
    box-shadow: 0 8px 22px rgba(13, 110, 253, 0.35);
    font-weight: 800 !important;
    font-size: 1rem !important;
    letter-spacing: 0.02em;
    font-family: var(--ibb-sans);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

/* PC: più stretto, più alto, carattere più grande */
@media (min-width: 768px) {
    .ibb-zoom-meeting .wp-block-button.ibb-btn-zoom,
    .ibb-zoom-meeting .wp-block-button.ibb-btn-zoom-brand,
    .ibb-home-left .ibb-zoom-meeting .wp-block-button {
        width: auto !important;
        max-width: 22rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .ibb-btn-zoom .wp-block-button__link,
    .ibb-zoom-meeting .wp-block-button__link,
    .ibb-btn-zoom-brand .wp-block-button__link,
    body.ibb-home-sober .ibb-home-left .ibb-zoom-meeting .wp-block-button__link {
        width: auto !important;
        min-width: 16rem;
        max-width: 22rem !important;
        padding: 1.35rem 1.4rem !important;
        font-size: 1.22rem !important;
        line-height: 1.25 !important;
        border-radius: 16px !important;
        gap: 12px;
    }

    .ibb-zoom-meeting .ibb-zoom-icon {
        width: 1.55rem;
        height: 1.55rem;
    }
}

.ibb-btn-zoom .wp-block-button__link:hover,
.ibb-zoom-meeting .wp-block-button__link:hover,
.ibb-btn-zoom-brand .wp-block-button__link:hover {
    filter: brightness(1.06);
    background: linear-gradient(180deg, #66b2ff 0%, #2d8cff 50%, #0b5fff 100%) !important;
    color: #fff !important;
}

.ibb-zoom-icon {
    display: inline-block;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2' y='6' width='13' height='12' rx='2.5' fill='%23ffffff'/%3E%3Cpath d='M16.2 9.2 22 6.5v11l-5.8-2.7V9.2z' fill='%23ffffff'/%3E%3C/svg%3E");
}

.ibb-zoom-tips {
    width: 100%;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--ibb-border-soft);
}

.ibb-zoom-tips-label {
    margin: 0 0 6px !important;
    font-size: 0.74rem !important;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ibb-muted);
    text-align: left;
    font-family: var(--ibb-sans);
}

.ibb-zoom-tips-list {
    margin: 0 !important;
    padding-left: 1.15em !important;
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
    color: var(--ibb-muted);
    text-align: left;
    font-family: var(--ibb-sans);
}

.ibb-zoom-tips-list li {
    margin-bottom: 3px;
}

@media (max-width: 767px) {
    .ibb-home-hero-banner {
        min-height: 68vh !important;
        min-height: 68svh !important;
    }

    .ibb-hero-overlay-text {
        max-width: none;
        font-size: clamp(1.85rem, 8vw, 2.5rem) !important;
    }

    /*
     * Header mobile: logo + nome + hamburger sulla STESSA riga.
     * Il menu a tendina resta sotto, a tutta larghezza, quando aperto.
     */
    body.ibb-branded-chrome #masthead .site-main-header-inner-wrap,
    body.ibb-branded-chrome #mobile-header .site-main-header-inner-wrap {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 6px 10px !important;
        min-height: 52px !important;
        padding: 8px 12px !important;
    }

    body.ibb-branded-chrome .site-header-main-section-left {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: calc(100% - 52px) !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
    }

    body.ibb-branded-chrome .site-header-main-section-right {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
    }

    body.ibb-branded-chrome .site-branding {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.ibb-branded-chrome .site-branding .brand {
        min-width: 0 !important;
        max-width: 100% !important;
        gap: 8px !important;
    }

    body.ibb-branded-chrome .site-branding .custom-logo {
        max-height: 42px !important;
        flex-shrink: 0 !important;
    }

    body.ibb-branded-chrome .site-branding .site-title-wrap {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body.ibb-branded-chrome .site-branding .site-title,
    body.ibb-branded-chrome .site-branding .site-title a,
    body.ibb-home-lena .site-branding .site-title,
    body.ibb-home-lena .site-branding .site-title a,
    body.ibb-content-page-body .site-branding .site-title,
    body.ibb-content-page-body .site-branding .site-title a,
    body.ibb-servitori-page-body .site-branding .site-title,
    body.ibb-servitori-page-body .site-branding .site-title a,
    body.page-id-9 .site-branding .site-title,
    body.page-id-9 .site-branding .site-title a,
    body.page-id-70 .site-branding .site-title,
    body.page-id-70 .site-branding .site-title a,
    body.page-id-71 .site-branding .site-title,
    body.page-id-71 .site-branding .site-title a {
        font-size: clamp(1.5rem, 6.4vw, 1.9rem) !important;
        letter-spacing: 0.02em !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.ibb-branded-chrome .main-navigation,
    body.ibb-branded-chrome .header-navigation,
    body.ibb-branded-chrome .primary-menu-container,
    body.ibb-branded-chrome .header-menu-container {
        width: auto !important;
        max-width: none !important;
        justify-content: flex-end !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Hamburger: icona a destra sulla stessa riga del logo */
    body.ibb-branded-chrome .menu-toggle-open,
    body.ibb-branded-chrome .menu-toggle-close,
    body.ibb-branded-chrome button.menu-toggle,
    body.ibb-branded-chrome .mobile-toggle-open,
    body.ibb-branded-chrome #mobile-header .menu-toggle-style-default {
        flex-shrink: 0 !important;
        margin: 0 !important;
    }

    body.ibb-branded-chrome .primary-menu-container > ul.menu,
    body.ibb-branded-chrome .header-menu-container > ul.menu,
    body.ibb-branded-chrome ul#primary-menu,
    body.ibb-branded-chrome ul#mobile-menu,
    body.ibb-home-lena ul#primary-menu,
    body.ibb-home-lena ul#mobile-menu,
    body.ibb-content-page-body ul#primary-menu,
    body.ibb-content-page-body ul#mobile-menu,
    body.ibb-servitori-page-body ul#primary-menu,
    body.ibb-servitori-page-body ul#mobile-menu {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        border: 1px solid var(--ibb-border, #cfc8ba) !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: var(--ibb-paper, #fffdf9) !important;
    }

    body.ibb-branded-chrome #primary-menu > li:not(.lang-item),
    body.ibb-branded-chrome #mobile-menu > li:not(.lang-item),
    body.ibb-home-lena #primary-menu > li:not(.lang-item),
    body.ibb-home-lena #mobile-menu > li:not(.lang-item),
    body.ibb-content-page-body #primary-menu > li:not(.lang-item),
    body.ibb-content-page-body #mobile-menu > li:not(.lang-item),
    body.ibb-servitori-page-body #primary-menu > li:not(.lang-item),
    body.ibb-servitori-page-body #mobile-menu > li:not(.lang-item) {
        flex: 1 0 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        border-bottom: 1px solid var(--ibb-border-soft, #ebe6dd) !important;
    }

    body.ibb-branded-chrome #primary-menu > li > a,
    body.ibb-branded-chrome #mobile-menu > li > a,
    body.ibb-home-lena #primary-menu > li > a,
    body.ibb-home-lena #mobile-menu > li > a,
    body.ibb-content-page-body #primary-menu > li > a,
    body.ibb-content-page-body #mobile-menu > li > a,
    body.ibb-servitori-page-body #primary-menu > li > a,
    body.ibb-servitori-page-body #mobile-menu > li > a,
    body.page-id-9 #primary-menu > li > a,
    body.page-id-70 #primary-menu > li > a,
    body.page-id-71 #primary-menu > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
        min-height: 48px !important;
        padding: 0.85rem 1rem !important;
        font-size: 1.12rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.02em !important;
        text-transform: none !important;
        line-height: 1.3 !important;
        white-space: normal !important;
        text-align: left !important;
        color: var(--ibb-ink, #2c3a47) !important;
        background: transparent !important;
        border-radius: 0 !important;
    }

    body.ibb-branded-chrome #primary-menu > li > a:hover,
    body.ibb-branded-chrome #mobile-menu > li > a:hover,
    body.ibb-branded-chrome #primary-menu > li.current-menu-item > a,
    body.ibb-branded-chrome #mobile-menu > li.current-menu-item > a {
        background: var(--ibb-accent-soft, #e8efe9) !important;
        color: var(--ibb-accent, #3d5a4c) !important;
    }

    /* Bandiere: una riga sotto le voci, facili da toccare */
    body.ibb-branded-chrome #primary-menu > li.lang-item,
    body.ibb-branded-chrome #mobile-menu > li.lang-item,
    body.ibb-home-lena #primary-menu > li.lang-item,
    body.ibb-home-lena #mobile-menu > li.lang-item,
    body.ibb-content-page-body #primary-menu > li.lang-item,
    body.ibb-content-page-body #mobile-menu > li.lang-item,
    body.ibb-servitori-page-body #primary-menu > li.lang-item,
    body.ibb-servitori-page-body #mobile-menu > li.lang-item {
        order: 100 !important;
        flex: 1 1 30% !important;
        width: auto !important;
        margin: 0 !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        border-bottom: 0 !important;
        border-top: 1px solid var(--ibb-border-soft, #ebe6dd) !important;
        background: #f7f3ea !important;
        display: flex !important;
        justify-content: center !important;
    }

    body.ibb-branded-chrome #primary-menu > li.lang-item:first-of-type,
    body.ibb-branded-chrome #mobile-menu > li.lang-item:first-of-type,
    body.ibb-home-lena #primary-menu > li.lang-item:first-of-type,
    body.ibb-home-lena #mobile-menu > li.lang-item:first-of-type,
    body.ibb-content-page-body #primary-menu > li.lang-item:first-of-type,
    body.ibb-content-page-body #mobile-menu > li.lang-item:first-of-type,
    body.ibb-servitori-page-body #primary-menu > li.lang-item:first-of-type,
    body.ibb-servitori-page-body #mobile-menu > li.lang-item:first-of-type {
        margin-left: 0 !important;
    }

    body.ibb-branded-chrome #primary-menu > li.lang-item a,
    body.ibb-branded-chrome #mobile-menu > li.lang-item a {
        min-height: 48px !important;
        width: 100% !important;
        padding: 0.55rem 0.4rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.ibb-branded-chrome #primary-menu > li.lang-item img,
    body.ibb-branded-chrome #mobile-menu > li.lang-item img,
    body.ibb-home-lena #primary-menu > li.lang-item img,
    body.ibb-home-lena #mobile-menu > li.lang-item img,
    body.ibb-content-page-body #primary-menu > li.lang-item img,
    body.ibb-content-page-body #mobile-menu > li.lang-item img,
    body.ibb-servitori-page-body #primary-menu > li.lang-item img,
    body.ibb-servitori-page-body #mobile-menu > li.lang-item img,
    body.ibb-branded-chrome #primary-menu > li.lang-item a img,
    body.ibb-branded-chrome #mobile-menu > li.lang-item a img {
        width: 32px !important;
        height: auto !important;
        max-width: 32px !important;
        max-height: none !important;
        transform: none !important;
    }

    /* La lista voci è in colonna; le bandiere stanno in riga grazie a flex-wrap */
    body.ibb-branded-chrome ul#primary-menu,
    body.ibb-branded-chrome ul#mobile-menu {
        flex-wrap: wrap !important;
    }

    .ibb-home-page {
        --ibb-home-doc-max-height: min(72vh, 640px);
    }

    .ibb-home-left > .ibb-home-document-box,
    .ibb-home-left > .ibb-tradition-box.ibb-home-document-box,
    body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot,
    body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot-secondary {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot .ibb-home-document-box,
    body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot-secondary .ibb-home-document-box,
    .ibb-home-left > .ibb-home-doc-slot-primary .ibb-home-document-box,
    .ibb-home-left > .ibb-home-document-box,
    .ibb-home-left > .ibb-tradition-box.ibb-home-document-box {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        min-height: min(52vh, 440px) !important;
        max-height: var(--ibb-home-doc-max-height) !important;
        overflow: hidden !important;
    }

    .ibb-home-document-scroll,
    body.ibb-home-doc-enabled .ibb-home-right .ibb-home-document-scroll {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y;
        padding-right: 4px !important;
    }

    /* Su cellulare: PDF.js scorre nel riquadro; iframe legacy resta gestito a parte */
    .ibb-home-document-scroll:has(.ibb-home-document-pdf:not(.ibb-pdf-embed)),
    body.ibb-home-doc-enabled .ibb-home-right .ibb-home-document-scroll:has(.ibb-home-document-pdf:not(.ibb-pdf-embed)) {
        overflow-y: auto !important;
    }

    .ibb-home-document-scroll .ibb-home-document-pdf:not(.ibb-pdf-embed) {
        height: auto !important;
        min-height: 0 !important;
    }

    .ibb-home-document-scroll .ibb-home-document-pdf:not(.ibb-pdf-embed) iframe,
    .ibb-home-left .ibb-home-document-pdf:not(.ibb-pdf-embed) iframe {
        height: min(160vh, 1600px) !important;
        min-height: 90vh !important;
        max-height: none !important;
        pointer-events: none !important;
    }

    .ibb-home-document-scroll .ibb-pdf-embed,
    body.ibb-home-doc-enabled .ibb-home-right .ibb-home-document-scroll .ibb-pdf-embed {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    /* Video/audio: niente scroll annidato (su iOS il touch sul video non scorre il padre) */
    body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot .ibb-home-document-box:has(.ibb-home-document-video),
    body.ibb-home-doc-enabled .ibb-home-right > .ibb-home-doc-slot .ibb-home-document-box:has(.ibb-home-document-audio),
    .ibb-home-left > .ibb-home-document-box:has(.ibb-home-document-video),
    .ibb-home-left > .ibb-home-document-box:has(.ibb-home-document-audio) {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .ibb-home-document-scroll:has(.ibb-home-document-video),
    .ibb-home-document-scroll:has(.ibb-home-document-audio),
    body.ibb-home-doc-enabled .ibb-home-right .ibb-home-document-scroll:has(.ibb-home-document-video),
    body.ibb-home-doc-enabled .ibb-home-right .ibb-home-document-scroll:has(.ibb-home-document-audio) {
        overflow: visible !important;
        max-height: none !important;
        flex: none !important;
        -webkit-overflow-scrolling: auto !important;
        touch-action: auto !important;
    }

    .ibb-home-document-video video {
        max-height: none !important;
        width: 100% !important;
        height: auto !important;
    }

    .ibb-home-right .ibb-home-reflection,
    .ibb-home-right .ibb-home-reflection .ibb-riflessione-wrapper {
        height: auto !important;
        min-height: 288px !important;
        max-height: none !important;
    }
}

@media (min-width: 768px) {
    .ibb-home-main > .ibb-home-left {
        flex-basis: 58% !important;
    }

    .ibb-home-main > .ibb-home-right {
        flex-basis: 42% !important;
    }
}

/* Banner confronto versioni home */
.ibb-compare-banner {
    background: #fff8e6;
    border-bottom: 1px solid #e8c96a;
    padding: 10px 16px;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #3d3428;
    position: relative;
    z-index: 100;
    font-family: var(--ibb-sans);
}

.ibb-compare-banner p {
    margin: 0;
}

.ibb-compare-banner a {
    color: var(--ibb-accent);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ibb-compare-banner a:hover {
    color: var(--ibb-accent-hover);
}

/* === Override finale: locandina | chiamaci | riflessione (desktop) === */
@media (min-width: 768px) {
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main.wp-block-columns,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main {
        display: grid !important;
        grid-template-columns: min(380px, 30vw) minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: start !important;
        align-content: start !important;
        column-gap: clamp(16px, 2.2vw, 28px) !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-left,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-center,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-right,
    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .wp-block-column {
        margin-top: 0 !important;
        padding-top: 0 !important;
        align-self: start !important;
        justify-self: stretch !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-center {
        grid-column: 1 !important;
        order: 1 !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-left {
        grid-column: 2 !important;
        order: 2 !important;
    }

    body.ibb-home-locandina-open .ibb-home-3col .ibb-home-main > .ibb-home-right {
        grid-column: 3 !important;
        order: 3 !important;
    }

    /* Hero 2ª colonna: zero spazio sopra (override finale) */
    body.ibb-home-locandina-open .ibb-home-left .wp-block-cover,
    body.ibb-home-locandina-open .ibb-home-left .ibb-home-hero {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

/*
 * Override finale: locandina come WhatsApp (immagine intera, proporzioni naturali).
 */
.ibb-locandina-wa-image,
.ibb-home-locandina-image,
.ibb-locandina-col-preview .ibb-locandina-wa-image,
body.ibb-home-locandina-open .ibb-home-center .ibb-locandina-wa-image,
body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-image {
    position: relative !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.ibb-locandina-wa-image img,
.ibb-home-locandina-image img,
.ibb-locandina-col-preview .ibb-locandina-wa-image img,
body.ibb-home-locandina-open .ibb-home-center .ibb-locandina-wa-image img,
body.ibb-home-locandina-open .ibb-home-center .ibb-home-locandina-image img {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
}

/* Paragrafi vuoti lasciati da wpautop sopra/dentro la locandina */
body.ibb-home-locandina-open .ibb-home-center > p:empty,
body.ibb-home-locandina-open .ibb-home-locandina-bundle > p:empty,
body.ibb-home-locandina-open .ibb-home-locandina-wrap > p:empty,
body.ibb-home-locandina-open .ibb-home-locandina.ibb-locandina-wa-card > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* === Home page (servitori): configurazione aspetto === */
.ibb-home-appearance-section {
    margin: 0 0 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--ibb-border-soft, #e2ddd2);
}

.ibb-home-appearance-section:last-of-type {
    border-bottom: none;
}

.ibb-home-appearance-title {
    margin: 0 0 0.5rem !important;
    font-family: var(--ibb-serif);
    font-size: 1.15rem;
    color: var(--ibb-ink);
}

.ibb-field-check {
    display: flex !important;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 0.75rem !important;
}

.ibb-field-check input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
}

.ibb-home-hero-config-grid {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(280px, 1fr);
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 900px) {
    .ibb-home-hero-config-grid {
        grid-template-columns: 1fr;
    }
}

.ibb-home-hero-sliders {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.85rem;
}

.ibb-home-hero-slider {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.9rem;
}

.ibb-home-hero-slider span {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    color: #374151;
}

.ibb-home-hero-slider em {
    font-style: normal;
    font-weight: 700;
    color: #111827;
    font-size: 0.82rem;
}

.ibb-home-hero-slider input[type="range"] {
    width: 100%;
    accent-color: #0d9488;
}

.ibb-home-hero-preview-wrap {
    min-width: 0;
}

/* Anteprima hero = stessa dimensione/struttura della home */
.ibb-home-hero-preview.ibb-home-hero,
#ibb-home-hero-preview.ibb-home-hero {
    position: relative;
    width: 100%;
    max-width: 420px;
    min-height: min(280px, 42vh) !important;
    margin: 0 !important;
    border-radius: 16px !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1a2e24;
}

.ibb-home-hero-preview .wp-block-cover__image-background {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
}

.ibb-home-hero-preview .wp-block-cover__background {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1;
}

.ibb-home-hero-preview .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 16px;
    box-sizing: border-box;
}

.ibb-home-hero-thumb {
    margin-top: 0.75rem;
    max-width: 280px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid var(--ibb-border, #cfc8ba);
    border-radius: 8px;
    background: #f3efe6;
}

.ibb-home-hero-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ibb-home-call-config-grid {
    display: grid;
    grid-template-columns: minmax(200px, 260px) minmax(280px, 1fr);
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 900px) {
    .ibb-home-call-config-grid {
        grid-template-columns: 1fr;
    }
}

.ibb-home-call-config-fields .ibb-field-compact,
.ibb-home-call-config-fields .ibb-field-compact .ibb-good-news-input {
    max-width: 11rem;
}

.ibb-input-style-short {
    width: 10.5rem !important;
    max-width: 10.5rem !important;
}

.ibb-home-call-colors-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.1rem;
    align-items: flex-end;
    margin: 0.35rem 0 0.75rem;
}

.ibb-home-call-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
    margin: 0 0 1rem;
}

.ibb-home-call-presets-label {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    margin-right: 0.15rem;
}

.ibb-home-call-preset-btn {
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    line-height: 1.2;
}

.ibb-home-call-preset-btn:hover {
    filter: brightness(1.06);
}

.ibb-home-call-border-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
}

.ibb-field-border-width {
    max-width: 5.5rem;
}

.ibb-input-narrow {
    width: 4rem !important;
    max-width: 4rem !important;
}

.ibb-home-call-style-hint {
    margin: 0.15rem 0 0.65rem;
    font-size: 0.85rem;
    color: #4b5563;
}

.ibb-home-call-preview-wrap {
    min-width: 0;
}

/* Anteprima = stesso blocco home (niente ridimensionamenti) */
.ibb-home-call-preview.ibb-call-first-step,
#ibb-home-call-preview.ibb-call-first-step {
    margin: 0 !important;
    width: 100%;
    max-width: 420px;
    box-sizing: border-box;
}

.ibb-home-call-preview .ibb-call-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
}

.ibb-home-call-preview .wp-block-button__link {
    pointer-events: none;
}

.ibb-home-right > .ibb-home-doc-slot,
.ibb-home-right > .ibb-home-doc-slot-secondary {
    margin-top: 12px;
}

/* Servitori — modifica riflessione giornaliera */
.ibb-riflessione-edit {
    margin-top: 8px;
}

.ibb-riflessione-edit-box {
    padding: clamp(16px, 2.5vw, 24px);
}

.ibb-riflessione-edit-date-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px 16px;
    margin-bottom: 1.25rem;
}

.ibb-riflessione-edit-date-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.ibb-riflessione-edit-meta {
    font-size: 0.85rem;
    color: var(--ibb-muted, #6b655c);
}

.ibb-riflessione-edit-langs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.ibb-riflessione-edit-lang {
    margin: 0;
    padding: 12px 14px 14px;
    border: 1px solid var(--ibb-border, #cfc8ba);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.45);
    min-width: 0;
}

.ibb-riflessione-edit-lang legend {
    font-family: var(--ibb-sans, sans-serif);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ibb-ink-soft, #4a453c);
    padding: 0 4px;
}

.ibb-riflessione-edit-lang .ibb-rif-edit-text {
    min-height: 10rem;
}

.ibb-riflessione-edit-actions {
    margin-top: 1.1rem !important;
}

.ibb-riflessione-edit-status {
    margin-left: 0.6rem;
    font-size: 0.9rem;
    color: var(--ibb-muted, #6b655c);
}

.ibb-riflessione-edit-status.is-error {
    color: #8a2f2f;
}

.ibb-riflessione-edit-status {
    margin-left: 0.55rem;
    font-size: 0.9rem;
    color: var(--ibb-muted, #6b655c);
}

.ibb-riflessione-edit-status.is-error {
    color: #8a2f2f;
}

.ibb-riflessione-style-box {
    margin-top: 1.25rem;
    padding: clamp(16px, 2.5vw, 24px);
}

.ibb-riflessione-style-title {
    margin: 0 0 8px !important;
    font-family: var(--ibb-serif, Georgia, serif);
    font-size: 1.25rem;
    color: var(--ibb-ink, #2c2820);
}

.ibb-riflessione-style-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 16px;
}

.ibb-riflessione-style-part {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--ibb-border, #cfc8ba);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.5);
    min-width: 0;
}

.ibb-riflessione-style-part legend {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0 4px;
    color: var(--ibb-ink-soft, #4a453c);
}

.ibb-riflessione-style-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-top: 8px;
}

.ibb-riflessione-style-preview {
    margin: 0 0 14px !important;
    max-width: 100%;
}

.ibb-riflessione-style-preview .ibb-riflessione-body {
    overflow: visible;
}

@media (max-width: 900px) {
    .ibb-riflessione-style-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .ibb-riflessione-edit-langs {
        grid-template-columns: 1fr;
    }
}

/* Servitori — Audio Condivisioni (elenco nostro) */
.ibb-servitori-audio {
    margin-top: 8px;
}

.ibb-servitori-audio-box {
    padding: clamp(14px, 2vw, 20px);
}

.ibb-servitori-audio-link-readonly,
input.ibb-servitori-audio-link-readonly:disabled,
input.ibb-servitori-audio-link-readonly[readonly] {
    background: #f7f4ee !important;
    color: #5a554c !important;
    border-color: #ddd6c8 !important;
    cursor: default !important;
    opacity: 1 !important;
    pointer-events: none;
    user-select: text;
}

.ibb-servitori-audio-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 12px 0;
}

.ibb-servitori-audio-status {
    font-size: 0.9rem;
    color: var(--ibb-muted, #6b655c);
}

.ibb-servitori-audio-status.is-error {
    color: #8a2f2f;
}

.ibb-servitori-audio-table-wrap {
    border: 1px solid var(--ibb-border, #cfc8ba);
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.ibb-servitori-audio-table-head,
.ibb-servitori-audio-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 7rem minmax(10.5rem, 13rem);
    gap: 10px;
    align-items: center;
    padding: 10px 14px;
}

.ibb-servitori-audio-table-head {
    background: #f3efe6;
    border-bottom: 1px solid var(--ibb-border, #cfc8ba);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #2c2820;
}

.ibb-servitori-audio-actions-head {
    text-align: center;
}

.ibb-servitori-audio-row {
    border-bottom: 1px solid #ebe6dd;
}

.ibb-servitori-audio-row:last-child {
    border-bottom: 0;
}

.ibb-servitori-audio-row.is-folder .ibb-servitori-audio-name {
    font-weight: 600;
}

.ibb-servitori-audio-name {
    color: #2c2820;
    word-break: break-word;
}

.ibb-servitori-audio-date {
    color: #5a554c;
    font-variant-numeric: tabular-nums;
}

.ibb-servitori-audio-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
}

.ibb-audio-authorize {
    margin: 0;
    padding: 6px 12px;
    border: 1px solid #c9a227;
    border-radius: 2px;
    background: #e8c547;
    color: #3d3428;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    cursor: pointer;
    font-family: var(--ibb-sans);
}

.ibb-audio-authorize:hover {
    background: #f0d35a;
}

.ibb-audio-authorize.is-authorized {
    background: #2f7a4a;
    border-color: #24633b;
    color: #fff;
}

.ibb-audio-authorize.is-authorized:hover {
    background: #359155;
}

.ibb-audio-auth-panel {
    grid-column: 1 / -1;
    margin-top: 4px;
    padding: 10px 12px;
    border: 1px solid var(--ibb-border-soft, #d5ddd8);
    border-radius: 4px;
    background: #f7f3ea;
}

.ibb-audio-auth-label {
    display: block;
    margin: 0 0 6px;
    font-size: 0.82rem;
    color: var(--ibb-muted);
    line-height: 1.4;
}

.ibb-audio-auth-note {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 8px;
    padding: 8px 10px;
    border: 1px solid var(--ibb-border);
    border-radius: 2px;
    font-family: var(--ibb-sans);
    font-size: 0.9rem;
    resize: vertical;
    min-height: 52px;
}

.ibb-audio-auth-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.ibb-servitori-audio-row.is-authorized .ibb-servitori-audio-name::after {
    content: ' · Biblioteca';
    font-size: 0.75em;
    font-weight: 600;
    color: #2f7a4a;
}

.ibb-servitori-audio-remove {
    border: 1px solid #c9a0a0;
    background: #fff5f5;
    color: #8a2f2f;
    border-radius: 6px;
    width: 2rem;
    height: 2rem;
    cursor: pointer;
    line-height: 1;
}

.ibb-servitori-audio-empty {
    margin: 0;
    padding: 16px;
    color: var(--ibb-muted, #6b655c);
}

.ibb-servitori-audio-import-simple {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--ibb-border-soft, #ebe6dd);
}

.ibb-servitori-audio-player {
    margin-top: 16px;
    border: 1px solid var(--ibb-border, #cfc8ba);
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.ibb-servitori-audio-player-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: #f3efe6;
    border-bottom: 1px solid var(--ibb-border, #cfc8ba);
}

.ibb-servitori-audio-player-frame {
    display: block;
    width: 100%;
    height: 120px;
    border: 0;
    background: #111;
}

@media (max-width: 700px) {
    .ibb-servitori-audio-table-head,
    .ibb-servitori-audio-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .ibb-servitori-audio-actions-head,
    .ibb-servitori-audio-actions {
        justify-content: flex-start;
        text-align: left;
    }
}

/* ===== Kit di Benvenuto (Biblioteca) ===== */
.ibb-kit-benvenuto {
    margin: 8px 0 28px;
    padding: 18px 18px 16px;
    border: 1px solid var(--ibb-border);
    border-radius: 8px;
    background: var(--ibb-paper);
    box-shadow: 0 2px 10px var(--ibb-shadow);
}

.ibb-kit-benvenuto-title {
    margin: 0 0 8px !important;
    font-family: var(--ibb-serif);
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--ibb-ink);
    line-height: 1.25;
}

.ibb-kit-benvenuto-intro {
    margin: 0 0 16px !important;
    color: var(--ibb-ink-soft);
    line-height: 1.5;
}

.ibb-kit-benvenuto-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 16px;
}

.ibb-kit-benvenuto-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 18px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none !important;
    line-height: 1.2;
}

.ibb-kit-benvenuto-btn-read {
    background: var(--ibb-accent);
    color: #fff !important;
}

.ibb-kit-benvenuto-btn-read:hover {
    background: var(--ibb-accent-hover);
    color: #fff !important;
}

.ibb-kit-benvenuto-btn-download {
    background: var(--ibb-accent-soft);
    color: var(--ibb-accent) !important;
    border: 1px solid rgba(61, 90, 76, 0.28);
}

.ibb-kit-benvenuto-btn-download:hover {
    background: #dce8df;
    color: var(--ibb-accent-hover) !important;
}

.ibb-kit-benvenuto-viewer {
    border: 1px solid var(--ibb-border-soft);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.ibb-kit-benvenuto-frame {
    display: block;
    width: 100%;
    height: min(72vh, 820px);
    border: 0;
    background: #f7f5f0;
}

.ibb-kit-benvenuto-fallback {
    margin: 0 !important;
    padding: 8px 12px;
    font-size: 0.9rem;
    background: var(--ibb-warm-white);
    border-top: 1px solid var(--ibb-border-soft);
}

.ibb-kit-benvenuto-fallback a {
    color: var(--ibb-accent);
    font-weight: 600;
}

.ibb-kit-benvenuto--missing {
    color: var(--ibb-muted);
}

@media (max-width: 700px) {
    .ibb-kit-benvenuto {
        padding: 14px 12px 12px;
    }

    .ibb-kit-benvenuto-frame {
        height: min(65vh, 560px);
    }

    .ibb-kit-benvenuto-actions {
        flex-direction: column;
    }

    .ibb-kit-benvenuto-btn {
        width: 100%;
    }
}

.ibb-biblioteca-gate {
    max-width: 32rem;
    margin: clamp(28px, 6vw, 56px) auto 32px;
    padding: clamp(22px, 4vw, 32px);
    text-align: center;
}

.ibb-biblioteca-gate-eyebrow {
    margin: 0 0 6px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ibb-accent, #128c7e);
}

.ibb-biblioteca-gate-title {
    margin: 0 0 14px;
    font-family: var(--ibb-serif, Georgia, serif);
    font-size: clamp(1.55rem, 3.5vw, 1.9rem);
    font-weight: 600;
    color: var(--ibb-ink);
    line-height: 1.2;
}

.ibb-biblioteca-gate-copy {
    margin: 0 0 8px;
    font-size: 1.02rem;
    line-height: 1.45;
    color: var(--ibb-ink);
}

.ibb-biblioteca-gate-copy--soft {
    margin-bottom: 18px;
    color: var(--ibb-muted, #5b6570);
    font-size: 0.98rem;
}

.ibb-biblioteca-gate-form {
    text-align: left;
    margin-top: 6px;
}

.ibb-biblioteca-gate-error {
    margin: 8px 0 0;
    color: #8a2f2f;
    font-size: 0.92rem;
}

.ibb-biblioteca-logout-row {
    margin: 0 0 10px;
    text-align: right;
}

.ibb-biblioteca-pass-settings {
    margin-top: 8px;
    padding: clamp(14px, 2.5vw, 22px);
}

.ibb-biblioteca-pass-fieldset {
    border: 0;
    margin: 0 0 14px;
    padding: 0;
}

.ibb-biblioteca-pass-legend {
    margin: 0 0 10px;
    font-weight: 700;
    font-size: 1rem;
    color: var(--ibb-ink);
}

.ibb-biblioteca-pass-choice {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 18px 8px 0;
    font-weight: 600;
    cursor: pointer;
}

.ibb-biblioteca-pass-fields {
    display: grid;
    gap: 10px;
    margin: 0 0 14px;
}

.ibb-biblioteca {
    display: grid;
    gap: 22px;
}

.ibb-biblioteca--table {
    display: block;
    padding: clamp(10px, 1.5vw, 16px);
    margin: 0 0 12px;
}

.ibb-biblioteca--table .ibb-home-docs-table-wrap {
    margin: 0;
    max-height: min(68vh, 740px);
}

.ibb-biblioteca--table .ibb-home-doc-row {
    cursor: default;
}

.ibb-biblioteca--table .ibb-home-doc-row:hover {
    background: transparent;
}

/* Biblioteca: titolo + intro compatti, più spazio alla lista documenti */
.ibb-library-page .ibb-content-body {
    max-width: min(1180px, 97vw);
    padding-top: clamp(6px, 1vw, 12px) !important;
    padding-bottom: clamp(20px, 3vw, 36px) !important;
    gap: 0 !important;
}

.ibb-library-page .ibb-content-body > * {
    margin-block-start: 0 !important;
}

.ibb-library-page .ibb-content-body h1,
.ibb-library-page .ibb-content-body .wp-block-heading {
    margin: 0 0 2px !important;
    padding: 0 !important;
}

.ibb-library-page .ibb-content-intro {
    margin: 0 0 10px !important;
    padding: 0 !important;
    font-size: 0.98rem;
    line-height: 1.45;
}

.ibb-biblioteca-player {
    margin: 0 0 14px;
}

.ibb-biblioteca-audio audio,
.ibb-biblioteca-video video {
    display: block;
    width: 100%;
    max-width: 100%;
}

.ibb-biblioteca-video video {
    max-height: 360px;
    background: #111;
}

.ibb-biblioteca-public-preview {
    margin: 12px 0 0;
    padding-left: 1.2em;
    line-height: 1.55;
}

.ibb-biblioteca--empty {
    margin: 12px 0 24px;
    color: var(--ibb-muted);
}

.ibb-biblioteca-item + .ibb-biblioteca-item {
    margin-top: 0;
}

.ibb-biblioteca-image {
    margin-top: 8px;
    border: 1px solid var(--ibb-border-soft);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    text-align: center;
}

.ibb-biblioteca-image img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

.ibb-biblioteca-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--ibb-ink-soft);
}

.ibb-biblioteca-file-hint {
    margin: 8px 0 0 !important;
    font-size: 0.85rem;
    color: var(--ibb-muted);
    word-break: break-all;
}

.ibb-biblioteca-row-actions {
    white-space: nowrap;
}

.ibb-biblioteca-published-field .ibb-biblioteca-check {
    margin-top: 6px;
}


