@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&display=swap');

/* ========================================
   RESET E CONFIGURAÇÕES GLOBAIS
======================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    background: #071c55;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* ========================================
   MENU DE NAVEGAÇÃO
======================================== */
#babinho-nav {
    font-family: 'Montserrat', sans-serif;
    position: absolute;
    top: 15px;
    left: 0;
    right: 0;
    z-index: 9999;
    display: flex;
    justify-content: flex-end;
    padding: 0 40px;
}

#babinho-nav .babinho-navlist {
    display: flex;
    align-items: center;
    gap: 36px;
    list-style: none;
    padding: 16px 36px;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    box-shadow: 
        0 12px 40px rgba(0, 0, 0, 0.25),
        0 4px 16px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        inset 0 -1px 0 rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

#babinho-nav .babinho-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    color: #ffffff !important;
    text-decoration: none;
    font-weight: 700 !important;
    font-size: 20px !important;
    padding: 12px 18px;
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0.9;
    letter-spacing: 0.02em;
    white-space: nowrap;
    cursor: pointer;
}

#babinho-nav .babinho-link:hover {
    opacity: 1;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

#babinho-nav .babinho-toggle {
    display: none;
    position: relative;
    width: 52px;
    height: 52px;
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    z-index: 10000;
}

#babinho-nav .babinho-toggle:hover {
    background: rgba(0, 0, 0, 0.35);
    transform: scale(1.05);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}

#babinho-nav .babinho-bar {
    width: 22px;
    height: 2.5px;
    background: #ffffff;
    border-radius: 2px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center;
}

#babinho-nav .babinho-toggle.active .babinho-bar:nth-child(1) {
    transform: translateY(7.5px) rotate(45deg);
}

#babinho-nav .babinho-toggle.active .babinho-bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

#babinho-nav .babinho-toggle.active .babinho-bar:nth-child(3) {
    transform: translateY(-7.5px) rotate(-45deg);
}

/* ========================================
   HERO SECTION (ATUALIZADO COM BACKGROUND)
======================================== */
#bx-locacao {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: url('https://i.postimg.cc/wMPMLgTL/background-locacao.png') no-repeat center center / cover;
    background-attachment: scroll;
}

#bx-locacao .bx-logo {
    position: absolute;
    top: 20px;
    left: 40px;
    z-index: 10;
    text-decoration: none;
}

#bx-locacao .bx-logo img {
    height: 80px;
    max-width: 60vw;
    display: block;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.3));
}

#bx-locacao .bx-center {
    position: relative;
    z-index: 5;
    text-align: center;
    padding: 0 24px;
    max-width: 1200px;
}

#bx-locacao .bx-header {
    margin-bottom: 40px;
}

#bx-locacao .bx-subtitle {
    display: block;
    color: rgba(255,255,255,.9);
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 8px;
    text-shadow: 0 2px 8px rgba(0,0,0,.3);
}

#bx-locacao .bx-title {
    margin: 0 0 20px;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-shadow: 0 4px 20px rgba(0,0,0,.5);
    font-size: clamp(32px, 6vw, 64px);
    line-height: 1.1;
}

#bx-locacao .bx-description {
    color: rgba(255,255,255,.95);
    font-size: clamp(18px, 2.2vw, 24px);
    font-weight: 400;
    line-height: 1.5;
    margin: 0 auto 50px;
    text-shadow: 0 2px 8px rgba(0,0,0,.3);
    max-width: 800px;
}

/* Destaque Hero CTA */
#bx-locacao .bx-main-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 22px 40px;
    border-radius: 60px;
    background-color: #25D366; /* Verde WhatsApp */
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    font-size: 1.1rem;
    letter-spacing: 0.02em;
    box-shadow: 0 8px 25px rgba(37, 211, 102,.4), 0 4px 15px rgba(0,0,0,.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid rgba(255,255,255,.2);
}

#bx-locacao .bx-main-cta:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 12px 35px rgba(37, 211, 102,.5), 0 6px 20px rgba(0,0,0,.3);
    background-color: #128C7E; /* Verde Escuro */
}

/* ========================================
   SETA ANIMADA (SCROLL DOWN)
======================================== */
.scroll-arrow {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    animation: bounce 2s infinite;
}

.scroll-arrow a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
    cursor: pointer;
}

.scroll-arrow a:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.scroll-arrow svg {
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateX(-50%) translateY(0); }
    40% { transform: translateX(-50%) translateY(-15px); }
    60% { transform: translateX(-50%) translateY(-8px); }
}

/* ========================================
   GALERIA: LAYOUT DESKTOP 100% (4 COLUNAS)
======================================== */
#galeria {
    padding-top: 40px;
    width: 100%;
}

/* --- BLOCO DE CATEGORIAS (FULL WIDTH) --- */
.categories-wrapper {
    width: 100%;
    max-width: 100%; /* DESTRAVADO: Ocupa a tela toda */
    margin: 0 auto 30px;
    padding: 0 40px; /* Alinhado com o resto */
}

.center-title { text-align: center; margin-bottom: 20px; }

/* --- CATEGORIAS (Flexbox Harmônico para 7 itens) --- */
.top-filters {
    display: flex;
    flex-wrap: wrap; /* Permite quebrar linha */
    justify-content: center; /* Centraliza tudo sempre */
    gap: 12px;
    max-width: 1100px;
    margin: 0 auto;
}

.filter-btn {
    /* Flexibilidade: Cresce um pouco para preencher, mas tem limites */
    flex: 1 0 160px; /* Mínimo de 160px de largura */
    max-width: 220px; /* Não deixa ficar gigante */
    
    padding: 14px 10px;
    border: none; 
    border-radius: 50px;
    background: white; 
    color: #071c55;
    font-family: 'Montserrat', sans-serif; 
    font-weight: 800; 
    font-size: 1rem;
    text-transform: uppercase; 
    cursor: pointer; 
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05); 
    border: 1px solid rgba(0,0,0,0.05);
    white-space: nowrap;
}

.filter-btn:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.1); }
.filter-btn.active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white; box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
}

/* --- LAYOUT DIVIDIDO (SIDEBAR + CARDS) --- */
.gallery-layout {
    width: 100%;
    max-width: 100%; /* DESTRAVADO: Usa 100% do monitor */
    margin: 0;
    padding: 0 40px; /* Padding lateral */
    display: flex; /* Lado a Lado no Desktop */
    gap: 40px;
    align-items: flex-start;
    
    /* ESPAÇAMENTO ANTES DO RODAPÉ (NO DESKTOP) */
    margin-bottom: 60px; 
}

/* --- SIDEBAR (TAGS) --- */
.sidebar {
    width: 280px; 
    flex-shrink: 0;
    background: white;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.05);
    position: sticky;
    top: 100px;
}

.filter-title {
    color: #071c55; font-size: 1rem; font-weight: 900;
    margin-bottom: 15px; text-transform: uppercase; letter-spacing: 0.05em;
}

.search-wrapper { margin-bottom: 15px; position: relative; }
.search-wrapper input {
    width: 100%; padding: 10px 35px 10px 15px;
    border-radius: 10px; border: 2px solid #eee;
    font-family: 'Montserrat', sans-serif; font-size: 0.95rem; outline: none;
}
.search-wrapper .search-icon { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #aaa; }

#sidebarFilters { display: flex; flex-direction: column; gap: 6px; }

.filter-checkbox {
    display: flex; align-items: center; cursor: pointer;
    padding: 6px 10px; border-radius: 6px; transition: background 0.2s;
}
.filter-checkbox:hover { background: #f4f7f6; }
.filter-checkbox input { width: 16px; height: 16px; margin-right: 8px; accent-color: #0a2150; cursor: pointer; }
.filter-checkbox label { font-size: 0.9rem; font-weight: 600; color: #444; cursor: pointer; line-height: 1.1; }

/* --- CARDS (GRID DE 4 COLUNAS) --- */
.main-content { flex: 1; width: 100%; }

.gallery-grid {
    display: grid;
    /* DESKTOP PADRÃO: 4 COLUNAS */
    grid-template-columns: repeat(4, 1fr); 
    gap: 30px;
}

/* Ajuste para telas médias (Notebooks) - Cai para 3 colunas se apertar */
@media (max-width: 1400px) {
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ==================================================
   RESPONSIVIDADE (MOBILE MANTIDO PERFEITO)
   ================================================== */
@media (max-width: 992px) {
    .gallery-layout {
        display: block; /* Empilha */
        padding: 0 20px;
        margin-bottom: 30px; /* Menos margem no mobile */
    }

    /* Sidebar ocupa tudo no topo */
    .sidebar {
        width: 100%;
        position: static;
        margin-bottom: 30px;
        padding: 15px;
    }

    /* Tags: 2 Colunas no Mobile */
    #sidebarFilters {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 15px;
    }
    
    /* Categorias: 3 Colunas no Mobile */
    .top-filters {
        gap: 8px;
        /* Garante que no mobile a categoria ocupe a tela certa */
        width: 100%; 
    }
    .categories-wrapper { padding: 0 20px; }

    .filter-btn {
        padding: 12px 5px;
        font-size: 0.8rem;
    }
    
    /* Cards: 1 Coluna no Mobile */
    .gallery-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   SEÇÃO DE DESTAQUES
======================================== */
.destaques-section {
    background: linear-gradient(135deg, #0a2150 0%, #1a3a6e 50%, #0a2150 100%);
    padding: 60px 20px;
    position: relative;
    overflow: hidden;
}

.destaques-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.destaques-container {
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.destaques-header {
    text-align: center;
    margin-bottom: 40px;
}

.destaques-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ff6b6b, #ee5a24);
    color: white;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 15px;
    animation: pulse-badge 2s ease-in-out infinite;
}

@keyframes pulse-badge {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.4); }
    50% { transform: scale(1.05); box-shadow: 0 0 20px 5px rgba(255, 107, 107, 0.2); }
}

.destaques-title {
    color: white;
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 10px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.destaques-subtitle {
    color: rgba(255,255,255,0.8);
    font-size: 1.1rem;
    font-weight: 400;
}

.destaques-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

/* Card de Destaque */
.destaque-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    display: flex;
    flex-direction: column;
}

.destaque-card::before {
    content: 'DESTAQUE';
    position: absolute;
    top: 15px;
    left: -35px;
    background: linear-gradient(135deg, #ff6b6b, #ee5a24);
    color: white;
    padding: 5px 40px;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 1px;
    transform: rotate(-45deg);
    z-index: 10;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.destaque-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.destaque-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.destaque-titulo {
    font-size: 1.1rem;
    font-weight: 700;
    color: #0a2150;
    margin-bottom: 8px;
}

.destaque-descricao {
    font-size: 0.85rem;
    color: #666;
    line-height: 1.4;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

.destaque-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    background-color: #25D366;
    color: white;
    padding: 12px 20px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.3);
}

.destaque-btn:hover {
    background-color: #128C7E;
    transform: translateY(-2px);
}

.destaque-btn svg {
    width: 20px;
    height: 20px;
    fill: white;
}

/* Responsividade Destaques */
@media (max-width: 1100px) {
    .destaques-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .destaques-section {
        padding: 40px 15px;
    }

    .destaques-title {
        font-size: 1.8rem;
    }

    .destaques-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .destaque-image {
        height: 280px;
    }
}

/* ========================================
   CARD DE PRODUTO (VERSÃO ROBUSTA/GRANDE)
======================================== */
/* ========================================
   CARD DE PRODUTO (ULTRA COMPACTO & TAGS LEVES)
   ======================================== */
.product-card, .character-card {
    background: white;
    border-radius: 16px;
    padding: 15px; /* Borda interna apertada */
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Conteúdo cola no topo */
    gap: 8px; /* Espaço mínimo entre os elementos (Imagem/Título/Texto) */
    
    width: 100%;
    height: 100%;
    min-height: auto; 
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}


/* Imagem */
.product-image, .character-image-container {
    width: 100%;
    height: 250px; 
    border-radius: 12px;
    object-fit: cover;
    background: #f0f0f0;
    margin: 0;
}
.character-image { object-fit: contain; background: #fff; padding: 10px; }

/* Título */
.product-title, .character-name {
    color: #071c55;
    font-size: 1.1rem; /* Fonte levemente menor */
    font-weight: 800;
    text-align: center;
    line-height: 1.2;
    margin: 0;
}

/* Descrição */
.product-description, .character-description {
    color: #555;
    font-size: 0.85rem; /* Texto menor e compacto */
    line-height: 1.3;
    text-align: center;
    margin: 0;
    /* Removemos o flex-grow para o texto não esticar e criar buraco */
    flex-grow: 0; 
}

/* TAGS (AJUSTE SOLICITADO: SEM NEGRITO E MENORES) */
.product-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px; /* Tags mais juntinhas */
    justify-content: center;
    margin: 5px 0; 
    width: 100%;
    flex-grow: 1; /* Agora as TAGS ocupam o espaço vazio para empurrar o botão, se precisar */
    align-items: flex-start; /* Ficam no topo do espaço disponível */
}

.product-tag {
    background: #f0f4f8;
    color: #556b8d;
    padding: 3px 8px; /* Etiqueta bem pequena */
    border-radius: 6px;
    font-size: 0.7rem; /* Fonte pequena */
    font-weight: 500; /* SEM NEGRITO (Regular/Medium) */
    white-space: nowrap;
    letter-spacing: 0.02em;
}

/* Botão */
.product-buttons {
    width: 100%;
    margin-top: 0; /* Cola nas tags */
}

.product-btn {
    background-color: #25D366 !important;
    width: 100%;
    padding: 10px; 
    font-size: 0.9rem !important;
    justify-content: center;
    border-radius: 50px;
    gap: 8px;
}

/* Ícone do botão ajustado */
.product-btn svg {
    width: 18px !important;
    height: 18px !important;
}

/* Ícone SVG Whatsapp */
.wa-icon {
    width: 24px;
    height: 24px;
    fill: white;
}

.no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #242424;
    font-size: 1.2rem;
    font-weight: 600;
}

/* ========================================
   POPUP: TRABALHE CONOSCO
======================================== */
.trabalhe-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.trabalhe-popup.active {
    opacity: 1;
    visibility: visible;
}

.trabalhe-overlay {
    position: absolute;
    inset: 0;
    background: rgba(7, 28, 85, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
}

.trabalhe-content {
    position: relative;
    max-width: 650px;
    width: 100%;
    background: white;
    border-radius: 40px;
    padding: 50px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
    transform: scale(0.9) translateY(20px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    animation: slideUp 0.4s ease-out;
}

.trabalhe-popup.active .trabalhe-content {
    transform: scale(1) translateY(0);
}

@keyframes slideUp {
    from { opacity: 0; transform: scale(0.9) translateY(30px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

.trabalhe-close {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 45px;
    height: 45px;
    border: none;
    background: rgba(7, 28, 85, 0.08);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #071c55;
    font-size: 1.2rem;
}

.trabalhe-close:hover {
    background: rgba(7, 28, 85, 0.15);
    transform: rotate(90deg) scale(1.1);
}

.trabalhe-header {
    text-align: center;
    margin-bottom: 35px;
}

.trabalhe-title {
    color: #071c55;
    font-size: 2.2rem;
    font-weight: 900;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
}

.trabalhe-subtitle {
    color: #667eea;
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0;
}

.trabalhe-body {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.trabalhe-text {
    color: #444;
    font-size: 1.1rem;
    line-height: 1.6;
    text-align: center;
    margin: 0;
}

.trabalhe-dica {
    background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%);
    padding: 25px;
    border-radius: 25px;
    border-left: 5px solid #667eea;
    color: #333;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

.trabalhe-dica strong {
    color: #667eea;
    font-weight: 800;
}

/* ========================================
   RESPONSIVIDADE
======================================== */
@media (max-width: 1200px) {
    .gallery-layout {
        flex-direction: column;
        padding: 30px;
    }
    .sidebar {
    width: 300px; /* Garanta que está com 300px ou 320px */
    /* ... resto das propriedades ... */
}
}

@media (max-width: 780px) {
    #babinho-nav { padding: 0 20px; top: 20px; }
    #babinho-nav .babinho-toggle { display: flex; }
    #babinho-nav .babinho-navlist {
        position: fixed; top: 85px; right: 20px; width: 260px; max-width: calc(100% - 40px);
        flex-direction: column; gap: 10px; padding: 20px 16px; border-radius: 16px;
        background: rgba(0, 0, 0, 0.9); backdrop-filter: blur(15px); 
        border: 1px solid rgba(255, 255, 255, 0.1); transform: translateY(-15px) scale(0.95); 
        opacity: 0; visibility: hidden; z-index: 9998;
    }
    #babinho-nav .babinho-navlist.open { transform: translateY(0) scale(1); opacity: 1; visibility: visible; }
    #babinho-nav .babinho-link {
        width: 100%; justify-content: center; padding: 14px 16px; font-size: 16px !important;
        background: rgba(255, 255, 255, 0.08); border-radius: 12px; opacity: 0;
    }
    #babinho-nav .babinho-navlist.open .babinho-link { transform: translateY(0); opacity: 1; }
    
    #bx-locacao .bx-center { padding: 0 20px; }
    #bx-locacao .bx-title { font-size: 36px; }
    .gallery-layout { padding: 20px; }
    .gallery-grid { grid-template-columns: 1fr; gap: 30px; }
    .product-card { min-height: auto; padding: 25px; }
}

body.babinho-menu-open, body.trabalhe-popup-open {
    overflow: hidden !important; width: 100% !important;
}

/* ==========================================================================
   ESTILOS DA HOME PAGE (SERVIÇOS, SOBRE, CONTATO)
   ========================================================================== */

/* --- HERO (CONFETES) - CORREÇÃO DE LAYOUT E BOTÕES --- */
#bx-hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* NOVA IMAGEM AQUI: */
  background: url('https://i.postimg.cc/3NTpGBCL/background.png') no-repeat center center / cover;
  background-attachment: scroll;
  --bb-red:#e30613; --bb-yellow:#ffd500; --bb-blue:#0a2150;
}

/* 1. CORREÇÃO DA LOGO GIGANTE */
#bx-hero .bx-logo-home { 
    position: absolute; 
    /* Mesma altura que usamos na galeria (top: 20px) */
    top: 20px; 
    /* Mesma distância da esquerda que a galeria (left: 40px) */
    left: 40px; 
    z-index: 100; 
    width: auto;
}

#bx-hero .bx-logo-home img { 
    /* Mesmo tamanho da galeria (height: 80px) */
    height: 80px !important; 
    width: auto !important;
    display: block; 
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.3)); 
}

/* Confetes */
#bx-hero .bx-confetti { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
#bx-hero .bx-confetti span {
  position:absolute; bottom:-12vh; width:var(--s,18px); height:var(--s,18px); left:var(--x, 50%);
  background:var(--c, #ff6b6b); border-radius:999px; opacity:.55;
  animation:bx-rise var(--d,18s) linear infinite; animation-delay:var(--del, 0s);
}
/* Configuração das bolinhas - Mantidas iguais */
#bx-hero .bx-confetti span:nth-child(1){ --x:6%; --s:22px; --c:#ff6b6b; --d:22s; }
#bx-hero .bx-confetti span:nth-child(2){ --x:18%; --s:14px; --c:#ffd93d; --d:18s; --del:3s; }
#bx-hero .bx-confetti span:nth-child(3){ --x:28%; --s:26px; --c:#6BCBFF; --d:24s; --del:6s; }
#bx-hero .bx-confetti span:nth-child(4){ --x:40%; --s:16px; --c:#7CF0A0; --d:17s; --del:2s; }
#bx-hero .bx-confetti span:nth-child(5){ --x:52%; --s:20px; --c:#ff8bd1; --d:21s; --del:5s; }
#bx-hero .bx-confetti span:nth-child(6){ --x:64%; --s:15px; --c:#ffd93d; --d:19s; --del:8s; }
#bx-hero .bx-confetti span:nth-child(7){ --x:72%; --s:24px; --c:#6BCBFF; --d:23s; --del:4s; }
#bx-hero .bx-confetti span:nth-child(8){ --x:82%; --s:18px; --c:#7CF0A0; --d:20s; --del:7s; }
#bx-hero .bx-confetti span:nth-child(9){ --x:90%; --s:14px; --c:#ff6b6b; --d:16s; --del:9s; }
#bx-hero .bx-confetti span:nth-child(10){--x:12%; --s:28px; --c:#4b6bff; --d:26s; --del:1s; }

@keyframes bx-rise {
  0% { transform: translate(-10px, 0) scale(.9); opacity:0; }
  10% { opacity:.55; }
  50% { transform: translate(10px, -55vh) scale(1); }
  100% { transform: translate(-8px, -110vh) scale(1.05); opacity:0; }
}

/* 2. CORREÇÃO DO TÍTULO E LAYOUT CENTRAL */
.bx-center-home { 
    position: relative; 
    z-index: 5; 
    text-align: center; 
    padding: 0 5%; 
    width: 100%; 
    max-width: 1600px; 
}

/* Badge de Autoridade "HÁ 25 ANOS" - Texto Simples */
.bx-badge-authority {
    display: inline-block;
    margin-bottom: 15px;
}

.bx-badge-authority i {
    display: none;
}

.bx-badge-authority span {
    font-size: 1.4rem;
    font-weight: 800;
    color: #FFD700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    text-shadow:
        0 2px 8px rgba(255, 215, 0, 0.5),
        0 0 20px rgba(255, 215, 0, 0.3),
        2px 2px 4px rgba(0, 0, 0, 0.5);
}

.bx-title-home {
    margin: 0 0 20px; /* Igualado à Locação (era 40px) */
    color: #ffffff !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .1em;

    /* TAMANHO IGUALADO AO DA LOCAÇÃO: */
    font-size: clamp(32px, 6vw, 64px);

    text-align: center;
    text-shadow: 2px 2px 0px #071c55, 0 0 20px rgba(0,0,0,0.8);
    line-height: 1.1;
}

/* ========================================
   BOTÕES DE SERVIÇOS (ESTILO "POP DIVERTIMENTO")
   ======================================== */

.bx-cta-bar-home {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* Espaço entre eles */
    justify-content: center;
    padding: 20px;
    margin-top: 20px;
    /* Removemos o fundo de vidro para os botões brilharem sozinhos */
    background: transparent; 
    box-shadow: none;
    border: none;
    backdrop-filter: none;
}

.bx-cta-home {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    
    /* Tamanho e Forma */
    padding: 18px 36px;
    border-radius: 25px; /* Menos redondo, mais "bloco" */
    font-size: 1.15rem;
    font-weight: 900; /* Texto bem grosso */
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
    
    /* Cores Iniciais */
    background-color: #ffffff !important;
    color: #0a2150 !important;
    border: 4px solid #ffffff; /* Borda grossa */
    
    /* Efeito 3D Inicial */
    box-shadow: 0 6px 0px rgba(0,0,0,0.15); /* Sombra dura */
    
    /* A Mágica do Pulo (Transition Bouncy) */
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
    z-index: 10;
}

/* 4. NOVO BOTÃO WHATSAPP */
.bx-main-cta-home {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: auto;
    height: 72px;
    padding: 22px 45px;
    border-radius: 60px;
    background-color: #25D366; /* Verde WhatsApp */
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    font-size: 1.4rem;
    box-shadow: 0 8px 25px rgba(37, 211, 102,.4), 0 4px 15px rgba(0,0,0,.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.bx-main-cta-home:hover {
    transform: translateY(-4px) scale(1.05);
    box-shadow: 0 12px 35px rgba(37, 211, 102,.5), 0 6px 20px rgba(0,0,0,.3);
    background-color: #128C7E; /* Verde Escuro Hover */
}

/* O "Brilho" que segue o mouse (Começa invisível) */
.bx-cta-home::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    
    /* Um brilho amarelo suave (pode trocar a cor se quiser) */
    background: radial-gradient(circle at var(--x, 50%) var(--y, 50%), rgba(255, 213, 0, 0.4) 0%, transparent 60%);
    
    opacity: 0; /* Escondido por padrão */
    transition: opacity 0.3s ease;
    z-index: -1; /* Fica atrás do texto */
}

/* --- CORES ESPECÍFICAS PARA CADA BOTÃO --- */

/* 1º Botão (Locação): Laranja Vibrante */
.bx-cta-home:nth-of-type(1):hover {
    background-color: #FF9F1C !important;
}

/* 2º Botão (Gastronomia): Vermelho Apetite */
.bx-cta-home:nth-of-type(2):hover {
    background-color: #FF4040 !important;
    transform: translateY(-8px) scale(1.05) rotate(2deg); /* Gira para o outro lado */
}

/* 3º Botão (Personagens): Roxo Magia */
.bx-cta-home:nth-of-type(3):hover {
    background-color: #8A4FFF !important;
}

/* 4º Botão (Eventos Empresariais): Verde Corporativo */
.bx-cta-home:nth-of-type(4):hover {
    background-color: #10B981 !important;
    transform: translateY(-8px) scale(1.05) rotate(2deg);
}

/* Ajuste Mobile */
@media (max-width: 768px) {
    .bx-badge-authority span {
        font-size: 1.1rem;
        letter-spacing: 0.15em;
    }

    .bx-cta-bar-home {
        flex-direction: column;
        gap: 15px;
    }
    .bx-cta-home {
        width: 100%;
        text-align: center;
    }
    .bx-cta-home:hover {
        transform: translateY(-4px); /* Pulo menor no celular */
    }

}

/* --- SEÇÃO: NOSSOS SERVIÇOS (SB) - AJUSTADO --- */
#servicos-babinho {
  --sb-navy:#071c55; --sb-red:#e30613; --sb-text:#f5f8ff; --radius:20px;
  padding: 80px 0; background: #f4f4f4;
}
/* Container Full Width */
#servicos-babinho .sb-container { 
    width: 100%; 
    max-width: 100%; 
    margin: 0; 
    padding: 0 40px; 
}
#servicos-babinho .sb-title {
  margin: 0 0 60px; text-align:center; font-weight:900; color:#0a2150;
  font-size: clamp(36px, 5vw, 64px); /* Título da seção maior */
}

/* Grid mais próxima */
#servicos-babinho .sb-grid {
  display:grid; 
  grid-template-columns: 1fr 1fr; 
  gap: 0; /* Removeu o gap entre colunas para colar as caixas */
  align-items: stretch; 
  margin-bottom: 60px;
  border-radius: var(--radius);
  overflow: hidden; /* Arredonda os cantos do conjunto */
  box-shadow: 0 15px 40px rgba(0,0,0,0.15); /* Sombra no bloco todo */
}

/* Foto */
#servicos-babinho .sb-photo {
  margin:0; padding:0; 
  /* Remove bordas arredondadas individuais para colar */
  border-radius: 0; 
  overflow:hidden;
}
#servicos-babinho .sb-photo img { width:100%; height:100%; object-fit:cover; display: block;}

/* Card de Texto */
#servicos-babinho .sb-card {
  border-radius: 0; /* Remove borda para colar */
  padding: 60px; /* Mais espaço interno */
  display:flex; flex-direction:column; justify-content:center; color: var(--sb-text);
}
#servicos-babinho .sb-card-navy { background: var(--sb-navy); }
#servicos-babinho .sb-card-red { background: var(--sb-red); }

/* Textos Maiores */
#servicos-babinho .sb-card-title { 
    margin:0 0 20px; 
    font-weight:800; 
    font-size: clamp(28px, 3vw, 42px); /* Título do serviço bem maior */
    line-height: 1.1;
}
#servicos-babinho .sb-card-text { 
    margin:0 0 35px; 
    font-size: 1.25rem; /* Texto descritivo maior */
    line-height: 1.6; 
    color: #e9efff; 
}
#servicos-babinho .sb-btn {
  align-self: flex-start; display:inline-flex; align-items:center; gap:10px;
  padding: 18px 32px; border-radius:99px; background:#fff; color:#222;
  text-decoration:none; font-weight:800; font-size: 1.1rem;
  transition: transform .2s ease;
}
#servicos-babinho .sb-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,.2); }

@media (max-width: 960px){
  #servicos-babinho .sb-grid { grid-template-columns: 1fr; border-radius: 20px; }
  #servicos-babinho .sb-photo { height: 300px; }
  #servicos-babinho .sb-card { padding: 40px; }
}

/* --- SEÇÃO: SOBRE NÓS (SN) - AJUSTADO --- */
#sobre-babinho {
  --sn-navy:#0a2150; --sn-red:#e30613; --sn-bg:#fff; --sn-card:#f7f8fb;
  padding: 80px 0; background: var(--sn-bg);
}
#sobre-babinho .sn-container { 
    width: 100%; 
    max-width: 100%; 
    margin: 0; 
    padding: 0 40px; /* Full width com padding */
}

/* Cabeçalho Maior */
#sobre-babinho .sn-title { 
    margin:0 0 20px; 
    font-weight:900; 
    color:var(--sn-navy); 
    font-size: clamp(32px, 4vw, 54px); /* Título maior */
    text-align: center;
}
#sobre-babinho .sn-intro { 
    max-width: 900px; 
    margin:0 auto 60px; 
    color:#394150; 
    line-height:1.6; 
    font-size: 1.3rem; /* Texto de introdução maior */
    text-align: center;
}

/* Grid de Cards */
#sobre-babinho .sn-grid {
  display:grid; 
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
  gap: 30px; 
  margin-bottom: 80px;
}
#sobre-babinho .sn-card {
  background:var(--sn-card); border-radius:20px; padding:35px;
  text-align:left; transition: transform 0.3s;
}
#sobre-babinho .sn-card:hover { transform: translateY(-5px); }
#sobre-babinho .sn-card-head { display:flex; align-items:center; gap:15px; margin-bottom:15px; }
#sobre-babinho .sn-ico { color:var(--sn-red); font-size:28px; } /* Ícone maior */
#sobre-babinho .sn-card-title { margin:0; color:#0f1b3a; font-weight:800; font-size: 1.4rem; } /* Título card maior */
#sobre-babinho .sn-card-text { margin:0; color:#50586b; line-height:1.6; font-size: 1.1rem; } /* Texto card maior */

/* Área da Foto e Mascote */
#sobre-babinho .sn-media { 
    display:grid; 
    grid-template-columns: 1.2fr 0.8fr; 
    gap: 40px; 
    align-items: center; 
}
#sobre-babinho .sn-photo img { width:100%; border-radius:20px; box-shadow: 0 10px 30px rgba(0,0,0,.1); }

/* Mascote Gigante */
#sobre-babinho .sn-mascot {
    text-align: center;
}
#sobre-babinho .sn-mascot img { 
    max-height: 450px; /* Aumentado de 300px para 450px */
    width: auto;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,.15)); 
}
#sobre-babinho .sn-sign {
    margin-top: 15px;
    font-size: 1.2rem;
    color: #0a2150;
}

@media (max-width:960px){
  #sobre-babinho .sn-media { grid-template-columns: 1fr; }
  #sobre-babinho .sn-mascot img { max-height: 350px; margin-top: 40px; }
}

/* --- SEÇÃO: FALE CONOSCO (Centralizado) --- */
#cta-babinho {
  position: relative; background: #071c55; color: #fff; overflow: hidden;
  padding: 80px 40px; /* Mais padding vertical */
}

#cta-babinho .cta-inner { 
    position: relative; 
    z-index: 3; 
    max-width: 1200px; /* Limita a largura do conteúdo para centralizar */
    margin: 0 auto; /* Centraliza o bloco */
    display: flex;
    justify-content: space-between; /* Texto na ponta, botão na outra */
    align-items: center;
    gap: 40px;
}

#cta-babinho .cta-title { 
    margin: 0; 
    font-weight: 800; 
    font-size: clamp(32px, 5vw, 60px); /* Título bem grande */
    text-align: left;
}

#cta-babinho .cta-btn {
  flex-shrink: 0; /* Impede o botão de amassar */
  display:inline-flex; align-items:center; gap:12px;
  background:#25D366; color:#fff; text-decoration:none;
  font-weight:700; font-size:1.3rem; padding:22px 40px; border-radius:99px;
  box-shadow:0 8px 20px rgba(0,0,0,.25); transition:transform .2s ease;
  animation:pulse 2.5s infinite;
}

#cta-babinho .cta-btn:hover { transform:scale(1.05); background: #128c7e; }

@media (max-width: 768px) {
    #cta-babinho .cta-inner {
        flex-direction: column;
        text-align: center;
    }
    #cta-babinho .cta-title { text-align: center; margin-bottom: 20px; }
}

@keyframes pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }

/* Elementos decorativos do rodapé */
#cta-babinho .cta-bg::before {
  content:""; position:absolute; left:0; right:0; top:-40px; height:80px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="%23071c55" fill-opacity="1" d="M0,64L80,74.7C160,85,320,107,480,112C640,117,800,107,960,112C1120,117,1280,139,1360,149.3L1440,160L1440,0L1360,0C1280,0,1120,0,960,0C800,0,640,0,480,0C320,0,160,0,80,0L0,0Z"></path></svg>') repeat-x;
  background-size: cover; animation: wave 12s linear infinite; z-index: 1;
}
@keyframes wave{ to{ background-position-x:1440px; } }

/* ========================================
   RODAPÉ (FOOTER) - VERSÃO AMPLIADA
======================================== */
#babinho-footer {
  --ft-navy: #071c55;
  --ft-accent: #ffd500;
  --ft-copy: #cfcfd6;
  background: #0a2150;
  color: #fff;
  font-family: 'Montserrat', sans-serif !important;
  padding-bottom: 30px;
}
#babinho-footer .ft-logo img { max-height: 90px; display: block; } /* Logo maior */

/* ===== Desktop (>=769px) ===== */
@media (min-width: 769px) {
  #babinho-footer .ft-container {
    width: 100%; max-width: 100%; margin: 0; padding: 80px 50px; /* Mais espaço */
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 50px; align-items: start;
  }
  #babinho-footer .ft-col-logo {
    text-align: center !important; display: flex; flex-direction: column; align-items: center;
  }
  #babinho-footer .ft-social {
    display: flex; gap: 20px; margin-top: 20px; justify-content: center;
  }
  #babinho-footer .ft-social a { color: #fff; font-size: 28px; transition: .2s; } /* Ícones maiores */
  #babinho-footer .ft-social a:hover { color: var(--ft-accent); }

  .ft-info h4 { 
      color: var(--ft-accent); 
      font-weight: 900; 
      font-size: 1.6rem; /* Título maior (aprox 25px) */
      margin: 0 0 15px; 
      text-transform: uppercase;
      letter-spacing: 0.05em;
  }
  .ft-info p { 
      font-size: 1.2rem; /* Texto maior (aprox 19px) */
      margin: 8px 0; 
      line-height: 1.6; 
      color: #e0e0e0;
  }

  .ft-btns { display: flex; gap: 15px; margin-top: 20px; flex-wrap: wrap; }
  
  .ft-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 18px 30px; /* Botão maior */
    border-radius: 999px; text-decoration: none;
    font-weight: 800; font-size: 1.1rem; /* Fonte botão maior */
    box-shadow: 0 6px 16px rgba(0,0,0,.2); transition: .2s;
    color: white;
  }
  .ft-btn:hover { transform: translateY(-3px); }
  .ft-btn-whatsapp { background: #25D366; }
  .ft-btn-phone { background: #e30613; }

  .ft-copy { 
      grid-column: 1 / -1; 
      text-align: center; 
      margin-top: 40px; 
      color: var(--ft-copy); 
      font-size: 1rem; /* Copyright maior */
      border-top: 1px solid rgba(255,255,255,0.1); 
      padding-top: 30px; 
  }
  .ft-copy .ft-dev { margin-top: 5px; font-size: 0.9rem; opacity: 0.7; }
}

/* ===== Mobile (<769px) ===== */
@media (max-width: 768px) {
  #babinho-footer .ft-container {
    width: 100%; margin: 0 auto; padding: 50px 20px;
    display: flex; flex-direction: column; align-items: center; gap: 30px; text-align: center;
  }
  .ft-social { display: flex; gap: 20px; justify-content: center; margin-top: 15px; }
  .ft-social a { color: #fff; font-size: 26px; }
  
  .ft-info h4 { font-size: 1.5rem; font-weight: 900; margin: 0 0 10px; color: var(--ft-accent); }
  .ft-info p { font-size: 1.1rem; margin: 5px 0; line-height: 1.5; }

  .ft-btns {
    display: flex; flex-direction: column; gap: 15px; align-items: center; width: 100%; margin-top: 15px;
  }
  .ft-btn {
    width: 100%; max-width: 400px; padding: 18px 25px;
    font-size: 1.1rem;
  }
  
  .ft-copy { text-align: center; color: var(--ft-copy); font-size: 0.9rem; margin-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; width: 100%;}
}

/* ===== Mobile (<769px) ===== */
@media (max-width: 768px) {
  #babinho-footer .ft-container {
    width: 100%; max-width: 520px; margin: 0 auto; padding: 28px 16px 22px;
    display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center;
  }
  .ft-social { display: flex; gap: 16px; justify-content: center; margin-top: 12px; }
  .ft-social a { color: #fff; font-size: 22px; }
  .ft-info h4 { font-size: 18px; font-weight: 800; margin: 6px 0 6px; color: var(--ft-accent); }
  .ft-info p { font-size: 15px; margin: 4px 0; line-height: 1.5; }

  .ft-btns {
    display: flex; flex-direction: column; gap: 12px; align-items: center; width: 100%; margin-top: 10px;
  }
  .ft-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; max-width: 360px; padding: 14px 20px; border-radius: 999px;
    text-decoration: none; font-weight: 800; font-size: 15px; color: #fff;
    box-shadow: 0 6px 16px rgba(0,0,0,.2);
  }
  .ft-btn-whatsapp { background: #25D366; }
  .ft-btn-phone { background: #e30613; }
  
  .ft-copy { text-align: center; color: var(--ft-copy); font-size: 13px; margin-top: 15px; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 15px; width: 100%;}
}

/* ==========================================================================
   HERO DA HOME (TEXTOS E BOTÕES - ESTILO FINAL)
   ========================================================================== */

/* Força o título a ser BRANCO, GRANDE e PRÓXIMO dos botões */
.bx-title-home {
    margin: 0 0 20px; /* Margem reduzida para aproximar da caixa */
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    font-size: clamp(32px, 6vw, 72px);
    text-align: center;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.7);
    line-height: 1.1;
}

/* Estiliza a barra (CAIXA DE VIDRO) que segura os botões */
#bx-hero .bx-cta-bar-home {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    
    /* Estilo Vidro (Glassmorphism) */
    padding: 20px 40px;
    background: rgba(255, 255, 255, 0.15); /* Fundo branco translúcido */
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 99px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);

    /* Espaçamento */
    margin-top: 0; 
    margin-bottom: 40px; /* Empurra o botão do WhatsApp para baixo */
    
    width: fit-content;
    max-width: 95%;
}

/* Transforma os links em BOTÕES BRANCOS (Estilo Pop) */
#bx-hero .bx-cta-home {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    border-radius: 30px; /* Um pouco menos redondo para o estilo Pop */
    font-size: 1.15rem;
    font-weight: 900;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
    
    /* Estado Normal: Branco com texto Azul */
    background-color: #ffffff !important;
    color: #0a2150 !important;
    border: 4px solid #ffffff;
    box-shadow: 0 6px 0px rgba(0,0,0,0.15); /* Sombra dura 3D */
    
    /* Animação Elástica */
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
    z-index: 10;
    background-image: none !important;
}

/* --- INTERAÇÃO AO PASSAR O MOUSE (GERAL) --- */
#bx-hero .bx-cta-home:hover {
    color: #ffffff !important; /* Texto fica branco */
    border-color: rgba(255,255,255,0.3);
    box-shadow: 0 15px 20px rgba(0,0,0,0.2);
}

/* --- CORES ESPECÍFICAS ("POP") --- */

/* 1º Botão (Locação): Laranja + Rotação Esquerda */
#bx-hero .bx-cta-home:nth-child(1):hover {
    background-color: #FF9F1C !important;
    transform: translateY(-8px) scale(1.05) rotate(-3deg);
}

/* 2º Botão (Gastronomia): Vermelho + Rotação Direita */
#bx-hero .bx-cta-home:nth-child(2):hover {
    background-color: #FF4040 !important;
    transform: translateY(-8px) scale(1.05) rotate(3deg);
}

/* 3º Botão (Personagens): Roxo + Rotação Esquerda */
#bx-hero .bx-cta-home:nth-child(3):hover {
    background-color: #8A4FFF !important;
    transform: translateY(-8px) scale(1.05) rotate(-3deg);
}

/* 4º Botão (Eventos Empresariais): Verde + Rotação Direita */
#bx-hero .bx-cta-home:nth-child(4):hover {
    background-color: #10B981 !important;
    transform: translateY(-8px) scale(1.05) rotate(3deg);
}

/* Garante centralização geral */
.bx-center-home {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 20px;
}

/* Ajuste Mobile */
@media (max-width: 768px) {
    #bx-hero .bx-cta-bar-home { 
        flex-direction: column; 
        gap: 15px;
        /* Remove o vidro no mobile para não apertar a tela */
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
        margin-bottom: 30px;
    }
    #bx-hero .bx-cta-home { 
        width: 100%; 
        text-align: center; 
    }
    #bx-hero .bx-cta-home:hover { 
        transform: translateY(-4px); /* Pulo menor no celular */
    }
}

/* ==========================================================================
   TEMA CLARO (ESPECÍFICO PARA PÁGINA DE LOCAÇÃO)
   ========================================================================== */

/* Muda o fundo da página inteira para um cinza-gelo suave */
body.light-mode {
    background-color: #f4f7f6 !important;
}

/* Ajustes para garantir contraste na Sidebar e Filtros */
body.light-mode .sidebar {
    box-shadow: 0 5px 20px rgba(0,0,0,0.05); /* Sombra mais suave no fundo claro */
    border: 1px solid rgba(0,0,0,0.05); /* Borda sutil */
}

/* Ajuste nos botões de filtro do topo para destacar no fundo claro */
body.light-mode .filter-btn {
    background-color: #ffffff;
    border: 1px solid rgba(0,0,0,0.05);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

/* Mantém o Hero com a imagem de fundo (não deixa ficar branco) */
body.light-mode #bx-locacao {
    background-color: transparent; /* Deixa a imagem aparecer */
}

/* O Rodapé continua AZUL para fechar o padrão (Azul - Claro - Azul) */
body.light-mode #babinho-footer {
    background: #0a2150; /* Garante o azul escuro no final */
    margin-top: 0;
}

/* ==========================================================================
   PÁGINA DE PERSONAGENS
   ========================================================================== */

/* GRID DE PERSONAGENS (Full Width) */
.characters-section {
    padding: 80px 40px;
    width: 100%;
    background-color: transparent; /* Para pegar o fundo do body */
}

.characters-intro {
    text-align: center;
    margin-bottom: 60px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.characters-intro h2 {
    font-size: clamp(32px, 4vw, 48px);
    color: #071c55;
    margin-bottom: 20px;
    font-weight: 900;
}

.characters-intro p {
    font-size: 1.2rem;
    line-height: 1.6;
    color: #555;
}

/* Grid adaptada para telas largas */
.characters-grid {
    display: grid;
    /* Cards com largura mínima confortável */
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
}

/* Card de Personagem (Estilo Polaroide Moderno) */
.character-card {
    background: white;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.character-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.character-image-container {
    width: 100%;
    height: 350px; /* Imagem bem alta para destacar o personagem */
    background-color: #f4f7f6;
    overflow: hidden;
}

.character-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Cobre todo o espaço */
    object-position: top center; /* Foca no rosto do personagem */
    transition: transform 0.5s ease;
}

.character-card:hover .character-image {
    transform: scale(1.05); /* Zoom suave na foto */
}

.character-info {
    padding: 30px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.character-name {
    font-size: 1.8rem;
    font-weight: 800;
    color: #0a2150;
    margin-bottom: 10px;
}

.character-description {
    color: #666;
    line-height: 1.6;
    font-size: 1rem;
    margin-bottom: 25px;
    flex-grow: 1; /* Empurra o botão para baixo */
}

/* ==========================================================================
   PÁGINA DE PERSONAGENS
   ========================================================================== */

/* HERO ESPECÍFICO DOS PERSONAGENS - USA A BASE DO HERO GLOBAL */
/* HERO ESPECÍFICO DOS PERSONAGENS - CORRIGIDO */
#hero-personagens {
    position: relative;
    width: 100%;
    min-height: 100vh; 
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-top: 80px;
    
    /* Fundo limpo e único */
    background: url('https://i.postimg.cc/T3sHL1gT/background-personagens.png') no-repeat center bottom / cover;
    background-color: #071c55; 
}

/* Elementos flutuantes (apenas bolhas, sem textura repetida) */
/* HERO ESPECÍFICO DOS PERSONAGENS - CORRIGIDO */
#hero-personagens {
    position: relative;
    width: 100%;
    min-height: 100vh; 
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-top: 80px;
    
    /* Fundo limpo e único */
    background: url('https://i.postimg.cc/T3sHL1gT/background-personagens.png') no-repeat center bottom / cover;
    background-color: #071c55; 
}

/* Elementos flutuantes (apenas bolhas, sem textura repetida) */
#hero-personagens .bx-bubbles {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}

#hero-personagens .bx-bubbles span {
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    animation: animateBubbles 15s linear infinite;
    bottom: -150px;
}
/* Posições das bolhas (pode manter o mesmo CSS de animação anterior) */
#hero-personagens .bx-bubbles span:nth-child(1) { left: 15%; animation-delay: 0s; width: 60px; height: 60px; }
#hero-personagens .bx-bubbles span:nth-child(2) { left: 30%; animation-delay: 2s; width: 50px; height: 50px; }
#hero-personagens .bx-bubbles span:nth-child(3) { left: 50%; animation-delay: 4s; width: 70px; height: 70px; }
#hero-personagens .bx-bubbles span:nth-child(4) { left: 70%; animation-delay: 6s; width: 45px; height: 45px; }
#hero-personagens .bx-bubbles span:nth-child(5) { left: 85%; animation-delay: 8s; width: 65px; height: 65px; }

@keyframes animateBubbles {
    0% { transform: translateY(0) scale(0); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: translateY(-1000px) scale(1.2); opacity: 0; }
}

/* Logo alinhada no canto (Igual Home/Locação) */
#hero-personagens .bx-logo-home {
    position: absolute;
    top: 20px;
    left: 40px;
    z-index: 10;
    max-width: auto;
}

#hero-personagens .bx-logo-home img {
    height: 80px; /* Tamanho padronizado */
    width: auto;
    display: block;
}

/* Conteúdo Central */
#hero-personagens .bx-center {
    max-width: 1200px; /* Largura total para não espremer o título */
    padding: 0 40px;
    text-align: center;
    z-index: 5;
    color: white;
    width: 100%; /* Garante uso da tela */
}

#hero-personagens .bx-title-home {
    /* FONTE IDÊNTICA À PÁGINA DE LOCAÇÃO */
    font-size: clamp(32px, 6vw, 64px); 
    font-weight: 900;
    color: white;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-shadow: 0 4px 10px rgba(0,0,0,0.3);
    
    /* O SEGREDO PARA NÃO QUEBRAR LINHA: */
    white-space: nowrap; 
}

#hero-personagens .bx-description {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    line-height: 1.6;
    color: #e0eaff;
    max-width: 900px;
    margin: 0 auto 30px auto;
}

/* Responsividade Mobile */
@media (max-width: 768px) {
    #hero-personagens .bx-logo-home { left: 20px; }
    #hero-personagens .bx-logo-home img { height: 60px; }
    
    /* No celular, permitimos quebrar linha se precisar, senão sai da tela */
    #hero-personagens .bx-title-home {
        white-space: normal; 
        font-size: clamp(28px, 8vw, 40px);
    }
}

/* ==========================================================================
   HERO GASTRONOMIA (PADRONIZADO - AZUL/BRANCO)
   ========================================================================== */
#hero-gastronomia {
    position: relative;
    width: 100%;
    min-height: 100vh; /* Altura total da tela */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-top: 80px;
    
    /* Background Gastronomia */
    background: url('https://i.postimg.cc/XJk9fZTx/background-gastronomia.png') no-repeat center center / cover;
    background-attachment: scroll;
    background-color: #071c55;
}

/* Reutiliza animações de bolhas (herança visual) */
#hero-gastronomia .bx-bubbles {
    position: absolute; width: 100%; height: 100%; left: 0; top: 0; pointer-events: none; z-index: 2; overflow: hidden;
}
#hero-gastronomia .bx-bubbles span {
    position: absolute; width: 40px; height: 40px; background-color: rgba(255, 255, 255, 0.15);
    border-radius: 50%; animation: animateBubbles 15s linear infinite; bottom: -150px;
}

/* Logo alinhada */
#hero-gastronomia .bx-logo-home {
    position: absolute; top: 20px; left: 40px; z-index: 10;
}
#hero-gastronomia .bx-logo-home img { height: 80px; display: block; filter: drop-shadow(0 4px 8px rgba(0,0,0,.3)); }

/* Conteúdo Centralizado e Largo */
#hero-gastronomia .bx-center {
    position: relative;
    z-index: 5;
    text-align: center;
    padding: 0 40px;
    width: 100%;
    max-width: 1200px; /* Permite que o texto respire na tela larga */
    color: white;
}

/* Título Padronizado */
#hero-gastronomia .bx-title-home {
    font-size: clamp(32px, 6vw, 64px); /* Mesmo tamanho da Locação */
    font-weight: 900;
    color: white;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-shadow: 0 4px 10px rgba(0,0,0,0.5);
    white-space: nowrap; /* Evita quebra de linha no título */
}

/* Descrição Padronizada */
#hero-gastronomia .bx-description {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    line-height: 1.6;
    color: #e0eaff;
    max-width: 900px; /* Texto largo, sem ficar espremido */
    margin: 0 auto 40px auto;
}

/* Responsividade Mobile */
@media (max-width: 768px) {
    #hero-gastronomia .bx-logo-home { left: 20px; }
    #hero-gastronomia .bx-logo-home img { height: 60px; }
    #hero-gastronomia .bx-title-home { white-space: normal; font-size: clamp(28px, 8vw, 40px); }
    #hero-gastronomia .bx-center { padding: 0 20px; }
}

/* ==========================================================================
   SEÇÃO: UMA VARIEDADE DE DELÍCIAS (GASTRONOMIA)
   ========================================================================== */

.delicias-section {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 80px 40px;
    background-color: transparent; /* Pega o fundo claro do body.light-mode */
}

.delicias-header {
    text-align: center;
    margin-bottom: 50px;
}

.delicias-header h2 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.2;
    color: #0a2150;
    font-weight: 900;
    margin: 0 0 15px;
}

.delicias-header p {
    font-size: 1.3rem;
    color: #1c2b6c;
    font-weight: 600;
    margin: 0;
}

/* GRID PRINCIPAL (Card Texto + Carrossel) */
.delicias-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Divisão meio a meio */
    gap: 40px;
    align-items: stretch;
    margin-bottom: 60px;
}

/* --- CARD AZUL (LISTA) --- */
.delicias-card {
    background: radial-gradient(120% 120% at 0% 0%, #163a8a 0%, #0b2158 65%, #0a1f52 100%);
    color: #fff;
    border-radius: 30px;
    padding: 50px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.delicias-lista {
    list-style: none;
    margin: 0 0 40px;
    padding: 0;
}

.delicias-lista li {
    font-size: 1.15rem;
    line-height: 1.6;
    margin: 0 0 20px;
    font-weight: 500;
    border-bottom: 1px solid rgba(255,255,255,0.1); /* Linha sutil separando */
    padding-bottom: 15px;
}
.delicias-lista li:last-child { border-bottom: none; }

.delicias-lista li strong {
    font-weight: 800;
    color: #ffd500; /* Amarelo destaque */
    font-size: 1.25rem;
    display: block;
    margin-bottom: 5px;
}

/* Botão do WhatsApp dentro do Card */
.delicias-whats {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #25D366;
    color: #fff;
    padding: 18px 30px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(37,211,102,.35);
    transition: transform .25s ease, background .25s ease;
    font-size: 1.1rem;
    width: fit-content;
    align-self: flex-start; /* Alinha a esquerda */
}
.delicias-whats:hover {
    background: #128C7E;
    transform: translateY(-3px);
}
.delicias-whats svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

/* --- CARROSSEL DE FOTOS --- */
.delicias-carousel {
    position: relative;
    background: #fff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
    min-height: 100%; /* Ocupa a mesma altura do card de texto */
}

.dc-track {
    display: flex;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.dc-slide {
    min-width: 100%;
    height: 100%;
    position: relative;
}

.dc-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: absolute; /* Garante que preencha o container pai */
    top: 0; left: 0;
}

/* Controles do Carrossel */
.dc-dots {
    position: absolute;
    left: 0; right: 0; bottom: 25px;
    display: flex; gap: 8px; justify-content: center;
    z-index: 10;
}
.dc-dots button {
    width: 12px; height: 12px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
    border: none; padding: 0; cursor: pointer;
    transition: all 0.3s;
}
.dc-dots button.active {
    width: 30px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.dc-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: rgba(0,0,0,0.3);
    color: #fff;
    width: 50px; height: 50px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 28px;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.3s;
    z-index: 10;
    line-height: 0;
    padding-bottom: 4px; /* Ajuste visual da seta */
}
.dc-nav:hover { background: rgba(0,0,0,0.6); }
.dc-nav.prev { left: 20px; }
.dc-nav.next { right: 20px; }

/* --- CTA FINAL (Texto cinza embaixo) --- */
.delicias-cta {
    max-width: 1000px;
    margin: 0 auto;
    padding: 35px;
    font-size: 1.25rem;
    line-height: 1.6;
    text-align: center;
    color: #0a2150;
    font-weight: 600;
    background: #e3e8ef;
    border-radius: 25px;
}

/* RESPONSIVIDADE */
@media (max-width: 992px) {
    .delicias-grid {
        grid-template-columns: 1fr; /* Empilha no tablet/mobile */
    }
    .delicias-carousel {
        min-height: 400px; /* Altura fixa quando empilhado */
    }
    .delicias-card {
        padding: 30px;
    }
    .delicias-whats {
        width: 100%; /* Botão full width no mobile */
    }
}

@media (max-width: 768px) {
    .delicias-section { padding: 60px 20px; }
    .delicias-header h2 { font-size: 32px; }
    .delicias-cta { font-size: 1.1rem; padding: 25px; }
}

/* ============================================================
   CORREÇÃO FINAL E ABSOLUTA DOS BOTÕES DOS CARDS
   ============================================================ */

/* Força o botão a ocupar 100% e centralizar */
.product-card .product-buttons a,
.product-card .product-btn,
.character-card .product-buttons a,
.character-card .product-btn,
.character-card a[href*="wa.me"] {
    display: flex !important;
    width: 100% !important; /* Ocupa toda a largura */
    justify-content: center !important; /* Centraliza o conteúdo */
    align-items: center !important;
    gap: 8px !important; /* Espaço entre ícone e texto */
    
    background-color: #25D366 !important; /* Fundo VERDE */
    color: #ffffff !important; /* Texto BRANCO */
    
    text-decoration: none !important; /* Tira o sublinhado */
    border-radius: 50px !important;
    padding: 14px 20px !important; /* Padding lateral para não colar */
    margin-top: 10px !important;
    
    font-weight: 800 !important;
    font-size: 1rem !important;
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.3) !important;
}

/* Efeito Hover */
.product-card .product-buttons a:hover,
.product-card .product-btn:hover,
.character-card .product-buttons a:hover,
.character-card .product-btn:hover,
.character-card a[href*="wa.me"]:hover {
    background-color: #128C7E !important; /* Verde mais escuro */
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}

/* Garante que o ícone SVG fique branco e alinhado */
.product-card .product-btn svg, 
.product-card .product-btn i,
.character-card .product-btn svg,
.character-card .product-btn i,
.character-card a[href*="wa.me"] svg,
.wa-icon {
    fill: #ffffff !important;
    color: #ffffff !important;
    width: 20px !important;
    height: 20px !important;
    margin-right: 0 !important; /* Gap já cuida do espaçamento */
    display: inline-block !important;
    flex-shrink: 0 !important; /* Impede que o ícone encolha */
}
/* ==================================================
   CORREÇÃO FINAL MOBILE (COLE NO FINAL DO ARQUIVO)
   ================================================== */
@media (max-width: 768px) {
    
    /* 1. FILTROS: Centralizar e Compactar */
    .sidebar {
        text-align: center !important;
        padding: 15px 10px !important;
        margin-bottom: 15px !important;
    }
    
    .filter-title {
        text-align: center !important;
        margin-bottom: 10px !important;
        font-size: 1rem !important;
    }

    /* Garante tags em 2 colunas alinhadas */
    #sidebarFilters {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        text-align: left !important; /* O texto do checkbox fica a esquerda */
    }

    /* 2. BOTÃO DO HERO (Arrumar quebra de linha) */
    .bx-main-cta-home, .gastro-btn, .delicias-whats {
        width: 90% !important; /* Não ocupa 100% pra não colar na borda */
        padding: 12px 20px !important; /* Menos enchimento */
        font-size: 1rem !important; /* Fonte menor para caber */
        height: auto !important;
        white-space: nowrap !important; /* Tenta não quebrar linha */
    }
    
    /* Se o texto for muito grande, permite quebra controlada */
    @media (max-width: 380px) {
        .bx-main-cta-home { 
            white-space: normal !important; 
            font-size: 0.9rem !important;
            text-align: center !important;
        }
    }

    /* 3. CARDS (Visualização dos Brinquedos) */
    .gallery-grid {
        gap: 15px !important; /* Menos espaço entre cards */
    }
    
    /* Diminuir margens para o usuário ver logo os brinquedos */
    .categories-wrapper { margin-bottom: 10px !important; }
    .top-filters { margin-bottom: 10px !important; }
}

/* ==================================================
   CORREÇÃO FINAL MOBILE (CELULARES < 768px)
   Cole isso no final do arquivo style.css
   ================================================== */
@media (max-width: 768px) {
    
    /* 1. HERO: Botão WhatsApp Ajustado (Sem quebrar linha) */
    .bx-main-cta-home, .gastro-btn, .delicias-whats {
        width: auto !important;       /* Deixa o tamanho automático */
        max-width: 95% !important;    /* Não deixa estourar a tela */
        padding: 12px 20px !important; /* Menos enchimento */
        font-size: 1rem !important;   /* Fonte menor para caber */
        height: auto !important;
        white-space: nowrap !important; /* Tenta não quebrar o texto */
        display: inline-flex !important;
    }
    
    /* 2. FILTROS (SIDEBAR): Centralizados e Compactos */
    .sidebar {
        width: 100% !important;       /* Ocupa largura total */
        text-align: center !important; /* Centraliza tudo */
        padding: 15px 10px !important; /* Pouco espaço interno */
        margin-bottom: 15px !important;
        border: 1px solid #eee !important;
        background: #fff !important;
    }
    
    .filter-title {
        text-align: center !important; /* Título no meio */
        margin-bottom: 10px !important;
        font-size: 1rem !important;
    }

    /* Tags em 2 Colunas (Esquerda / Direita) */
    #sidebarFilters {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* 2 colunas iguais */
        gap: 8px !important;
        text-align: left !important; /* O texto do checkbox fica na esquerda */
        max-width: 100% !important;
    }

    /* 3. CATEGORIAS: 3 Colunas Apertadinhas */
    .top-filters {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 6px !important;
        padding: 0 !important; /* Remove padding interno */
    }
    .filter-btn {
        text-align: center !important; /* Centraliza o texto do botão */
        padding: 8px 2px !important;
        font-size: 0.7rem !important; /* Letra pequena para caber */
        border-radius: 8px !important;
        min-width: auto !important;
    }

    /* 4. ESPAÇAMENTOS (Aproximar tudo) */
    .categories-wrapper { margin-bottom: 10px !important; padding: 0 10px !important; /* Padding lateral igual ao do filtro */ }
    .gallery-layout { padding: 15px 10px !important; /* Mesmo padding do sidebar (filtro) */ }
    .gallery-grid { gap: 15px !important; grid-template-columns: 1fr !important; }
    
    /* Altura da imagem do card no mobile */
    .product-image { height: 280px !important; }
    
    .product-card { padding: 15px !important; }
}

/* Esconder banner de Frete Grátis no mobile */
@media (max-width: 768px) {
    .sidebar > div[style*="background: #e8f0fe"] {
        display: none !important;
    }
}

/* ========================================
   10. POPUP TRABALHE CONOSCO (CORRIGIDO)
   ======================================== */
.trabalhe-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.trabalhe-popup.active {
    opacity: 1;
    visibility: visible;
}

.trabalhe-overlay {
    position: absolute;
    inset: 0;
    background: rgba(7, 28, 85, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    cursor: pointer;
}

.trabalhe-content {
    position: relative;
    max-width: 650px;
    width: 100%;
    background: white;
    border-radius: 40px;
    padding: 50px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
    transform: scale(0.9) translateY(20px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    animation: slideUp 0.4s ease-out;
    text-align: center; /* Garante centralização do texto */
}

.trabalhe-popup.active .trabalhe-content {
    transform: scale(1) translateY(0);
}

@keyframes slideUp {
    from { opacity: 0; transform: scale(0.9) translateY(30px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}

.trabalhe-close {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 45px;
    height: 45px;
    border: none;
    background: rgba(7, 28, 85, 0.08);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #071c55;
    font-size: 1.2rem;
}

.trabalhe-close:hover {
    background: rgba(7, 28, 85, 0.15);
    transform: rotate(90deg) scale(1.1);
}

.trabalhe-header {
    margin-bottom: 35px;
}

.trabalhe-title {
    color: #071c55;
    font-size: 2.2rem;
    font-weight: 900;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.trabalhe-subtitle {
    color: #667eea;
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0;
}

.trabalhe-body {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center; /* Centraliza o botão */
}

.trabalhe-text {
    color: #444;
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0;
}

/* BOTÃO "ENVIAR CURRÍCULO" (VERDE E GRANDE) */
.trabalhe-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px 40px; /* Botão grande */
    border-radius: 99px;
    
    background-color: #25D366 !important; /* Verde WhatsApp */
    color: #ffffff !important;
    font-weight: 800;
    font-size: 1.3rem;
    text-decoration: none;
    
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
    border: none;
}

.trabalhe-cta:hover {
    transform: translateY(-4px);
    background-color: #128C7E !important; /* Verde escuro */
    box-shadow: 0 12px 35px rgba(37, 211, 102, 0.5);
}

.trabalhe-cta i, 
.trabalhe-cta svg {
    font-size: 1.5rem;
    fill: white;
}

.trabalhe-dica {
    background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 100%);
    padding: 25px;
    border-radius: 25px;
    border-left: 5px solid #667eea;
    color: #333;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
    text-align: left; /* Dica alinhada à esquerda fica melhor */
    width: 100%;
}

.trabalhe-dica strong {
    color: #667eea;
    font-weight: 800;
}
/* ========================================
   EVENTOS EMPRESARIAIS - PÁGINA
======================================== */

/* Hero Eventos Empresariais */
#hero-eventos {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-top: 80px;

    /* Background personalizado */
    background: url('https://i.postimg.cc/CLc5jCdz/background-eventos.png') no-repeat center center / cover;
    background-attachment: scroll;
}

/* Bolhas animadas */
#hero-eventos .bx-bubbles {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}

#hero-eventos .bx-bubbles span {
    position: absolute;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    animation: animateBubbles 15s linear infinite;
    bottom: -150px;
}

#hero-eventos .bx-bubbles span:nth-child(1) { left: 15%; animation-delay: 0s; width: 60px; height: 60px; }
#hero-eventos .bx-bubbles span:nth-child(2) { left: 30%; animation-delay: 2s; width: 50px; height: 50px; }
#hero-eventos .bx-bubbles span:nth-child(3) { left: 50%; animation-delay: 4s; width: 70px; height: 70px; }
#hero-eventos .bx-bubbles span:nth-child(4) { left: 70%; animation-delay: 6s; width: 45px; height: 45px; }
#hero-eventos .bx-bubbles span:nth-child(5) { left: 85%; animation-delay: 8s; width: 65px; height: 65px; }

/* Logo */
#hero-eventos .bx-logo-home {
    position: absolute;
    top: 20px;
    left: 40px;
    z-index: 10;
}

#hero-eventos .bx-logo-home img {
    height: 80px;
    width: auto;
    display: block;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.3));
}

/* Conteúdo Central */
#hero-eventos .bx-center {
    position: relative;
    z-index: 5;
    text-align: center;
    padding: 0 40px;
    width: 100%;
    max-width: 1200px;
    color: white;
}

/* Título */
#hero-eventos .bx-title-home {
    font-size: clamp(32px, 6vw, 64px);
    font-weight: 900;
    color: white;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-shadow: 0 4px 10px rgba(0,0,0,0.5);
    white-space: nowrap;
}

/* Descrição */
#hero-eventos .bx-description {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    line-height: 1.6;
    color: #e0eaff;
    max-width: 900px;
    margin: 0 auto 40px auto;
}

/* Responsividade Mobile */
@media (max-width: 768px) {
    #hero-eventos .bx-logo-home { left: 20px; }
    #hero-eventos .bx-logo-home img { height: 60px; }
    #hero-eventos .bx-title-home {
        white-space: normal;
        font-size: clamp(28px, 8vw, 40px);
    }
    #hero-eventos .bx-center { padding: 0 20px; }
}

/* Seção de Serviços Personalizados */
.servicos-personalizados-section {
    padding: 100px 40px;
    background: #f4f4f4;
    min-height: 100vh;
}

.servicos-intro {
    text-align: center;
    max-width: 900px;
    margin: 0 auto 80px;
}

.servicos-intro h2 {
    font-size: 3.5rem;
    font-weight: 900;
    color: #071c55;
    margin-bottom: 25px;
    letter-spacing: -0.02em;
}

.servicos-intro p {
    font-size: 1.3rem;
    color: #333333;
    line-height: 1.8;
    font-weight: 500;
}

.servicos-grid-wrapper {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
}

.servicos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px;
}

.servico-card {
    background: transparent;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.servico-card:hover {
    transform: translateY(-10px);
    box-shadow: none;
}

.servico-image-container {
    width: 100%;
    height: 500px;
    overflow: hidden;
    position: relative;
    border-radius: 20px;
}

.servico-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
    border-radius: 20px;
}

.servico-card:hover .servico-image {
    transform: scale(1.1);
}

/* Setas de navegação (escondidas no desktop) */
.servicos-nav {
    display: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(7, 28, 85, 0.8);
    color: white;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 2rem;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
}

.servicos-nav:hover {
    background: rgba(7, 28, 85, 0.95);
    transform: translateY(-50%) scale(1.1);
}

.servicos-prev {
    left: -25px;
}

.servicos-next {
    right: -25px;
}

/* Seção CTA Final */
.cta-final-section {
    padding: 120px 40px;
    background: #f4f4f4;
    position: relative;
    overflow: hidden;
}

.cta-final-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(circle at 20% 50%, rgba(102, 126, 234, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(237, 100, 166, 0.05) 0%, transparent 50%);
    pointer-events: none;
}

.cta-final-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
}

.cta-final-content h2 {
    font-size: 3rem;
    font-weight: 900;
    color: #071c55;
    margin-bottom: 30px;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.cta-final-content p {
    font-size: 1.3rem;
    color: #333333;
    line-height: 1.8;
    margin-bottom: 50px;
    font-weight: 500;
}

.cta-final-btn {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding: 22px 50px;
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: white;
    font-size: 1.3rem;
    font-weight: 800;
    text-decoration: none;
    border-radius: 999px;
    box-shadow: 0 10px 40px rgba(37, 211, 102, 0.4);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cta-final-btn:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 50px rgba(37, 211, 102, 0.6);
    background: linear-gradient(135deg, #128C7E 0%, #25D366 100%);
}

.cta-final-btn i {
    font-size: 1.6rem;
}

/* Responsividade para Eventos Empresariais */
@media (max-width: 768px) {
    .servicos-personalizados-section {
        padding: 60px 20px;
    }

    .servicos-intro h2 {
        font-size: 2.5rem;
    }

    .servicos-intro p {
        font-size: 1.1rem;
    }

    /* Carrossel Mobile */
    .servicos-grid-wrapper {
        overflow: hidden;
        padding: 0 20px;
    }

    .servicos-grid {
        display: flex;
        transition: transform 0.4s ease;
        gap: 0;
    }

    .servico-card {
        min-width: 100%;
        flex-shrink: 0;
        margin: 0 10px;
    }

    .servico-image-container {
        height: 450px;
    }

    /* Mostrar setas no mobile */
    .servicos-nav {
        display: block;
    }

    .servicos-prev {
        left: 0;
    }

    .servicos-next {
        right: 0;
    }

    .cta-final-section {
        padding: 80px 20px;
    }

    .cta-final-content h2 {
        font-size: 2.2rem;
    }

    .cta-final-content p {
        font-size: 1.1rem;
    }

    .cta-final-btn {
        padding: 18px 35px;
        font-size: 1.1rem;
    }
}
