/**
 * Klaro! — Estilos personalizados para PaideIA Consultoría
 * Sobrescribe el tema por defecto para integrarse con el diseño glassmorphism oscuro.
 */

/* === Banner de consentimiento (inferior) === */
.klaro .cookie-notice {
    background: rgba(10, 10, 15, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-top: 1px solid rgba(0, 255, 170, 0.15) !important;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.5) !important;
    font-family: 'Inter', sans-serif !important;
    padding: 24px 32px !important;
}

.klaro .cookie-notice .cn-body {
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.klaro .cookie-notice .cn-body p {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

/* === Botones === */
.klaro .cookie-notice .cm-btn,
.klaro .cm-btn {
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
    border: none !important;
    cursor: pointer !important;
}

/* Aceptar todas — botón principal neón */
.klaro .cm-btn.cm-btn-accept-all,
.klaro .cm-btn.cm-btn-success {
    background: #00ffaa !important;
    color: #0a0a0f !important;
}

.klaro .cm-btn.cm-btn-accept-all:hover,
.klaro .cm-btn.cm-btn-success:hover {
    background: #33ffbb !important;
    box-shadow: 0 0 20px rgba(0, 255, 170, 0.4) !important;
    transform: translateY(-1px) !important;
}

/* Rechazar — botón secundario */
.klaro .cm-btn.cm-btn-decline,
.klaro .cm-btn.cm-btn-danger {
    background: rgba(255, 255, 255, 0.08) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.klaro .cm-btn.cm-btn-decline:hover,
.klaro .cm-btn.cm-btn-danger:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
}

/* Más información / Guardar selección */
.klaro .cm-btn.cm-btn-info,
.klaro .cm-btn.cm-btn-accept {
    background: rgba(0, 255, 170, 0.12) !important;
    color: #00ffaa !important;
    border: 1px solid rgba(0, 255, 170, 0.3) !important;
}

.klaro .cm-btn.cm-btn-info:hover,
.klaro .cm-btn.cm-btn-accept:hover {
    background: rgba(0, 255, 170, 0.25) !important;
}

/* === Modal de configuración === */
.klaro .cookie-modal {
    z-index: 10001 !important;
}

.klaro .cookie-modal .cm {
    background: rgba(10, 10, 15, 0.96) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    border: 1px solid rgba(0, 255, 170, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6) !important;
    font-family: 'Inter', sans-serif !important;
    max-width: 640px !important;
}

.klaro .cookie-modal .cm .cm-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 24px 28px !important;
}

.klaro .cookie-modal .cm .cm-header h1,
.klaro .cookie-modal .cm .cm-header h1.title {
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
}

.klaro .cookie-modal .cm .cm-body {
    padding: 20px 28px !important;
}

.klaro .cookie-modal .cm .cm-body p {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
}

/* === Servicios individuales === */
.klaro .cookie-modal .cm .cm-services .cm-service {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 10px !important;
    padding: 16px !important;
    margin-bottom: 12px !important;
}

.klaro .cookie-modal .cm .cm-services .cm-service .cm-service-title {
    color: #fff !important;
    font-weight: 600 !important;
}

.klaro .cookie-modal .cm .cm-services .cm-service .cm-service-description {
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 0.85rem !important;
}

/* === Toggle switch personalizado === */
.klaro .cm-switch {
    position: relative !important;
}

.klaro .cm-switch .slider {
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 20px !important;
}

.klaro .cm-switch input:checked + .slider {
    background: #00ffaa !important;
}

/* === Propósitos (categorías) === */
.klaro .cookie-modal .cm .cm-purposes .cm-purpose {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.klaro .cookie-modal .cm .cm-purposes .cm-purpose .cm-purpose-title {
    color: #00ffaa !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.8rem !important;
}

/* === Footer del modal === */
.klaro .cookie-modal .cm .cm-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 20px 28px !important;
}

/* === Links === */
.klaro a,
.klaro .cm-link {
    color: #00ffaa !important;
    text-decoration: none !important;
}

.klaro a:hover,
.klaro .cm-link:hover {
    text-decoration: underline !important;
}

/* === Overlay === */
.klaro .cookie-modal .cm-bg {
    background: rgba(0, 0, 0, 0.7) !important;
}

/* === Responsive === */
@media (max-width: 768px) {
    .klaro .cookie-notice {
        padding: 16px 20px !important;
    }
    
    .klaro .cookie-notice .cn-buttons {
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .klaro .cm-btn {
        width: 100% !important;
        text-align: center !important;
    }
    
    .klaro .cookie-modal .cm {
        margin: 10px !important;
        max-height: 90vh !important;
    }
}
