    .toggle-switch {
        appearance: none;
        width: 48px;
        height: 24px;
        background: #374151;
        border-radius: 12px;
        position: relative;
        cursor: pointer;
        transition: background 0.3s;
    }

    .toggle-switch:checked {
        background: #a855f7;
    }

    .toggle-switch::before {
        content: '';
        position: absolute;
        top: 2px;
        left: 2px;
        width: 20px;
        height: 20px;
        background: white;
        border-radius: 50%;
        transition: transform 0.3s;
    }

    .toggle-switch:checked::before {
        transform: translateX(24px);
    }

    .toggle-switch:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

    /* Animación del banner */
    @keyframes slideUpCookieBanner {
        from {
            transform: translateY(100%);
            opacity: 0;
        }
        to {
            transform: translateY(0);
            opacity: 1;
        }
    }

    #cookieBanner:not(.hidden) {
        animation: slideUpCookieBanner 0.5s ease-out;
    }

    /* Estilo especial para cuando el banner está visible */
    body.cookie-banner-visible {
        padding-bottom: 120px; /* Espacio para el banner */
    }

    @media (max-width: 768px) {
        body.cookie-banner-visible {
            padding-bottom: 180px; /* Más espacio en móvil */
        }
    }

    /* Estilos adicionales para el back-to-top */
    .back-to-top {
        position: fixed;
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
        background: linear-gradient(135deg, #3b82f6, #8b5cf6);
        color: white;
        border: none;
        border-radius: 50%;
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transform: translateY(20px);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        font-size: 20px;
        font-weight: bold;
        z-index: 1000;
        box-shadow: 0 4px 20px rgba(59, 130, 246, 0.3);
    }

    .back-to-top.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .back-to-top:hover {
        background: linear-gradient(135deg, #1d4ed8, #7c3aed);
        transform: translateY(-2px) scale(1.05);
        box-shadow: 0 8px 30px rgba(59, 130, 246, 0.4);
    }

    /* Ajuste cuando el banner de cookies está visible */
    body.cookie-banner-visible .back-to-top {
        bottom: 140px;
    }

    @media (max-width: 768px) {
        body.cookie-banner-visible .back-to-top {
            bottom: 200px;
        }
    }