/* =========================================================
   KLARO CUSTOM - ONLY EVENTS
   File completo: /assets/css/klaro-custom.css
   Banner mobile completo senza scroll + immagine grande
========================================================= */

.klaro{
    --oe-blu:#18305f;
    --oe-blu-2:#223a70;
    --oe-blu-dark:#132348;
    --oe-blu-soft:#68718a;
    --oe-verde:#2f9b68;
    --oe-verde-hover:#277f55;
    --oe-oro:#cda35d;
    --oe-beige:#fbf7f2;
    --oe-beige-2:#f6efe7;
    --oe-bordo:rgba(191,174,157,.52);
    --oe-bordo-soft:rgba(24,48,95,.10);
    --oe-ombra:0 28px 90px rgba(15,23,42,.28);
    --oe-ombra-soft:0 14px 38px rgba(15,23,42,.13);
    --oe-overlay:rgba(11,16,32,.52);
    --oe-bianco:#ffffff;

    font-family:inherit;
    color:var(--oe-blu-dark);
    font-size:14px;
    line-height:1.5;
}

.klaro,
.klaro *,
.klaro *::before,
.klaro *::after{
    box-sizing:border-box;
}

.klaro button{
    font-family:inherit;
    -webkit-tap-highlight-color:transparent;
}

.klaro a{
    color:var(--oe-blu);
    text-decoration:none;
}

.klaro a:hover{
    text-decoration:underline;
}

/* =========================================================
   BRANDING KLARO NASCOSTO
========================================================= */

.klaro .cm-powered-by,
.klaro .k-powered-by,
.klaro .klaro-powered-by,
.klaro .powered-by,
.klaro a[href*="klaro"],
.klaro a[href*="kiprotect"]{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
}

/* =========================================================
   BANNER BASSO - DESKTOP / TABLET
========================================================= */

.klaro .cookie-notice:not(.cookie-modal-notice){
    position:fixed !important;
    left:auto !important;
    right:20px !important;
    bottom:20px !important;
    top:auto !important;
    width:min(500px, calc(100vw - 40px)) !important;
    max-width:calc(100vw - 40px) !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    z-index:999999 !important;

    background:
        radial-gradient(circle at 100% 0%, rgba(205,163,93,.14) 0%, rgba(205,163,93,0) 42%),
        linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(252,249,246,.985) 100%) !important;

    border:1px solid var(--oe-bordo) !important;
    border-radius:24px !important;
    box-shadow:var(--oe-ombra-soft) !important;
    overflow:hidden !important;

    color:var(--oe-blu-dark) !important;
    backdrop-filter:blur(16px) saturate(1.08);
    -webkit-backdrop-filter:blur(16px) saturate(1.08);
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body{
    position:relative !important;
    margin:0 !important;
    padding:18px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body::before{
    content:"";
    display:block;
    width:132px;
    height:92px;
    margin:0 auto 8px;
    background:url("/oeimages/cookie_oe.webp") center/contain no-repeat;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p{
    margin:0 !important;
    color:var(--oe-blu-dark) !important;
    -webkit-text-fill-color:var(--oe-blu-dark) !important;
    font-size:13.2px !important;
    line-height:1.45 !important;
    font-weight:600 !important;
    text-align:center !important;
    max-height:none !important;
    overflow:visible !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p strong{
    color:var(--oe-blu-dark) !important;
    -webkit-text-fill-color:var(--oe-blu-dark) !important;
    font-weight:900 !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p a{
    color:var(--oe-blu-dark) !important;
    -webkit-text-fill-color:var(--oe-blu-dark) !important;
    font-weight:900 !important;
    text-decoration:underline !important;
    text-underline-offset:3px !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok{
    display:block !important;
    margin-top:13px !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    margin:0 0 10px !important;
    color:var(--oe-blu-dark) !important;
    -webkit-text-fill-color:var(--oe-blu-dark) !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    text-align:center !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    width:100% !important;
    margin:0 !important;
}

.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons .cm-btn{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}

/* =========================================================
   BOTTONI GLOBALI
========================================================= */

.klaro .cm-btn{
    appearance:none !important;
    min-height:44px !important;
    padding:11px 14px !important;
    border-radius:999px !important;
    border:1px solid transparent !important;

    font-size:13px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    letter-spacing:-0.01em !important;
    text-align:center !important;

    cursor:pointer !important;
    box-shadow:none !important;
    outline:none !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        border-color .18s ease,
        color .18s ease,
        opacity .18s ease !important;

    -webkit-tap-highlight-color:transparent !important;
}

.klaro .cm-btn:hover{
    transform:translateY(-1px) !important;
}

.klaro .cm-btn:active{
    transform:translateY(0) scale(.99) !important;
}

.klaro .cm-btn:disabled{
    opacity:.55 !important;
    cursor:not-allowed !important;
    transform:none !important;
}

.klaro .cm-btn.cm-btn-success{
    background:linear-gradient(180deg, #35a96e 0%, var(--oe-verde) 100%) !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:rgba(47,155,104,.80) !important;
    box-shadow:0 12px 24px rgba(47,155,104,.22) !important;
}

.klaro .cm-btn.cm-btn-success:hover{
    background:linear-gradient(180deg, #39b676 0%, var(--oe-verde-hover) 100%) !important;
    box-shadow:0 15px 30px rgba(47,155,104,.28) !important;
}

.klaro .cm-btn.cm-btn-info,
.klaro .cm-btn.cm-btn-success-var{
    background:#ffffff !important;
    color:var(--oe-blu-dark) !important;
    -webkit-text-fill-color:var(--oe-blu-dark) !important;
    border:1px solid rgba(24,48,95,.14) !important;
    box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
}

.klaro .cm-btn.cm-btn-info:hover,
.klaro .cm-btn.cm-btn-success-var:hover{
    background:#f9fbff !important;
    border-color:rgba(24,48,95,.22) !important;
}

.klaro .cm-btn.cm-btn-danger,
.klaro .cm-btn.cm-btn-close,
.klaro .cn-decline{
    background:#5f5f5d !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border:1px solid rgba(95,104,123,.14) !important;
    box-shadow:0 10px 22px rgba(0,0,0,.12) !important;
}

.klaro .cm-btn.cm-btn-danger:hover,
.klaro .cm-btn.cm-btn-close:hover,
.klaro .cn-decline:hover{
    background:#4f535c !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

/* =========================================================
   MODALE PREFERENZE
========================================================= */

.klaro .cookie-modal{
    position:fixed !important;
    inset:0 !important;
    z-index:1000000 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
}

.klaro .cookie-modal .cm-bg{
    position:fixed !important;
    inset:0 !important;
    background:var(--oe-overlay) !important;
    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;
}

.klaro .cookie-modal.cm-embedded{
    position:relative !important;
    inset:auto !important;
    width:auto !important;
    height:auto !important;
    overflow:visible !important;
}

.klaro .cookie-modal .cm-modal.cm-klaro{
    position:fixed !important;
    left:50% !important;
    top:50% !important;
    right:auto !important;
    bottom:auto !important;
    transform:translate(-50%, -50%) !important;

    width:min(620px, calc(100vw - 28px)) !important;
    max-width:calc(100vw - 28px) !important;
    max-height:calc(100dvh - 28px) !important;
    margin:0 !important;

    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;

    background:
        radial-gradient(circle at 50% 0%, rgba(205,163,93,.12) 0%, rgba(205,163,93,0) 38%),
        linear-gradient(180deg, rgba(255,255,255,.995) 0%, rgba(252,249,246,.995) 100%) !important;

    border:1px solid var(--oe-bordo) !important;
    border-radius:30px !important;
    box-shadow:var(--oe-ombra) !important;
    color:var(--oe-blu-dark) !important;
}

.klaro .cookie-modal .cm-modal.cm-klaro::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    z-index:2;
    width:124px;
    height:3px;
    transform:translateX(-50%);
    border-radius:0 0 999px 999px;
    background:linear-gradient(90deg, transparent 0%, var(--oe-oro) 50%, transparent 100%);
    pointer-events:none;
}

.klaro .cookie-modal .cm-modal .cm-header{
    position:relative !important;
    flex:0 0 auto !important;
    padding:24px 30px 22px !important;
    border-bottom:1px solid rgba(24,48,95,.08) !important;
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(251,247,242,.90) 100%) !important;
    text-align:center !important;
}

.klaro .cookie-modal .cm-modal .cm-header::before{
    content:"";
    display:block;
    width:170px;
    height:118px;
    margin:0 auto 8px;
    background:url("/oeimages/cookie_oe.webp") center/contain no-repeat;
}

.klaro .cookie-modal .cm-modal .cm-header::after{
    content:"";
    display:block;
    width:72px;
    height:1px;
    margin:0 auto 14px;
    background:linear-gradient(90deg, transparent 0%, rgba(205,163,93,.60) 50%, transparent 100%);
}

.klaro .cookie-modal .cm-modal .cm-header h1,
.klaro .cookie-modal .cm-modal .cm-header h2,
.klaro .cookie-modal .cm-modal .cm-header h3,
.klaro .cookie-modal .cm-modal .cm-header .title,
.klaro .cookie-modal .cm-modal .cm-header [role="heading"]{
    margin:0 !important;
    padding:0 !important;
    color:var(--oe-blu-dark) !important;
    -webkit-text-fill-color:var(--oe-blu-dark) !important;
    font-size:24px !important;
    line-height:1.12 !important;
    font-weight:900 !important;
    text-align:center !important;
    letter-spacing:-0.035em !important;
}

.klaro .cookie-modal .cm-modal .cm-header p{
    margin:12px auto 0 !important;
    max-width:500px !important;
    color:var(--oe-blu-soft) !important;
    -webkit-text-fill-color:var(--oe-blu-soft) !important;
    font-size:14px !important;
    line-height:1.62 !important;
    font-weight:600 !important;
    text-align:center !important;
}

.klaro .cookie-modal .cm-modal .hide{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    z-index:3 !important;
    width:38px !important;
    height:38px !important;
    border:1px solid rgba(191,174,157,.38) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.82) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    transition:background .18s ease, transform .18s ease, box-shadow .18s ease !important;
    -webkit-tap-highlight-color:transparent !important;
}

.klaro .cookie-modal .cm-modal .hide:hover{
    background:#ffffff !important;
    transform:scale(1.03) !important;
    box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
}

.klaro .cookie-modal .cm-modal .hide svg{
    stroke:var(--oe-blu-dark) !important;
}

.klaro .cookie-modal .cm-modal .cm-body{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:auto !important;
    padding:18px 24px !important;
    color:var(--oe-blu-dark) !important;
    background:rgba(255,255,255,.40) !important;
}

.klaro .cookie-modal .cm-modal .cm-body::-webkit-scrollbar{
    width:8px;
}

.klaro .cookie-modal .cm-modal .cm-body::-webkit-scrollbar-thumb{
    background:rgba(100,112,140,.24);
    border-radius:999px;
}

.klaro .cookie-modal .cm-modal .cm-body::-webkit-scrollbar-track{
    background:transparent;
}

.klaro .cookie-modal .cm-modal .cm-body > p{
    margin:0 0 16px !important;
    color:var(--oe-blu-soft) !important;
    -webkit-text-fill-color:var(--oe-blu-soft) !important;
    font-size:14px !important;
    line-height:1.65 !important;
    text-align:center !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

/* =========================================================
   CARD SERVIZI MODALE
========================================================= */

.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes{
    display:grid !important;
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose{
    position:relative !important;
    margin:0 !important;
    padding:18px 18px 18px 86px !important;
    min-height:118px !important;
    border-radius:24px !important;
    background:#ffffff !important;
    border:1px solid rgba(191,174,157,.46) !important;
    box-shadow:0 14px 34px rgba(15,23,42,.07) !important;
    overflow:hidden !important;
    color:var(--oe-blu-dark) !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose > .cm-list-input,
.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose > .cm-list-label > .cm-switch{
    position:absolute !important;
    left:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose > .cm-list-label{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:var(--oe-blu-dark) !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose .cm-list-title{
    display:block !important;
    margin:0 0 8px !important;
    padding:0 !important;
    color:#132348 !important;
    -webkit-text-fill-color:#132348 !important;
    font-size:17px !important;
    line-height:1.22 !important;
    font-weight:900 !important;
    letter-spacing:-0.02em !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose .cm-list-description{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    color:#68718a !important;
    -webkit-text-fill-color:#68718a !important;
    font-size:13px !important;
    line-height:1.48 !important;
    font-weight:600 !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose p.purposes{
    display:block !important;
    margin:8px 0 0 !important;
    padding:0 !important;
    color:#9b9086 !important;
    -webkit-text-fill-color:#9b9086 !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:500 !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services{
    display:block !important;
    margin:10px 0 0 !important;
    padding:0 !important;
}

.klaro .cookie-modal .cm-modal .cm-body ul.cm-services > li.cm-service{
    position:relative !important;
    margin:8px 0 0 !important;
    padding:14px 14px 14px 70px !important;
    min-height:84px !important;
    border-radius:18px !important;
    background:rgba(251,247,242,.78) !important;
    border:1px solid rgba(191,174,157,.34) !important;
}

/* =========================================================
   SWITCH
========================================================= */

.klaro .cookie-modal .cm-switch,
.klaro .context-notice .cm-switch,
.klaro .cookie-notice .cm-switch{
    position:absolute !important;
    left:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    display:inline-block !important;
    width:54px !important;
    height:34px !important;
}

.klaro .cookie-modal .cm-list-input,
.klaro .context-notice .cm-list-input,
.klaro .cookie-notice .cm-list-input{
    position:absolute !important;
    left:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:54px !important;
    height:34px !important;
    opacity:0 !important;
    cursor:pointer !important;
    z-index:2 !important;
}

.klaro .cookie-modal .cm-list-label .slider,
.klaro .context-notice .cm-list-label .slider,
.klaro .cookie-notice .cm-list-label .slider{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:54px !important;
    height:34px !important;
    border-radius:999px !important;
    background:#e8edf4 !important;
    border:1px solid rgba(24,48,95,.08) !important;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.05) !important;
    transition:all .22s ease !important;
    cursor:pointer !important;
}

.klaro .cookie-modal .cm-list-label .slider::before,
.klaro .context-notice .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-label .slider::before{
    content:"" !important;
    position:absolute !important;
    left:4px !important;
    top:4px !important;
    width:24px !important;
    height:24px !important;
    border-radius:50% !important;
    background:#ffffff !important;
    box-shadow:0 3px 9px rgba(15,23,42,.18) !important;
    transition:transform .22s ease !important;
}

.klaro .cookie-modal .cm-list-input:focus + .cm-list-label .slider,
.klaro .context-notice .cm-list-input:focus + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input:focus + .cm-list-label .slider{
    box-shadow:0 0 0 4px rgba(47,155,104,.14) !important;
}

.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .context-notice .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider{
    background:var(--oe-verde) !important;
    border-color:var(--oe-verde) !important;
}

.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider::before,
.klaro .context-notice .cm-list-input:checked + .cm-list-label .slider::before,
.klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider::before{
    transform:translateX(20px) !important;
}

/* =========================================================
   FOOTER MODALE
========================================================= */

.klaro .cookie-modal .cm-modal .cm-footer{
    flex:0 0 auto !important;
    padding:15px 22px 19px !important;
    border-top:1px solid rgba(24,48,95,.08) !important;
    background:rgba(252,249,246,.94) !important;
}

.klaro .cookie-modal .cm-modal .cm-footer-buttons{
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:10px !important;
    justify-content:center !important;
    align-items:stretch !important;
}

.klaro .cookie-modal .cm-modal .cm-footer-buttons .cm-btn{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
}

/* =========================================================
   CONTEXT NOTICE
========================================================= */

.klaro.cm-as-context-notice{
    height:100% !important;
    padding:12px 0 !important;
}

.klaro .context-notice{
    padding:18px !important;
    border-radius:22px !important;
    border:1px solid var(--oe-bordo) !important;
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(252,249,246,.98) 100%) !important;
    box-shadow:var(--oe-ombra-soft) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
}

.klaro .context-notice p{
    margin:0 !important;
    text-align:center !important;
    color:var(--oe-blu-dark) !important;
    -webkit-text-fill-color:var(--oe-blu-dark) !important;
    line-height:1.6 !important;
}

.klaro .context-notice p.cm-buttons{
    margin-top:12px !important;
}

/* =========================================================
   SAFE
========================================================= */

.klaro .cookie-modal .cm-modal.cm-klaro,
.klaro .cookie-modal .cm-modal .cm-header,
.klaro .cookie-modal .cm-modal .cm-body,
.klaro .cookie-modal .cm-modal .cm-footer,
.klaro .cookie-notice:not(.cookie-modal-notice),
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body{
    overflow-wrap:break-word !important;
    word-wrap:break-word !important;
}

.klaro .cookie-notice-hidden{
    display:none !important;
}

/* =========================================================
   MOBILE - BANNER COMPLETO SENZA SCROLL
========================================================= */

@media (max-width:767px){
    .klaro{
        font-size:13px !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice){
        left:16px !important;
        right:16px !important;
        bottom:max(16px, env(safe-area-inset-bottom)) !important;
        width:auto !important;
        max-width:none !important;
        max-height:none !important;
        border-radius:22px !important;
        overflow:hidden !important;
        overscroll-behavior:auto !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body{
        padding:14px 14px 16px !important;
        overflow:visible !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body::before{
        width:180px !important;
        height:126px !important;
        margin:-8px auto -2px !important;
        background-size:contain !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p{
        font-size:12.2px !important;
        line-height:1.29 !important;
        font-weight:600 !important;
        max-height:none !important;
        overflow:visible !important;
        display:block !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok{
        margin-top:10px !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more{
        margin:0 0 8px !important;
        font-size:12.6px !important;
        line-height:1.1 !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons{
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons .cm-btn{
        min-height:42px !important;
        padding:9px 10px !important;
        border-radius:999px !important;
        font-size:12px !important;
        line-height:1.05 !important;
    }

    .klaro .cookie-modal .cm-modal.cm-klaro{
        width:calc(100vw - 18px) !important;
        max-width:calc(100vw - 18px) !important;
        max-height:calc(100dvh - 22px) !important;
        border-radius:24px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-header{
        padding:16px 18px 14px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-header::before{
        width:120px !important;
        height:84px !important;
        margin-bottom:5px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-header::after{
        width:56px !important;
        margin-bottom:9px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-header h1,
    .klaro .cookie-modal .cm-modal .cm-header h2,
    .klaro .cookie-modal .cm-modal .cm-header h3,
    .klaro .cookie-modal .cm-modal .cm-header .title,
    .klaro .cookie-modal .cm-modal .cm-header [role="heading"]{
        font-size:21px !important;
        line-height:1.12 !important;
    }

    .klaro .cookie-modal .cm-modal .cm-header p{
        margin-top:8px !important;
        font-size:12.5px !important;
        line-height:1.43 !important;
    }

    .klaro .cookie-modal .cm-modal .hide{
        top:9px !important;
        right:9px !important;
        width:34px !important;
        height:34px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-body{
        padding:12px 14px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-body > p{
        font-size:12.5px !important;
        line-height:1.45 !important;
        margin-bottom:12px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes{
        gap:9px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose{
        padding:15px 13px 15px 74px !important;
        min-height:106px !important;
        border-radius:19px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose .cm-list-title{
        font-size:15px !important;
        line-height:1.18 !important;
    }

    .klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose .cm-list-description{
        font-size:12.2px !important;
        line-height:1.38 !important;
    }

    .klaro .cookie-modal .cm-modal .cm-body ul.cm-purposes > li.cm-purpose p.purposes{
        font-size:11.5px !important;
    }

    .klaro .cookie-modal .cm-switch,
    .klaro .context-notice .cm-switch,
    .klaro .cookie-notice .cm-switch,
    .klaro .cookie-modal .cm-list-input,
    .klaro .context-notice .cm-list-input,
    .klaro .cookie-notice .cm-list-input{
        left:15px !important;
        width:48px !important;
        height:30px !important;
    }

    .klaro .cookie-modal .cm-list-label .slider,
    .klaro .context-notice .cm-list-label .slider,
    .klaro .cookie-notice .cm-list-label .slider{
        width:48px !important;
        height:30px !important;
    }

    .klaro .cookie-modal .cm-list-label .slider::before,
    .klaro .context-notice .cm-list-label .slider::before,
    .klaro .cookie-notice .cm-list-label .slider::before{
        width:22px !important;
        height:22px !important;
        left:4px !important;
        top:3px !important;
    }

    .klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider::before,
    .klaro .context-notice .cm-list-input:checked + .cm-list-label .slider::before,
    .klaro .cookie-notice .cm-list-input:checked + .cm-list-label .slider::before{
        transform:translateX(18px) !important;
    }

    .klaro .cookie-modal .cm-modal .cm-footer{
        padding:11px 12px 13px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-footer-buttons{
        grid-template-columns:1fr !important;
        gap:7px !important;
    }

    .klaro .cookie-modal .cm-modal .cm-footer-buttons .cm-btn{
        min-height:40px !important;
        padding:9px 10px !important;
        font-size:12.4px !important;
    }
}

/* =========================================================
   MOBILE MOLTO PICCOLO
========================================================= */

@media (max-width:380px){
    .klaro .cookie-notice:not(.cookie-modal-notice){
        max-height:none !important;
        left:10px !important;
        right:10px !important;
        bottom:max(10px, env(safe-area-inset-bottom)) !important;
        border-radius:20px !important;
        overflow:hidden !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body{
        padding:10px 10px 12px !important;
        overflow:visible !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body::before{
        width:155px !important;
        height:108px !important;
        margin:-7px auto -3px !important;
        background-size:contain !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p{
        font-size:11.2px !important;
        line-height:1.22 !important;
        max-height:none !important;
        overflow:visible !important;
        display:block !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok{
        margin-top:8px !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more{
        margin:0 0 7px !important;
        font-size:11.8px !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons{
        gap:6px !important;
    }

    .klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons .cm-btn{
        min-height:37px !important;
        padding:7px 8px !important;
        font-size:11.3px !important;
    }
}