/* --- OVERLAY --- */
#efcm-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 999990;
    backdrop-filter: blur(2px);
    display: none;
}

/* --- BANNER (Modal) --- */
#efcm-banner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 550px;
    max-height: 90vh;
    overflow-y: auto;
    background: #ffffff;
    box-shadow: 0 10px 50px rgba(0,0,0,0.5);
    padding: 30px;
    z-index: 999999;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #333;
    box-sizing: border-box;
}


/* --- TOGGLES --- */
.efcm-toggles { display: flex; justify-content: center; gap: 20px; margin-top: 30px; flex-wrap: wrap; }

.efcm-switch-wrapper { position: relative; display: inline-flex; align-items: center; cursor: pointer; font-size: 14px; font-weight: 600; }
.efcm-switch-wrapper input { opacity: 0; width: 0; height: 0; position: absolute; }
.efcm-slider { position: relative; display: inline-block; width: 42px; height: 24px; background-color: #ccc; border-radius: 34px; transition: .3s; margin-right: 10px; flex-shrink: 0; }
.efcm-slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; border-radius: 50%; transition: .3s; }

.efcm-switch-wrapper input:checked + .efcm-slider { background-color: #2271b1; }
.efcm-switch-wrapper input:checked + .efcm-slider:before { transform: translateX(18px); }
.efcm-switch-wrapper input:disabled + .efcm-slider { background-color: #9ec2e0; opacity: 0.6; cursor: not-allowed; }
.efcm-switch-wrapper input:focus + .efcm-slider { outline: 2px solid #2271b1; outline-offset: 2px; }

/* --- BUTTONS --- */

.efcm-btn { border: 0; cursor: pointer; font-size: 15px; font-weight: 600; transition: all 0.2s; }



/* --- Accessibility --- */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
