* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* 1. Transição suave removida do seletor universal para evitar bugs de performance */


/* 2. Definição das variáveis de cor para o tema escuro (padrão) */
/* 2. Definição das variáveis de cor para o tema escuro (Premium Dark) */
:root {
    /* Fundo mais profundo e azulado (Navy/Slate) */
    --bg-gradient: linear-gradient(180deg, #020617 0%, #0f172a 100%);
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-card: rgba(30, 41, 59, 0.7);
    /* Glassmorphism mais sutil */
    --bg-interactive: #334155;
    --bg-interactive-hover: #475569;

    --text-primary: #f8fafc;
    --text-secondary: #94a3b8;

    /* Dourado mais sofisticado (Gold/Bronze) -> Revertido para Amarelo/Laranja Vivo */
    --text-accent: #fbbf24;

    --border-color: rgba(148, 163, 184, 0.1);
    --chat-bubble-admin: #172554;
    --chat-bubble-user: #334155;

    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Plus Jakarta Sans', sans-serif;
}

/* 3. Redefinição das variáveis para o tema claro (Corporate Light) */
html.light {
    --bg-gradient: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);
    --bg-primary: #f8fafc;
    --bg-secondary: #ffffff;
    --bg-card: rgba(255, 255, 255, 0.9);
    --bg-interactive: #e2e8f0;
    --bg-interactive-hover: #cbd5e1;

    --text-primary: #0f172a;
    --text-secondary: #64748b;

    /* Azul Royal Profundo -> Revertido para Laranja Vivo */
    --text-accent: #f59e0b;

    --border-color: rgba(15, 23, 42, 0.08);
    --chat-bubble-admin: #e0f2fe;
    --chat-bubble-user: #f1f5f9;
}

@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translateX(-5px);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translateX(5px);
    }
}

.shake {
    animation: shake 0.5s ease-in-out;
}

body {
    font-family: var(--font-body);
    background: var(--bg-gradient);
    color: var(--text-primary);
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    letter-spacing: -0.02em;
    /* Visual mais 'tight' e moderno */
}

.sidebar-active {
    transform: translateX(0);
}

.fade-in {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.gradient-text {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.btn-primary {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-primary:hover {
    /* transform: translateY(-2px); Removido */
    box-shadow: 0 10px 25px rgba(251, 191, 36, 0.3);
}

.card {
    background: var(--bg-card);
    background: var(--bg-card);
    /* backdrop-filter removido */
    border: 1px solid var(--border-color);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.card:hover {
    border-color: rgba(251, 191, 36, 0.3);
    /* transform: translateY(-4px); Removido */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.menu-item {
    transition: background-color 0.2s ease, border-left-color 0.2s ease;
}

.menu-item:hover {
    background-color: rgba(251, 191, 36, 0.1);
    border-left-color: var(--text-accent);
}

.menu-item.active {
    background-color: rgba(251, 191, 36, 0.15);
    border-left-color: var(--text-accent);
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Apple-style Theme Switch */
.theme-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 28px;
    cursor: pointer;
}

.theme-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--bg-interactive);
    border-radius: 34px;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    border-radius: 50%;
    transition: .4s;
}

input:checked+.slider {
    background-color: #f59e0b;
    /* Cor do tema claro */
}

input:checked+.slider:before {
    transform: translateX(22px);
}

.slider-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #f59e0b;
    /* Cor do tema claro para ambos os ícones */
    transition: opacity 0.4s ease;
}

.slider-icon.moon {
    left: 6px;
    opacity: 1;
}

.slider-icon.sun {
    right: 6px;
    opacity: 0;
}

input:checked~.slider .slider-icon.moon {
    opacity: 0;
}

input:checked~.slider .slider-icon.sun {
    opacity: 1;
}