
:root{--cdh-red:#c40000;--cdh-black:#111}
.cdh-modal-overlay,.cdh-user-menu-overlay{backdrop-filter:blur(10px);background:rgba(0,0,0,.72);animation:cdhFade .22s ease}
.cdh-modal,.cdh-login-modal,.cdh-register-modal,.cdh-recupero-modal,.cdh-user-panel,.cdh-modal-panel{border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.38);animation:cdhPop .24s ease;font-family:Inter,sans-serif}
.cdh-modal h1,.cdh-modal h2,.cdh-modal h3,.cdh-login-modal h1,.cdh-register-modal h1,.cdh-user-panel h2{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.cdh-modal input,.cdh-modal select,.cdh-modal textarea,.cdh-login-modal input,.cdh-register-modal input{border:1px solid #ddd;border-radius:14px;padding:13px 14px;transition:.18s ease;font-family:Inter,sans-serif}
.cdh-modal input:focus,.cdh-modal select:focus,.cdh-login-modal input:focus{outline:none;border-color:var(--cdh-red);box-shadow:0 0 0 4px rgba(196,0,0,.08)}
.cdh-modal button,.cdh-login-modal button,.cdh-register-modal button,.cdh-user-panel button{border:0;border-radius:999px;background:var(--cdh-red);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.5px;padding:13px 18px;transition:.18s ease;cursor:pointer}
.cdh-modal button:hover,.cdh-login-modal button:hover,.cdh-register-modal button:hover{background:#111}
#cdh-user-menu-overlay,.cdh-user-menu-overlay{position:fixed;inset:0;z-index:99999;opacity:0;visibility:hidden;transition:.22s ease}
#cdh-user-menu-overlay.is-open,.cdh-user-menu-overlay.is-open{opacity:1;visibility:visible}
.cdh-user-menu-inner,.cdh-user-panel{width:min(560px,calc(100% - 32px));margin:auto;padding:38px 30px;transform:translateY(16px) scale(.98);transition:.22s ease}
#cdh-user-menu-overlay.is-open .cdh-user-menu-inner,.cdh-user-menu-overlay.is-open .cdh-user-panel{transform:translateY(0) scale(1)}
.cdh-user-menu-links{display:flex;flex-direction:column;gap:10px}
.cdh-user-menu-links a{display:flex;align-items:center;justify-content:space-between;border-radius:16px;background:#f7f7f7;color:#111;text-decoration:none;padding:15px 18px;font-weight:700;transition:.18s ease}
.cdh-user-menu-links a:hover{background:var(--cdh-red);color:#fff}
@keyframes cdhFade{from{opacity:0}to{opacity:1}}
@keyframes cdhPop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}


/* CDH v22.1 modal consistency fix */
.cdh-login-modal,
.cdh-register-modal,
.cdh-recupero-modal,
.cdh-modal-panel{
    background:#f3f3f3 !important;
}

.cdh-login-modal .cdh-modal-close,
.cdh-register-modal .cdh-modal-close,
.cdh-recupero-modal .cdh-modal-close,
.cdh-login-modal .password-toggle,
.cdh-register-modal .password-toggle,
.cdh-recupero-modal .password-toggle,
.cdh-login-modal .toggle-password,
.cdh-register-modal .toggle-password,
.cdh-recupero-modal .toggle-password{
    transition:.18s ease;
    border-radius:50%;
}

.cdh-login-modal .cdh-modal-close:hover,
.cdh-register-modal .cdh-modal-close:hover,
.cdh-recupero-modal .cdh-modal-close:hover,
.cdh-login-modal .password-toggle:hover,
.cdh-register-modal .password-toggle:hover,
.cdh-recupero-modal .password-toggle:hover,
.cdh-login-modal .toggle-password:hover,
.cdh-register-modal .toggle-password:hover,
.cdh-recupero-modal .toggle-password:hover{
    background:#111 !important;
    color:#fff !important;
}

.cdh-login-modal .cdh-modal-close:hover svg,
.cdh-register-modal .cdh-modal-close:hover svg,
.cdh-recupero-modal .cdh-modal-close:hover svg,
.cdh-login-modal .password-toggle:hover svg,
.cdh-register-modal .password-toggle:hover svg,
.cdh-recupero-modal .password-toggle:hover svg,
.cdh-login-modal .toggle-password:hover svg,
.cdh-register-modal .toggle-password:hover svg,
.cdh-recupero-modal .toggle-password:hover svg{
    fill:#fff !important;
    stroke:#fff !important;
}

.cdh-register-modal,
.cdh-register-modal *{
    font-family:Inter,sans-serif;
}

.cdh-register-modal h1,
.cdh-register-modal h2,
.cdh-register-modal h3{
    font-family:Oswald,sans-serif !important;
    text-transform:uppercase;
    letter-spacing:1px;
}

