
/* ========================================================================
   main.css - Regras globais, reset e variáveis
   ======================================================================== */

/* --- Variáveis CSS --- */
:root {
    /* Cores */
    --cor-primaria: #042f5b;
    /* Exemplo: Roxo */
    --cor-secundaria: #0095ff;
    /* Exemplo: Rosa */
    --cor-texto-primario: #333;
    --cor-texto-secundario: #666;
    --cor-fundo-claro: #F5F5F5;
    --cor-fundo-secao: #f7fafb;
    /* */
    --cor-branco: #FFFFFF;
    --cor-cinza-claro: #E0E0E0;
    /* Cor do hover*/
    --cor-hover: #2cb742;

    /* Tipografia */
    --fonte-padrao: 'Inter', sans-serif;
    --fonte-titulos: 'Inter', sans-serif;
    --tamanho-base-fonte: 16px;

    /* Espaçamento */
    --espacamento-pequeno: 8px;
    --espacamento-padrao: 10px;
    --espacamento-medio: 16px;
    --espacamento-grande: 24px;
    --espacamento-secao: 64px;

    /* Outros */
    --borda-arredondada: 5px;
    --sombra-card: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.main-header {
    z-index: 10;
    position: relative;
    color: white;
    background-color: var(--cor-primaria);
    width: 100%;
    height: 77px;
    position: fixed;
    top: 0;
}

main {
    margin-top: 77px;
}

/* --- Reset Básico --- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--fonte-padrao);
    font-size: var(--tamanho-base-fonte);
    line-height: 1.4;
    color: var(--cor-texto-primario);
    background-color: var(--cor-branco);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html {
    scroll-behavior: smooth;
}

img {
    border-radius: var(--borda-arredondada);
}

/* --- Layout Principal --- */
.container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 var(--espacamento-medio);
}

.secao {
    padding: var(--espacamento-secao) 0;
}

.flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.flex-center {
    flex: 1;
    min-width: 200px;
    text-align: center;
}

.flex-col-start {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
}

.g5 {
    gap: 5px;
}

.g10 {
    gap: 10px;
}

.g20 {
    gap: 20px;
}

.g30 {
    gap: 30px;
}

.g40 {
    gap: 40px;
}

.g50 {
    gap: 50px;
}

/* --- Media Queries Gerais (Mobile-First) --- */
@media (max-width: 767px) {
    .secao {
        padding: var(--espacamento-grande) 0;
    }
}

/* Classe de padding */

.p5 {
    padding: 5px;
}

.p10 {
    padding: 10px;
}

.p15 {
    padding: 15px;
}

.p20 {
    padding: 20px;
}

.p25 {
    padding: 25px;
}

.p30 {
    padding: 30px;
}

/* Classes de margin */

.m5 {
    margin: 5px;
}

.m10 {
    margin: 10px;
}

.m15 {
    margin: 15px;
}

.m20 {
    margin: 20px;
}

.m25 {
    margin: 25px;
}

.m30 {
    margin: 30px;
}
/* ========================================================================
   blocks.css - Blocos de conteúdo e layout de componentes
   ======================================================================== */

/* --- Seções e Layouts de Grid --- */
.secao-planos {
    background-color: var(--cor-fundo-secao);
}

.grid-colunas {
    display: grid;
    gap: var(--espacamento-grande);
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.grid-auto-fit {
    display: grid;
    gap: var(--espacamento-medio);
}

/* Modificadores para min-width de cada coluna */

.grid-auto-fit-6 {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.grid-auto-fit-5 {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.grid-auto-fit-4 {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.grid-auto-fit-3 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid-auto-fit-2 {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.grid-auto-fit-1 {
    grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
}

@media (min-width: 300px) {
    .grid-auto-fit-3 {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }

    .grid-auto-fit-2 {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}

/* --- Artigo Simples (componente sem card) --- */
.artigo-simples {
    display: flex;
    flex-direction: column;
    padding: var(--espacamento-medio) 0;
    /* Apenas padding, sem borda/sombra */
}

.artigo-simples-categoria {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--cor-texto-secundario);
    text-transform: uppercase;
    margin-bottom: var(--espacamento-pequeno);
}

.artigo-simples h3 {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: var(--espacamento-medio);
}

.artigo-simples-descricao {
    font-size: 1rem;
    color: var(--cor-texto-secundario);
    flex-grow: 1;
    margin-bottom: var(--espacamento-medio);
}

.artigo-simples-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--espacamento-medio);
    border-top: 1px solid var(--cor-cinza-claro);
    margin-top: var(--espacamento-medio);
}

.artigo-simples-metadata {
    display: flex;
    align-items: center;
    font-size: 0.8rem;
    color: var(--cor-texto-secundario);
}

.artigo-simples-metadata span {
    margin-right: var(--espacamento-pequeno);
    display: flex;
    align-items: center;
}

.artigo-simples-autor {
    display: flex;
    align-items: center;
    margin-top: var(--espacamento-grande);
}

.artigo-simples-autor-imagem {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: var(--espacamento-medio);
}

.artigo-simples-autor-info h4 {
    font-size: 1rem;
    margin: 0;
    line-height: 1.2;
}

.artigo-simples-autor-info p {
    font-size: 0.8rem;
    color: var(--cor-texto-secundario);
    margin: 0;
}

/* --- Artigo Centralizado (novo componente) --- */
.artigo-centralizado {
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: var(--espacamento-grande);
    background-color: var(--cor-branco);
    border-radius: var(--borda-arredondada);
    box-shadow: var(--sombra-card);
    /* Mantemos a sombra para dar o efeito de bloco */
}

.artigo-centralizado-categoria {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--cor-texto-secundario);
    text-transform: uppercase;
    margin-bottom: var(--espacamento-pequeno);
}

.artigo-centralizado h3 {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: var(--espacamento-medio);
}

.artigo-centralizado-descricao {
    font-size: 1rem;
    color: var(--cor-texto-secundario);
    flex-grow: 1;
    margin-bottom: var(--espacamento-grande);
}

.artigo-centralizado-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: var(--espacamento-medio);
    border-top: 1px solid var(--cor-cinza-claro);
    margin-top: auto;
    /* Empurra para o rodapé */
}

.artigo-centralizado-metadata {
    display: flex;
    align-items: center;
    font-size: 0.8rem;
    color: var(--cor-texto-secundario);
    margin-top: var(--espacamento-pequeno);
}

.artigo-centralizado-metadata span {
    margin: 0 var(--espacamento-pequeno);
    display: flex;
    align-items: center;
}

/* --- Bloco de Texto Centralizado (novo componente) --- */
.bloco-texto-centralizado {
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: var(--espacamento-medio);
}

.bloco-texto-centralizado-categoria {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--cor-texto-secundario);
    text-transform: uppercase;
    margin-bottom: var(--espacamento-pequeno);
}

.bloco-texto-centralizado h3 {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: var(--espacamento-medio);
}

.bloco-texto-centralizado-descricao {
    font-size: 1rem;
    color: var(--cor-texto-secundario);
    flex-grow: 1;
    margin-bottom: var(--espacamento-grande);
}

.bloco-texto-centralizado-metadata {
    display: flex;
    align-items: center;
    justify-content: center;
    /* Centraliza os metadados horizontalmente */
    font-size: 0.8rem;
    color: var(--cor-texto-secundario);
    margin-top: var(--espacamento-pequeno);
}

.bloco-texto-centralizado-metadata span {
    margin: 0 var(--espacamento-pequeno);
    display: flex;
    align-items: center;
}

/* --- Bloco de Feature sem Hover (novo componente) --- */
.bloco-feature-sem-hover {
    background-color: var(--cor-branco);
    border-radius: var(--borda-arredondada);
    box-shadow: var(--sombra-card);
    padding: var(--espacamento-grande);
    display: flex;
    /* Alinhamento do texto à esquerda */
    flex-direction: column;
}

.bloco-feature-sem-hover-linha {
    border-radius: var(--borda-arredondada);
    padding: var(--espacamento-grande);
    display: flex;
    /* Alinhamento do texto à esquerda */
    flex-direction: column;
    border: 1px solid var(--cor-cinza-claro);
}

.bloco-feature-sem-hover-conteudo {
    display: flex;
    align-items: center;
    margin-bottom: var(--espacamento-medio);
}

.bloco-feature-sem-hover-icon {
    width: 60px;
    height: 60px;
    background-color: var(--cor-fundo-secao);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: var(--espacamento-medio);
    flex-shrink: 0;
}

.bloco-feature-sem-hover-icon img,
.bloco-feature-sem-hover-icon svg {
    max-width: 40px;
    height: auto;
}

.bloco-feature-sem-hover h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}

.bloco-feature-sem-hover-descricao {
    font-size: 0.95rem;
    color: var(--cor-texto-secundario);
    flex-grow: 1;
    text-align: left;
}

/* --- Bloco de Lista de Itens (novo componente) --- */
.bloco-lista-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: var(--espacamento-medio);
    /* Adiciona um padding interno para espaçamento */
}

.bloco-lista-item-icon {
    width: 60px;
    height: 60px;
    background-color: var(--cor-fundo-secao);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: var(--espacamento-medio);
    flex-shrink: 0;
    color: #175ca3;
    /* Garante que o ícone não diminua em telas menores */
}

.bloco-lista-item-icon img,
.bloco-lista-item-icon svg {
    max-width: 40px;
    height: auto;
}

.bloco-lista-item-conteudo {
    flex-grow: 1;
    /* Ocupa o restante do espaço */
    text-align: left;
}

.bloco-lista-item h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}

.bloco-lista-item-descricao {
    font-size: 0.95rem;
    color: var(--cor-texto-secundario);
    margin: var(--espacamento-pequeno) 0;
}

.bloco-lista-item .link-chamada {
    margin-top: var(--espacamento-pequeno);
}

/* --- Banner de Destaque --- */
.banner-destaque {
    background-color: var(--cor-primaria);
    color: var(--cor-branco);
    padding: var(--espacamento-grande);
    border-radius: var(--borda-arredondada);
    text-align: center;
}

.banner-destaque h3 {
    color: var(--cor-branco);
    font-size: 2rem;
    margin-bottom: var(--espacamento-pequeno);
}

/* --- Bloco de Lista Alternado (novo componente) --- */
.bloco-lista-alternado {
    display: flex;
    align-items: center;
    gap: var(--espacamento-secao);
    padding: var(--espacamento-medio) 0;
    text-align: left;
}

.bloco-lista-alternado-icon {
    width: 80px;
    height: 80px;
    background-color: var(--cor-fundo-secao);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    /* Garante que o ícone não diminua em telas menores */
}

.bloco-lista-alternado-icon img,
.bloco-lista-alternado-icon svg {
    max-width: 50px;
    height: auto;
}

.bloco-lista-alternado-conteudo {
    flex-grow: 1;
    /* Ocupa o restante do espaço */
}

.bloco-lista-alternado h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: var(--espacamento-pequeno);
}

.bloco-lista-alternado-descricao {
    font-size: 0.95rem;
    color: var(--cor-texto-secundario);
    margin: var(--espacamento-pequeno) 0;
}

.bloco-icone-sem-hover-icon {
    width: 60px;
    height: 60px;
    background-color: var(--cor-fundo-secao);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px auto;
    flex-shrink: 0;
}

/* Modificador para inverter a ordem em desktops */
@media (min-width: 768px) {
    .bloco-lista-alternado.inverter {
        flex-direction: row-reverse;
        text-align: right;
    }
}

/* --- Bloco de Galeria de Conteúdo (novo design) --- */

.secao-galeria-conteudo {
    display: grid;
    gap: var(--espacamento-padrao);
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.card-conteudo {
    background-color: var(--cor-branco);
    border: 1px solid var(--cor-cinza-claro);
    border-radius: var(--borda-arredondada);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.card-conteudo:hover {
    transform: translateY(-5px);
}

.card-conteudo-imagem-wrapper {
    width: 100%;
    /* Removendo o padding para a imagem ficar colada na borda */
}

.card-conteudo-imagem {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.card-conteudo-body {
    padding: var(--espacamento-grande);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.card-conteudo-categoria {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cor-texto-secundario);
    text-transform: uppercase;
    margin-bottom: 8px;
}

.card-conteudo-titulo {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--cor-texto-principal);
    margin-bottom: var(--espacamento-pequeno);
}

.card-conteudo-descricao {
    font-size: 0.95rem;
    color: var(--cor-texto-secundario);
    line-height: 1.6;
    margin-bottom: var(--espacamento-padrao);
    flex-grow: 1;
}

/* --- Blocos de alinhamento (novo componente) --- */
.b-centro {
    display: flex;
    justify-content: center;
    align-items: center;
}

.b-esquerda {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.b-direita {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* --- Rodapé (Footer) --- */
.rodape {
    background-color: var(--cor-texto-primario);
    color: var(--cor-cinza-claro);
    padding: var(--espacamento-grande);
    text-align: center;
}

.rodape p {
    font-size: 0.9rem;
}
/* ========================================================================
   typo.css - Estilos de tipografia e texto
   ======================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--fonte-titulos);
    line-height: 1.2;
    margin-bottom: var(--espacamento-medio);
    color: var(--cor-texto-primario);
}

h1 {
    font-size: 3.5rem;
    font-weight: 700;
}

h2 {
    font-size: 2.0rem;
    font-weight: 600;
}

h3 {
    font-size: 1.75rem;
    font-weight: 500;
}

p {
    margin-bottom: var(--espacamento-medio);
}

.subtitulo-secao {
    font-size: 1.25rem;
    color: var(--cor-texto-secundario);
    margin-bottom: var(--espacamento-grande);
}

.lista-beneficios {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lista-beneficios li {
    display: flex;
    align-items: center;
    margin-bottom: var(--espacamento-pequeno);
    font-size: 1.1rem;
}

.lista-beneficios li::before {
    content: "✓";
    color: var(--cor-primaria);
    font-weight: bold;
    margin-right: var(--espacamento-pequeno);
}

/* --- Media Queries para Tipografia (Ajuste para telas menores) --- */
@media (max-width: 767px) {
    h1 {
        font-size: 2.0rem;
    }

    h2 {
        font-size: 1.8rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    .subtitulo-secao {
        font-size: 1rem;
    }
}

.texto-centro {
    text-align: center;
}

.texto-esquerda {
    text-align: left;
}

.texto-direita {
    text-align: right;
}

.texto-justificado {
    text-align: justify;
}
/* ========================================================================
   buttons.css - Estilos para botões e links de chamada para ação
   ======================================================================== */

.btn {
    display: inline-block;
    padding: var(--espacamento-pequeno) var(--espacamento-medio);
    font-family: var(--fonte-padrao);
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    border-radius: var(--borda-arredondada);
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
    border: 2px solid transparent;
    /* Para evitar o 'jump' em botões com borda */
}

/* --- Variação Primária --- */
.btn-primario {
    background-color: var(--cor-primaria);
    color: var(--cor-branco);
}

.btn-primario:hover {
    background-color: var(--cor-hover);
    /* Tom mais escuro da cor primária */
    transform: translateY(-2px);
}

/* --- Variação Secundária (Outline) --- */
.btn-secundario {
    background-color: transparent;
    color: var(--cor-primaria);
    border-color: var(--cor-primaria);
}

.btn-secundario:hover {
    background-color: var(--cor-primaria);
    color: var(--cor-branco);
    transform: translateY(-2px);
}

/* --- Variação de Tamanho --- */
.btn-pequeno {
    padding: 6px 12px;
    font-size: 0.9rem;
}

.btn-grande {
    padding: var(--espacamento-medio) var(--espacamento-grande);
    font-size: 1.1rem;
}

/* --- Link de Chamada (como os links dentro do card na imagem) --- */
.link-chamada {
    color: var(--cor-primaria);
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}

.link-chamada:hover {
    text-decoration: underline;
    color: var(--cor-secundaria);
}
/* ========================================================================
   Adicione este bloco ao seu arquivo blocks.css, substituindo o anterior
   ======================================================================== */

/* --- Botão de Copiar Código (design aprimorado) --- */
.componente-container {
    position: relative;
}

.btn-copiar {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    /* Espaçamento entre o ícone e o texto */
    border-radius: 5px;
    border: none;
    /* Borda bem arredondada (pill-shaped) */
    padding: 8px 16px;
    cursor: pointer;
}

.btn-copiar:hover {
    scale: 1.05;
    transition: ease-in-out 0.2s;
}
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap");

/* ===== Alturas em cadeia (CRÍTICO) ===== */
.creative-fullpage--slider {
    height: 75vh;
}

.creative-fullpage--slider .banner-horizental {
    height: 100%;
}

.creative-fullpage--slider .swiper-container-h {
    height: 100%;
}

/* ===== Full Page Slider ===== */
.creative-fullpage--slider {
    background-color: #ffffff;
    /* z-index: 2; */
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    font-size: 16px;
}

.creative-fullpage--slider .slider-inner {
    background: #000;
    height: 100%;
    position: relative;
}

.creative-fullpage--slider .swiper-slide {
    position: relative;
    display: flex;
    justify-content: center;
    text-align: left;
    flex-direction: column;
    overflow: hidden;
}

.creative-fullpage--slider .swiper-slide .slider-inner img,
.creative-fullpage--slider .swiper-slide .slider-inner video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

.creative-fullpage--slider .swiper-slide .slider-inner .swiper-content {
    position: absolute;
    top: 22%;
    left: 50px;
    z-index: 1;
}

.creative-fullpage--slider .swiper-slide .slider-inner::after {
    content: "";
    position: absolute;
    width: 101%;
    height: 100%;
    top: 0;
    left: -1px;
    background-color: transparent;
    background-image: radial-gradient(at center right, #FFFFFF00 50%, #00000096 100%);
    pointer-events: none;
    /* não bloqueia drag/click */
}

.swiper-slide .slider-inner .swiper-content .title-area .tag {
    color: #ffffff;
    font-weight: 900;
    font-size: 24px;
    margin: 0 0 10px 0;
}

.swiper-slide .slider-inner .swiper-content .title-area .title {
    margin-top: 50px;
    color: #fff;
    font-size: 8vw;
    font-family: "Inter", sans-serif;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: 50px;
    margin-left: -12px;
    text-decoration: none;
}

.swiper-slide .slider-inner .swiper-content p.disc {
    font-size: 20px;
    width: 100%;
    margin: 20px 0 40px 0;
    font-weight: 400;
    line-height: 32px;
    color: #FFFFFFB0;
}

/* ===== Botão criativo ===== */
.creative-btn--wrap .creative-slide--btn {
    color: #ffffff;
    margin-left: 18px;
    font-size: 1.4em;
    transition: margin-left 300ms cubic-bezier(0.49, 0, 0.01, 1);
    font-weight: 400;
    display: inline-flex;
    position: relative;
    white-space: nowrap;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    user-select: none;
    outline: none;
    box-shadow: none;
    backface-visibility: hidden;
}

.creative-btn--circle .circle {
    position: absolute;
    right: calc(100% - 10px);
    top: 0;
    bottom: 0;
    margin: auto;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    clip-path: circle(25% at 50% 50%);
    transition: clip-path 500ms cubic-bezier(0.49, 0, 0.01, 1);
}

.creative-btn--circle .circle .circle-fill {
    position: absolute;
    inset: 0;
    border-radius: 100%;
    background-color: #ffffff;
    transform: scale(0);
    z-index: 1;
    transition: transform 500ms cubic-bezier(0.49, 0, 0.01, 1), background-color 500ms cubic-bezier(0.49, 0, 0.01, 1);
}

.creative-btn--circle .circle-icon {
    transform: translate(-100%, 0%);
    position: absolute;
    inset: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    z-index: 2;
    transition: all 500ms cubic-bezier(0.49, 0, 0.01, 1);
}

.creative-btn--circle .circle-icon .icon-arrow {
    width: 20px;
    height: 20px;
    stroke: none;
    fill: #000;
}

.creative-btn--circle .circle-outline {
    fill: transparent;
    width: 10px;
    stroke: #ffffff;
}

.creative-btn--wrap .creative-slide--btn .creative-btn--label {
    margin-left: 4pt;
    transition: transform 500ms cubic-bezier(0.49, 0, 0.01, 1);
}

.creative-btn--wrap .creative-slide--btn .creative-btn__border {
    position: absolute;
    left: 4pt;
    right: 0;
    bottom: 0;
    height: 1px;
    background: currentColor;
    transform-origin: right;
    transition: transform 500ms cubic-bezier(0.49, 0, 0.01, 1);
}

.creative-btn--wrap .creative-slide--btn:hover .creative-btn--label {
    transform: translateX(18px);
}

.creative-btn--wrap .creative-slide--btn:hover .creative-btn__border {
    transform: scale(0, 1);
}

.creative-btn--wrap .creative-slide--btn:hover {
    margin-left: 38px !important;
}

.creative-btn--wrap .creative-slide--btn:hover .circle {
    clip-path: circle(50% at 50% 50%);
}

.creative-btn--wrap .creative-slide--btn:hover .circle-fill {
    transform: scale(1, 1);
}

.creative-btn--wrap .creative-slide--btn:hover .circle-icon {
    transform: translate(0%, 0%);
    opacity: 1;
}

/* ===== Navegação / Paginação ===== */
.creative-fullpage--slider .swiper-container-h .swiper-button-next,
.creative-fullpage--slider .swiper-container-h .swiper-button-prev {
    bottom: 5%;
    top: unset;
    background-color: #FFFFFF00;
    backdrop-filter: blur(20px);
    height: 85px;
    width: 85px;
    line-height: 85px;
    border-radius: 50%;
    transition: all 0.4s;
}

.creative-fullpage--slider .swiper-container-h .swiper-button-next {
    right: 50px;
}

.creative-fullpage--slider .swiper-container-h .swiper-button-prev {
    left: 50px;
}

.swiper-container-h .swiper-button-next::after,
.swiper-container-h .swiper-button-prev::after {
    font-family: inherit;
    /* fallback sem FA */
    font-size: 60px;
    color: #fff;
}

.swiper-container-h .swiper-button-next::after {
    content: "›";
    margin-bottom: 5px;
    margin-left: 3px;
}

.swiper-container-h .swiper-button-prev::after {
    content: "‹";
    margin-bottom: 5px;
    margin-right: 5px;
}

.swiper-container-h .swiper-button-next:hover,
.swiper-container-h .swiper-button-prev:hover {
    background: #FFFFFF0D;
}

.swiper-container-h .slider-pagination-area {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    width: 500px;
    z-index: 1;
}

.swiper-container-h .slider-pagination-area .slide-range {
    font-weight: 700;
    color: #ffffff;
    position: absolute;
    font-size: 20px;
    line-height: 0;
}

.swiper-container-h .slider-pagination-area .slide-range.one {
    left: -50px;
}

.swiper-container-h .slider-pagination-area .slide-range.three {
    right: -50px;
}

.swiper-container-h .slider-pagination-area .swiper-pagination {
    bottom: 0;
    width: 500px;
}

.swiper-container-h .slider-pagination-area .swiper-pagination .swiper-pagination-progressbar-fill {
    background: #ffffff;
}

/* ===== Conteúdo abaixo (apenas para demo de scroll) ===== */
.content-below {
    padding: 64px 0 200px;
    background: #f6f7f9;
}

.content-below .container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px;
}

.content-below h2 {
    margin: 0 0 16px;
    font: 700 32px/1.25 "Inter", sans-serif;
}

.content-below p {
    color: #444;
    line-height: 1.7;
    margin: 0 0 16px;
}

/* ===== Responsivo ===== */
@media (max-width: 991px) {
    .creative-fullpage--slider .swiper-slide .slider-inner .swiper-content {
        width: 100%;
        text-align: center;
        left: 0;
    }

    .creative-fullpage--slider .swiper-container-h .swiper-button-next,
    .creative-fullpage--slider .swiper-container-h .swiper-button-prev {
        height: 50px;
        width: 50px;
        line-height: 50px;
    }

    .swiper-container-h .slider-pagination-area {
        width: 200px;
    }

    .swiper-container-h .swiper-button-next::after,
    .swiper-container-h .swiper-button-prev::after {
        font-size: 30px;
    }

    .swiper-container-h .slider-pagination-area .swiper-pagination {
        width: 200px;
    }
}

@media (max-width: 767px) {
    .swiper-slide .slider-inner .swiper-content .title-area .title {
        font-size: 64px;
    }

    .swiper-slide .slider-inner .swiper-content .title-area .tag {
        margin-bottom: 0;
    }

    .swiper-slide .slider-inner .swiper-content p.disc {
        margin: 20px auto;
        font-size: 16px;
        width: 95%;
    }

    .swiper-container-h .slider-pagination-area {
        display: none;
    }

    .swiper-slide .slider-inner .swiper-content p.disc br {
        display: none;
    }
}
/* ========================================================================
   ESTILOS GLOBAIS E DE NAVEGAÇÃO
   ======================================================================== */
nav {
    display: flex;
    justify-content: space-between;
    background-color: var(--cor-primaria);
    position: relative;
    z-index: 1050;
    /* Z-index mais alto para garantir que esteja acima do hero/slider */
}

nav a {
    color: white;
    text-decoration: none;
    padding: 10px 15px;
}

nav a:hover {
    transform: scale(0.95);
}

nav a {
    transition: all 0.3s ease-in-out;
}

.navbar {
    display: flex;
    align-items: center;
    gap: var(--espacamento-padrao);
    align-items: baseline;
    z-index: 1000;
}

/* Overlay para escurecer o fundo */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    visibility: hidden;
    opacity: 0;
    z-index: 98;
    transition: visibility 0.4s, opacity 0.4s ease;
}

.menu-overlay.aberto {
    visibility: visible;
    opacity: 1;
}

/* ========================================================================
   Botão Hambúrguer
   ======================================================================== */
.hamburguer-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    position: relative;
    z-index: 1051;
}

.hamburguer-btn span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--cor-secundaria);
    position: absolute;
    left: 4px;
    transition: all 0.3s ease;
}

.hamburguer-btn span:nth-child(1) {
    top: 8px;
}

.hamburguer-btn span:nth-child(2) {
    top: 15px;
}

.hamburguer-btn span:nth-child(3) {
    top: 22px;
}

.hamburguer-btn.aberto span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.hamburguer-btn.aberto span:nth-child(2) {
    opacity: 0;
}

.hamburguer-btn.aberto span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

.hamburguer-btn.aberto span {
    background-color: white;
}

/* ========================================================================
   Submenu - Desktop
   ======================================================================== */
.menu-item-com-submenu {
    position: relative;
}

.menu-item-com-submenu a {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}

.submenu-arrow {
    width: 12px;
    height: 12px;
    transition: transform 0.3s ease;
}

.submenu {
    display: block;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    background-color: #115098;

    border-radius: 6px;
    padding: 10px 0;
    z-index: 1040;
    transform: translateY(10px);
    transition: all 0.3s ease-in-out;
}

.submenu a {
    color: var(--cor-texto-principal);
    padding: 10px 15px;
    display: block;
    white-space: nowrap;
    border-radius: 5px;
}

.submenu a:hover {
    background-color: var(--cor-secundaria);
    border-radius: 5px;
    opacity: 0.7;
}

/* Exibe o submenu no hover do mouse para desktop */
.menu-item-com-submenu:hover .submenu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.menu-item-com-submenu:hover .submenu-arrow {
    transform: rotate(180deg);
}

/*
/* ========================================================================
   ESTILOS RESPONSIVOS (MOBILE)
   ======================================================================== */
@media (max-width: 768px) {

    /* Mostra o botão hambúrguer */
    .hamburguer-btn {
        display: block;
    }

    /* Estilos do menu em telas menores (slider) */
    .navbar {
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        width: 80%;
        height: 100%;
        background-color: var(--cor-primaria);
        padding: 50px 30px;
        align-items: flex-start;
        justify-content: flex-start;
        gap: var(--espacamento-grande);
        z-index: 99;
        transform: translateX(-100%);
        visibility: hidden;
        transition: transform 0.4s ease-in-out, visibility 0.4s;
        overflow-y: auto;
    }

    .navbar.aberto {
        transform: translateX(0);
        visibility: visible;
    }

    .navbar a {
        font-size: 1.1rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        width: 100%;
        padding: 15px 20px;
        align-items: baseline;
    }

    .menu-item-com-submenu {
        width: 100%;
    }

    .menu-item-com-submenu a {
        width: 100%;
        justify-content: space-between;
        padding-right: 20px;
    }

    .submenu {
        position: static;
        width: 100%;
        background: none;
        box-shadow: none;
        border-radius: 0;
        padding-left: 20px;
        margin-top: 5px;
        transform: none;
        transition: none;
        visibility: visible;
        opacity: 1;
        display: none;
    }

    /* Exibe o submenu por padrão quando o navbar estiver aberto*/
    .navbar.aberto .submenu {
        display: block;
    }

    .submenu a {
        font-size: 1.1rem;
        font-weight: 400;
        padding-left: 0;
    }
}
/* Esconde o botão fora do mobile */
.menuBtnJS {
    display: none;
}

.row-container {
    width: 1200px;
    margin: 0 auto;
}

.zNav {
    background-color: #064987;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    padding: 10px 10%;
}

.mainLogo {
    width: 200px;
    height: auto;
}

.mainLogo img {
    width: 200px;
    height: auto;
}

ul.navList {
    padding-left: 0;
    margin-bottom: 0;
    list-style-type: none;
    display: flex;
    margin-left: auto;
}

ul.navList li {
    margin: 5px;
}

ul.navList li a {
    font-weight: 300;
    color: #fff;
    text-decoration: none;
    position: relative;
    margin-left: 10px;
    margin-right: 10px;
}

ul.navList li a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    right: 0;
    left: auto;
    bottom: 0;
    opacity: 0.5;
    background-color: #dee0f7;
    transition: .3s width ease;
}

ul.navList li a:hover {
    color: #dee0f7;
}

ul.navList li a:hover::before {
    width: 100%;
    right: auto;
    left: 0;
}

a.badge {
    padding: 9px;
}

a.badge::before {
    display: none !important;
}

/* --- MOBILE --- */
@media(max-width: 767px) {
    .zNav {
        padding: 10px 3%;
    }

    .menuBtnJS {
        display: grid;
        align-content: center;
        width: 50px;
        height: 50px;
        background-color: #fff;
        margin-left: auto;
        cursor: pointer;
        border: none;
        padding: 0;
    }

    .menuBtnJS span {
        display: block;
        background-color: #18193c;
        width: 30px;
        height: 5px;
        margin: 2px 10px;
        border-radius: 3px;
        transition: .5s all ease;
    }

    .menuBtnJS span:first-child {
        width: 20px;
    }

    .menuBtnJS span:last-child {
        width: 20px;
        margin-left: 20px;
    }

    .zNav .navList {
        flex-direction: column;
        background-color: #276dad;
        padding: 20px;
        min-width: 300px;
        min-height: calc(100vh - 70px);
        position: absolute;
        top: 70px;
        right: 0;
        transform: translateX(100%);
        transition: 0.5s transform ease;
        z-index: 100;
    }

    .zNav .navList.aberto {
        transform: translateX(0);
    }

    .zNav .navList li {
        margin-bottom: 20px;
    }
}
/* --- Tabela de Preços (novo componente) --- */
.tabela-precos-seletor {
    display: inline-flex;
    background-color: #E6E8EB;
    /* Fundo mais claro para contraste */
    border-radius: 9999px;
    padding: 4px;
    margin-bottom: var(--espacamento-secao);
}

.tabela-precos-seletor button {
    padding: 8px 16px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #4B5563;
    /* Cor do texto não-selecionado */
    background-color: transparent;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.tabela-precos-seletor button.ativo {
    background-color: var(--cor-primaria);
    /* Fundo de destaque */
    color: #FFFFFF;
    /* Cor do texto em destaque */
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.05);
}

.card-precos {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: var(--cor-branco);
    border: 1px solid #E6E8EB;
    border-radius: var(--borda-arredondada);
    padding: var(--espacamento-grande);
    box-shadow: var(--sombra-card);
    transition: transform 0.3s ease;
}

.card-precos.popular {
    border-color: var(--cor-primaria);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1), 0 0 0 2px var(--cor-primaria);
}

.card-precos-popular-tag {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--cor-primaria);
    color: #FFFFFF;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px 16px;
    border-radius: 0 2px 0 8px;
    font-weight: 500;
}

.card-precos-titulo {
    font-size: 1rem;
    font-weight: 600;
    color: #4B5563;
    text-transform: uppercase;
    margin-bottom: var(--espacamento-pequeno);
    text-align: center;
}

.card-precos-valor {
    font-size: 2.5rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: var(--espacamento-grande);
    text-align: center;
}

.card-precos-valor span {
    font-size: 1.25rem;
    color: #4B5563;
}

.card-precos-lista {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
    margin-bottom: var(--espacamento-grande);
}

/* Ajuste do bullet point */
.card-precos-lista li {
    display: flex;
    align-items: center;
    color: #4B5563;
    margin-top: 8px;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.card-precos-lista li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--cor-primaria);
    /* Cor do bullet */
    margin-right: 12px;
    flex-shrink: 0;
}

.card-precos .btn-cta {
    width: 100%;
    margin-top: auto;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 9999px;
    text-align: center;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.card-precos .btn-cta.btn-secundario {
    background-color: #F3F4F6;
    color: #4B5563;
    border: 1px solid #D1D5DB;
}

.card-precos .btn-cta.btn-principal {
    /* background-color: var(--cor-primaria); */
    background-color: #0cb188ff;
    color: #FFFFFF;
    /* border: 1px solid var(--cor-primaria); */
    border: 1px solid rgb(7, 107, 82);
    font-weight: 550;
}

.card-precos-subtexto {
    font-size: 0.75rem;
    color: #9CA3AF;
    margin-top: 16px;
    text-align: center;
}

/* --- Tabela de Preços (novo componente em formato de tabela) --- */
.tabela-precos-comparativa {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: var(--espacamento-secao);
}

.tabela-precos-comparativa thead th {
    padding: 1rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cor-texto-secundario);
    text-align: center;
    border-bottom: 1px solid #E5E7EB;
}

.tabela-precos-comparativa tbody tr {
    transition: background-color 0.3s ease;
}

.tabela-precos-comparativa tbody tr:hover {
    background-color: #F9FAFB;
}

.tabela-precos-comparativa tbody tr:last-child {
    border-bottom: 1px solid #E5E7EB;
}

.tabela-precos-comparativa td {
    padding: 1rem 1.5rem;
    color: var(--cor-texto-principal);
    font-size: 0.95rem;
    border-top: 1px solid #E5E7EB;
    /* Alinhamento de texto padrão para o corpo da tabela */
    text-align: center;
}

.tabela-precos-comparativa td:first-child {
    font-weight: 600;
    text-align: left;
    /* Garante que a primeira coluna fique alinhada à esquerda */
}

.tabela-precos-comparativa td:last-child {
    text-align: center;
    /* Garante que a última coluna com os radio bullets fique centralizada */
}

.tabela-precos-comparativa .radio-bullet {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #D1D5DB;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.tabela-precos-comparativa .radio-bullet.ativo {
    border-color: var(--cor-primaria);
}

.tabela-precos-comparativa .radio-bullet.ativo::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--cor-primaria);
}

.tabela-precos-comparativa .price {
    font-weight: 700;
    font-size: 1.1rem;
}

.tabela-precos-comparativa .price-mo {
    font-size: 0.9rem;
    color: var(--cor-texto-secundario);
    font-weight: 400;
}

.btn-link {
    font-weight: 600;
    text-decoration: none;
    color: var(--cor-primaria);
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-link:hover {
    color: #3730A3;
}

.btn-cta {
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 9999px;
    text-align: center;
    text-decoration: none;
    background-color: var(--cor-primaria);
    color: #FFFFFF;
    border: 1px solid var(--cor-primaria);
    transition: all 0.3s ease;
}

.btn-cta:hover {
    background-color: #4338CA;
    border-color: #4338CA;
}
.aldi-clients-section *,
.aldi-clients-section *::before,
.aldi-clients-section *::after {
    box-sizing: border-box;
}

.aldi-clients-section {
    font-family: 'Inter', sans-serif;
    color: #fff;
    width: 100%;
    background: transparent;
    padding: 20px 0;
    margin: 0;
    position: relative;
}

.aldi-clients-container {
    max-width: 1450px;
    margin: 0 auto;
    padding: 10px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    background: none;
}

.aldi-clients-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
    justify-content: center;
    align-items: center;
}

/* Animations for logos */
@keyframes aldi-clients-appear {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.8);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes aldi-clients-float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

@keyframes aldi-clients-ripple {
    0% {
        transform: scale(0);
        opacity: 0.8;
    }

    100% {
        transform: scale(2.5);
        opacity: 0;
    }
}

/* Client Logo styles */
.aldi-clients-logo {
    width: 150px;
    height: 150px;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0;
    animation: aldi-clients-appear 0.6s ease-out forwards;
}

.aldi-clients-logo::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.3) 50%, transparent 70%);
    transform: translateX(-100%) translateY(-100%) rotate(45deg);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0;
    pointer-events: none;
}

.aldi-clients-logo:nth-child(odd) {
    animation: aldi-clients-appear 0.6s ease-out forwards, aldi-clients-float 4s ease-in-out infinite;
}

.aldi-clients-logo::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: 26px;

    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.aldi-clients-logo img {
    width: 70%;
    height: 70%;
    object-fit: contain;
    border-radius: 12px;
    transition: all 0.3s ease;
    filter: brightness(0.85) saturate(0.9);
}

.aldi-clients-logo:hover {
    transform: translateY(-8px) scale(1.1);

}

.aldi-clients-logo:hover::before {
    opacity: 1;
}

.aldi-clients-logo:hover::after {
    opacity: 1;
    transform: translateX(100%) translateY(100%) rotate(45deg);
}

.aldi-clients-logo:hover img {
    transform: scale(1.1);
    filter: brightness(1.1) saturate(1.1);
}
.sanfona .item {
    display: block;
    padding: 15px;
    background: transparent;
    margin-bottom: 5px;
    max-width: 1100px;
    margin: 5px auto;
    border-radius: 7px;
    border: solid 1px var(--cor-cinza-claro);
    box-shadow: var(--sombra-card);
}

.item:hover {
    background-color: #ffffff10;
    cursor: pointer;
}

.item h3 {
    font-size: 15px !important;
    font-weight: 900 !important;
    color: var(--cor-primaria);
}

.sanfona .item h3 {
    cursor: pointer;
    margin: 3px 0;
    font-size: 1.4em;
    padding: 5px 0;
    margin-bottom: 3px;
}

.duvida:before,
.duvida.ativo:before {
    content: "•";
    display: inline-block;
    margin-right: 5px;
}

.duvida.ativo {
    color: var(--cor-secundaria);
}

.duvida.ativo:before {
    content: "•";
}

.resposta {
    padding: 10px;
}
.footer-minimalista {
    background-color: var(--cor-primaria);
    color: var(--cor-branco);
    padding: var(--espacamento-secao) 0;
    text-align: center;
}

.footer-minimalista .footer-topo {
    margin-bottom: 30px;
}

.footer-minimalista .logo-footer {
    color: var(--cor-branco);
    text-decoration: none;
    display: inline-block;
    margin-bottom: 10px;
}

.footer-minimalista .footer-meio {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 30px 0;
    margin-bottom: 30px;
}

.footer-minimalista .btn {
    margin-top: 20px;
    padding: 12px 25px;
}

.footer-minimalista .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.footer-minimalista .redes-sociais a {
    color: var(--cor-branco);
    text-decoration: none;
    margin: 0 10px;
}

@media (max-width: 768px) {
    .footer-minimalista .footer-bottom {
        flex-direction: column;
    }
}
.rays-area {
    position: relative;
    overflow: hidden;
}

/* Raio */
.ray {
    position: absolute;
    height: 3px;
    width: 350px;
    /* comprimento definido */
    background: linear-gradient(90deg, transparent, #ff0040, #00ccff, transparent);
    opacity: 0;
    /* 50% */
    animation: ray-move 2s linear infinite;
}

/* Indo da esquerda para a direita */
@keyframes ray-move {
    0% {
        transform: translateX(-260px);
        /* começa 100% fora da tela esquerda */
        opacity: 0;
    }

    10% {
        opacity: 0.2;
    }

    90% {
        opacity: 0.2;
    }

    100% {
        transform: translateX(150vw);
        /* sai 100% fora da direita */
        opacity: 0;
    }
}

/* Indo da direita para a esquerda */
.ray.reverse {
    animation-name: ray-move-reverse;
}

@keyframes ray-move-reverse {
    0% {
        transform: translateX(200vw);
        /* começa fora da direita */
        opacity: 0;
    }

    10% {
        opacity: 0.1;
    }

    90% {
        opacity: 0.1;
    }

    100% {
        transform: translateX(-260px);
        /* sai fora da esquerda */
        opacity: 0;
    }
}
/* --- Cards de Produto/Plano --- */
.card {
    background-color: var(--cor-branco);
    border-radius: var(--borda-arredondada);
    box-shadow: var(--sombra-card);
    padding: var(--espacamento-grande);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}

.card-header {
    margin-bottom: var(--espacamento-medio);
}

.card-body {
    flex-grow: 1;
    /* Faz o corpo ocupar o espaço restante */
}

.card-footer {
    margin-top: var(--espacamento-medio);
}

.card-imagem {
    width: 100%;
    max-width: 200px;
    height: auto;
    margin: 0 auto var(--espacamento-medio);
}

/* --- Card de Artigo (novo componente) --- */
.card-artigo {
    background-color: var(--cor-branco);
    border-radius: var(--borda-arredondada);
    box-shadow: var(--sombra-card);
    overflow: hidden;
    /* Garante que a imagem não saia dos cantos arredondados */
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-artigo:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}

.card-artigo-imagem {
    width: 100%;
    height: auto;
    display: block;
}

.card-artigo-conteudo {
    padding: var(--espacamento-medio) var(--espacamento-grande);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.card-artigo-categoria {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--cor-texto-secundario);
    text-transform: uppercase;
    margin-bottom: var(--espacamento-pequeno);
}

.card-artigo h3 {
    font-size: 1.25rem;
    line-height: 1.3;
    margin-bottom: var(--espacamento-pequeno);
}

.card-artigo-descricao {
    font-size: 0.9rem;
    color: var(--cor-texto-secundario);
    flex-grow: 1;
    /* Ocupa o espaço restante */
    margin-bottom: var(--espacamento-medio);
}

.card-artigo-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--cor-cinza-claro);
    padding-top: var(--espacamento-medio);
}

.card-artigo-metadata {
    display: flex;
    align-items: center;
    font-size: 0.8rem;
    color: var(--cor-texto-secundario);
}

.card-artigo-metadata span {
    margin-right: var(--espacamento-pequeno);
    display: flex;
    align-items: center;
}

.card-artigo-metadata span::before {
    content: "♥";
    /* Exemplo de ícone de like */
    margin-right: 4px;
    font-size: 1rem;
    color: var(--cor-secundaria);
}

.card-artigo-metadata .views::before {
    content: "👁️";
    /* Exemplo de ícone de visualizações */
    font-size: 1rem;
    color: var(--cor-primaria);
}

.card-artigo-metadata .likes::before {
    content: "👍";
    /* Exemplo de ícone de likes */
    font-size: 1rem;
    color: var(--cor-primaria);
}

.card-artigo-metadata .comments::before {
    content: "💬";
    /* Exemplo de ícone de comentários */
    font-size: 1rem;
    color: var(--cor-primaria);
}


/* --- Card de Feature (novo componente) --- */
.card-feature {
    background-color: var(--cor-branco);
    border-radius: var(--borda-arredondada);
    box-shadow: var(--sombra-card);
    padding: var(--espacamento-grande);
    display: flex;
    flex-direction: column;
    text-align: left;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-feature:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
}

.card-feature-conteudo {
    display: flex;
    align-items: center;
    margin-bottom: var(--espacamento-medio);
}

.card-feature-icon {
    width: 60px;
    height: 60px;
    background-color: var(--cor-fundo-secao);
    /* Cor de fundo suave para o ícone */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: var(--espacamento-medio);
    flex-shrink: 0;
}

.card-feature-icon img,
.card-feature-icon svg {
    max-width: 40px;
    height: auto;
}

.card-feature h3 {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}

.card-feature-descricao {
    font-size: 0.95rem;
    color: var(--cor-texto-secundario);
    flex-grow: 1;
    /* Ocupa o espaço restante */
    margin-bottom: var(--espacamento-medio);
}
/* --- Visualização Mobile (Aplicada às seções) --- */

section.visualizacao-mobile {
    max-width: 300px;
    /* Largura típica de um smartphone */
    margin: 10px auto;
    /* Centraliza a visualização */
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    padding: 10px 5px;
    overflow-x: hidden;
    margin-bottom: var(--espacamento-secao);
    /* Adiciona espaço entre as seções */
}

/* Regra para a Classe de Simulação do JS */
section.visualizacao-mobile h1,
section.visualizacao-mobile h2,
section.visualizacao-mobile h3 {
    font-size: 1.5em;
    /* Ajustei o valor para ficar mais compatível com telas pequenas */
}

/* --- Componente de Botões de Alternância (Nav) --- */
.botoes-toggle-nav {
    display: inline-flex;
    background-color: #E6E8EB;
    border-radius: 9999px;
    padding: 3px;
    gap: 4px;
}

.botoes-toggle-nav button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    background-color: transparent;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 36px;
    height: 36px;
}

.botoes-toggle-nav button svg {
    width: 20px;
    height: 20px;
    stroke: #4B5563;
    transition: stroke 0.3s ease;
}

.botoes-toggle-nav button.ativo {
    background-color: var(--cor-primaria);
}

.botoes-toggle-nav button.ativo svg {
    stroke: var(--cor-branco);
}

/* --- Componente de Toggle (Modo Claro/Escuro) --- */
.toggle-cor {
    position: relative;
    width: 60px;
    height: 32px;
    background-color: var(--cor-principal);
    border-radius: 9999px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    padding: 4px;
}

.toggle-cor-circulo {
    width: 24px;
    height: 24px;
    background-color: var(--cor-branco);
    border-radius: 50%;
    position: absolute;
    left: 4px;
    top: 4px;
    transition: transform 0.3s ease;
}

.toggle-cor.ativo {
    background-color: #FACC15;
    /* Cor para o modo claro */
}

.toggle-cor.ativo .toggle-cor-circulo {
    transform: translateX(28px);
}
/* Vento Compatibility CSS — Restoring ORIGEM Aesthetics */

.th-space {
    width: 100%;
    height: 30px;
    clear: both;
}

.th-space-10 {
    width: 100%;
    height: 10px;
    clear: both;
}

/* Layout helpers */
.th-container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 15px;
}

.th-single {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 15px 30px;
}

.th-single__content {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #334155;
}

.th-single__content p {
    margin-bottom: 1.5rem;
}

.main-header {
    background: #042f5b !important;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.4);
    height: 77px;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1050;
}

.th-bg-hero {
    background: #042f5b;
    color: #fff;
    padding: 30px 0 60px;
    margin-bottom: 50px;
}

/* Horizontal Cards Section (Gestão) */
.horizontal-cards .content-wrapper {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

@media (max-width: 992px) {
    .horizontal-cards .content-wrapper {
        grid-template-columns: 1fr;
    }
}

.main-card img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    border-radius: 8px;
}

.main-card h3 {
    font-size: 1.8rem;
    font-weight: 800;
    margin: 20px 0 15px;
    color: #0f172a;
    line-height: 1.2;
}

.main-card p {
    font-size: 1.1rem;
    color: #475569;
    line-height: 1.6;
}

.side-posts {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.small-card {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 15px;
    align-items: center;
}

.small-card img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 6px;
}

.small-card h3 {
    font-size: 0.95rem;
    font-weight: 800;
    margin: 0;
    color: #1e293b;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Section Headers */
.th-container h2 {
    font-size: 2.2rem;
    font-weight: 900;
    margin-bottom: 30px;
    color: #0f172a;
    text-align: left;
    text-transform: capitalize;
    letter-spacing: -0.5px;
}

.th-bg-hero h2 {
    color: #fff;
}

/* Single Article Styles */
.th-single {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 15px;
}

.th-single__header {
    text-align: left;
    margin-bottom: 30px;
}

.th-single__title {
    font-size: 2.8rem;
    font-weight: 800;
    color: #1e293b;
    margin: 15px 0;
    line-height: 1.1;
}

.th-single__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--th-muted, #64748b);
    font-size: 0.9rem;
    margin-bottom: 15px;
}

.th-single__badge {
    display: inline-block;
    padding: 4px 12px;
    background: var(--th-accent, #2563eb);
    color: #fff;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 10px;
}

.th-single__thumb {
    margin-bottom: 30px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.th-single__thumb img {
    width: 100%;
    display: block;
}

.th-single__text {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #334155;
}

.th-single__text p {
    margin-bottom: 1.5rem;
}

.th-single__text img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 8px;
}

/* Restaura o estilo de links no corpo do texto (protegendo de resets globais) */
.th-single__text a {
    color: var(--cor-secundaria, #007bff);
    text-decoration: none;
    font-weight: 600;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.th-single__text a:hover {
    color: var(--cor-primaria, #0056b3);
    opacity: 0.85;
}

.th-single__text ul,
.th-single__text ol,
.th-single__text li {
    padding: 0 15px;
}

/* Usabilidade Mobile para Tabelas */
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1.5rem;
    display: block;
    border-radius: 6px;
}

.th-single__text table,
.public-post-content table {
    width: 100%;
    border-collapse: collapse;
    min-width: 500px;
    /* Força o scroll horizontal em telas menores que 500px */
}

.th-single__text table th,
.th-single__text table td,
.public-post-content table th,
.public-post-content table td {
    padding: 5px !important;
    border: 1px solid rgba(0, 0, 0, 0.1);
}



/* Social Share */
.social-share {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin: 30px 0;
}

.social-share a {
    color: #64748b;
    transition: color 0.3s;
}

.social-share a:hover {
    color: var(--th-accent, #2563eb);
}

/* Vento Section Styles (Slider & Grid) */
.vento-content-wrapper {
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr;
}

@media (min-width: 992px) {
    .vento-content-wrapper {
        grid-template-columns: 2fr 1fr;
    }
}

.vento-slider {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.vento-slides-container {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.vento-slide {
    min-width: 100%;
    flex-shrink: 0;
}

.vento-main-post {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.vento-post-image {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.3s ease;
}

.vento-main-post:hover .vento-post-image {
    transform: scale(1.05);
}

.vento-post-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, transparent 70%);
    color: #fff;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.vento-meta-info {
    font-size: 13px;
    margin-bottom: 12px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.vento-category-tag {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.5px;
}

.vento-title {
    font-size: 2.2rem;
    font-weight: 800;
    margin: 5px 0 0;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    max-width: 85%;
}

.vento-slider-nav {
    position: absolute;
    bottom: 30px;
    right: 30px;
    display: flex;
    gap: 12px;
}

.vento-slider-nav button {
    background-color: rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
    color: #fff;
}

.vento-slider-nav button:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

.vento-small-posts-grid {
    display: grid;
    gap: 15px;
    grid-template-columns: 1fr;
    align-content: stretch;
}

.vento-small-post {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    padding: 20px 24px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: none;
    height: 100%;
}

.vento-small-post:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.vento-small-title {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0 0 8px;
    line-height: 1.3;
    color: #2d57b9;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.vento-small-excerpt {
    font-size: 0.9rem;
    color: #64748b;
    margin: 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Generic Card Styles (th-card) */
.th-card {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.th-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.th-card__thumb {
    display: block;
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.th-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.th-card__body {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.th-card__meta {
    font-size: 0.75rem;
    color: #64748b;
    margin-bottom: 8px;
    text-transform: uppercase;
    font-weight: 600;
}

.th-card__title {
    font-size: 1rem;
    font-weight: 800;
    margin: 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.th-card__title a {
    text-decoration: none;
    color: #1e293b;
}

.th-badge {
    position: absolute;
    left: 10px;
    top: 10px;
    background: #0095ff;
    color: #fff;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    z-index: 2;
}

/* Grid Layout */
.th-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

@media (max-width: 992px) {
    .th-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .th-grid {
        grid-template-columns: 1fr;
    }
}

/* Listicle Grid Layout (Comunicação/Conectividade) */
.listicle ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

@media (max-width: 1200px) {
    .listicle ul {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .listicle ul {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .listicle ul {
        grid-template-columns: 1fr;
    }
}

.listicle li {
    height: 100%;
}

.listicle a {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.listicle a:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.listicle img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}

.listicle .content {
    padding: 15px;
}

.listicle h3 {
    font-size: 1rem;
    font-weight: 800;
    color: #1e293b;
    line-height: 1.3;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.listicle .tag {
    background: #0095ff;
    color: #fff;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    position: absolute;
    top: 10px;
    left: 10px;
}

.listicle li {
    position: relative;
}
    .th-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
    }

    .th-hero__grid {
        display: grid;
        grid-template-columns: 1fr 380px;
        gap: 40px;
        margin-bottom: 60px;
    }

    .th-posts-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: 25px;
    }

    .th-section-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 25px;
    }

    .th-category-title {
        font-size: 1.8rem;
        color: #111;
        position: relative;
    }

    .th-category-title::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 40px;
        height: 3px;
        background: #0095ff;
        /* CCS Blue */
    }

    .th-divider {
        border: 0;
        border-top: 1px solid #eee;
        margin: 50px 0;
    }

    .th-blog-hero {
        padding: 40px 0 50px;
        background: radial-gradient(circle at 30% 20%, #063c75, #042f5b 45%, #021a33 100%);
        /* CCS Dark Blue */
    }

    .th-hero__layout {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 32px;
        align-items: stretch;
    }

    .th-hero-featured {
        position: relative;
        border-radius: 18px;
        overflow: hidden;
        min-height: 320px;
        box-shadow:
            0 18px 40px rgba(0, 0, 0, 0.35),
            0 0 0 1px rgba(4, 47, 91, 0.12);
        background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.08), #042f5b);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        color: #f9fafb;
        order: 1;
        /* Hero on the left */
    }

    .th-hero-featured__img {
        position: absolute;
        inset: 0;
        margin: 0;
        border-radius: inherit;
        overflow: hidden;
        display: block;
    }

    .th-hero-featured__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
        transform-origin: center;
    }

    .th-hero-featured__img:hover img {
        transform: scale(1.03);
    }

    .th-hero-featured__title {
        font-size: 2.4rem !important;
        line-height: 1.1;
        margin-bottom: 12px;
        max-width: 26ch;
        font-weight: 800;
    }

    .th-hero-featured__title a {
        color: #fff;
        text-decoration: none;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
        font-size: inherit !important;
        /* Fixes tiny font-size override */
    }

    .th-hero-featured__excerpt {
        color: rgba(241, 245, 249, 0.9);
        line-height: 1.6;
        margin-bottom: 18px;
        font-size: 1rem;
        max-width: 60ch;
    }

    .th-hero-featured__content {
        position: relative;
        z-index: 1;
        padding: 80px 28px 26px;
        background: linear-gradient(to top, rgba(4, 47, 91, 0.97) 0%, rgba(4, 47, 91, 0.75) 67%, rgba(4, 47, 91, 0) 97%);
    }

    /* Cards Laterais */
    .th-hero-sidebar {
        display: flex;
        flex-direction: column;
        gap: 22px;
        order: 2;
        /* Sidebar on the right */
    }

    .th-hero-side-card {
        display: grid;
        grid-template-columns: 170px 1fr;
        gap: 16px;
        align-items: center;
        padding: 20px;
        border-radius: 16px;
        background: #f9fafb;
        box-shadow:
            0 10px 20px rgba(4, 47, 91, 0.10),
            0 0 0 1px rgba(4, 47, 91, 0.15);
        transition: transform 0.18s ease-out, box-shadow 0.18s ease-out, background 0.18s ease-out;
        cursor: pointer;
    }

    .th-hero-side-card:hover {
        transform: translateY(-2px);
        background: #ffffff;
        box-shadow:
            0 16px 28px rgba(4, 47, 91, 0.16),
            0 0 0 1px rgba(4, 47, 91, 0.18);
    }

    .th-hero-side-card__img {
        aspect-ratio: 4/3;
        border-radius: 12px;
        overflow: hidden;
    }

    .th-hero-side-card__img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .th-hero-side-card__title {
        font-size: 1.2rem;
        line-height: 1.3;
        margin-bottom: 6px;
    }

    .th-hero-side-card__title a {
        color: #042f5b;
        text-decoration: none;
        font-weight: 800;
    }

    .th-hero-side-card__excerpt {
        color: #4b5563;
        font-size: 0.9rem;
        line-height: 1.4;
        margin-bottom: 10px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    /* Badges */
    .th-badge-link {
        display: inline-block;
        padding: 4px 14px;
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 20px;
        font-size: 0.75rem;
        font-weight: 700;
        text-decoration: none;
        text-transform: uppercase;
        background-color: rgba(255, 255, 255, 0.2);
        color: #fff;
    }

    .th-badge-link:hover {
        background: #0095ff;
        color: #fff;
        border-color: #0095ff;
    }

    .th-hero-side-card__content {
        margin-top: -10px;
    }

    .th-hero-side-card .th-badge-link {
        border-color: #042f5b;
        background-color: #042f5b;
        color: #fff;
    }

    .th-hero-side-card .th-badge-link:hover {
        background-color: #0095ff;
        border-color: #0095ff;
    }

    @media (max-width: 992px) {
        .th-hero__layout {
            grid-template-columns: 1fr;
        }

        .th-hero-side-card {
            grid-template-columns: 130px 1fr;
        }

        .th-hero-sidebar,
        .th-hero-featured {
            order: initial;
        }

        .th-hero-featured__title {
            font-size: 1.8rem !important;
        }
    }

    @media (max-width: 576px) {
        .th-hero-featured__title {
            font-size: 1.4rem !important;
            line-height: 1.2;
            margin-bottom: 15px;
        }

        .th-hero-featured__excerpt {
            font-size: 0.95rem;
            line-height: 1.5;
            -webkit-line-clamp: 3;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
    }

    /* General Cards */
    .th-card-2 {
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        overflow: hidden;
        background: #fff;
        max-width: 400px;
        margin: 0 auto;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .th-card-2:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    }

    .th-posts-grid .th-card-2 {
        width: 100%;
        max-width: 100%;
        min-height: 360px;
        display: grid;
        grid-template-rows: 210px 1fr;
    }

    .th-posts-grid .th-card__thumb-2 {
        height: 210px;
        display: block;
        position: relative;
        overflow: hidden;
    }

    .th-posts-grid .th-card__thumb-2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

    .th-card-2:hover .th-card__thumb-2 img {
        transform: scale(1.05);
    }

    .th-posts-grid .th-card__body {
        display: grid;
        grid-template-rows: auto 1fr;
        gap: 6px;
        padding: 20px;
    }

    .th-posts-grid .th-card__meta {
        font-size: 0.85rem;
        color: #64748b;
        margin-bottom: 5px;
        display: block;
    }

    .th-posts-grid .th-card__title {
        margin: 0;
        line-height: 1.3;
        font-size: 1.15rem;
        font-weight: 700;
    }

    .th-posts-grid .th-card__title a {
        color: #042f5b;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-decoration: none;
    }

    .th-posts-grid .th-card__title a:hover {
        color: #0095ff;
    }

    .th-badge {
        position: absolute;
        top: 15px;
        left: 15px;
        background: rgba(4, 47, 91, 0.85);
        color: #fff;
        padding: 4px 12px;
        border-radius: 4px;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        z-index: 2;
    }

    hr {
        border: none;
        border-top: 2px solid #e5e7eb;
        margin: 50px 0;
        width: 100%;
        max-width: 1260px;
        margin-left: auto;
        margin-right: auto;
    }
    /* Conformidade: Aplicação de Idempotência e Prioridade [CA v1.0, 2.1; Pol. Qualidade, I] */
    /* Este bloco utiliza seletores ID para a máxima especificidade, garantindo que o alinhamento
    e o design sejam consistentes, sobrepondo estilos de classes globais conflitantes. */

    /* 1. Estilo do Overlay (Container fixo de tela cheia) */
    #conversion-modal.th-modal-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 9999;
        background: rgba(0, 0, 0, .65);
        /* O JS deve setar display: block para mostrar o modal */
        display: none;
        overflow-y: auto;
    }

    /* 2. Centralização Perfeita e Aparência do Conteúdo (IDEMPOTENTE) */
    #conversion-modal .th-modal-content {
        /* POSICIONAMENTO: Centralização vertical e horizontal garantida com Position e Transform */
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        /* Centralização perfeita, zera margens conflitantes */

        /* DESIGN: Estilos de caixa (Replicando o Modal de Avaliação) */
        background: white;
        padding: 25px;
        /* Replica o padding do modal de avaliação */
        border-radius: 8px;
        max-width: 400px;
        /* Replica a largura máxima do modal de avaliação */
        width: 90%;
        box-sizing: border-box;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);

        /* Zera margens e define limites de tela */
        margin: 0;
        max-height: 90vh;
        overflow-y: auto;

        /* Animação ajustada para o transform de centralização */
        animation: scaleInConversion .25s ease;
    }

    /* 3. Re-definição da Animação para usar o Transform correto */
    @keyframes scaleInConversion {
        from {
            /* Garante que a animação comece no ponto de centralização (-50%, -50%) */
            transform: translate(-50%, -50%) scale(.8);
            opacity: .6;
        }

        to {
            /* Termina na posição centralizada (100% de escala) */
            transform: translate(-50%, -50%) scale(1);
            opacity: 1;
        }
    }

    /* 4. Estilos de Consistência (Replica o design interno do modal de Avaliação) */

    #conversion-modal .th-modal-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #eee;
        padding-bottom: 10px;
        margin-bottom: 15px;
    }

    #conversion-modal .th-close-btn {
        cursor: pointer;
        font-size: 1.5em;
    }

    #conversion-modal .th-form-group label {
        display: block;
        margin-bottom: 5px;
        font-weight: 600;
    }

    /* Garante que o input tenha a mesma aparência do input do modal de avaliação */
    #conversion-modal .th-form-group input,
    #conversion-modal .th-form-group select {
        width: 100%;
        padding: 10px;
        margin-bottom: 15px;
        box-sizing: border-box;
        border: 1px solid #ccc;
        border-radius: 4px;
    }

    #conversion-modal .th-modal-footer {
        display: flex;
        justify-content: center;
        gap: 10px;
        margin-top: 20px;
    }

    #conversion-modal #submit-conversion-btn,
    #conversion-modal .th-btn--primary {
        background: linear-gradient(135deg, var(--cor-secundaria, #0095ff) 0%, var(--cor-primaria, #042f5b) 100%);
        color: white;
        padding: 14px 24px;
        border-radius: 8px;
        font-weight: 700;
        font-size: 1rem;
        text-transform: uppercase;
        border: none;
        cursor: pointer;
        width: 100%;
        transition: all 0.3s ease;
        box-shadow: 0 4px 12px rgba(0, 149, 255, 0.2);
        display: block;
        text-align: center;
    }

    #conversion-modal #submit-conversion-btn:hover,
    #conversion-modal .th-btn--primary:hover {
        filter: brightness(1.1);
        transform: translateY(-1px);
        box-shadow: 0 6px 15px rgba(0, 149, 255, 0.3);
    }

    #conversion-modal #submit-conversion-btn:disabled {
        background: #ccc;
        cursor: not-allowed;
        box-shadow: none;
    }

    /* Estilos de Animação de Overlay (Mantidos do código original) */
    .fade-in {
        animation: fadeIn .3s ease;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    /* ── Preferência de Atendimento: Toggle Cards ── */

    #conversion-modal .th-pref-group {
        margin-bottom: 0;
    }

    #conversion-modal .th-pref-group__title {
        display: block;
        margin-bottom: 10px !important;
        font-weight: 600;
        font-size: .85rem;
        color: var(--th-muted, #64748b);
        letter-spacing: .3px;
        text-transform: uppercase;
    }

    #conversion-modal .th-pref-toggle {
        display: flex;
        gap: 10px;
    }

    #conversion-modal .th-pref-toggle__input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
        pointer-events: none;
    }

    #conversion-modal .th-pref-toggle__card {
        flex: 1;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 16px 8px 14px;
        border: 2px solid var(--th-border, #e5e7eb);
        border-radius: 12px;
        background: var(--th-surface, #f8fafc);
        cursor: pointer;
        transition: all .3s cubic-bezier(.4, 0, .2, 1);
        font-size: .82rem;
        font-weight: 600;
        color: var(--th-muted, #94a3b8);
        text-align: center;
        position: relative;
        overflow: hidden;
        user-select: none;
        -webkit-tap-highlight-color: transparent;
        width: auto !important;
        margin-bottom: 0 !important;
    }

    #conversion-modal .th-pref-toggle__card::after {
        content: '';
        position: absolute;
        top: 6px;
        right: 6px;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        border: 2px solid var(--th-border, #d1d5db);
        background: #fff;
        transition: all .3s cubic-bezier(.4, 0, .2, 1);
    }

    #conversion-modal .th-pref-toggle__card:hover {
        border-color: var(--th-accent, #10b981);
        background: color-mix(in srgb, var(--th-accent, #10b981) 5%, #fff);
        transform: translateY(-1px);
    }

    #conversion-modal .th-pref-toggle__card svg {
        width: 30px;
        height: 30px;
        flex-shrink: 0;
        transition: all .35s cubic-bezier(.4, 0, .2, 1);
        stroke: #94a3b8; /* Cor neutra inicial */
        fill: none; /* Garante que não comece preenchido */
    }

    /* Força ícone neutro no estado inicial */
    #conversion-modal .th-pref-toggle__card svg * {
        stroke: #94a3b8 !important;
        fill: none !important;
    }
    
    #conversion-modal label[for="conv_consulta_presencial"] svg * {
        fill: #94a3b8 !important;
        stroke: none !important;
    }

    #conversion-modal .th-pref-toggle__card span {
        transition: color .3s ease;
        line-height: 1.2;
    }

    /* ── Selected State ── */
    #conversion-modal .th-pref-toggle__input:checked+.th-pref-toggle__card {
        border-color: var(--th-accent, #10b981);
        background: linear-gradient(160deg,
                color-mix(in srgb, var(--th-accent, #10b981) 8%, #fff),
                color-mix(in srgb, var(--th-accent, #10b981) 2%, #fff));
        color: var(--th-accent, #10b981);
        box-shadow: 0 4px 18px -2px color-mix(in srgb, var(--th-accent, #10b981) 20%, transparent);
        transform: translateY(-2px);
    }

    #conversion-modal .th-pref-toggle__input:checked+.th-pref-toggle__card::after {
        border-color: var(--th-accent, #10b981);
        background: var(--th-accent, #10b981);
        box-shadow: inset 0 0 0 2px #fff;
    }

    #conversion-modal .th-pref-toggle__input:checked+.th-pref-toggle__card svg {
        transform: scale(1.12);
        filter: drop-shadow(0 2px 4px color-mix(in srgb, var(--th-accent, #10b981) 30%, transparent));
    }

    #conversion-modal .th-pref-toggle__input:checked+.th-pref-toggle__card svg * {
        stroke: var(--th-accent, #10b981) !important;
    }

    #conversion-modal .th-pref-toggle__input:checked+label[for="conv_consulta_presencial"] svg * {
        fill: var(--th-accent, #10b981) !important;
        stroke: none !important;
    }

    /* ── Focus for accessibility ── */
    #conversion-modal .th-pref-toggle__input:focus-visible+.th-pref-toggle__card {
        outline: 2px solid var(--th-accent, #10b981);
        outline-offset: 2px;
    }

    /* ── Pulse animation on check ── */
    @keyframes prefPulse {
        0% {
            box-shadow: 0 0 0 0 color-mix(in srgb, var(--th-accent, #10b981) 35%, transparent);
        }

        70% {
            box-shadow: 0 0 0 10px transparent;
        }

        100% {
            box-shadow: 0 0 0 0 transparent;
        }
    }

    #conversion-modal .th-pref-toggle__input:checked+.th-pref-toggle__card {
        animation: prefPulse .5s ease-out;
    }

    .btn-conversion {
        background: linear-gradient(135deg, var(--cor-secundaria, #0095ff) 0%, var(--cor-primaria, #042f5b) 100%);
        color: white;
        padding: 18px 24px;
        border-radius: var(--borda-arredondada, 8px);
        font-weight: 700;
        font-size: 1.1rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        text-align: center;
        border: none;
        cursor: pointer;
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        box-shadow: 0 6px 15px rgba(0, 149, 255, 0.3);
    }

    .btn-conversion:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(0, 149, 255, 0.5);
        filter: brightness(1.1);
    }

    .th-buy-button-module .btn-conversion {
        padding: 12px 16px;
        font-size: 0.9rem;
        letter-spacing: 0.2px;
        max-width: 420px;
        margin-inline: 0;
        text-decoration: none;
        color: #fff;
        transition: background-color 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    }

    /* Coluna do produto: sem escala no hover (evita “efeito” no texto) e cor fixa */
    .th-buy-button-module .btn-conversion:hover,
    .th-buy-button-module .btn-conversion:focus-visible {
        transform: none;
        color: #fff;
        text-decoration: none;
        filter: brightness(0.96);
    }

    .th-buy-button-module .btn-conversion svg {
        flex-shrink: 0;
        width: 20px;
        height: 20px;
    }
/**
 * themes/ccsbrasil/css/30-wpp-app-min.css
 * Versão Simplificada (Sem Popup)
 */
@keyframes animarwpp {
    0% { transform: scale(1, 1) }
    50% { opacity: .3 }
    100% { transform: scale(1.45); opacity: 0 }
}

#whatsapp-widget-container, 
#instagram-widget-container {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 90px;
    height: 90px;
    z-index: 1000;
    pointer-events: none;
    overflow: visible;
}

#instagram-widget-container {
    z-index: 999;
}

.nav-bottom,
.nav-bottom-ig,
.whatsapp-button,
.instagram-button {
    pointer-events: auto !important;
}

.nav-bottom, .nav-bottom-ig {
    display: flex;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 90px;
    height: 90px;
    justify-content: center;
    align-items: center;
}

.whatsapp-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    height: 70px;
    z-index: 10;
    transition: transform 0.3s, background 0.3s;
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: 50%;
    box-shadow: 1px 1px 15px 0 rgb(146 146 146 / .705);
    background: #25d366;
    padding: 10px;
    text-decoration: none;
}

.whatsapp-button:hover {
    transform: scale(1.05);
    background: #20bd5a;
}

.circle-anime {
    display: flex;
    position: absolute;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #77bb4a;
    animation: animarwpp 1.2s 4s ease infinite;
    pointer-events: none !important;
    z-index: 5;
}

/* Estilos base do botão do Instagram */
.nav-bottom-ig {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-content: flex-end;
    align-items: flex-end;
    /* fit-content: evita área transparente que intercepta cliques */
    width: fit-content;
    height: fit-content;
    position: fixed;
    z-index: 999;
    /* bottom é ajustado por JS via wpp-app-min.js quando WhatsApp está ativo */
    bottom: 20px;
    right: 0;
    padding: 5px;
    margin: 0;
    transition: bottom 0.3s ease;
}

@media (max-width: 360px) {
    .nav-bottom-ig {
        width: 320px;
    }
}

.instagram-button {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    z-index: 8;
    transition: transform 0.3s;
    margin-bottom: 0;
    margin-right: 10px;
    padding: 10px;
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: 50%;
    -webkit-box-shadow: 1px 1px 6px 0 rgb(68 68 68 / 0.705);
    -moz-box-shadow: 1px 1px 6px 0 rgb(68 68 68 / 0.705);
    box-shadow: 1px 1px 15px 0 rgb(146 146 146 / 0.705);
    text-decoration: none;
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.instagram-button:hover {
    transform: scale(1.1);
}

.instagram-button svg {
    filter: brightness(0) invert(1);
    width: 32px;
    height: 32px;
}

.animate-on-scroll {
    opacity: 0;
    /* Invisível inicialmente */
    transform: translateY(100px);
    /* Deslocado para baixo */
    transition: opacity 0.5s ease, transform 0.5s ease;
    /* Transição suave */
}

.animate-on-scroll.visible {
    opacity: 1;
    /* Torna visível */
    transform: translateY(0);
    /* Volta à posição original */
}
    /* ========================================================================
   ESTILOS GLOBAIS E DE NAVEGAÇÃO
   ======================================================================== */
    :root {
        /* Variáveis fictícias para simular o ambiente do cliente */
        --cor-texto-principal: #333;
    }

    a,
    ul,
    li {
        font-size: 14px;
        font-weight: 500;
    }

    /* CONTAINER DA NAV: Mantém o estilo base da barra */
    nav {
        display: flex;
        justify-content: space-between;
        background-color: var(--cor-primaria);
        position: relative;
        z-index: 1050;
    }

    nav a {
        color: white;
        text-decoration: none;
        padding: 10px 15px;
    }

    nav a:hover {
        transform: scale(0.95);
    }

    nav a {
        transition: all 0.3s ease-in-out;

    }

    /* WRAPPER DA LISTA DE ITENS (O SLIDER NO MOBILE) */
    .gm-menu-list-wrapper {
        display: flex;
        align-items: center;
        gap: var(--espacamento-padrao);

    }

    /* Overlay para escurecer o fundo */
    .gm-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        visibility: hidden;
        opacity: 0;
        z-index: 98;
        transition: visibility 0.4s, opacity 0.4s ease;
    }

    /* CLASSE DE ESTADO */
    .gm-menu-overlay.gm-is-open {
        visibility: visible;
        opacity: 1;

    }

    /* ========================================================================
   Botão Hambúrguer
   ======================================================================== */
    .gm-hamburguer-btn {
        display: none;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
        width: 32px;
        height: 32px;
        position: relative;
        z-index: 1051;
    }

    .gm-hamburguer-btn span {
        display: block;
        width: 24px;
        height: 2px;
        background-color: var(--cor-secundaria);
        position: absolute;
        left: 4px;
        transition: all 0.3s ease;
    }

    .gm-hamburguer-btn span:nth-child(1) {
        top: 8px;
    }

    .gm-hamburguer-btn span:nth-child(2) {
        top: 15px;
    }

    .gm-hamburguer-btn span:nth-child(3) {
        top: 22px;
    }

    /* CLASSE DE ESTADO */
    .gm-hamburguer-btn.gm-is-open span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .gm-hamburguer-btn.gm-is-open span:nth-child(2) {
        opacity: 0;
    }

    .gm-hamburguer-btn.gm-is-open span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

    .gm-hamburguer-btn.gm-is-open span {
        background-color: white;
    }

    /* ========================================================================
   Mega Menu Multi-Level - Desktop (HOVER)
   ======================================================================== */

    .gm-menu-item {
        position: relative;
    }

    .gm-menu-item>a {
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 5px;

    }

    .gm-arrow-icon {
        width: 12px;
        height: 12px;
        transition: transform 0.3s ease;
    }

    /* Contêiner do Mega Menu no Desktop - HIDE BY DEFAULT */
    .gm-mega-dropdown {
        display: none;
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%) translateY(10px);
        min-width: 700px;
        background-color: #f7f7f7;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        border-radius: 8px;
        padding: 20px;
        z-index: 1040;
        gap: 20px;

        /* REFINAMENTO: Transição mais elegante para o container principal */
        transition:
            opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1),
            /* Suavidade */
            transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        /* Movimento leve */
    }

    .gm-dropdown-column {
        flex: 1;
        min-width: 200px;
    }

    .gm-dropdown-column h4 {
        color: var(--cor-primaria);
        font-size: 1.1rem;
        margin-top: 0;
        margin-bottom: 10px;
        border-bottom: 1px solid #eee;
        padding-bottom: 5px;
    }

    .gm-dropdown-column ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    /* Links dentro do Mega Menu (Submenu Nível 1 e Nível 2) */
    .gm-dropdown-column ul li a {
        color: var(--cor-texto-principal);
        padding: 8px 10px;
        display: block;
        white-space: nowrap;
        text-decoration: none;
        border-radius: 4px;

        /* REFINAMENTO: Transição para o efeito de deslizar no hover do link */
        transition: background-color 0.2s, transform 0.2s ease-out;
    }

    .gm-dropdown-column ul li a:hover {
        background-color: #eee;
        color: var(--cor-primaria);
        transform: translateX(3px);
        /* Deslizar delicado para a direita */
    }

    /* Segundo Nível de Submenu */
    .gm-dropdown-column .gm-sub-submenu-list {
        padding-left: 10px;
        margin-top: 5px;
    }

    .gm-dropdown-column .gm-sub-submenu-list li a {
        padding-left: 20px;
        font-size: 0.95rem;
        color: #555;
    }

    .gm-dropdown-column .gm-sub-submenu-list li a:before {
        content: '• ';
        color: var(--cor-secundaria);
        font-weight: bold;
    }

    /* Exibe o Mega Menu no hover do mouse para desktop */
    .gm-menu-item:hover .gm-mega-dropdown {
        display: flex;
        visibility: visible;
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        /* Final slide up position */
    }

    .gm-menu-item:hover .gm-arrow-icon {
        transform: rotate(180deg);
    }

    /* ========================================================================
   ESTILOS RESPONSIVOS (MOBILE) - SEMPRE ABERTO (MANTIDO E ISOLADO)
   ======================================================================== */
    @media (max-width: 768px) {

        /* Mostra o botão hambúrguer */
        .gm-hamburguer-btn {
            display: block;
        }

        /* Estilos do menu em telas menores (slider) */
        .gm-menu-list-wrapper {
            flex-direction: column;
            position: fixed;
            top: 0;
            left: 0;
            width: 80%;
            height: 100%;
            background-color: var(--cor-primaria);
            padding: 50px 30px;
            align-items: flex-start;
            justify-content: flex-start;
            gap: var(--espacamento-grande);
            z-index: 99;
            transform: translateX(-100%);
            visibility: hidden;
            transition: transform 0.4s ease-in-out, visibility 0.4s;
            overflow-y: auto;
        }

        /* CLASSE DE ESTADO */
        .gm-is-open {
            display: flex;
            align-items: left !important;
        }

        .gm-menu-list-wrapper.gm-is-open {
            transform: translateX(0);
            visibility: visible;
        }


        /* Links gerais da nav */
        .gm-menu-list-wrapper a {
            font-size: 1.1rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            width: 100%;
            padding: 15px 20px;
        }

        .gm-menu-item {
            width: 100%;
        }

        /* Estilo do link principal do menu com submenu */
        .gm-menu-item>a {
            width: 100%;
            justify-content: space-between;
            padding-right: 20px;
            padding-left: 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            margin-bottom: 5px;
            font-size: 1.2rem;
        }

        /* A seta deve sumir no mobile */
        .gm-arrow-icon {
            display: none;
        }

        /* Mega Menu para Mobile - SEMPRE VISÍVEL E EM CASCATA */
        .gm-mega-dropdown {
            position: static;
            width: 100%;
            min-width: auto;
            background: none;
            box-shadow: none;
            border-radius: 0;
            padding: 0;
            margin-top: 5px;
            transform: none;
            transition: none;
            visibility: visible;
            opacity: 1;

            display: flex;
            flex-direction: column;
        }

        /* CORREÇÃO CRÍTICA: Neutraliza o hover de desktop para que o toque não quebre a exibição */
        .gm-menu-item:hover .gm-mega-dropdown {
            display: flex;
            visibility: visible;
            opacity: 1;
            transform: none;
        }

        .gm-dropdown-column {
            width: 100%;
            min-width: 100%;
            padding: 0;
            margin-bottom: 0;
        }

        .gm-dropdown-column h4 {
            color: white;
            border-bottom: none;
            padding-bottom: 0;
            margin-top: 5px;
            margin-bottom: 5px;
            font-weight: 600;
            padding: 8px 0 5px 0;
            border-top: 1px solid rgba(255, 255, 255, 0.05);
            font-size: 1.05rem;
        }

        .gm-dropdown-column:first-child h4 {
            border-top: none;
            margin-top: 0;
        }

        .gm-dropdown-column ul {
            padding-left: 10px;
        }

        /* Links do Mega Menu no mobile (sem animação de slide) */
        .gm-dropdown-column ul li a {
            color: rgba(255, 255, 255, 0.9);
            font-weight: 400;
            padding: 6px 0;
            font-size: 1rem;
            padding-left: 0;
            /* Neutraliza a transição de slide para mobile */
            transform: none;
        }

        .gm-dropdown-column ul li a:hover {
            background-color: transparent;
            color: var(--cor-secundaria);
            transform: none;
            /* Garante que não deslize */
        }

        /* Segundo Nível de Submenu (mobile) */
        .gm-dropdown-column .gm-sub-submenu-list {
            padding-left: 15px;
            margin-top: 0;
        }

        .gm-dropdown-column .gm-sub-submenu-list li a {
            padding-left: 0;
            font-size: 0.9rem;
            color: rgba(255, 255, 255, 0.7);
        }

        .gm-dropdown-column .gm-sub-submenu-list li a:before {
            content: '• ';
            color: var(--cor-secundaria);
            font-weight: bold;
        }
    }
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face{font-family:swiper-icons;src:url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}