:root {
    --ebgp-accent: var(--e-global-color-accent, #ff4b3e);
    --ebgp-accent-dark: #e84034;
    --ebgp-text: #141414;
    --ebgp-muted: #626872;
    --ebgp-border: #e6e8eb;
    --ebgp-soft: rgba(255, 75, 62, .08);
    --ebgp-shadow: 0 28px 90px rgba(0, 0, 0, .24);
}

html body #ebgp-overlay,
html body #ebgp-overlay * {
    box-sizing: border-box;
}

html body #ebgp-overlay[hidden] {
    display: none !important;
}

html body #ebgp-overlay.ebgp-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 20px !important;
    background: rgba(12, 15, 18, .62) !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
    font-family: var(--e-global-typography-primary-font-family, "Poppins", Arial, sans-serif) !important;
}

html body #ebgp-overlay.ebgp-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

body.ebgp-no-scroll {
    overflow: hidden !important;
}

html body #ebgp-overlay .ebgp-dialog {
    position: relative !important;
    width: min(980px, 100%) !important;
    max-width: 980px !important;
    max-height: calc(100dvh - 40px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    margin: 0 !important;
    padding: 26px 38px 24px !important;
    border: 1px solid rgba(255, 255, 255, .8) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(circle at -8% 115%, rgba(255,75,62,.07) 0%, rgba(255,75,62,0) 38%),
        radial-gradient(circle at 108% 116%, rgba(22,29,37,.045) 0%, rgba(22,29,37,0) 38%),
        #fff !important;
    box-shadow: var(--ebgp-shadow) !important;
    color: var(--ebgp-text) !important;
    text-align: center !important;
    transform: translateY(12px) scale(.985);
    transition: transform .22s ease;
    scrollbar-width: none;
    -ms-overflow-style: none;
    isolation: isolate;
}

/* Le decorazioni sono background del dialog e non pseudo-elementi:
   gli pseudo-elementi assoluti della 1.2.0 estendevano l'area scrollabile
   e creavano una lunga zona bianca sotto il contenuto. */
html body #ebgp-overlay .ebgp-dialog::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

html body #ebgp-overlay.is-open .ebgp-dialog {
    transform: translateY(0) scale(1);
}

html body #ebgp-overlay button.ebgp-close {
    all: unset;
    box-sizing: border-box !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 5 !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d8dce0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #4d535a !important;
    cursor: pointer !important;
    font-family: Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    transition: border-color .18s ease, color .18s ease, transform .18s ease !important;
}

html body #ebgp-overlay button.ebgp-close:hover,
html body #ebgp-overlay button.ebgp-close:focus-visible {
    border-color: var(--ebgp-accent) !important;
    color: var(--ebgp-accent) !important;
    transform: rotate(4deg);
    outline: none !important;
}

html body #ebgp-overlay .ebgp-logo {
    height: 38px !important;
    margin: 0 auto 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

html body #ebgp-overlay .ebgp-logo img,
html body #ebgp-overlay img.ebgp-logo-image {
    width: auto !important;
    max-width: 195px !important;
    height: 34px !important;
    max-height: 34px !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body #ebgp-overlay .ebgp-eyebrow {
    margin: 3px 0 8px !important;
    padding: 0 !important;
    color: var(--ebgp-accent) !important;
    font-family: var(--e-global-typography-accent-font-family, var(--e-global-typography-primary-font-family, "Poppins", Arial, sans-serif)) !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
}

html body #ebgp-overlay h2.ebgp-title {
    margin: 0 !important;
    padding: 0 50px !important;
    color: var(--ebgp-text) !important;
    background: transparent !important;
    font-family: var(--e-global-typography-primary-font-family, "Poppins", Arial, sans-serif) !important;
    font-size: clamp(36px, 4.1vw, 54px) !important;
    line-height: 1.04 !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
    text-transform: none !important;
}

html body #ebgp-overlay p.ebgp-subtitle {
    max-width: 730px !important;
    margin: 10px auto 21px !important;
    padding: 0 !important;
    color: var(--ebgp-muted) !important;
    background: transparent !important;
    font-family: var(--e-global-typography-text-font-family, var(--e-global-typography-primary-font-family, "Poppins", Arial, sans-serif)) !important;
    font-size: 16px !important;
    line-height: 1.48 !important;
    font-weight: 400 !important;
    text-align: center !important;
}

html body #ebgp-overlay .ebgp-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 13px !important;
    width: 100% !important;
    max-width: 880px !important;
    margin: 0 auto 18px !important;
    padding: 0 !important;
}

html body #ebgp-overlay label.ebgp-topic {
    position: relative !important;
    min-width: 0 !important;
    min-height: 168px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 18px 18px 16px !important;
    border: 1px solid var(--ebgp-border) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.98) !important;
    background-image: none !important;
    color: var(--ebgp-text) !important;
    box-shadow: 0 8px 24px rgba(25, 32, 39, .045) !important;
    cursor: pointer !important;
    text-align: left !important;
    white-space: normal !important;
    overflow: hidden !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
    -webkit-tap-highlight-color: transparent;
}

html body #ebgp-overlay label.ebgp-topic:hover,
html body #ebgp-overlay label.ebgp-topic:focus-within {
    transform: translateY(-2px);
    border-color: rgba(255,75,62,.55) !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(25, 32, 39, .08) !important;
}

html body #ebgp-overlay label.ebgp-topic.is-selected {
    border-color: var(--ebgp-accent) !important;
    background: linear-gradient(180deg, #fff 0%, rgba(255,75,62,.055) 100%) !important;
    box-shadow: 0 0 0 2px rgba(255,75,62,.09), 0 12px 28px rgba(25, 32, 39, .07) !important;
}

html body #ebgp-overlay input.ebgp-topic-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
}

html body #ebgp-overlay .ebgp-topic-icon {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ebgp-accent) !important;
    background: transparent !important;
    border: 0 !important;
}

html body #ebgp-overlay .ebgp-topic-icon svg {
    width: 42px !important;
    height: 42px !important;
    display: block !important;
    overflow: visible !important;
    color: inherit !important;
}

html body #ebgp-overlay .ebgp-topic-copy {
    min-width: 0 !important;
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #ebgp-overlay .ebgp-topic-label {
    display: block !important;
    min-width: 0 !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: var(--ebgp-text) !important;
    font-family: var(--e-global-typography-primary-font-family, "Poppins", Arial, sans-serif) !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    letter-spacing: -.015em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

html body #ebgp-overlay .ebgp-topic-description {
    display: block !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ebgp-muted) !important;
    font-family: var(--e-global-typography-text-font-family, var(--e-global-typography-primary-font-family, "Poppins", Arial, sans-serif)) !important;
    font-size: 12.8px !important;
    line-height: 1.34 !important;
    font-weight: 400 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

html body #ebgp-overlay a.ebgp-cta,
html body #ebgp-overlay a.ebgp-cta:link,
html body #ebgp-overlay a.ebgp-cta:visited {
    width: min(500px, 100%) !important;
    min-height: 55px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 auto !important;
    padding: 13px 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--ebgp-accent) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(255,75,62,.24) !important;
    font-family: var(--e-global-typography-accent-font-family, var(--e-global-typography-primary-font-family, "Poppins", Arial, sans-serif)) !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: normal !important;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease !important;
}

html body #ebgp-overlay a.ebgp-cta:hover,
html body #ebgp-overlay a.ebgp-cta:focus-visible {
    background: var(--ebgp-accent-dark) !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 13px 30px rgba(255,75,62,.30) !important;
    outline: none !important;
}

html body #ebgp-overlay .ebgp-cta-icon {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    color: #fff !important;
    fill: none !important;
}

html body #ebgp-overlay .ebgp-benefits {
    width: min(720px, 100%) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin: 17px auto 0 !important;
    padding: 0 !important;
}

html body #ebgp-overlay .ebgp-benefit {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #454b53 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    text-align: left !important;
}

html body #ebgp-overlay .ebgp-benefit-icon {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
    color: var(--ebgp-accent) !important;
}

@media (max-width: 767px) {
    html body #ebgp-overlay.ebgp-overlay {
        align-items: center !important;
        padding: 8px !important;
    }

    html body #ebgp-overlay .ebgp-dialog {
        width: 100% !important;
        max-width: 430px !important;
        max-height: calc(100dvh - 16px) !important;
        padding: 14px 10px 13px !important;
        border-radius: 20px !important;
    }

    html body #ebgp-overlay button.ebgp-close {
        top: 9px !important;
        right: 9px !important;
        width: 34px !important;
        height: 34px !important;
        font-size: 25px !important;
    }

    html body #ebgp-overlay .ebgp-logo {
        height: 26px !important;
        margin-bottom: 3px !important;
        padding: 0 38px !important;
    }

    html body #ebgp-overlay .ebgp-logo img,
    html body #ebgp-overlay img.ebgp-logo-image {
        max-width: 145px !important;
        height: 25px !important;
        max-height: 25px !important;
    }

    html body #ebgp-overlay .ebgp-eyebrow {
        margin: 4px 0 4px !important;
        font-size: 9.5px !important;
    }

    html body #ebgp-overlay h2.ebgp-title {
        padding: 0 34px !important;
        font-size: clamp(27px, 8vw, 34px) !important;
        line-height: 1 !important;
    }

    html body #ebgp-overlay p.ebgp-subtitle {
        max-width: 380px !important;
        margin: 7px auto 11px !important;
        padding: 0 5px !important;
        font-size: 11.7px !important;
        line-height: 1.35 !important;
    }

    html body #ebgp-overlay .ebgp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin-bottom: 11px !important;
    }

    html body #ebgp-overlay label.ebgp-topic {
        min-height: 124px !important;
        gap: 4px !important;
        padding: 10px 9px 8px !important;
        border-radius: 13px !important;
    }

    html body #ebgp-overlay .ebgp-topic-icon {
        width: 32px !important;
        height: 32px !important;
        flex-basis: 32px !important;
    }

    html body #ebgp-overlay .ebgp-topic-icon svg {
        width: 31px !important;
        height: 31px !important;
    }

    html body #ebgp-overlay .ebgp-topic-label {
        margin-bottom: 3px !important;
        font-size: 11.9px !important;
        line-height: 1.14 !important;
    }

    html body #ebgp-overlay .ebgp-topic-description {
        font-size: 9.35px !important;
        line-height: 1.25 !important;
    }

    html body #ebgp-overlay a.ebgp-cta,
    html body #ebgp-overlay a.ebgp-cta:link,
    html body #ebgp-overlay a.ebgp-cta:visited {
        min-height: 46px !important;
        padding: 10px 16px !important;
        font-size: 14.5px !important;
    }

    html body #ebgp-overlay .ebgp-cta-icon {
        width: 17px !important;
        height: 17px !important;
        flex-basis: 17px !important;
    }

    html body #ebgp-overlay .ebgp-benefits {
        gap: 5px !important;
        margin-top: 10px !important;
    }

    html body #ebgp-overlay .ebgp-benefit {
        flex-direction: column !important;
        gap: 3px !important;
        font-size: 8.2px !important;
        line-height: 1.18 !important;
        text-align: center !important;
    }

    html body #ebgp-overlay .ebgp-benefit-icon {
        width: 21px !important;
        height: 21px !important;
        flex-basis: 21px !important;
    }
}

@media (max-width: 370px), (max-height: 700px) and (max-width: 767px) {
    html body #ebgp-overlay .ebgp-dialog {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    html body #ebgp-overlay .ebgp-logo {
        display: none !important;
    }

    html body #ebgp-overlay h2.ebgp-title {
        font-size: 25px !important;
    }

    html body #ebgp-overlay p.ebgp-subtitle {
        margin-bottom: 8px !important;
        font-size: 10.8px !important;
    }

    html body #ebgp-overlay label.ebgp-topic {
        min-height: 109px !important;
        padding: 8px 7px 7px !important;
    }

    html body #ebgp-overlay .ebgp-topic-icon,
    html body #ebgp-overlay .ebgp-topic-icon svg {
        width: 27px !important;
        height: 27px !important;
    }

    html body #ebgp-overlay .ebgp-topic-label {
        font-size: 10.8px !important;
    }

    html body #ebgp-overlay .ebgp-topic-description {
        font-size: 8.4px !important;
    }

    html body #ebgp-overlay .ebgp-benefit {
        font-size: 7.5px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body #ebgp-overlay,
    html body #ebgp-overlay .ebgp-dialog,
    html body #ebgp-overlay label.ebgp-topic,
    html body #ebgp-overlay button.ebgp-close,
    html body #ebgp-overlay a.ebgp-cta {
        transition: none !important;
    }
}
