/* =====================================================
   SÓ CONTAS - DESIGN SYSTEM
   Tecnologia | Segurança | Formação
===================================================== */
/* Bootstrap Icons (CDN) */
@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css');
/* ================= VARIÁVEIS ================= */
:root {
    /* CORES PRINCIPAIS */
    --verde:#22c55e;
    --verde-claro:#4ade80;
    --verde-escuro:#0a7559;
    --amarelo:#e0dd25;
    --azul-tech:#0ea5e9;
    /* FUNDOS */
    --fundo:#f4f6f8;
    --fundo-secundario:#edf1f5;
    --fundo-dark:#020617;
    /* TEXTOS */
    --texto:#111827;
    --texto-suave:#64748b;
    --texto-dark:#e5e7eb;
    /* ELEMENTOS */
    --card:rgba(255,255,255,.75);
    --border:rgba(15,23,42,.08);
    --sombra: 0 10px 30px rgba(15,23,42,.06), 0 2px 10px rgba(15,23,42,.04);
    --sombra-hover: 0 25px 55px rgba(15,23,42,.10), 0 10px 25px rgba(15,23,42,.06);
    --blur: blur(18px);
    /* CONFIGURAÇÕES */
    --radius:22px;
    --transicao:.35s ease;
    --container:1200px;
}
/* ============= MODO ESCURO ============= */
[data-theme="dark"] {
    --fundo:#020617;
    --fundo-secundario:#24365e;
    --texto:#f8fafc;
    --texto-suave:#94a3b8;
    --card:rgba(15,23,42,.75);
    --border:rgba(255,255,255,.1);
    --sombra:0 20px 50pxrgba(0,0,0,.45);
}
/* ================= RESET ================= */
* {
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Inter","Segoe UI",Arial,sans-serif;
    transition: color .25s, background-color .25s, border-color .25s;
}
html {
    scroll-behavior:smooth;
}
body {
    background:var(--fundo);
    color:var(--texto);
    line-height:1.65;
    overflow-x:hidden;
    transition: background-color .4s, color .4s, opacity .35s;
    font-size:16px;
    letter-spacing:.01em;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    opacity:0;
}
body.ready{
    opacity:1;
}
img {
    max-width:100%;
    display:block;
    image-rendering:auto;
    opacity:0;
    transition:opacity .45s,transform .4s;
}
img.loaded{
    opacity:1;
}
/* SVG icon helper */
.icon-svg, .site-icon {
    width:24px;
    height:24px;
    display:inline-block;
    vertical-align:middle;
    fill:currentColor;
    stroke:currentColor;
}
a {
    text-decoration:none;
    color:inherit;
    transition:.25s;
    cursor:pointer;
}
button {
    font-family:inherit;
    cursor:pointer;
}

/* ========== BOTÕES ========== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    font-size: 0.95rem;
    border-radius: 10px;
    border: 1px solid transparent;
    background: var(--card);
    color: var(--texto);
    box-shadow: none;
    transition: transform var(--transicao), box-shadow var(--transicao), background-color .22s;
    text-decoration: none;
}
.btn .bi{
    font-size:1.05em;
    line-height:1;
}
.btn:focus { outline: 3px solid rgba(14,165,233,.14); outline-offset: 2px; }
.btn:disabled,
.btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; pointer-events: none; }

.btn-primary {
    background: linear-gradient(180deg, var(--verde) 0%, var(--verde-escuro) 100%);
    color: #fff;
    border-color: transparent;
}
.btn-secondary,
.btn-secundario { /* compatibilidade PT/EN */
    background: #fff;
    color: var(--verde-escuro);
    border: 1px solid var(--border);
}
.btn-outline {
    background: transparent;
    color: var(--texto);
    border: 1px solid var(--border);
}
.btn-destaque { background: var(--azul-tech); color:#fff; border-color:transparent; }
.btn-whatsapp { background:#25D366; color:#fff; border-color:transparent; }
.btn-danger { background:#ef4444; color:#fff; border-color:transparent; }

/* Pequenas variações utilitárias */
.btn-sm { padding:6px 10px; font-size:.85rem; border-radius:8px; }
.btn-lg { padding:14px 20px; font-size:1.05rem; border-radius:12px; }
.action-btn { padding:6px 10px; border-radius:8px; }
.action-btn.danger { background: #ef4444; color:#fff; border: none; }

/* Espaçamento utilitário simples (uso conservador) */
.mt-8 { margin-top:8px !important; }
.mb-8 { margin-bottom:8px !important; }
.mt-16 { margin-top:16px !important; }
.mb-16 { margin-bottom:16px !important; }

/* Mapear classes antigas para nova aparência quando apropriado */
.admin-btn { padding:8px 12px; }

p{
    line-height:1.8;
    color:var(--texto-suave);
}
section{
    position:relative;
}
section h2{
    line-height:1.2;
    letter-spacing: -.4px;
}
.page-quick-actions {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin:28px auto 0;
}
.page-quick-actions .btn {
    min-width:150px;
    justify-content:center;
}
h1, h2, h3, h4, h5, h6{
    line-height:1.18;
    letter-spacing:-.03em;
    font-weight:800;
    color:var(--texto);
}
/* ========= CONTAINER GLOBAL ========= */
.container {
    width: min( 92%, var(--container) );
    margin: auto;
}
/* ========= COMPONENTES DE SEÇÃO ========= */
.section-intro,
.servicos-top,
.produtos-header,
.cursos-header {
    max-width: 760px;
    margin: 0 auto 56px;
    text-align: center;
}
.section-intro h2,
.section-intro h3,
.servicos-top h2,
.produtos-header h3,
.cursos-header h2 {
    font-size: clamp(2rem, 3.6vw, 2.8rem);
    line-height: 1.2;
    position: relative;
    letter-spacing: -.04em;
    margin-bottom: 16px;
}
.section-intro p,
.servicos-top p,
.produtos-header p,
.cursos-header p {
    max-width: 680px;
    margin: 0 auto;
    color: var(--texto-suave);
}
/* ================= TESTEMUNHOS ================= */
.testemunhos-section {
    padding: 36px 14px;
    background: rgba(248, 250, 252, 0);
}
.testemunhos-container {
    width: min(98%, var(--container));
    margin: 0 auto;
}
.testemunhos-header {
    display: grid;
    gap: 8px;
    justify-items: center;
    text-align: center;
    max-width: 660px;
    margin: 0 auto 20px;
}
.testemunhos-header p {
    color: #475569;
    font-size: .9rem;
    line-height: 1.6;
    max-width: 620px;
}
.testemunhos-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(210px, 1fr));
    gap: 12px;
    align-items: stretch;
}
.testemunho-card {
    position: relative;
    min-height: 250px;
    border-radius: 24px;
    overflow: hidden;
    background-image: var(--card-bg);
    background-size: cover;
    background-position: center;
    border: 1px solid rgba(255,255,255,.8);
    box-shadow: 0 20px 40px rgba(15, 23, 42, .08);
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.testemunho-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.7) 40%, rgba(255,255,255,.25) 100%);
}
.testemunho-card::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at top left, rgba(255,255,255,.45), transparent 30%);
    opacity: .85;
}
.testemunho-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 34px 60px rgba(15, 23, 42, .18);
    border-color: rgba(34,197,94,.28);
}
.testemunho-card:hover .testemunho-card-content {
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
.testemunho-card-content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
    height: 100%;
    padding: 16px;
    background: rgba(255,255,255,.72);
    border-radius: 20px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.72);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}
.testemunho-row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.testemunho-row span {
    color: #0f172a;
    font-weight: 700;
    font-size: .82rem;
    letter-spacing: .02em;
}
.testemunho-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,.95);
    box-shadow: 0 10px 18px rgba(15, 23, 42, .12);
    background: #fff;
}
.testemunho-card p {
    margin: 0;
    color: #334155;
    font-size: .86rem;
    line-height: 1.6;
}
.testemunho-meta {
    display: grid;
    gap: 2px;
    margin-top: auto;
}
.testemunho-meta strong {
    color: #0f172a;
    font-size: .88rem;
}
.testemunho-meta span {
    color: #64748b;
    font-size: .78rem;
}
@media (max-width: 960px) {
    .testemunhos-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 680px) {
    .testemunhos-section {
        padding: 44px 16px;
    }
    .testemunho-card {
        min-height: 300px;
    }
    .testemunho-card-content {
        padding: 22px;
    }
    .testemunho-card p {
        font-size: .95rem;
    }
}
.hero-premium,
.servicos-premium,
.grade-produtos,
.grade-cursos,
.cta,
.empresa-premium,
.candidatura-page,
.formulario-page {
    scroll-margin-top: 96px;
}
/* ========= SELEÇÃO DE TEXTO ========= */
::selection {
    background: #494949;
    color:white;
}
/* ========= SCROLLBAR PREMIUM ========= */
::-webkit-scrollbar{
    width:11px;
}
::-webkit-scrollbar-track{
    background:#eef2f7;
}
::-webkit-scrollbar-thumb{
    background:#b6c4d3;
    border-radius:20px;
}
::-webkit-scrollbar-thumb:hover{
    background:var(--verde);
}
body.dark ::-webkit-scrollbar-track{
    background:#07111f;
}
/* Acessibilidade e utilitários */
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
    outline:3px solid rgba(22,163,74,.3);
    outline-offset:3px;
}

/* ======== ESTILOS MOVIDOS DE INLINE ======== */
/* Classe para esconder elementos sem usar display:none */
.formulario-hidden {
    display: none;
}

/* Aviso de entrega - estilo consolidado */
.aviso-entrega {
    color: #d45252;
    font-size: 14px;
    margin-top: 5px;
}

/* Form labels para acessibilidade */
.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--texto);
}
/* ================= ANIMAÇÕES BASE ================= */
@keyframes fadeUp {
    from {
        opacity:
            0;
        transform:
            translateY(40px);
    }
    to {
        opacity:
            1;
        transform:
            translateY(0);
    }
}
@keyframes pulse {
    0% {
        transform:
            scale(1);
    }
    50% {
        transform:
            scale(1.05);
    }
    100% {
        transform:
            scale(1);
    }
}
@keyframes float {
    0% {
        transform:
            translateY(0);
    }
    50% {
        transform:
            translateY(-12px);
    }
    100% {
        transform:
            translateY(0);
    }
}
/* ==================================
   HEADER
================================== */
.header-premium {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
    background: rgba(255, 255, 255, 0.322);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(8, 24, 5, 0.062);
    transition: var(--transicao);
}
[data-theme="dark"] .header-premium {
    background:rgb(0, 7, 37);
    border-bottom:1px solid rgba(255,255,255,.08);
}
/* HEADER QUANDO DESCE */
.header-premium.scrolled{
    -webkit-backdrop-filter:blur(20px);
    backdrop-filter:blur(20px);
    background: rgba(255, 255, 255, 0.774);
    box-shadow: 0 10px 35px rgba(0,0,0,.05);
}
[data-theme="dark"] .header-premium.scrolled {
    background:rgba(0, 7, 37, 0.664);
    box-shadow:0 10px 40px rgba(63, 62, 62, 0.26);
}
/* CONTAINER */
.header-inner {
    width: min(94%,var(--container));
    height:72px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:nowrap;
    gap:16px;
    min-height:68px;
}
/* ================= LOGO ================= */
.logo-area {
    display:flex;
    align-items:center;
    flex-shrink:0;
}
.logo-area img{
    transition:.35s;
    width:clamp(95px,12vw,150px);
    height:auto;
    display:block;
}
.logo-area img:hover {
    transform:scale(1.05);
}
/* ======== MENU ======== */
.nav-premium {
    display:flex;
    align-items:center;
    gap:28px;
}
.nav-premium a {
    position:relative;
    color:var(--texto);
    font-size:15px;
    font-weight:500;
    transition:.3s;
}
.nav-premium a:hover {
    color:var(--verde);
}
.nav-premium a.active{
    color:var(--verde);
}
.nav-premium a.active::after{
    width:100%;
}
/* LINHA ANIMADA */
.nav-premium a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:2px;
    border-radius:30px;
    background:var(--verde);
    transition:.35s;
}
.nav-premium a:hover::after{
    width:100%;
}
/* ======== AÇÕES HEADER ======== */
.header-actions {
    display:flex;
    align-items:center;
    gap:10px;
    position:relative;
    z-index:1002;
    flex-shrink:0;
}
/* ======== BOTÃO CANDIDATAR ======== */
.btn-candidatar {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    border-radius:10px;
    background: linear-gradient(135deg,var(--amarelo), #f3f2a2);
    color:#081218;
    font-size:14px;
    font-weight:700;
    box-shadow:0 10px 20px rgba(224,221,37,.14);
    border: 1px solid rgba(224,221,37,.18);
    transition:var(--transicao);
}
.btn-candidatar:hover {
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(224,221,37,.22);
}
/*=================================
    BOTÃO TEMA
=================================*/
.theme-toggle{
    --toggle-h:24px;
    --toggle-w:46px;
    --toggle-pad:3px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    padding:var(--toggle-pad);
    height:var(--toggle-h);
    min-width:var(--toggle-w);
    border:none;
    border-radius:999px;
    cursor:pointer;
    position:relative;
    background:linear-gradient(180deg,#0e072e,#010e29);
    box-shadow: inset 0 1px 0 rgba(153, 153, 153, 0.6);
    transition: transform .18s, background .25s, box-shadow .18s;
    flex-shrink:0;
}
.toggle-ball{
    width:calc(var(--toggle-h) - (var(--toggle-pad) * 2));
    height:calc(var(--toggle-h) - (var(--toggle-pad) * 2));
    border-radius:50%;
    background:white;
    box-shadow:0 6px 16px rgba(10,10,10,.08);
    transform: translateX(0);
    transition: transform .18s cubic-bezier(.22,.9,.28,1), box-shadow .18s;
    flex:0 0 auto;
}
body.dark .theme-toggle{
    background: linear-gradient(180deg,#ffffffd5,#e8ffe8e1);
}
body.dark .theme-toggle .toggle-ball{
    transform: translateX(calc(var(--toggle-w) - var(--toggle-h)));
}
.theme-toggle{
    box-shadow: 0 6px 18px rgba(2,6,23,0.06), inset 0 1px 0 rgba(255,255,255,0.4);
}
.theme-toggle .toggle-ball{
    background: linear-gradient(180deg,#ffffff,#f3f5f8);
    box-shadow: 0 8px 18px rgba(15,23,42,.12);
    transition: transform .22s cubic-bezier(.2,.9,.3,1), box-shadow .18s;
}
.header-premium .theme-toggle{
    height:20px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
}
.header-premium .theme-toggle .toggle-ball{
    width:12px;
    height:12px;
}

body.dark .theme-toggle .toggle-ball{
    background: linear-gradient(180deg,#0b1220,#0f1724);
    box-shadow: 0 8px 22px rgba(2,6,23,.45);
}
/*
@media (max-width:360px){
    .theme-toggle{ --toggle-h:18px; --toggle-w:36px; --toggle-pad:2px; }
    .theme-toggle .theme-icon{ font-size:12px; }
}
body.dark .toggle-ball{
    transform: translateX(22px);
}
@media (prefers-reduced-motion: reduce) {
    .toggle-ball{
        transition: none;
        transform: none !important;
    }
} */
/* ===============================
   MENU MOBILE
================================ */
.menu-toggle{
    display:none;
    width:40px;
    height:40px;
    border:none;
    background:transparent;
    cursor:pointer;
    position:relative;
}
.menu-toggle span{
    position:absolute;
    left:9px;
    width:28px;
    height:3px;
    background:linear-gradient( 90deg, var(--verde), var(--verde-claro) );
    border-radius:20px;
    transition:.35s;
}
.menu-toggle span:nth-child(1){
    top:10px;
}
.menu-toggle span:nth-child(2){
    top:18px;
}
.menu-toggle span:nth-child(3){
    top:26px;
}
.menu-toggle.open span:nth-child(1){
    transform:rotate(45deg);
    top:18px;
    width:30px;
}
.menu-toggle.open span:nth-child(2){
    opacity:0;
}
.menu-toggle.open span:nth-child(3){
    transform:rotate(-45deg);
    top:18px;
    width:30px;
}

/* RESPONSIVO MOBILE MENU */
@media (max-width: 900px) {
    .header-inner { gap: 8px; }
    .header-actions { gap: 8px; z-index: 1004; }
    .theme-toggle { order: 1; flex-shrink: 0; }
    .menu-toggle { display: inline-flex; align-items: center; justify-content: center; order: 2; }

    .nav-premium {
        position: fixed;
        top: 72px;
        left: 18px;
        right: 18px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 14px;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(15, 23, 42, 0.08);
        border-radius: 18px;
        box-shadow: 0 28px 80px rgba(15, 23, 42, 0.14);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-12px);
        z-index: 1002;
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
    }

    [data-theme="dark"] .nav-premium { background: rgba(2, 6, 23, 0.9); border-color: rgba(255, 255, 255, 0.08); }
    .nav-premium.open { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }

    .nav-premium a {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 12px 14px;
        border-radius: 12px;
        font-size: 0.95rem;
        background: rgba(148, 163, 184, 0.04);
        color: var(--texto);
    }

    [data-theme="dark"] .nav-premium a { background: rgba(255, 255, 255, 0.04); color: #e2e8f0; }
    .nav-premium a:hover { background: rgba(34, 197, 94, 0.12); color: var(--verde); }
    .nav-premium a::after { display: none; }
    .cart { top: 86px; right: 16px; width: 50px; height: 50px; z-index: 1001; }
}

@media (max-width: 560px) {
    .header-inner { height: 68px; min-height: 64px; }
    .logo-area img { width: 90px; }
    .theme-toggle { --toggle-w: 42px; --toggle-h: 22px; }
    .cart { top: 80px; right: 12px; width: 46px; height: 46px; }
    .site-notification { left: 12px; right: 12px; min-width: 0; max-width: none; top: 90px; }
}

@media (min-width: 901px) {
    .menu-overlay { display: none !important; }
    .nav-premium {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
        flex-direction: row;
        gap: 28px;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .nav-premium a { position: relative; width: auto; padding: 0; background: transparent; font-size: 15px; font-weight: 500; }
    .nav-premium a::after { display: block; }
}
/* ================================
   BUTÕES GLOBAIS
================================= */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 26px;
    border-radius: 12px;
    font-weight: 700;
    transition: var(--transicao);
    position: relative;
    overflow: hidden;
    isolation:isolate;
    min-height:50px;
    font-size:.95rem;
    letter-spacing:.02em;
    text-transform:none;
}
.btn::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:linear-gradient( 90deg, transparent, rgba(255,255,255,.35), transparent);
    transform:skewX(-25deg);
    transition:.7s;
}
.btn:hover::before{
    left:160%;
}
.btn:hover{
    transform: translateY(-4px);
    filter: brightness(1.03);
}
.btn:active{
    transform: translateY(0) scale(.97);
}
.btn-primary {
    background:linear-gradient(135deg,var(--verde),var(--verde-claro));
    color:white;
    box-shadow:0 15px 35px rgba(34,197,94,.25);
}
.btn-primary:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(34,197,94,.4);
}
.btn-whatsapp {
    background: #25d366;
    color: white;
}
.btn-whatsapp:hover {
    transform: translateY(-4px);
    background: #16a34a;
}
.btn-outline {
    background: rgba(255,255,255,.06);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.25);
    color:white;
}
.btn-outline:hover {
    background: white;
    color: #14532d;
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(0,0,0,.18);
}
/* ================================
   HERO BANNER / PROMOÇÕES
================================= */
.hero-banner {
    position: relative;
    z-index: 2;
    width: min(92%, var(--container));
    margin: 92px auto 0;
    padding: 16px;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(34,197,94,.16), rgba(14,165,233,.12));
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: var(--sombra);
}
.hero-banner-track {
    position: relative;
    min-height: 78px;
    display: grid;
    align-items: center;
}
.hero-banner-slide {
    display: grid;
    gap: 4px;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity .45s ease, transform .45s ease;
}
.hero-banner-slide.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.hero-banner-slide strong {
    color: var(--verde-escuro);
    font-size: 1rem;
}
.hero-banner-slide span {
    color: var(--texto-suave);
    font-size: .95rem;
}
/* ===================================
      ONLY BUSINESS
=================================== */
.only-business-section {
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.1) 0%, rgba(13, 194, 102, 0.08) 100%),
                url('../img/bar/only-business.png') center/cover no-repeat;
    background-attachment: fixed;
}
.only-business {
    padding: 60px 20px;
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 100%);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: var(--transicao);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.only-business::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), transparent);
    animation: shimmer 3s infinite;
    pointer-events: none;
}

@keyframes shimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}

.only-business-container {
    width: min(92%, var(--container));
    margin: auto;
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    align-items: center;
    gap: 40px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.only-business-info {
    animation: fadeInUp 0.8s ease-out;
}

.only-business-info h2 {
    color: var(--verde);
    font-size: clamp(2.2rem, 5vw, 3.3rem);
    line-height: 1.15;
    margin-bottom: 16px;
    font-weight: 700;
    letter-spacing: -0.5px;
    text-shadow: 0 2px 8px rgba(13, 194, 102, 0.2);
}

.only-business-info h3 {
    color: white;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.2;
    margin-top: 30px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.only-business-info p {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 400;
    line-height: 1.9;
    max-width: 620px;
    margin: 20px auto 0;
}

.only-business-info p span {
    font-size: 24px;
    color: #00ff88;
    font-weight: 700;
    background: linear-gradient(135deg, var(--verde), #00ff88);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
}

.only-business-info p b {
    font-size: 18px;
    color: var(--verde);
    font-weight: 700;
}

.only-business-botoes {
    display: flex;
    gap: 16px;
    margin-top: 40px;
    flex-wrap: wrap;
    justify-content: center;
    animation: fadeInUp 1s ease-out 0.2s both;
}

.only-business-botoes .btn {
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    border: 2px solid var(--verde);
    color: white;
    background: transparent;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    text-decoration: none;
    display: inline-block;
    position: relative;
    overflow: hidden;
}

.only-business-botoes .btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: var(--verde);
    z-index: -1;
    transition: left 0.4s ease;
}

.only-business-botoes .btn:hover::before {
    left: 0;
}

.only-business-botoes .btn:hover {
    color: #000;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(13, 194, 102, 0.3);
}

.only-business-card {
    width: 100%;
    max-width: 400px;
    position: relative;
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: flex;
    justify-content: center;
    animation: fadeInUp 0.8s ease-out 0.4s both;
}

.only-business-card::before {
    content: '';
    position: absolute;
    inset: -4px;
    background: linear-gradient(135deg, var(--verde), #00ff88, var(--verde));
    border-radius: 24px;
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: -1;
}

.only-business-card:hover::before {
    opacity: 0.3;
}

.only-business-card img {
    width: 100%;
    max-width: 360px;
    border-radius: 22px;
    box-shadow: 0 20px 60px rgba(13, 194, 102, 0.2), 
                0 0 0 1px rgba(255, 255, 255, 0.1);
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.only-business-card img:hover {
    transform: translateY(-8px) scale(1.03) rotate(0.5deg);
    box-shadow: 0 30px 80px rgba(13, 194, 102, 0.3),
                0 0 0 1px rgba(255, 255, 255, 0.2);
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media(max-width: 1024px) {
    .only-business-container {
        gap: 30px;
    }
    
    .only-business-botoes {
        gap: 12px;
    }
}

@media(max-width: 900px) {
    .only-business-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .only-business {
        padding: 50px 20px;
    }
    
    .only-business-botoes {
        justify-content: center;
    }
    
    .only-business-botoes .btn {
        flex: 1;
        min-width: 140px;
    }
}

@media(max-width: 640px) {
    .only-business-premium {
        padding: 40px 16px;
    }
    .only-business-info h2 {
        margin-bottom: 12px;
    }
    .only-business-info h3 {
        margin-top: 20px;
    }
    .only-business-botoes {
        flex-direction: column;
        gap: 12px;
        margin-top: 30px;
    }
    .only-business-botoes .btn {
        width: 100%;
        padding: 14px 20px;
    }
    .only-business-card {
        max-width: 100%;
    }
}

/* ================================
   HERO PREMIUM TECNOLÓGICO
================================= */
.hero-premium {
    min-height:86vh;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    isolation:isolate;
    padding:120px 10px 60px;
    background:linear-gradient(135deg,#d8fdece3,#e0e0dbb0,#6df195b0 );
}
[data-theme="dark"] .hero-premium {
    background:
        radial-gradient(
            circle at top right,
            rgba(0, 255, 94, 0.363),
            transparent 40%
        ),
        linear-gradient(
            135deg,
            #010722,
            #021430
        );
}
/* ======== CANVAS / PARTÍCULAS ======== */
#hero-canvas {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
}
/* ======== CAMADA DE LUZ ======== */
.hero-premium::before{
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    right:-180px;
    top:-220px;
    border-radius:50%;
    background:
       radial-gradient(circle at top right,
       rgba(1, 252, 93, 0.24),
       transparent 65%);
    pointer-events:none;
    z-index:0;
    inset:0;
}
.hero-premium::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    left:-120px;
    bottom:-140px;
    border-radius:50%;
    background: radial-gradient( circle at top right, rgba(251, 255, 0, 0.61), transparent 45% );
    pointer-events:none;
    z-index:0;
    inset:0;
}
/* ======== OVERLAY ======== */
.hero-premium .hero-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(248, 247, 204, 0.322),transparent);
    z-index:1;
}
[data-theme="dark"] .hero-premium .hero-overlay {
    background:linear-gradient(90deg,rgba(99, 125, 240, 0.041),transparent);
}
/* ======== CONTAINER ======== */
.hero-container {
    width: min( 92%, var(--container) );
    margin: auto;
    display: grid;
    grid-template-columns: 1.8fr 1fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 2;
    column-gap:90px;
}
.hero-content {
    opacity:0;
    transform:translateY(40px);
    animation:heroEntrada 1s ease forwards;
    animation-delay:.25s;
}
/* ======== TEXTO ======== */
.hero-left {
    animation: fadeUp 1s ease forwards;
    /* Glass panel for elegant look */
    background: rgba(255, 255, 255, 0.021);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(0, 255, 76, 0.075);
    padding: 20px 22px;
    border-radius: 14px;
    box-shadow:0 6px 10px rgba(0, 0, 0, 0.281);
    max-width: 720px;
}
[data-theme="dark"] .hero-left{
    background: rgba(10,12,20,0.5);
    border: 1px solid rgba(255,255,255,0.06);
}
[data-theme="dark"] .hero-buttons .btn-primary{
    background: linear-gradient(135deg,#e6e291,#f3f2a2);
    color:#081218;
}
.hero-left h1 {
    font-size: clamp( 1.2rem, 2.6vw, 3.4rem );
    font-weight:700;
    line-height: 1.04;
    letter-spacing: -0.02em;
    color: var(--texto);
    margin-bottom: 14px;
    text-shadow: 0 6px 22px rgba(0, 0, 0, 0.459);
}
[data-theme="dark"] .hero-left h1 {
    color:white;
}
.hero-left h1 span {
    background: var(--verde);
    -webkit-background-clip: text;
    background-clip: text;
    color:transparent;
    position:relative;
    display:inline-block;
}
.hero-left h1 span::after{
    content:"";
    position:absolute;
    left:0;
    bottom:6px;
    width:100%;
    height:12px;
}
.hero-text p{
    color:var(--texto-suave);
    font-size:1rem;
    line-height:1.6;
    max-width:560px;
    margin:16px 0 22px;
}
/* Ensure paragraphs inside hero-left also match the compact style */
.hero-left p{
    color:var(--texto-suave);
    font-size:1rem;
    line-height:1.6;
    max-width:560px;
    margin:16px 0 22px;
}
/* ======== ESTATÍSTICAS ======== */
.hero-stats {
    flex-wrap:wrap;
    display:flex;
    gap:14px;
    margin-bottom:24px;
    align-items:center;
}
.hero-stats div {
    position:relative;
}
.hero-stats strong {
    display:block;
    font-size:1.4rem;
    color:var(--verde);
    line-height:1;
    font-weight:900;
    letter-spacing:-.02em;
}
.hero-stats span {
    color:var(--texto-suave);
    font-size:.85rem;
    line-height:1.3;
    opacity:.78;
}

/* ======== BOTÕES HERO ======== */

.hero-buttons {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    transition:.28s cubic-bezier(.22,.61,.36,1);
}
.hero-buttons .btn-primary{
    background: var(--azul-tech);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.25);
    color: #081218;
    box-shadow: 0 14px 36px rgba(224,221,37,.16);
}
.hero-buttons .btn{
    min-width:140px;
    padding:10px 16px;
    justify-content:center;
    border-radius:10px;
    font-size:14px;
}

.hero-buttons .btn-primary:hover {

    background: white;
    color: #14532d;
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(0,0,0,.18);
}

/* ======== CONFIANÇA ======== */

.hero-trust {

    margin-top: 14px;
    font-size: 13px;
    color: var(--texto-suave);
}


/* ======== IMAGEM ======== */

.hero-right {

    position: relative;
}

.hero-right::before {

    content: "";
    position: absolute;
    inset: 10%;
    background: rgba(224,221,37,.18); /* soft yellow glow */
    filter: blur(60px);
    z-index: -1;
}

.hero-right img {

    animation: float 5s ease-in-out infinite;
    filter: drop-shadow(0 30px 60px rgba(0,0,0,.20) );
    transition: transform .35s,filter .45s;
    will-change: transform;
    max-width:420px;
    width:100%;
    height:auto;
}

.hero-right img:hover{

    transform: translateY(-6px) scale(1.015);
}


/* ======== RESPONSIVO ======== */

@media(max-width:900px){

    .hero-container {

        grid-template-columns: 1fr;
        text-align: center;
    }

    .hero-left p {

        margin-left: auto;
        margin-right: auto;
    }

    .hero-buttons {

        justify-content: center;
    }

    .hero-stats {

        justify-content: center;
    }

    .hero-right {

        margin-top: 40px;
    }

    .hero-left h1{
        font-size:2rem;
    }
}

@media(max-width:600px){


    .hero-stats {

        flex-direction: column;
        gap: 20px;
    }

    .hero-left h1 {

        font-size: 1.6rem;
    }
}

/* ============================
   ABOUT PAGE SPECIFIC
============================ */
.page-about .about-hero{
    padding:80px 0 60px;
    background: linear-gradient(180deg, rgba(250,250,250,0.6), rgba(245,247,250,0.4));
}
.page-about .about-hero-grid{
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap:36px;
    align-items:center;
}
.page-about .about-hero-copy{
    text-align:left;
}
.page-about .about-hero-copy h1{
    font-size:clamp(2.4rem,4.5vw,3.6rem);
    line-height:1.05;
    margin:18px 0 20px;
    max-width: 580px;
}
.page-about .about-hero-copy p{
    color:var(--texto-suave);
    font-size:1.05rem;
    max-width: 560px;
    margin-bottom:24px;
}
.page-about .about-hero-actions{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}
.page-about .about-hero-panel{
    display:grid;
    gap:16px;
}
.page-about .about-hero-card{
    padding:24px;
    border-radius:18px;
    background:rgba(255,255,255,.9);
    box-shadow:0 20px 50px rgba(15,23,42,.08);
    display:flex;
    flex-direction:column;
    gap:10px;
}
.page-about .about-hero-card strong{
    font-size:2rem;
    color:var(--verde);
    letter-spacing:-.03em;
}
.page-about .about-hero-card span{
    color:var(--texto-suave);
    font-size:0.98rem;
}
.page-about .about-hero .section-badge{
    display:inline-flex;
    align-items:center;
    padding:8px 18px;
    border-radius:999px;
    background:rgba(224,221,37,.12);
    border:1px solid rgba(224,221,37,.20);
    color:rgba(15,15,15,.85);
    font-size:.9rem;
    font-weight:700;
}
.page-about .about-hero h2{ display:none; }

.page-about .about-intro{ padding:48px 0; }
.page-about .about-intro h3{ margin-bottom:20px; max-width:760px; }
.page-about .about-intro p{ margin-bottom:18px; }

.page-about .about-cards .card{ padding:30px; border-radius:18px; }
.page-about .about-cards .card h4{ margin-bottom:12px; }

.page-about .about-why{ padding:36px 0; }
.page-about .about-why h3{ margin-bottom:20px; }
.page-about .about-why .cards{
    display:grid;
    grid-template-columns: repeat(3,1fr);
    gap:20px;
}
.page-about .about-why .card{
    padding:24px;
    border-radius:16px;
    background:var(--card);
    box-shadow:var(--sombra);
    min-height:220px;
}

.page-about .team-grid{
    display:grid;
    grid-template-columns: repeat(3,1fr);
    gap:20px;
    margin-top:18px;
}
.page-about .team-member{
    text-align:center;
    padding:24px;
    border-radius:18px;
    background:var(--card);
    box-shadow:var(--sombra);
}
.page-about .team-member img{
    width:120px;
    height:120px;
    object-fit:cover;
    border-radius:999px;
    margin:0 auto 14px;
    display:block;
}
.page-about .team-member strong{ display:block; margin-bottom:4px; }
.page-about .team-member span{ color:var(--texto-suave); font-size:0.95rem; }

.page-about .about-contact{ padding:36px 0 80px; }
.page-about .about-contact .cards{
    display:grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap:24px;
}
.page-about .about-contact .card{
    background:var(--card);
    box-shadow:var(--sombra);
    border-radius:18px;
    padding:28px;
}
.page-about .about-contact h3{ margin-bottom:18px; }
.page-about .about-contact p,
.page-about .about-contact a{
    color:var(--texto);
    display:block;
    margin-bottom:12px;
}
.page-about .about-contact .btn.whatsapp{
    width:auto;
    margin-top:8px;
}

@media(max-width:1100px){
    .page-about .about-hero-grid{
        grid-template-columns:1fr;
        text-align:center;
    }
    .page-about .about-hero-copy{ text-align:center; }
    .page-about .about-hero-actions{ justify-content:center; }
    .page-about .about-hero-panel{ grid-template-columns: repeat(3,1fr); }
    .page-about .about-contact .cards{ grid-template-columns:1fr; }
}
@media(max-width:900px){
    .page-about .team-grid{ grid-template-columns:repeat(2,1fr); }
    .page-about .about-hero-panel{ grid-template-columns:1fr; }
}
@media(max-width:560px){
    .page-about .team-grid{ grid-template-columns:1fr; }
    .page-about .about-hero-copy h1{ font-size:2rem; }
    .page-about .about-hero-actions{ flex-direction:column; align-items:center; }
    .page-about .about-contact{ padding:28px 0 60px; }
}

/* Small helper to keep about sections distinct */
.page-about .about-values.bg-light{ padding:30px 0; }


/* ===================================
   MODAIS E NOTIFICAÇÕES MODERNAS
=================================== */
.modal {
    position: fixed;
    inset: 0;
    background: rgba(2, 6, 23, 0.62);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 1200;
}
.modal.hidden {
    display: none;
}
.modal.active {
    opacity: 1;
    visibility: visible;
    display: grid;
}
.modal-card {
    width: min(100%, 620px);
    max-height: min(88vh, 860px);
    overflow: auto;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 24px;
    box-shadow: var(--sombra-hover);
    padding: 28px;
}
.modal-card.admin-editor-modal {
    width: min(100%, 700px);
    max-height: min(92vh, 920px);
    padding: 24px;
}
.modal-card .admin-card-header {
    align-items: flex-start;
}
.admin-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
}
.admin-badge.success {
    background: rgba(34,197,94,.16);
    color: #bbf7d0;
}
.admin-badge.pending {
    background: rgba(250,204,21,.18);
    color: #fde68a;
}
.modal-card h3 {
    margin-bottom: 8px;
}
.modal-card p {
    margin-bottom: 20px;
}
.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}
body.modal-open {
    overflow: hidden;
}
.site-notification {
    top: 112px;
    right: 24px;
    border-radius: 18px;
    min-width: 300px;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.16);
}

/* ===================================
=================================== */

.logos-slider{
    width:100%;
    overflow:hidden;
    position:relative;
}

.logos-track{
    display:flex;
    align-items:center;
    gap:60px;
    width:max-content;
    animation:logosScroll 30s linear infinite;
}

.logos-track img{
    width:140px;
    height:70px;
    object-fit:contain;
    flex-shrink:0;
    filter:grayscale(100%);
    opacity:.75;
    transition:.35s;
}

.logos-track img:hover{
    filter:none;
    opacity:1;
    transform:scale(1.08);
}

@keyframes logosScroll{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}
/* ===================================
   CARDS GLOBAL
=================================== */
.servico-card::after,
.produto-card::after,
.curso-card::after{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:3px;
background: linear-gradient( 180deg, rgba(255, 255, 255, 0.1), transparent 40%);
transform:scaleX(0);
transition:.35s;
border-radius:inherit;
pointer-events:none;
}
.servico-card:hover::after,
.produto-card:hover::after,
.curso-card:hover::after{
transform:scaleX(1);
opacity:1;
}
.servico-card,
.produto-card,
.curso-card{
position:relative;
isolation:isolate;
}
.curso-card:hover,
.servico-card:hover,
.produto-card:hover{
    transform:translateY(-10px)scale(1.015);
    box-shadow:0 30px 60px rgba(0,0,0,.12);
}
.curso-card:hover .curso-img img,
.produto-card:hover .produto-img img{
    transform: scale(1.08) rotate(1deg);
}
/* ===================================
   SERVIÇOS PREMIUM TECNOLÓGICOS
=================================== */
.servicos-premium {
    position: relative;
    padding: 28px 18px 22px;
    background: linear-gradient(180deg, #020617, #05204b);
    color: white;
    overflow: hidden;
}
/* ====== EFEITO DE LUZ DE FUNDO ====== */
.servicos-premium::before {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    left: -140px;
    bottom: -100px;
    background: radial-gradient(circle, rgba(3, 247, 92, 0.12), transparent 70%);
    filter: blur(28px);
}
.servicos-container {
    width: min(92%, var(--container));
    margin: auto;
    position: relative;
    z-index: 2;
}
/* ====== CABEÇALHO ====== */
.servicos-top {
    max-width: 560px;
    text-align: center;
    margin: 0 auto 24px;
}
.section-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(34,197,94,.14);
    border: 1px solid rgba(34,197,94,.18);
    color: var(--verde-claro);
    font-size: 11px;
    font-weight: 600;
    margin-bottom: 12px;
}
.servicos-top h2 {
    font-size: clamp(1.65rem, 2.4vw, 2rem);
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin-bottom: 10px;
}
.servicos-top h2::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-10px;
    transform:translateX(-50%);
    width:64px;
    height:3px;
    border-radius:30px;
    background: linear-gradient(90deg, var(--verde), var(--verde-claro));
}
.servicos-top p {
    color: #c4d5e3;
    font-size: .94rem;
    max-width: 460px;
    margin: 0 auto 12px;
}
.servicos-subtitle {
    color: #a9c5dc;
    font-size: .9rem;
    max-width: 480px;
    margin: 0 auto 18px;
}
.servicos-brief {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.servicos-brief span {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    color: #dbe6f2;
    font-size: .82rem;
}
/* ====== GRID ====== */
.servicos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
    gap: 14px;
}
/* ====== CARD GLASS ====== */
.servico-card {
    position: relative;
    padding: 20px 18px;
    min-height: 220px;
    background: rgba(255,255,255,.08);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    overflow: hidden;
    transition: transform .28s, box-shadow .28s, border-color .28s;
    box-shadow: var(--sombra);
}
.servico-card .servico-img {
    width: 100%;
    height: 140px;
    overflow: hidden;
    margin-bottom: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
}
.servico-card .servico-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.servico-card.reveal,
.servico-card.reveal.active {
    opacity: 1;
    transform: none;
}
/* BRILHO NO CARD */
.servico-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 2px;
    background: linear-gradient( 90deg, transparent, var(--verde), transparent );
    transition: .6s;
}
.servico-card:hover::before {
    left: 100%;
}
.servico-card:hover {
    transform: translateY(-8px);
    background: rgba(255,255,255,.1);
    border-color: rgba(22,163,74,.35);
    box-shadow:var(--sombra-hover);
}
/* ====== ÍCONE ====== */
.servico-card .icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: rgba(34,197,94,.16);
    font-size: 24px;
    margin-bottom: 18px;
    transition: transform .28s, filter .28s;
}
.servico-card:hover .icon {
    transform: scale(1.08) rotate(-3deg);
    background: rgba(34,197,94,.25);
}

/* ====== TEXTO ====== */
.servico-card .servico-meta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.08);
    color: #b8d3e3;
    font-size: .82rem;
    margin-bottom: 16px;
}
.servico-card h4 {
    font-size: 1.1rem;
    margin-bottom: 10px;
    color: var(--verde-claro);
    font-weight:700;
    letter-spacing:-.02em;
}
.servico-card p {
    color: #cbd5e1;
    font-size:.9rem;
    line-height:1.6;
    margin-bottom:16px;
}
.servico-card button {
    padding: 10px 16px;
    font-size: .9rem;
    border-radius: 14px;
}

/* ====== CTA SERVIÇOS ====== */

.servicos-cta {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 30px;
    flex-wrap: wrap;
}
.btn-outline-light {
    border: 2px solid rgba(255,255,255,.35);
    color: white;
    background: rgba(255,255,255,.08);
}
.btn-outline-light:hover {
    background: white;
    color: #020617;
}

/* ====== MOBILE ====== */

@media(max-width:700px){
    .servicos-premium {
        padding: 80px 20px;
    }
    .servico-card {
        min-height: initial;
    }
}

/* =============================
   PRODUTOS PREMIUM
============================== */
.grade-produtos {
    padding: 110px 20px;
    background: linear-gradient(135deg, var(--fundo-secundario) 0%, rgba(13, 194, 102, 0.03) 100%);
    position: relative;
    overflow: hidden;
}

.grade-produtos::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(13, 194, 102, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.grade-produtos::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -5%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(30, 58, 138, 0.08) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.produtos-header {
    max-width: 700px;
    text-align: center;
    margin: 0 auto 60px;
    margin-bottom: 70px;
    position: relative;
    z-index: 1;
    animation: fadeInDown 0.8s ease-out;
}

.produtos-header h3 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    position: relative;
    letter-spacing: -0.04em;
    margin-bottom: 18px;
    font-weight: 700;
    background: linear-gradient(135deg, var(--verde), #00ff88);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.produtos-header h3::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    transform: translateX(-50%);
    width: 80px;
    height: 3px;
    border-radius: 30px;
    background: linear-gradient(90deg, var(--verde), #00ff88);
    box-shadow: 0 0 20px rgba(13, 194, 102, 0.4);
}

.produtos-header p {
    color: var(--texto-suave);
    margin-top: 20px;
    margin-bottom: 0;
    font-size: 1.05rem;
    line-height: 1.6;
    animation: fadeInUp 0.8s ease-out 0.1s both;
}

/* ====== GRID PRODUTOS ====== */
.produtos-grid {
    width: min(92%, var(--container));
    margin: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 40px;
    position: relative;
    z-index: 2;
}

/* ====== CARD PRODUTO ====== */
.produto-card {
    background: var(--card);
    border: 2px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    animation: fadeInUp 0.6s ease-out backwards;
}

.produto-card:nth-child(1) { animation-delay: 0.1s; }
.produto-card:nth-child(2) { animation-delay: 0.2s; }
.produto-card:nth-child(3) { animation-delay: 0.3s; }
.produto-card:nth-child(n+4) { animation-delay: 0.4s; }

.produto-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(13, 194, 102, 0.1), transparent);
    transition: left 0.6s ease;
    z-index: 10;
}

.produto-card:hover::before {
    left: 100%;
}

.produto-card:hover {
    transform: translateY(-12px) rotate(0.5deg);
    box-shadow: 0 20px 50px rgba(13, 194, 102, 0.15);
    border-color: rgba(22, 163, 74, 0.5);
}

/* ====== IMAGEM ====== */
.produto-img {
    height: 240px;
    padding: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f8fafc, #ecfdf5);
    overflow: hidden;
    position: relative;
}

.produto-img::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(13, 194, 102, 0), rgba(13, 194, 102, 0.03));
    pointer-events: none;
}

.produto-img img {
    height: 180px;
    object-fit: contain;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    filter: drop-shadow(0 18px 25px rgba(0, 0, 0, 0.15));
    position: relative;
    z-index: 1;
}

.produto-card:hover .produto-img img {
    transform: scale(1.12) rotate(-2deg);
    filter: drop-shadow(0 20px 35px rgba(13, 194, 102, 0.25));
}

/* ====== INFORMAÇÕES ====== */
.produto-info {
    padding: 30px;
    position: relative;
}

.produto-info h4 {
    font-size: 1.25rem;
    margin-bottom: 14px;
    color: var(--verde);
    font-weight: 700;
    letter-spacing: -0.02em;
    transition: color 0.3s ease;
}

.produto-card:hover .produto-info h4 {
    color: #00ff88;
}

.produto-info p {
    color: var(--texto-suave);
    font-size: 0.96rem;
    line-height: 1.75;
    margin-bottom: 24px;
}

/* ====== FOOTER PRODUTO ====== */
.produto-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.preco {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--verde);
    transition: color 0.3s ease;
}

.produto-card:hover .preco {
    color: #00ff88;
}

.produto-footer button {
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    background: linear-gradient(135deg, var(--verde), #00ff88);
    color: white;
    font-size: 20px;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.produto-footer button:hover {
    transform: translateY(-4px) scale(1.12);
    box-shadow: 0 8px 24px rgba(13, 194, 102, 0.4);
}

.produto-footer button:active {
    transform: translateY(-2px) scale(1.08);
}

.produtos-btn {
    text-align: center;
    margin-top: 60px;
    position: relative;
    z-index: 2;
    animation: fadeInUp 0.8s ease-out 0.5s both;
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* =====================================================
   CURSOS PREMIUM
===================================================== */
.grade-cursos {
    padding: 110px 20px;
    background: var(--fundo);
}
.cursos-header {
    max-width: 700px;
    text-align: center;
    margin: 0 auto 60px;
    margin-bottom:70px;
}
.cursos-header h3 {
    font-size: clamp( 2rem, 4vw, 2.8rem );
    position: relative;
    letter-spacing:-.04em;
    margin-bottom:18px;
}
.cursos-header h3::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-8px;
    transform:translateX(-50%);
    width:120px;
    height:4px;
    border-radius:30px;
    background: linear-gradient( 90deg, var(--verde), var(--verde-claro) );
}
.cursos-header p {
    color: var(--texto-suave);
    margin-top:8px;
    margin-bottom:0;
}
/* ====== GRID CURSOS ====== */
.cursos-grid {
    width: min( 92%, var(--container) );
    margin: auto;
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(280px,1fr) );
    gap: 40px;
}
/* ====== CARD CURSO ====== */
.curso-card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--sombra);
    transition: transform .35s,box-shadow .35s, border-color .35s;
}
.curso-card:hover {
    transform: translateY(-8px);
    box-shadow:var(--sombra-hover);
    border-color: rgba(22,163,74,.35);
}
/* ====== IMAGEM CURSO ====== */
.curso-img {
    height: 210px;
    overflow: hidden;
}
.curso-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s;
    filter: brightness(.98);
}
.curso-card:hover .curso-img img {
    transform: scale(1.08);
}
/* ====== INFORMAÇÃO CURSO ====== */
.curso-info {
    padding: 30px;
}
.curso-info h4 {
    color: var(--verde);
    margin-bottom: 14px;
    font-size:1.25rem;
    font-weight:700;
    letter-spacing:-.02em;
}
.curso-info p {
    color: var(--texto-suave);
    font-size:.96rem;
    line-height:1.75;
    margin-bottom:24px;
}
/* ====== META CURSO ====== */
.curso-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin: 20px 0;
    font-size: 13px;
    color: var(--texto-suave);
}
.curso-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.curso-footer button {
    border: none;
    padding: 10px 20px;
    border-radius: 10px;
    cursor: pointer;
    color: white;
    font-weight: 700;
    background: linear-gradient( 135deg, var(--verde), var(--verde-claro) );
    transition: var(--transicao);
}
.curso-footer button:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 10px rgba(22,163,74,.35);
}
.cursos-btn {
    text-align: center;
    margin-top: 50px;
}
/* ===========================
   CTA EMPRESARIAL PREMIUM
=========================== */
.cta{
    position:relative;
    overflow:hidden;
    padding:140px 20px;
    background: linear-gradient( 135deg, #0b3d24 0%, #10683c 45%, #18a04c 100% );
    isolation:isolate;
}
.cta::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient( circle at 15% 20%, rgba(255,255,255,.18), transparent 35% ),
        radial-gradient( circle at 85% 80%, rgba(255,255,255,.10), transparent 40% ),
        linear-gradient( rgba(255,255,255,.04), rgba(255,255,255,0));
    z-index:-2;
}
.cta::after{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient( rgba(255,255,255,.05) 1px, transparent 1px ),
        linear-gradient( 90deg, rgba(255,255,255,.05) 1px, transparent 1px );
    background-size:45px 45px;
    opacity:.18;
    z-index:-1;
}
.cta-container {
    width: min(92%,var(--container));
    margin: auto;
    min-height:520px;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 90px;
    align-items: center;
    position: relative;
    z-index: 2;
    background:rgba(255,255,255,.02);
    border:1px solid rgba(255,255,255,.05);
    border-radius:30px;
    padding:60px;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
}
/* ====== TEXTO ====== */
.cta-text h3 {
    font-size:  clamp(2rem, 4vw, 3rem );
    line-height:1.2;
    font-weight:900;
    letter-spacing:-1px;
    max-width:620px;
    text-shadow: 0 10px 25px rgba(0,0,0,.35);
    letter-spacing:-.04em;
    margin-bottom:18px;
}
.cta-text p {
    font-size:1.12rem;
    color:rgba(255,255,255,.92);
    max-width:560px;
    line-height:1.8;
    margin-top:8px;
    margin-bottom:0;
}
.cta-highlight{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 18px;
    border-radius:30px;
    background:rgba(255,255,255,.12);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.18);
    margin-bottom:35px;
    font-weight:700;
}
/* ====== BOTÕES CTA ====== */
.cta-buttons {
    display: flex;
    margin-top:35px;
    gap: 15px;
    flex-wrap: wrap;
}
/* ====== IMAGEM ====== */
.cta-img {
    display: flex;
    justify-content: center;
}
.cta-img img{
    width:100%;
    max-width:520px;
    border-radius:22px;
    box-shadow: 0 35px 70px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.15);
    transition:.6s;
}
.cta-img img:hover{
    transform: translateY(-10px) scale(1.02);
}
/* ===================================
   PUBLICIDADE EMPRESARIAL PREMIUM
=================================== */
.promo-section {
    padding: 72px 18px 52px;
    background: radial-gradient(circle at top, rgba(247,250,252,1), rgba(238,243,248,1) 42%, rgba(246,249,251,1) 100%);
}
.promo-shell {
    width: min(96%, var(--container));
    margin: 0 auto;
    display: grid;
    gap: 28px;
}
.promo-head {
    display: grid;
    gap: 20px;
    justify-items: center;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
}
.promo-head h2 {
    font-size: clamp(2.4rem, 3vw, 3.4rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
}
.promo-head p {
    color: #4b5563;
    font-size: 1rem;
    line-height: 1.85;
    max-width: 620px;
}
.promo-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}
.promo-actions .btn {
    min-width: 170px;
}
.promo-actions.top-botoes {
    margin-top: 36px;
    justify-content: center;
}
.promo-actions .btn.btn-outline {
    background: rgba(255,255,255,.97);
    color: #0f172a;
    border: 1px solid rgba(15,23,42,.12);
}
.promo-actions .btn.btn-outline:hover {
    background: #ffffff;
    box-shadow: 0 20px 45px rgba(15,23,42,.08);
}
.promo-carousel {
    position: relative;
    overflow: hidden;
    border-radius: 54px;
    padding: 30px;
    background: rgba(255, 255, 255, 0.22);
    -webkit-backdrop-filter: blur(34px);
    backdrop-filter: blur(34px);
    box-shadow: 0 50px 120px rgba(15, 23, 42, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.78);
}
.promo-carousel::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at top right, rgba(255,255,255,.7), transparent 28%),
                radial-gradient(circle at 20% 100%, rgba(37,99,235,.06), transparent 14%),
                linear-gradient(140deg, rgba(255,255,255,.17), transparent 40%, rgba(255,255,255,.1));
}
.promo-carousel-track {
    position: relative;
    display: grid;
    min-height: 380px;
}
.promo-slide {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 32px;
    border-radius: 42px;
    opacity: 0;
    transform: translateY(32px) scale(0.98);
    transition: opacity .55s ease, transform .55s ease, filter .55s ease;
    background-size: cover;
    background-position: center;
    z-index: 1;
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
    filter: brightness(.94);
}
.promo-slide.active {
    opacity: 1;
    transform: translateY(0) scale(1);
    z-index: 2;
    filter: brightness(1);
}
.promo-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, .16), rgba(255,255,255,.6) 38%, rgba(255,255,255,.96) 100%);
}
.promo-slide-copy {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 16px;
    max-width: 680px;
    padding: 34px;
    border-radius: 34px;
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(255,255,255,0.88);
    box-shadow: 0 42px 95px rgba(15,23,42,.08);
    -webkit-backdrop-filter: blur(26px);
    backdrop-filter: blur(26px);
}
.promo-slide-copy h3 {
    margin: 0;
    color: #111827;
    font-size: clamp(2rem, 2.4vw, 2.6rem);
    line-height: 1.06;
}
.promo-slide-copy p {
    margin: 0;
    color: #475569;
    font-size: 1rem;
    line-height: 1.85;
}
.promo-slide-copy:hover {
    transform: translateY(-1px);
}
@media (max-width: 960px) {
    .promo-carousel {
        padding: 20px;
    }
    .promo-slide {
        padding: 24px;
    }
    .promo-slide-copy {
        padding: 26px;
    }
}
@media (max-width: 680px) {
    .promo-section {
        padding: 32px 14px 28px;
    }
    .promo-head h2 {
        font-size: 1.85rem;
    }
    .promo-slide {
        min-height: 320px;
        padding: 18px;
    }
    .promo-slide-copy {
        padding: 20px;
    }
    .promo-slide-copy h3 {
        font-size: 1.45rem;
    }
}
/* =====================================================
   RESPONSIVIDADE
===================================================== */
@media(max-width:900px){
    .cta-container {
        grid-template-columns:1fr;
        text-align:center;
    }
    .cta-buttons {
        justify-content:center;
    }
}
/* =====================================================
   FOOTER PREMIUM
===================================================== */
.footer {
    background: linear-gradient( 180deg, #090820, #000418);
    color: #cbd5e1;
    padding-top: 80px;
    position: relative;
    overflow:hidden;
}
.footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:2px;
    background: linear-gradient( 90deg, transparent, var(--verde), #7df9b6, var(--verde), transparent ); opacity:.8;
}
.footer-container {
    width: min( 92%, var(--container) );
    margin: auto;
    display: grid;
    grid-template-columns: repeat( auto-fit, minmax(220px,1fr) );
    gap: 55px;
    padding-bottom: 30px;
    align-items:flex-start;
}
/* ======= TÍTULOS ======= */
.footer-col h3,
.footer-col h4 {
    color: white;
    position:relative;
    padding-bottom:14px;
    letter-spacing:-.04em;
    margin-bottom:10px;
}
.footer-col h4 {
    font-size:1.05rem;
    letter-spacing:-.02em;
    margin-bottom:20px;
}
.footer-logo {
    font-size:2rem;
    font-weight:900;
    letter-spacing:1px;
}
/* TEXTOS */
.footer-col p {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.7;
    margin-top:8px;
    margin-bottom:0;
}
/* ======= LINKS ======= */
.footer-col a {
    display: block;
    color: #cbd5e1;
    margin-bottom: 6px;
    transition: .3s;
    font-size:.94rem;
    line-height:1.4;
}
.footer-col a:hover {
    color: white;
    transform: translateX(8px);
}
/* ======= REDES SOCIAIS ======= */
.footer-social {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}
.footer-social a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background:rgba(255,255,255,.05);
    color: white;
    font-weight: bold;
    transition: .3s;
}
.footer-social a:hover {
    background: transparent;
    border: 1px solid var(--verde);
    transform: translateY(-6px) scale(1.08);
}
/* ======= NEWSLETTER ======= */
.newsletter-box {
    display: flex;
    margin-top: 15px;
}
.newsletter-box input {
    flex: 1;
    border: none;
    padding: 12px;
    border-radius: 10px 0 0 10px;
    background:#f8fafc;
}
.newsletter-box button {

    border: none;
    padding: 12px 22px;
    background: linear-gradient( 135deg, var(--verde), var(--verde-claro) );
    color: white;
    cursor: pointer;
    border-radius: 0 10px 10px 0;
    transition:.35s;
}
.newsletter-box button:hover{

    filter:brightness(1.08);
}
/* ======= MAPA ======= */
.footer-map {

    width: min( 95%, 1200px );
    margin: auto;
    padding: 40px;
}
.footer-map iframe {
    width: 100%;
    height: 200px;
    border: 0;
    border-radius: 18px;
    filter: grayscale(.15) contrast(1.03) brightness(.98);
}
/* ======= COPYRIGHT ======= */
.footer-bottom {
    text-align: center;
    padding: 25px;
    border-top: 1px solid rgba(255,255,255,.08);
    font-size: 13px;
    color: #8ca0b8;
}
.footer-bottom small{
    opacity:.7;
}
/* ================================
   FORMULÁRIOS E INPUTS PADRONIZADOS
================================= */
input,
select,
textarea {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 14px;
    padding: 13px 16px;
    background: rgba(247, 244, 244, 0.9);
    color: var(--texto);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
input:focus,
select:focus,
textarea:focus {
    border-color: rgba(34,197,94,.45);
    box-shadow: 0 0 0 4px rgba(34,197,94,.12);
    transform: translateY(-1px);
}
/* ================================
   PÁGINAS INTERNAS / SERVIÇOS / LOJA / CURSOS
================================= */
.page-shell {
    padding: 120px 20px 80px;
    background: linear-gradient(180deg, var(--fundo), var(--fundo-secundario));
}
.page-shell .page-intro {
    width: min(92%, var(--container));
    margin: 0 auto 40px;
    text-align: center;
}
.page-shell .page-intro h1 {
    font-size: clamp(2rem, 3.6vw, 2.8rem);
    margin-bottom: 12px;
}
.page-shell .page-intro p {
    max-width: 760px;
    margin: 0 auto;
}
.page-card {
    width: min(92%, var(--container));
    margin: 0 auto 24px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 28px;
    box-shadow: var(--sombra);
}
.page-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}
.page-grid .card {
    background: rgba(255,255,255,0.8);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 24px;
    box-shadow: var(--sombra);
}
body.dark .page-grid .card {
    background: rgba(5, 22, 63, 0.72);
}
/* ================================
   BOTÕES FLUTUANTES
================================= */
/* ======= CARRINHO ======= */
.cart{
    position:fixed;
    top:95px;
    right:22px;
    width:48px;
    height:48px;
    border:none;
    border-radius:14px;
    background:rgba(255,255,255,.88);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    box-shadow:0 12px 35px rgba(15,23,42,.10);
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    z-index: index 1001;
    transition:.35s;
    animation: cartEntrance .8s ease;
    flex-shrink: 0;
}
.cart img {
    width:34px;
    height:34px;
    object-fit:contain;
    pointer-events:none;
}
.cart:hover{
    transform:translateY(-4px)scale(1.05);
    box-shadow:0 20px 45px rgba(15,23,42,.16);
    rotate:-4deg;
}
.cart:active{
    transform:scale(.93);
}
.cart span{
    position:absolute;
    top:-5px;
    right:-5px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#ef4444;
    color:white;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:11px;
    font-weight:700;
    box-shadow:0 0 0 3px white;
    transition:.35s;
}
body.dark .cart{
    background:rgba(15,23,42,.88);
}
body.dark .cart span{
    box-shadow:0 0 0 3px #0f172a;
}
@keyframes cartPop{

    0%{transform:scale(1);
    }
    40%{transform:scale(1.18);
    }
    70%{transform:scale(.95);
    }
    100%{transform:scale(1);
    }
}
.cart-pop{

    animation:cartPop .45s;
}
@keyframes badgePulse{

    0%{transform:scale(1);
    }
    50%{transform:scale(1.35);
    }
    100%{transform:scale(1);
    }
}
.cart-pop span{
    animation:badgePulse .45s;
}
@keyframes cartEntrance{
    from{
        opacity:0;
        transform:
        translateX(80px);
    }
    to{
        opacity:1;
        transform:
        translateX(0);
    }
}
/* ======= TOPO ======= */
.topo {
    position: fixed;
    right: 20px;
    bottom: 25px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--amarelo);
    color: #111;
    font-size: 18px;
    font-weight: bold;
    z-index: 2000;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
/* ======= WHATSAPP ======= */
.whatsapp-fixo {
    position: fixed;
    right: 20px;
    bottom: 80px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #25d366;
    color: white;
    font-size: 24px;
    z-index: 2000;
    box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
/* ===============================
   OVERLAY MENU
================================ */
.menu-overlay{
    position:fixed;
    inset:0;
    background:rgb(2, 6, 23);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    opacity:0;
    visibility:hidden;
    transition:.35s;
    z-index:998;
}
.menu-overlay.active{
    opacity:1;
    visibility:visible;
}
/* =====================================================
   ANIMAÇÕES GERAIS
===================================================== */
.reveal {
    opacity: 0;
    transform: translateY(50px);
    transition: 1s cubic-bezier(.22,.61,.36,1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
/* ======= PULSO WHATSAPP ======= */
@keyframes pulseWhatsapp {

    0% {

        box-shadow: 0 0 0 0 rgba(37,211,102,.6);
    }

    70% {

        box-shadow: 0 0 0 25px rgba(37,211,102,0);
    }

    100% {

        box-shadow: 0 0 0 0 rgba(37,211,102,0);
    }
}
.whatsapp-fixo:hover {
    animation: pulseWhatsapp 2s infinite;
}
/* ==========================================
   TOAST PREMIUM
========================================== */
.site-notification{
    position:fixed;
    top:105px;
    right:25px;
    min-width:290px;
    max-width:340px;
    padding:18px 22px;
    border-radius:16px;
    background:rgba(255,255,255,.95);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.65);
    box-shadow:0 18px 45px rgba(15,23,42,.12);
    color:var(--texto);
    font-weight:600;
    transform:translateX(120%);
    opacity:0;
    transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .35s;
    z-index:9999;
}
.site-notification.show{
    transform:translateX(0);
    opacity:1;
}
body.dark .site-notification{
    background:rgba(15,23,42,.95);
    border-color:rgba(255,255,255,.08);
}
.site-notification::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:linear-gradient(
        var(--verde),
        var(--verde-claro)
    );
    border-radius:16px 0 0 16px;
}
/* ================================
    MODO NOTURNO AUTOMÁTICO
================================= */
body.dark {
    background: #02061b;
    color: #edf0f3;
}
body.dark .header-premium {
    background: rgba(0, 5, 29, 0.774);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
}
body.dark .produto-card,
body.dark .curso-card {
    background: rgba(12, 10, 51, 0.295);
    border-color: rgba(254, 255, 253, 0.13);
}
body.dark .produto-info p,
body.dark .curso-info p {
    color: #d7dce4;
}
/* ======================
      CANDIDATURA
======================*/
.candidatura-page {
    padding: 80px 20px;
    margin: auto;
    background: var(--fundo);
}
.candidatura-page .candidatura-header{
    max-width: 700px;
    text-align: center;
    margin: 0 auto 40px;
    margin-bottom:20px;
}
.candidatura-header h2 {
    font-size: clamp( 1rem, 4vw, 2.4rem );
    position: relative;
    letter-spacing:-.02em;
    margin-bottom:16px;
}
.candidatura-header h2 span {
    color: var(--verde);
}
.candidatura-header h2::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-8px;
    transform:translateX(-50%);
    width:120px;
    height:4px;
    border-radius:30px;
    background: linear-gradient( 90deg, var(--verde), var(--verde-claro) );
}
.candidatura-header p {
    font-size: 15px;
    color: var(--texto-suave);
    margin-top:8px;
    margin-bottom:0;
}
.candidatura-content{
    max-width: 900px;
    margin: auto;
    gap:28px;
    align-items:start;
}
.candidatura-form{
    background:var(--card);
    padding:26px;
    border-radius:20px;
    border:1px solid var(--border);
}
.candidatura-form label{
    display:block;
    margin:8px 0 4px;
    color:var(--texto-suave);
    font-weight:500;
}
.candidatura-form input,
.candidatura-form select,
.candidatura-form textarea{
    width:100%;
    padding:10px;
    border-radius:12px;
    border:1px solid rgba(15,23,42,.08);
    margin-bottom:8px;
}
.candidatura-actions{
    display:flex;
    gap:12px;
    margin-top:12px;
}
/* ======================
      ADMIN
======================*/
.admin-api-note,
.checkout-api-note{
    margin: 0 0 18px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(34,197,94,.10);
    border: 1px solid rgba(34,197,94,.22);
    color: var(--texto);
}
body.admin-login-active{
    overflow:hidden;
}
.admin-page{
    padding: 80px 60px;
}
.admin-login-page,
.admin-panel{
    position:absolute;
    inset: 0;
    width:100%;
    transition: transform .45s ease, opacity .35s ease, visibility .35s ease;
}
.admin-login-page{
    display:grid;
    place-items:center;
    padding:28px 16px;
    background:linear-gradient(135deg, rgba(15,23,42,.98), rgba(15,23,42,.95));
    z-index:2;
    opacity:1;
    transform:translateX(0);
    visibility:visible;
}
.admin-login-page.hidden{
    opacity:0;
    transform:translateX(-100%);
    pointer-events:none;
    visibility:hidden;
    z-index:1;
}
.admin-panel{
    padding:24px;
    background:linear-gradient(135deg, rgba(2,6,23,.98), rgba(15,23,42,.96));
    opacity:0;
    transform:translateX(100%);
    visibility:hidden;
    z-index:1;
    pointer-events:none;
}
.admin-panel:not(.hidden){
    opacity:1;
    transform:translateX(0);
    visibility:visible;
    z-index:2;
    pointer-events:auto;
}
.admin-login-card{
    width:min(100%, 460px);
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    border-radius:26px;
    padding:26px 24px;
    box-shadow:0 24px 70px rgba(2,6,23,.28);
    -webkit-backdrop-filter:blur(20px);
    backdrop-filter:blur(20px);
    animation: fadeUp .35s ease forwards;
}
.admin-login-brand{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:14px;
}
.admin-login-badge{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(34,197,94,.16);
    color:#d1fae5;
    font-size:.78rem;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-weight:700;
}
.admin-login-card h1 strong{
    margin:6px 0 0;
    font-size:1.5rem;
    color:#fffffe;
}
.admin-login-card h1 b{
    color:var(--verde);
}
.admin-login-card p{
    margin:0 0 14px;
    color:rgba(226,232,240,.78);
}
.admin-hint-top{
    text-align: center;
}
.admin-hint{
    margin-top:10px !important;
    font-size:.9rem;
    color:#86efac !important;
}
.admin-login-card .admin-form.compact,
.admin-form.compact{
    display:grid;
    gap:10px;
    max-width:none;
    margin-bottom:8px;
}
.admin-login-card label{
    color:rgba(241,245,249,.82);
    font-size:.92rem;
    font-weight:700;
}
.admin-login-card input,
.admin-page .admin-form input{
    width:100%;
    background:rgba(15,23,42,.72);
    color:#e2e8f0;
    border:1px solid rgba(148,163,184,.18);
    border-radius:14px;
    padding:12px 14px;
}
.admin-login-card input:focus,
.admin-page .admin-form input:focus{
    outline:none;
    border-color:rgba(34,197,94,.8);
    box-shadow:0 0 0 3px rgba(34,197,94,.12);
}
.admin-login-card .btn,
.admin-panel .btn{
    padding:12px 16px;
    border-radius:14px;
    font-weight:700;
}
.admin-page .admin-error{
    color: rgb(248, 107, 107);
    font-weight: 400;
}
.btn.btn-primary{
    background:linear-gradient(135deg, #22c55e, #14b8a6);
    color:#fff;
    border:1px solid transparent;
    box-shadow:0 12px 32px rgba(20,184,166,.18);
}
.admin-shell-grid{
    display:grid;
    grid-template-columns: 280px 1fr;
    gap:20px;
    height:100%;
}
.admin-sidebar{
    background:rgba(15,23,42,.84);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:20px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.admin-nav{
    display:grid;
    gap:8px;
    margin:20px 0;
}
.admin-nav-btn{
    border:0;
    text-align:left;
    padding:10px 12px;
    border-radius:14px;
    background:transparent;
    color:rgba(226,232,240,.84);
    cursor:pointer;
    transition: background .2s ease, color .2s ease;
}
.admin-nav-btn.active,
.admin-nav-btn:hover{
    background:rgba(34,197,94,.16);
    color:#f8fafc;
}
.admin-sidebar-footer p{
    font-size:.9rem;
    color:rgba(226,232,240,.72);
    margin:0;
}
.admin-content{
    background:rgba(15,23,42,.74);
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:22px;
    overflow:auto;
}
.admin-panel-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:16px;
    margin-bottom:16px;
}
.admin-panel-label{
    margin:0 0 6px;
    color:#86efac;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.78rem;
}
.admin-panel-header h1{
    margin:0;
    color:#f8fafc;
    font-size:1.45rem;
}
.admin-view{
    display:none;
}
.admin-view.active{
    display:block;
}
.admin-stats-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap:12px;
    margin-bottom:16px;
}
.admin-stat-card,
.admin-panel-card,
.admin-card{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:14px;
    box-shadow:0 12px 30px rgba(2,6,23,.18);
}
.admin-stat-card strong{
    display:block;
    font-size:1.2rem;
    color:#f8fafc;
    margin-bottom:4px;
}
.admin-stat-card span,
.admin-card-header span,
.admin-card-header h3,
.admin-card div{
    color:rgba(226,232,240,.78);
}
.admin-grid-two{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap:16px;
}
.admin-card-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}
.admin-card-header h3{
    margin:0;
    color:#f8fafc;
}
.admin-card-actions-inline{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.admin-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.admin-card{margin-bottom:10px;}
.admin-card strong{color:#f8fafc;}
.admin-empty{padding:12px 0;color:rgba(226,232,240,.7);}
.admin-editor-modal{max-width:560px;}
.admin-editor-modal textarea{width:100%;min-height:100px;border-radius:14px;padding:12px 14px;background:rgba(15,23,42,.72);color:#e2e8f0;border:1px solid rgba(148,163,184,.18);} 
.admin-editor-modal select{width:100%;padding:12px 14px;border-radius:14px;background:rgba(15,23,42,.72);color:#e2e8f0;border:1px solid rgba(148,163,184,.18);} 
.admin-editor-modal input[type="file"]{padding:0;color:#e2e8f0;} 
.btn.btn-secondary{background:rgba(255,255,255,.08);color:#f8fafc;border:1px solid rgba(255,255,255,.1);} 

@keyframes fadeUp{from{opacity:0;transform:translateY(16px);} to{opacity:1;transform:translateY(0);}}

@media (max-width: 960px){
    .admin-shell-grid{grid-template-columns:1fr;}
    .admin-sidebar{order:2;}
    .admin-content{order:1;}
}

@media (max-width: 640px){
    .admin-panel{padding:12px;}
    .admin-content{padding:14px;}
    .admin-panel-header{flex-direction:column;}
    .admin-login-card{padding:20px 18px;}
}
/* FORMULÁRIOS GLASS LOGIN */
.formulario-page{
    min-height:100vh;
    background:radial-gradient(circle at top left, rgba(56,189,248,.18), transparent 32%),
               radial-gradient(circle at bottom right, rgba(34,197,94,.16), transparent 28%),
               linear-gradient(180deg, #0b1523 0%, #111d34 45%, #09101f 100%);
    color:#eef2ff;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px 20px;
    overflow-x:hidden;
}
.formulario-page .page-glow{
    position:fixed;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at top center, rgba(220,248,255,.14), transparent 22%),
                radial-gradient(circle at center right, rgba(34,197,94,.1), transparent 18%);
    filter:blur(40px);
}
.formulario-shell{
    width:min(100%,1200px);
}
.formulario-card{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:30px;
    border-radius:32px;
    background:rgba(10,19,39,.62);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 40px 120px rgba(0,0,0,.35);
    -webkit-backdrop-filter:blur(26px);
    backdrop-filter:blur(26px);
    overflow:hidden;
}
.formulario-preview,
.formulario-formulario{
    padding:34px;
}
.brand-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:72px;
    height:72px;
    border-radius:18px;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.15);
    margin-bottom:28px;
}
.formulario-preview h1{
    font-size:clamp(2.3rem,3vw,3.6rem);
    margin-bottom:20px;
}
.formulario-preview p{
    max-width:520px;
    margin-bottom:28px;
    color:rgba(238,239,255,.8);
}
.form-banner{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    padding:22px;
    border-radius:24px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    margin-bottom:24px;
}
.form-banner strong{
    font-size:1rem;
    color:#d9f99d;
}
.form-banner span{
    color:rgba(238,239,255,.75);
}
.form-keypoints{
    display:grid;
    gap:12px;
    color:rgba(238,239,255,.75);
    font-size:.97rem;
}
.form-keypoints span{
    display:inline-flex;
    gap:10px;
    align-items:center;
}
.form-header h2{
    margin-bottom:10px;
}
.form-header p{
    color:rgba(238,239,255,.72);
    margin-bottom:24px;
}
.card-glass{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 24px 60px rgba(0,0,0,.18);
    border-radius:22px;
}
.curso-form-card{
    padding:24px;
}
.curso-status{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
    padding:18px;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.12);
}
.curso-status span{
    color:rgba(238,239,255,.75);
}
.curso-status strong{
    font-size:1.15rem;
    color:#a5f3fc;
}
.form-label{
    display:block;
    margin-bottom:10px;
    color:rgba(238,239,255,.82);
    font-weight:700;
}
.form-select,
.form-input,
.curso-form textarea{
    width:100%;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);
    color:#f8fafc;
    margin-bottom:18px;
    outline:none;
}
.form-select option{
    color:#0f172a;
}
.form-input::placeholder,
.form-select option,
.curso-form textarea::placeholder{
    color:rgba(238,239,255,.56);
}
.curso-form textarea{
    min-height:120px;
    resize:vertical;
}
.btn-destaque{
    width:100%;
    border-radius:18px;
    padding:16px 20px;
    background:linear-gradient(135deg, rgba(34,197,94,.95), rgba(56,189,248,.92));
    color:#fff;
    box-shadow:0 18px 35px rgba(34,197,94,.22);
}
.btn-destaque:hover{
    transform:translateY(-2px);
    filter:brightness(1.08);
}
.formulario-footer{
    text-align:center;
    margin-top:28px;
    color:rgba(238,239,255,.75);
}
@media (max-width: 1024px){
    .formulario-card{grid-template-columns:1fr;}
}
@media (max-width: 768px){
    .admin-page{padding:0;}
    .formulario-card{padding:20px;}
    .formulario-preview,
    .formulario-formulario{padding:24px;}
}
@media (max-width: 640px){
    .formulario-page{padding:20px 14px;}
    .formulario-card{border-radius:24px;}
    .form-banner{flex-direction:column;}
    .form-keypoints{font-size:.95rem;}
}
body.dark .grade-produtos,
body.dark .grade-cursos {

    background: #020617;
}
body.dark input,
body.dark textarea {

    background: #0f172a;
    color: white;
    border-color: #334155;
}
@keyframes heroEntrada{

    from{

        opacity:0;
        transform:translateY(40px);
    }

    to{

        opacity:1;
        transform:translateY(0);
    }
}
/* ============================
    RESPONSIVIDADE FINAL
============================= */
@media(max-width:1100px){
    .header-inner{
        width:96%;
    }
    .header-actions{
        gap:8px;
    }
    .logo-area img{
        width:145px;
    }
    .header-inner{
        padding:0 18px;
    }
    .hero-container{
        grid-template-columns:1fr 0.9fr;
        gap:50px;
    }
    .hero-left h1{
        font-size:clamp(2.3rem,4vw,3.4rem);
    }
    .hero-right img{
        max-width:420px;
    }
}
/* ============================*/
@media(max-width:900px){
    .servicos-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .produtos-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .cursos-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .cta{
        padding:90px 20px;
    }
    .cta-container{
        gap:45px;
    }
    .footer-container{
        grid-template-columns:repeat(2,1fr);
    }
}
/* ============================*/
@media(max-width:860px){
    .header-inner{
        min-height:74px;
        gap:12px;
    }
    .logo-area{
        flex:1;
        min-width:0;
    }
    .logo-area img{
        width:auto;
        max-width:170px;
        height:auto;
    }
    .header-actions{
        gap:8px;
        flex-shrink:0;
    }
    .theme-toggle{
        width:40px;
        height:40px;
    }
    .btn-candidatar{
        padding:10px 16px;
        font-size:14px;
    }
    .menu-toggle{
        display:flex;
        align-items:center;
        justify-content:center;
        z-index:1002;
    }
    .nav-premium{
        position:fixed;
        top:0;
        right:-320px;
        width:300px;
        height:100vh;
        padding: 95px 35px 35px;
        background:rgba(255,255,255,.94);
        -webkit-backdrop-filter:blur(18px);
        backdrop-filter:blur(18px);
        border-left:1px solid rgba(255,255,255,.35);
        display: flex;
        flex-direction:column;
        align-items:flex-start;
        gap:22px;
        transition:.45s cubic-bezier(.22,.61,.36,1);
        box-shadow:-15px 0 40px rgba(0,0,0,.18);
        z-index:1001;
    }
    body.dark .nav-premium{
        background:rgba(15,23,42,.96);
        border-left:1px solid rgba(255,255,255,.06);
    }
    .nav-premium.active{
        right:0;
    }
    .nav-premium a{
        width:100%;
        padding:14px 18px;
        border-radius:12px;
        font-size:17px;
        font-weight:600;
        transition:.25s;
    }
    .nav-premium a:hover{
        background:rgba(34,197,94,.10);
        color:var(--verde);
        transform:translateX(8px);
    }
    .hero-container{
        grid-template-columns:1fr;
        text-align:center;
    }
    .hero-left{
        order:1;
    }
    .hero-right{
        order:2;
        margin-top:20px;
    }
    .hero-right img{
        max-width:340px;
        margin:auto;
    }
    .hero-buttons{
        justify-content:center;
    }
    .hero-stats{
        justify-content:center;
        flex-wrap:wrap;
    }
}
/* ============================*/
@media(max-width:768px){
    .footer-container {
        text-align: center;
    }
    .footer-social {
        justify-content: center;
    }
    .newsletter-box {
        flex-direction: column;
    }
    .newsletter-box input,
    .newsletter-box button {
        border-radius: 10px;
        margin-bottom: 10px;
    }
    .logos-track{
        gap:35px;
    }
    .logos-track img{
        width:100px;
        height:55px;
    }
}
/* ============================*/
@media(max-width:620px){
    .servicos-grid{
        grid-template-columns:1fr;
    }
    .produtos-grid{
        grid-template-columns:1fr;
    }
    .cursos-grid{
        grid-template-columns:1fr;
    }
}
/* ============================*/
@media(max-width:600px){
    .hero-buttons .btn,
    .servicos-cta .btn,
    .cta-buttons .btn,
    .empresa-botoes .btn {
        width: 100%;
        justify-content: center;
    }
    .cta{
        padding:70px 20px;
    }
    .cta-text h3{
        font-size:2rem;
    }
    .cta-buttons{
        width:100%;
    }
    .cta-buttons .btn{
        flex:1;
        justify-content:center;
    }
    .produto-card,
    .curso-card,
    .servico-card{
        border-radius:18px;
    }
    .produto-info,
    .curso-info{
        padding:22px;
    }
}
/* ============================*/
@media(max-width:560px){
    .logo-area img{
        height:46px;
        max-width:145px;
    }
    .theme-toggle{
        font-size:18px;
        width:38px;
        height:38px;
    }
    .footer-container{
        grid-template-columns:1fr;
        text-align:center;
    }
    .footer-social{
        justify-content:center;
    }
}
/* ============================*/
@media(max-width:520px){
    .hero-stats{
        justify-content:center;
        gap:15px;
    }
    .hero-stat{
        min-width:130px;
    }
}
/* ============================*/
@media(max-width:480px){
    .whatsapp-fixo {
        right: 20px;
        bottom: 70px;
    }
    .topo {
        right: 20px;
    }
    .header-inner{
        width:95%;
    }
    .logo-area img{
        width:112px;
    }
    .header-actions{
        gap:6px;
    }
    .theme-toggle{
        font-size:17px;
    }
    .hero{
        padding-top:120px;
    }
    .hero-left h1{
        font-size:2rem;
    }
    .hero-right img{
        max-width:260px;
    }
    .btn{
        width:100%;
        justify-content:center;
    }
    section{
        padding-top:75px;
        padding-bottom:75px;
    }
}
/* ============================*/
@media(max-width:420px){
    .logo-area img{
        height:40px;
    }
    .header-actions{
        gap:6px;
    }
}
/* ================================
   CHECKOUT PAGE
================================ */
.body-checkout{
    background: url(../img/vitrine-bebidas.jpg) center/cover no-repeat fixed;
} 
.checkout-page{
    padding: 60px 20px;
    z-index:1000;
    background: rgba(255, 255, 255, 0.644);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: var(--transicao);
}
.checkout-content {
    width: min(92%, var(--container));
    margin: 0 auto 10px;
    padding: 60px 0 60px;
}
.checkout-header{
    
    align-items: center;
    text-align: center;
    margin-bottom: 18px;
}
.checkout-header h2 {

    font-size: clamp( 2rem, 4vw, 2.8rem );
    position: relative;
    letter-spacing:-.04em;
}
.checkout-header p {

    color: var(--texto);
}
.checkout-container {
    display: grid;
    grid-template-columns: minmax(320px, 1.2fr) minmax(300px, .8fr);
    gap: 32px;
    align-items: start;
}
.checkout-resumo,
.checkout-form {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 28px;
    padding: 28px;
    box-shadow: var(--sombra);
}
.checkout-resumo h3,
.checkout-form h3 {
    margin-bottom: 24px;
    color: var(--verde);
    font-size: 1.6rem;
}
#checkout-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 18px;
}
.checkout-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    padding: 22px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.884);
    border: 1px solid rgba(30, 194, 90, 0.301);
}
.item-card-info strong {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 8px;
    color: var(--texto);
}
.item-meta {
    display: block;
    color: var(--texto-suave);
    font-size: .95rem;
    line-height: 1.6;
}
.item-card-actions {
    display: grid;
    gap: 10px;
    align-items: center;
}
.action-btn {
    border: 1px solid rgba(16, 228, 94, 0.22);
    background: rgba(8, 245, 95, 0.411);
    color: var(--verde-escuro);
    border-radius: 14px;
    padding: 8px 12px;
    font-weight: 800;
    cursor: pointer;
    transition: var(--transicao);
}
.action-btn:hover {
    background: var(--verde);
    color: white;
    border-color: var(--verde-claro);
}
.action-btn.less{
    background: rgba(214, 218, 15, 0.247);
    border-color: rgba(228, 224, 16, 0.384);
    color: rgb(190, 190, 11);
}
.action-btn.danger {
    background: rgba(239,68,68,.1);
    border-color: rgba(239,68,68,.3);
    color: #b91c1c;
    font-weight: 600;
}

.checkout-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    font-size: 1.1rem;
    padding-top: 18px;
    border-top: 1px solid var(--border);
    color: var(--texto);
}

.checkout-actions-footer {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.btn-secundario {
    border: 1px solid rgba(15, 23, 42, 0.432);
    background: transparent;
    color: var(--texto);
    min-width: 180px;
  }

.btn-secundario:hover {
    background: rgba(0, 255, 94, 0.24);
}

.btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    padding: 14px 22px;
    border-radius: 14px;
    border: 1px solid var(--verde);
    background: transparent;
    color: var(--verde);
    text-decoration: none;
    transition: var(--transicao);
}
.btn-outline:hover {
    background: var(--verde);
    color: white;
}
.checkout-form input,
.checkout-form select,
.checkout-form textarea {
    width: 100%;
    border: 1px solid rgba(15,23,42,.12);
    border-radius: 16px;
    padding: 16px 18px;
    margin-bottom: 18px;
    background: rgba(255,255,255,.92);
    color: var(--texto);
}

.checkout-form textarea {
    min-height: 160px;
    resize: vertical;
}

.btn-destaque {
    width: 50%;
    background: linear-gradient(135deg, var(--verde), var(--verde-claro));
    color: white;
    border: none;
}

.btn-destaque:hover {
    color: var(--texto);
    background: linear-gradient(135deg, var(--verde-claro), #a7f3d0);
}

.checkout-empty {
    padding: 28px 18px;
    border-radius: 18px;
    background: rgba(37, 52, 88, 0.13);
    color: var(--texto-suave);
    font-weight: 400;
    text-align: center;
}

@media(max-width: 960px) {
    .checkout-container {
        grid-template-columns: 1fr;
    }
}

@media(max-width: 640px) {
    .checkout-api-note,
    .admin-api-note {
        padding: 14px 15px;
    }
}

@media(max-width: 640px) {
    .checkout-item {
        grid-template-columns: 1fr;
    }
    .item-card-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ===================================
   CAMADA DE ESTABILIDADE E ACESSIBILIDADE
=================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 96px;
}

body.menu-open,
body.modal-open {
    overflow: hidden;
}
button,
input,
select,
textarea {
    font: inherit;
}
button:not(:disabled),
a {
    -webkit-tap-highlight-color: transparent;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(34, 197, 94, .75);
    outline-offset: 3px;
}
.header-premium {
    z-index: 1100;
}
.menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(2, 6, 23, .52);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
}
.menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.cart {
    z-index: 1040;
}
.site-notification {
    z-index: 1300;
    max-width: min(420px, calc(100vw - 32px));
}
.curso-footer .btn {
    min-width: auto;
    min-height: 42px;
    padding: 10px 16px;
}
.product-card,
.curso-card,
.servico-card {
    min-width: 0;
}
@media (max-width: 760px) {
    .nav-premium {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1101;
        width: min(86vw, 360px);
        min-height: 100dvh;
        padding: 96px 24px 32px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        overflow-y: auto;
        background: var(--card, #fff);
        box-shadow: -18px 0 42px rgba(2, 6, 23, .22);
        transform: translateX(105%);
        visibility: hidden;
        transition: transform .25s ease, visibility .25s ease;
    }
    .nav-premium.open {
        transform: translateX(0);
        visibility: visible;
    }

    .nav-premium a {
        padding: 14px 12px;
        border-radius: 10px;
    }

    .menu-toggle {
        position: relative;
        z-index: 1102;
    }

    .cart {
        top: auto;
        right: 18px;
        bottom: 82px;
    }

    .page-quick-actions {
        padding: 16px;
    }

    .checkout-content,
    .page-shell {
        padding-left: 16px;
        padding-right: 16px;
    }

    .page-card,
    .checkout-resumo,
    .checkout-form {
        padding: 20px;
        border-radius: 20px;
    }

    .btn-destaque {
        width: 100%;
    }
}

/* ===================================
   PADRÃO VISUAL PARTILHADO
=================================== */
.nav-premium a.is-active {
    color: var(--verde, #16a34a);
    font-weight: 800;
}

.nav-premium a.is-active::after {
    width: 100%;
}

.servicos-premium,
.grade-produtos,
.grade-cursos {
    position: relative;
    isolation: isolate;
}

.servico-card,
.produto-card,
.curso-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-color: rgba(15, 23, 42, .10);
}

.servico-card > p,
.produto-info > p,
.curso-info > p {
    flex: 1;
}
.servico-card:focus-within,
.produto-card:focus-within,
.curso-card:focus-within {
    border-color: rgba(34, 197, 94, .65);
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .12), var(--sombra-hover);
}
.produto-footer,
.curso-footer {
    gap: 14px;
}
.produto-footer button {
    min-width: 46px;
    min-height: 46px;
}
.section-badge {
    letter-spacing: .04em;
}
.page-quick-actions {
    width: min(92%, var(--container));
    margin: 36px auto 0;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}
.page-quick-actions .btn {
    min-width: 150px;
}
.newsletter-box input:invalid:not(:placeholder-shown) {
    border-color: #ef4444;
}
.newsletter-box button:disabled,
button:disabled {
    cursor: not-allowed;
    opacity: .6;
    transform: none;
}
@media (max-width: 640px) {
    .hero-buttons,
    .cta-buttons,
.empresa-botoes {
        gap: 12px;
    }
    .curso-footer,
    .produto-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .curso-footer .btn,
    .produto-footer button {
        width: 100%;
    }
}
.produtos-header h2,
.cursos-header h2 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    position: relative;
    letter-spacing: -.04em;
    margin-bottom: 18px;
}
.produtos-header h2::after,
.cursos-header h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 120px;
    height: 4px;
    border-radius: 30px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, var(--verde), var(--verde-claro));
}
.cta-text h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.04em;
    max-width: 620px;
    margin-bottom: 18px;
    text-shadow: 0 10px 25px rgba(0, 0, 0, .35);
}