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

body{
 font-family:'Inter',sans-serif;
 background:radial-gradient(circle at center,#3d131a 0%,#040911 100%);
 color:#fff;

 overflow-y:scroll; /* 🔥 FIX PRINCIPAL */
 overflow-x:hidden;
}

html{
 scrollbar-gutter: stable;
}

body{
 overflow-y:scroll;
}

canvas{position:fixed;inset:0;z-index:-1}

/* HEADER */
header{
 position:fixed;
 top:0;
 width:100%;
 text-align:center;
 padding:10px 0 5px 0; /* 👈 bem mais compacto */
 z-index:10;
}

.logo{
 font-size:clamp(36px,6vw,90px);
 font-weight:800;
 text-shadow:0 0 6px rgba(255,255,255,0.3),
             0 0 10px rgba(255,208,0,0.3);
 animation:pulse 4s infinite;
}

@keyframes pulse{
 50%{
  text-shadow:0 0 10px rgba(255,255,255,0.6),
              0 0 18px rgba(255,208,0,0.5);
 }
}

/* SIDEBARS */
.sidebar-left,.sidebar-right{
 position:fixed;
 top:150px;
 width:120px;
 display:flex;
 flex-direction:column;
 gap:5px;
 padding:5px;
 z-index:20;
}

.sidebar-left{left:0}
.sidebar-right{right:0}

/* BOTÕES */
button,.card,.btn-back{
 padding:10px;
 border-radius:8px;
 border:1px solid rgba(255,255,255,.1);
 background:rgba(0,0,0,.35); /* mais elegante que branco */
 backdrop-filter: blur(6px);
 -webkit-backdrop-filter: blur(6px); /* compatibilidade */
 border:1px solid rgba(255,255,255,.15);
 color:#fff;
 cursor:pointer;
 position:relative;
 overflow:hidden;
 transition:.3s;
}

button::before,.card::before,.btn-back::before{
 content:"";
 position:absolute;
 inset:0;

 background:linear-gradient(
 120deg,
 transparent 20%,
 rgba(255,255,255,0.9) 45%,
 rgba(255,255,255,0.4) 50%,
 rgba(255,255,255,0.9) 55%,
 transparent 80%
 );

 transform:translateX(-120%);
 transition:0.7s;
 pointer-events:none;
 z-index:0;
}

button:hover::before,
.card:hover::before,
.btn-back:hover::before{
 transform:translateX(100%);
}

button:hover,.card:hover,.btn-back:hover{
 transform:scale(1.035);
 box-shadow:
0 0 8px rgba(255,255,255,0.25),
0 0 18px rgba(255,255,255,0.12);
}

/* MAIN */
main{
 padding-top:110px; /* 👈 valor realista alinhado ao header */
 padding-bottom:90px;
}

.main-grid{
 display:block;
}

.main-content{
 max-width:900px;
 margin:auto;
 padding-left:clamp(10px, 5vw, 140px);
 padding-right:clamp(10px, 5vw, 140px);
}

/* SCREENS */
.screen{display:none;text-align:center;padding:40px 20px}
.screen.active{display:block}

/* MENU */
.menu{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:20px;
 margin-top:30px;
}

/* LOJA */
.products{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:15px;
 margin-top:30px;
}

.product{
 border-radius:10px;
 overflow:hidden;
 cursor:pointer;
 transition:.3s;
}

.product img{
 width:100%;
 height:150px;
 object-fit:cover;
}

.product:hover{
 transform:scale(1.05);
 box-shadow:0 0 18px #ffd000;
}

/* TEXTO */
.texto{
 margin-top:20px;
 line-height:1.7;
 max-width:800px;
 margin:auto;
}

/* CONTATOS */
.premium-contatos{
 display:flex;
 gap:16px;
 flex-wrap:wrap; 
 justify-content:center; 
 margin-top:20px; 
}

.contato-item{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 font-size:14px;
}

.icon{
 width:13px;
 height:13px;
 min-width:13px;
 min-height:13px;
 stroke:white;
 opacity:0.65;
 transition:.25s;
 flex-shrink:0;
}

.contato-item:hover .icon{
 opacity:1;
 transform:scale(1.15);
}

.icon.whatsapp{
 stroke:#25d366;
 opacity:0.6;
}

.contato-item:hover .whatsapp{
 opacity:0.9;
 filter:drop-shadow(0 0 4px rgba(37,211,102,0.4));
}

/* FOOTER */
.footer{
 position:fixed;
 bottom:0;
 width:100%;
 background:rgba(0,0,0,.6);
 backdrop-filter:blur(8px);
 padding:10px;
 cursor:pointer;
}

.footer-line{
 display:flex;
 justify-content:center;
 align-items:center;
 gap:12px;
}

/* MOBILE */
@media(max-width:900px){
.sidebar-left,
.sidebar-right{
 margin-top:120px; /* 👈 empurra abaixo do logo */
}
 .main-grid{
  grid-template-columns:1fr;
 }

 /* transforma tudo em menu superior */
 .sidebar-left,
 .sidebar-right{
  position:fixed;
left:0;
  top:auto;
  width:100%;

  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(90px, 1fr));
justify-content:center;
  gap:6px;

  padding:6px;
 }

.sidebar-left{
 top:0px;
}

.sidebar-right{
 top:60px;
}

.sidebar-left,
.sidebar-right{
 justify-items:center;
}

 /* opcional: deixa botões menores no mobile */
 .sidebar-left button,
 .sidebar-right button{
  font-size:0.75rem;
  padding:8px 4px;
 }

}

/* LINK COM GLOW (igual botão, mas sem caixa) */
.link-glow{
 cursor:pointer;
 transition:.3s;
 display:inline-block;
}

.link-glow:hover{
 transform:scale(1.05);
 text-shadow:0 0 12px #ffd000;
}

.footer span{
 transition:.3s;
}

.footer:hover span{
 transform:scale(1.05);
 text-shadow:0 0 12px #ffd000;
}

.video-item{
 cursor:pointer;
 transition:.3s;
}

/* pega QUALQUER texto dentro */
.video-item *{
 transition:.3s;
}

/* aplica glow em tudo dentro */
.video-item:hover *{
 text-shadow:0 0 12px #ffd000;
}

/* ===== LOJA PREMIUM FIX ===== */

.product{
 position:relative;
}

.product .buy-btn{
 position:absolute;
 bottom:10px;
 left:50%;
 transform:translateX(-50%);
 padding:8px 16px;
 font-size:0.8rem;
 border-radius:6px;
 border:1px solid rgba(255,255,255,0.2);
 background:rgba(0,0,0,0.6);
 color:#fff;
 text-decoration:none;
 overflow:hidden;
 transition:0.3s;
 backdrop-filter:blur(4px);
}

/* brilho */
.product .buy-btn::before{
 content:"";
 position:absolute;
 top:0;
 left:-75%;
 width:50%;
 height:100%;
 background:linear-gradient(
 120deg,
 transparent,
 rgba(255,255,255,0.7),
 transparent
 );
 transform:skewX(-25deg);
}

/* anima */
.product .buy-btn:hover::before{
 animation:shine 0.8s ease;
}

@keyframes shine{
 0%{left:-75%}
 100%{left:130%}
}

/* glow */
.product .buy-btn:hover{
 transform:translateX(-50%) scale(1.05);
 box-shadow:
 0 0 10px rgba(255,255,255,0.4),
 0 0 18px rgba(255,208,0,0.4);
 border-color:#ffd000;
}

/* ===== LOJA VITRINE PREMIUM ===== */

.product{
 position:relative;
 display:block;
 border-radius:12px;
 overflow:hidden;
 cursor:pointer;
 transition:0.4s cubic-bezier(.22,.61,.36,1);
 background:#000;
}

/* imagem base */
.product img{
 width:100%;
 height:150px;
 object-fit:cover;
 display:block;
 transition:0.6s cubic-bezier(.22,.61,.36,1);
}

/* camada de profundidade */
.product::after{
 content:"";
 position:absolute;
 inset:0;
 background:
 radial-gradient(circle at 50% 120%, rgba(255,208,0,0.15), transparent 60%),
 linear-gradient(to top, rgba(0,0,0,0.5), transparent 60%);
 opacity:0.6;
 transition:0.4s;
}

/* brilho premium sutil */
.product::before{
 content:"";
 position:absolute;
 top:0;
 left:-100%;
 width:60%;
 height:100%;
 background:linear-gradient(
 120deg,
 transparent,
 rgba(255,255,255,0.5),
 transparent
 );
 transform:skewX(-20deg);
 z-index:2;
 opacity:0;
}

/* HOVER MASTER */
.product:hover{
 transform:scale(1.06);
 box-shadow:
 0 10px 30px rgba(0,0,0,0.6),
 0 0 25px rgba(255,208,0,0.25);
}

/* imagem ganha vida */
.product:hover img{
 transform:scale(1.12);
 filter:
 brightness(1.1)
 contrast(1.05)
 saturate(1.1);
}

/* luz aumenta */
.product:hover::after{
 opacity:1;
}

/* brilho passando */
.product:hover::before{
 animation:luxo 1.2s ease;
 opacity:1;
}

@keyframes luxo{
 0%{ left:-100%; opacity:0 }
 30%{ opacity:1 }
 100%{ left:140%; opacity:0 }
}

.texto{
 margin-top:20px;
 line-height:1.7;
 max-width:800px;
 margin:auto;
 font-size:0.9rem; /* menor e mais elegante */
 opacity:0.9;
}

.loja-cta{
 margin-top:20px;
 background:rgba(0,0,0,.6);
 backdrop-filter:blur(8px);
 padding:10px;
 border-radius:10px;
 display:flex;
 justify-content:center;
}

.footer-line{
 gap:16px; /* aumenta o respiro entre texto e botão */
}

.link-glow{
 font-size:0.95rem;
 opacity:0.9;
}

/* ===== GLOSSÁRIO ===== */

.glossario-container{
 max-width:1100px;
 margin:auto;
 text-align:left;
}

.glossario-intro{
 font-size:0.85rem;
 opacity:0.8;
 line-height:1.6;
 margin-bottom:40px;
}

.glossario-section{
 margin-bottom:50px;
}

.glossario-section h3{
 font-size:1rem;
 letter-spacing:1px;
 margin-bottom:20px;
 opacity:0.9;
}

.glossario-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:18px;
}

.glossario-item{
 font-size:0.75rem;
 line-height:1.5;
 opacity:0.85;
 transition:.3s;
}

.glossario-item b{
 display:block;
 font-size:0.8rem;
 margin-bottom:4px;
 color:#fff;
}

.glossario-item:hover{
 opacity:1;
 text-shadow:0 0 10px rgba(255,208,0,0.6);
}

/* RESPONSIVO */
@media(max-width:1000px){
 .glossario-grid{
  grid-template-columns:repeat(3,1fr);
 }
}

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

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

.card{
 background:rgba(255,255,255,.08);
 backdrop-filter: blur(5px);
 -webkit-backdrop-filter: blur(5px);
 border:1px solid rgba(255,255,255,.14);
}

.btn-back{
 display:inline-block;
 width:auto;
}

.glossario-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:12px;
    padding:20px;
}

.termo{
    position:relative;

    padding:14px 16px;

    border-radius:10px;

    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.06);

    color:rgba(255,255,255,.72);

    font-size:12px;
    line-height:1.45;

    transition:.2s;
    overflow:hidden;
    cursor:pointer;
}

.termo::before{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.05),
        transparent
    );

    transform:translateX(-100%);
    transition:.45s;
}

.termo:hover{
    transform:translateY(-2px);

    border-color:rgba(255,208,0,.25);

    box-shadow:0 4px 14px rgba(0,0,0,.15);
}

.termo:hover::before{
    transform:translateX(100%);
}

.termo .titulo{
    display:block;

    margin-bottom:6px;

    color:#edcf6a;

    font-size:13px;
    font-weight:700;
    line-height:1.25;
}

h2{
 font-size: clamp(20px, 4.5vw, 40px);
 font-weight: 800;
 letter-spacing: 1.5px;
 text-shadow: 0 0 10px rgba(255,208,0,0.25);
}

.slab{
 font-family:'Roboto Slab', serif;
}

button,.card,.btn-back{
 background:linear-gradient(
 145deg,
 rgba(255,255,255,0.08),
 rgba(0,0,0,0.35)
);
}

@media(max-width:900px){

 main{
  padding-top:140px;
 }

}

/* ===== MOBILE MENU PRO ===== */

.mobile-menu{
 display:none;
}

@media(max-width:900px){

 .sidebar-left,
 .sidebar-right{
  display:none;
 } 

@media(max-width:900px){
 .logo{
  font-size:clamp(50px,6vw,200px);
 }
}

 .mobile-menu{
  display:flex;
  position:fixed;
  top:70px;
  left:0;
  width:100%;
  overflow-x:auto;
  gap:6px;
  padding:6px;
  z-index:50;

  background:rgba(0,0,0,.7);
  backdrop-filter:blur(8px);
 }

 .mobile-menu button{
  flex:0 0 auto;
  font-size:0.7rem;
  padding:8px 10px;
  white-space:nowrap;
 }

 main{
  padding-top:130px;
 }

}



/* V224 fixes */
.sidebar-left,.sidebar-right{width:140px}
.sidebar-right{right:10px}
.sidebar-left{left:10px}

a,a:visited,a:hover,a:active{
color:inherit;
text-decoration:none;
}


/* V226 otimizações */
.sidebar-left button,.sidebar-right button,
.sidebar-left a,.sidebar-right a{
 width:180px;
}
.sidebar-left a button,.sidebar-right a button{
 width:100%;
}
.gallery-thumb{
 transition:.3s;
 box-shadow:0 0 0 rgba(0,0,0,0);
}
.gallery-thumb:hover{
 transform:scale(1.035);
 box-shadow:0 0 8px rgba(255,255,255,0.25),0 0 18px rgba(255,255,255,0.12);
}
#lightbox img{max-width:90vw;max-height:90vh;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);font-size:42px;cursor:pointer;padding:20px;}
.lb-prev{left:10px}.lb-next{right:10px}


/* ===== V228 AJUSTES FINAIS ===== */

/* Menus laterais: largura igual, mais estreita e baseada na maior palavra */
.sidebar-left,
.sidebar-right{
 width:118px !important;
 padding:5px !important;
}

.sidebar-left a,
.sidebar-right a{
 display:block !important;
 width:100% !important;
 min-width:0 !important;
}

.sidebar-left button,
.sidebar-right button,
.sidebar-left a button,
.sidebar-right a button{
 width:100% !important;
 min-width:0 !important;
 box-sizing:border-box !important;
 white-space:nowrap !important;
 font-size:0.78rem !important;
 padding:9px 7px !important;
 text-align:center !important;
}

.sidebar-left{left:8px !important;}
.sidebar-right{right:8px !important;}

/* Galeria / fotos com brilho igual aos botões */
.gallery-item,
.community-photo-wrap{
 position:relative;
 overflow:hidden;
 border-radius:10px;
 cursor:pointer;
 display:block;
 line-height:0;
 background:rgba(255,255,255,.03);
 border:1px solid rgba(255,255,255,.08);
 transition:.35s;
}

.gallery-item::before,
.community-photo-wrap::before{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(
  120deg,
  transparent 20%,
  rgba(255,255,255,0.8) 45%,
  rgba(255,255,255,0.35) 50%,
  rgba(255,255,255,0.8) 55%,
  transparent 80%
 );
 transform:translateX(-120%);
 transition:.7s;
 pointer-events:none;
 z-index:2;
}

.gallery-item:hover::before,
.community-photo-wrap:hover::before{
 transform:translateX(100%);
}

.gallery-item:hover,
.community-photo-wrap:hover{
 transform:scale(1.035);
 box-shadow:
  0 0 8px rgba(255,255,255,0.25),
  0 0 18px rgba(255,255,255,0.12);
}

.gallery-thumb,
.community-photo{
 display:block;
 width:100%;
 height:auto;
 border-radius:10px;
 transition:.35s;
}

.community-photo-wrap{
 width:min(100%, 760px);
 margin:0 auto;
}

.community-photo{
 max-height:calc(100vh - 260px);
 object-fit:contain;
}

/* Lightbox com zoom navegável */
#lightbox{
 position:fixed;
 inset:0;
 background:rgba(0,0,0,.94);
 display:flex;
 align-items:center;
 justify-content:center;
 z-index:9999;
 overflow:hidden;
 touch-action:none;
}

#lightbox .lb-stage{
 width:100vw;
 height:100vh;
 display:flex;
 align-items:center;
 justify-content:center;
 overflow:hidden;
 cursor:zoom-in;
}

#lightbox img{
 max-width:90vw;
 max-height:88vh;
 border-radius:10px;
 transition:transform .15s ease;
 user-select:none;
 -webkit-user-drag:none;
 cursor:zoom-in;
}

#lightbox img.zoomed{
 cursor:grab;
}

#lightbox img.dragging{
 cursor:grabbing;
 transition:none;
}

.lb-nav{
 position:absolute;
 top:50%;
 transform:translateY(-50%);
 font-size:48px;
 line-height:1;
 cursor:pointer;
 padding:22px;
 user-select:none;
 z-index:10001;
 opacity:.85;
 text-shadow:0 0 12px rgba(0,0,0,.8);
}

.lb-nav:hover{opacity:1;}
.lb-prev{left:12px;}
.lb-next{right:12px;}

.lb-close{
 position:absolute;
 top:12px;
 right:18px;
 font-size:34px;
 cursor:pointer;
 z-index:10001;
 opacity:.8;
}

.lb-close:hover{opacity:1;}

.lb-counter{
 position:absolute;
 bottom:18px;
 left:50%;
 transform:translateX(-50%);
 padding:6px 10px;
 border-radius:999px;
 background:rgba(0,0,0,.45);
 border:1px solid rgba(255,255,255,.15);
 font-size:13px;
 opacity:.85;
 z-index:10001;
}

.lb-help{
 position:absolute;
 top:18px;
 left:50%;
 transform:translateX(-50%);
 padding:6px 10px;
 border-radius:999px;
 background:rgba(0,0,0,.45);
 border:1px solid rgba(255,255,255,.12);
 font-size:12px;
 opacity:.65;
 z-index:10001;
}

/* Menu superior no mobile: quebra em duas linhas somente quando precisar */
@media(max-width:900px){
 .sidebar-left,
 .sidebar-right{
  display:none !important;
 }

 .mobile-menu{
  display:flex !important;
  position:fixed;
  top:70px;
  left:0;
  width:100%;
  flex-wrap:wrap;
  justify-content:center;
  overflow-x:visible;
  gap:6px;
  padding:6px 8px;
  z-index:50;
  background:rgba(0,0,0,.7);
  backdrop-filter:blur(8px);
 }

 .mobile-menu button{
  flex:0 0 auto;
  width:auto !important;
  min-width:auto !important;
  font-size:0.7rem !important;
  padding:8px 10px !important;
  white-space:nowrap;
 }

 main{
  padding-top:165px !important;
 }

 .community-photo-wrap{
  width:min(100%, 92vw);
 }

 .community-photo{
  max-height:calc(100vh - 230px);
 }

 .lb-nav{
  font-size:34px;
  padding:16px 10px;
 }

 .lb-prev{left:4px;}
 .lb-next{right:4px;}

 .lb-help{
  display:none;
 }
}

@media(max-width:520px){
 main{
  padding-top:190px !important;
 }
}

/* ===== V229 MELHORIAS DE UX / CONVERSÃO ===== */

/* Remove conflito antigo de min-width inline dos links laterais */
.sidebar-left a,
.sidebar-right a{
 min-width:0 !important;
}

/* Botões laterais: tamanho compacto, igual, baseado na maior palavra */
.sidebar-left,
.sidebar-right{
 width:118px !important;
}

.sidebar-left button,
.sidebar-right button,
.sidebar-left a button,
.sidebar-right a button{
 width:100% !important;
 min-width:0 !important;
 padding:9px 7px !important;
 font-size:.78rem !important;
 line-height:1.1 !important;
}

.cta-strip{
 margin:38px auto 0;
 padding:18px;
 border-radius:14px;
 background:rgba(0,0,0,.48);
 border:1px solid rgba(255,255,255,.1);
 text-align:center;
 max-width:760px;
}

.cta-strip p{
 margin-top:8px;
 font-size:.85rem;
 opacity:.78;
 line-height:1.55;
}

.cta-actions{
 margin-top:16px;
 display:flex;
 gap:10px;
 flex-wrap:wrap;
 justify-content:center;
}

.tag-row{
 display:flex;
 flex-wrap:wrap;
 gap:8px;
 justify-content:center;
 margin:18px auto 0;
}

.tag-pill{
 padding:7px 11px;
 border-radius:999px;
 background:rgba(255,255,255,.06);
 border:1px solid rgba(255,255,255,.1);
 font-size:.74rem;
 opacity:.86;
}

.level-guide{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
 gap:12px;
 margin-top:26px;
}

.level-card{
 padding:14px;
 border-radius:12px;
 background:rgba(255,255,255,.045);
 border:1px solid rgba(255,255,255,.09);
 text-align:left;
}

.level-card strong{
 display:block;
 margin-bottom:6px;
 color:#edcf6a;
}

.level-card p{
 font-size:.78rem;
 opacity:.78;
 line-height:1.45;
}

.glossario-search{
 width:min(100%,560px);
 margin:18px auto 10px;
 display:block;
 padding:13px 15px;
 border-radius:10px;
 border:1px solid rgba(255,255,255,.15);
 background:rgba(0,0,0,.38);
 color:#fff;
 outline:none;
 font-family:inherit;
}

.glossario-search:focus{
 box-shadow:0 0 14px rgba(255,208,0,.22);
 border-color:rgba(255,208,0,.38);
}

.no-glossario-result{
 display:none;
 margin:20px auto;
 opacity:.68;
 font-size:.85rem;
}

.comunidade-hub{
 margin-top:26px;
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
 gap:12px;
}

.comunidade-hub .card{
 min-height:100%;
 text-align:left;
}

.loja-selos{
 margin:22px auto 0;
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
 gap:10px;
 max-width:720px;
}

.loja-selos .card{
 font-size:.78rem;
 padding:12px;
}

@media(max-width:900px){
 .mobile-menu{
  flex-wrap:wrap !important;
  max-height:none;
 }
 .mobile-menu button{
  font-size:.68rem !important;
  padding:7px 9px !important;
 }
}

/* ===== V230 AJUSTES FINOS: MENUS, GLOSSÁRIO E COMUNIDADE ===== */

/* Botões laterais mais compactos, iguais entre si e sem largura exagerada */
.sidebar-left,
.sidebar-right{
 width:104px !important;
}

.sidebar-left button,
.sidebar-right button,
.sidebar-left a,
.sidebar-right a,
.sidebar-left a button,
.sidebar-right a button{
 width:100% !important;
 min-width:0 !important;
 max-width:104px !important;
 box-sizing:border-box !important;
}

.sidebar-left button,
.sidebar-right button{
 padding:8px 5px !important;
 font-size:.72rem !important;
 line-height:1.08 !important;
 white-space:nowrap !important;
}

.disabled-menu{
 opacity:.4 !important;
 cursor:default !important;
 pointer-events:none !important;
}

/* Mobile equilibrado em duas linhas */
@media(max-width:900px){
 .mobile-menu{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  overflow-x:hidden !important;
 }

 .mobile-menu-row{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:6px !important;
  width:100% !important;
  flex-wrap:nowrap !important;
 }

 .mobile-menu-row a,
 .mobile-menu-row button{
  flex:0 1 auto !important;
 }

 .mobile-menu button{
  font-size:.66rem !important;
  padding:7px 8px !important;
 }
}

@media(max-width:430px){
 .mobile-menu-row{
  flex-wrap:wrap !important;
 }
 main{
  padding-top:175px !important;
 }
}

/* Glossário: explica a busca sem parecer botão/filtro */
.glossario-helper{
 margin:4px auto 18px;
 font-size:.76rem;
 opacity:.62;
 text-align:center;
}

/* Comunidade: botões fora do quadro da ABI */
.comunidade-hub-section,
.comunidade-links-externos{
 margin:28px auto 0;
 max-width:820px;
 text-align:center;
}

.comunidade-links-title{
 margin-bottom:12px;
 font-size:.82rem;
 font-weight:700;
 letter-spacing:.5px;
 opacity:.8;
 text-align:center;
}

.comunidade-links-row{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 justify-content:center;
 align-items:center;
}

/* ===== V232 AJUSTE LIGHTBOX: ZOOM SEPARADO DO ARRASTE ===== */
#lightbox .lb-stage{
 cursor:default !important;
}

#lightbox .lb-stage.can-drag{
 cursor:grab !important;
}

#lightbox img{
 cursor:default !important;
 transform-origin:center center;
 will-change:transform;
}

#lightbox img.zoomed{
 cursor:grab !important;
}

#lightbox img.dragging{
 cursor:grabbing !important;
}

.lb-controls{
 position:absolute;
 bottom:52px;
 left:50%;
 transform:translateX(-50%);
 display:flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 padding:6px 8px;
 border-radius:999px;
 background:rgba(0,0,0,.55);
 border:1px solid rgba(255,255,255,.15);
 backdrop-filter:blur(8px);
 z-index:10002;
}

.lb-controls button{
 min-width:34px;
 width:auto !important;
 height:30px;
 padding:4px 10px;
 border-radius:999px;
 font-size:14px;
 line-height:1;
}

.lb-zoom-info{
 min-width:46px;
 text-align:center;
 font-size:12px;
 opacity:.85;
}

.lb-help{
 top:14px;
}

.lb-counter{
 bottom:16px;
}

@media(max-width:900px){
 .lb-controls{
  bottom:44px;
 }

 .lb-controls button{
  min-width:32px;
  height:28px;
  padding:4px 8px;
 }
}


/* V235 - Etapa 1 */
.sidebar-left button,.sidebar-right button,.mobile-menu button{width:100%;}
.home-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;}
.home-event-card{text-decoration:none;color:inherit;display:block;}
.home-event-card .card{height:100%;text-align:left;padding:18px;}
.home-event-card strong{display:block;font-size:.95rem;margin-bottom:8px;}
.home-event-card p{font-size:.86rem;opacity:.84;margin-bottom:6px;}
.home-event-card span{font-size:.76rem;opacity:.62;line-height:1.35;}
.glossario-section-title{margin:24px 0 12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;opacity:.72;}
.termo-disabled,.disabled-service{cursor:default;}
.termo-disabled:hover,.disabled-service:hover{transform:none;}
.termo-disabled::after,.disabled-service::after{content:"em breve";display:inline-block;margin-top:10px;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;opacity:.42;}
.agenda-links,.service-prep{margin-top:32px;}
@media(max-width:720px){.home-events{grid-template-columns:1fr}.sidebar-left,.sidebar-right{display:none}.main-content{padding-left:12px;padding-right:12px}.screen{padding-left:12px;padding-right:12px}}

.home-event-images{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.home-event-figure{margin:0;border-radius:16px;overflow:hidden;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 34px rgba(0,0,0,.28);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.home-event-figure img{display:block;width:100%;aspect-ratio:5/3;object-fit:cover;}
.home-event-figure figcaption{padding:12px 14px 14px;text-align:left;min-height:76px;}
.home-event-figure strong{display:block;font-size:.92rem;margin-bottom:6px;}
.home-event-figure span{display:block;font-size:.76rem;opacity:.68;}
.home-event-card:hover .home-event-figure{transform:translateY(-3px);border-color:rgba(255,210,120,.38);box-shadow:0 18px 42px rgba(0,0,0,.36);}


/* ===== V235 ETAPA 2 - NOVAS PÁGINAS INTEGRADAS ===== */
.etapa2-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
 gap:16px;
 margin-top:28px;
}
.etapa2-grid .card{
 text-align:left;
 height:100%;
 padding:18px;
}
.etapa2-grid .card strong{
 display:block;
 color:#edcf6a;
 margin-bottom:8px;
 letter-spacing:.02em;
}
.etapa2-grid .card p,
.etapa2-grid .card li{
 font-size:.82rem;
 opacity:.82;
 line-height:1.55;
}
.etapa2-card-full{
 margin:28px auto 0;
 padding:20px;
 border-radius:14px;
 background:rgba(0,0,0,.42);
 border:1px solid rgba(255,255,255,.10);
 text-align:left;
 max-width:850px;
}
.etapa2-card-full h3{
 text-align:center;
 margin-bottom:12px;
 color:#edcf6a;
}
.etapa2-card-full p,
.etapa2-card-full li{
 font-size:.86rem;
 line-height:1.65;
 opacity:.84;
}
.etapa2-table{
 width:100%;
 border-collapse:collapse;
 overflow:hidden;
 border-radius:12px;
 font-size:.78rem;
}
.etapa2-table th,
.etapa2-table td{
 padding:11px 10px;
 border-bottom:1px solid rgba(255,255,255,.10);
 vertical-align:top;
}
.etapa2-table th{
 color:#edcf6a;
 background:rgba(255,255,255,.055);
}
.etapa2-gallery{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
 gap:14px;
 margin-top:20px;
}
.etapa2-placeholder{
 min-height:145px;
 border-radius:14px;
 border:1px solid rgba(255,255,255,.12);
 background:
  radial-gradient(circle at 35% 28%,rgba(255,210,80,.22),transparent 32%),
  linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
 display:flex;
 align-items:flex-end;
 padding:14px;
 color:#edcf6a;
 font-size:.8rem;
 font-weight:700;
}
.etapa2-list{
 margin:12px 0 0 18px;
}
.etapa2-note{
 margin-top:18px;
 font-size:.78rem;
 opacity:.66;
 text-align:center;
}
.service-link-grid{
 margin-top:24px;
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
 gap:12px;
}
.service-link-grid .card{
 text-align:left;
 padding:16px;
}
@media(max-width:900px){
 .etapa2-grid{grid-template-columns:1fr;}
 .etapa2-card-full{text-align:left;}
 .etapa2-table{font-size:.74rem;}
}

/* V235 Etapa 2: menu mobile com novas páginas */
@media(max-width:900px){
 main{padding-top:230px !important;}
}
@media(max-width:520px){
 main{padding-top:270px !important;}
}


/* V235 Etapa 2 ajustes de navegação e equilíbrio */
.disabled-link,
.card.disabled,
.btn.disabled,
a.disabled{
  opacity:.45;
  pointer-events:none;
  cursor:default;
}
.grid .card:only-child,
.cards .card:only-child{
  max-width:720px;
}
.section-actions,
.hero-actions,
.actions{
  justify-content:center;
}


/* V235 Bloco 1 — ajustes pontuais */
.etapa2-grid-balanced{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.etapa2-card-soft{
  opacity:.92;
}
@media(max-width:700px){
  .etapa2-grid-balanced{
    grid-template-columns:1fr;
  }
}


/* V235 — Menu único */
.menu-btn-disabled,
.menu-btn-disabled:hover{
  opacity:.42;
  cursor:default;
  pointer-events:none;
  filter:saturate(.75);
}

/* V235 — Menu único corrigido */
.menu-btn-disabled,
.menu-btn-disabled:hover{
  opacity:.42;
  cursor:default;
  pointer-events:none;
  filter:saturate(.75);
}

/* ===== V300.028 — correção mobile e logo oficial nas páginas internas ===== */
.site-header-logo{
  display:block;
  width:min(560px,72vw);
  height:auto;
  margin:0 auto;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.16));
}

header .logo{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  padding:0 12px;
  font-size:0;
}

/* Anula os paddings mobile antigos acumulados (190/230/270px). */
@media(max-width:900px){
  header{
    padding:4px 0 2px;
  }
  header .logo{
    min-height:58px;
  }
  .site-header-logo{
    width:min(390px,78vw);
    max-height:58px;
    object-fit:contain;
  }
  .mobile-menu{
    top:62px !important;
  }
  main{
    padding-top:146px !important;
  }
}

@media(max-width:520px){
  header .logo{
    min-height:52px;
  }
  .site-header-logo{
    width:min(330px,82vw);
    max-height:52px;
  }
  .mobile-menu{
    top:56px !important;
  }
  main{
    padding-top:140px !important;
  }
}

/* A Home já possui o logo grande dentro do conteúdo. */
body.page-home header{
  display:none !important;
}
body.page-home main{
  padding-top:0 !important;
}

/* Glossário: chamada discreta dentro do card Tensão. */
.termo-acao{
  display:block;
  margin-top:8px;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  opacity:.78;
}

/* ===== V300.029 — logo interno compacto e responsivo ===== */
body:not(.page-home) header{
  min-height:0 !important;
  padding:6px 0 3px !important;
}

body:not(.page-home) header .logo{
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 12px !important;
  line-height:0 !important;
  overflow:visible !important;
}

body:not(.page-home) .site-header-logo{
  display:block !important;
  width:auto !important;
  max-width:min(420px,72vw) !important;
  height:auto !important;
  max-height:86px !important;
  margin:0 auto !important;
  object-fit:contain !important;
  position:static !important;
  transform:none !important;
}

@media(max-width:900px){
  body:not(.page-home) .site-header-logo{
    max-width:min(340px,76vw) !important;
    max-height:70px !important;
  }
  body:not(.page-home) .mobile-menu{
    top:79px !important;
  }
  body:not(.page-home) main{
    padding-top:148px !important;
  }
}

@media(max-width:520px){
  body:not(.page-home) .site-header-logo{
    max-width:min(275px,78vw) !important;
    max-height:58px !important;
  }
  body:not(.page-home) .mobile-menu{
    top:67px !important;
  }
  body:not(.page-home) main{
    padding-top:134px !important;
  }
}

/* ========================================================================== 
   V300.1 — ESTRUTURA MODULAR DEFINITIVA
   Topo, logo, menus e espaçamento compartilhados por todas as páginas.
   ========================================================================== */
.site-header{
  position:relative !important;
  z-index:70;
  width:100%;
  min-height:0 !important;
  padding:18px 16px 8px !important;
  box-sizing:border-box;
  text-align:center;
  overflow:visible !important;
}
.site-logo-link{display:inline-block;line-height:0;text-decoration:none}
.site-header-logo{
  display:block !important;
  width:min(800px,90vw) !important;
  max-width:800px !important;
  height:auto !important;
  max-height:none !important;
  margin:0 auto !important;
  object-fit:contain;
  position:static !important;
  transform:none !important;
}
.site-header .mobile-menu{margin-top:10px}
main{
  padding-top:10px !important;
  margin-top:0 !important;
}
.sidebar-left,.sidebar-right{
  top:50% !important;
  transform:translateY(-40%) !important;
}
.mobile-menu{display:none}

@media(max-width:900px){
  .site-header{padding:14px 12px 6px !important}
  .site-header-logo{width:min(760px,94vw) !important;max-width:760px !important}
  .sidebar-left,.sidebar-right{display:none !important}
  .site-header .mobile-menu{
    display:flex !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    padding:0 !important;
    margin:10px auto 0 !important;
    flex-direction:column;
    gap:7px;
    z-index:80 !important;
  }
  .mobile-menu-row{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
  .mobile-menu button{font-size:.68rem;padding:7px 9px;min-width:0}
  main{padding-top:8px !important;margin-top:0 !important}
  .main-content,.screen{padding-top:0 !important;margin-top:0 !important}
}
@media(max-width:520px){
  .site-header{padding:10px 8px 4px !important}
  .site-header-logo{width:96vw !important;max-width:96vw !important}
  .site-header .mobile-menu{margin-top:7px !important;gap:5px}
  .mobile-menu-row{gap:5px}
  .mobile-menu button{font-size:.6rem;padding:6px 7px}
  main{padding-top:5px !important}
}

/* ===== V300.017 — MENU: LINKS E CAMADAS CORRIGIDOS ===== */
.site-header{z-index:40 !important;}
.site-logo-link{
  position:relative !important;
  z-index:1 !important;
  width:auto !important;
  max-width:100% !important;
  pointer-events:auto;
}
.sidebar-left,.sidebar-right{
  z-index:200 !important;
  pointer-events:auto !important;
}
.sidebar-left .menu-button,.sidebar-right .menu-button,.mobile-menu .menu-button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:8px 5px !important;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(0,0,0,.35);
  color:#fff !important;
  text-decoration:none !important;
  font-size:.72rem !important;
  line-height:1.08 !important;
  white-space:nowrap !important;
  cursor:pointer;
  position:relative;
  z-index:201;
  overflow:hidden;
  transition:.3s;
}
.sidebar-left .menu-button:hover,.sidebar-right .menu-button:hover,.mobile-menu .menu-button:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.35);
  box-shadow:0 0 12px rgba(255,255,255,.16);
}
@media(max-width:900px){
  .site-header{z-index:210 !important;}
  .site-header .mobile-menu{z-index:220 !important;pointer-events:auto !important;}
  .mobile-menu .menu-button{font-size:.68rem !important;padding:7px 6px !important;}
}

/* V300.102 — Home controlada pelo Admin */
.home-hero-subtitle {
  margin: 0 auto;
  max-width: 680px;
  font-size: .88rem;
  opacity: .72;
}
.home-card-link { min-width: 0; }
.home-card {
  position: relative;
  overflow: hidden;
  min-height: 132px;
  display: flex;
  align-items: flex-end;
}
.home-card-image {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  transition: transform .35s ease;
}
.home-card.has-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(2,5,10,.94) 0%, rgba(2,5,10,.58) 52%, rgba(2,5,10,.12) 100%);
  pointer-events: none;
}
.home-card-content {
  position: relative;
  z-index: 1;
  width: 100%;
}
.home-card-content p {
  margin: 7px 0 0;
  font-size: .8rem;
  opacity: .8;
}
.home-card-label {
  display: inline-block;
  margin-top: 9px;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .72;
}
.home-card-link:hover .home-card-image { transform: scale(1.035); }

/* V300.105 — cards da Home com miniatura lateral e rotação suave */
.home-cards {
  gap: 14px;
}
.home-card-link {
  display: block;
}
.home-card {
  min-height: 124px;
  display: grid;
  grid-template-columns: minmax(92px, 34%) 1fr;
  align-items: stretch;
  gap: 0;
  padding: 0;
  text-align: left;
  background: rgba(5, 10, 18, .72);
}
.home-card:not(.has-image) {
  grid-template-columns: 1fr;
}
.home-card.has-image::after {
  display: none;
}
.home-card-media {
  position: relative;
  min-height: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-right: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.035);
}

.home-card.thumb-ratio-horizontal { grid-template-columns: 48% 1fr; }
.home-card.thumb-ratio-horizontal .home-card-media { aspect-ratio: 16 / 9; }
.home-card.thumb-ratio-landscape { grid-template-columns: 44% 1fr; }
.home-card.thumb-ratio-landscape .home-card-media { aspect-ratio: 4 / 3; }
.home-card.thumb-ratio-square { grid-template-columns: 38% 1fr; }
.home-card.thumb-ratio-square .home-card-media { aspect-ratio: 1 / 1; }
.home-card.thumb-ratio-vertical { grid-template-columns: 34% 1fr; }
.home-card.thumb-ratio-vertical .home-card-media { aspect-ratio: 3 / 4; }
.home-card-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transform: scale(1.018);
  transition: opacity 1s ease, transform 6.5s ease;
}
.home-card-thumb.is-active {
  opacity: 1;
  transform: scale(1.055);
}
.home-card-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 18px 17px;
  min-width: 0;
}
.home-card-content strong {
  line-height: 1.12;
}
.home-card-content p {
  line-height: 1.35;
}
.home-card-link:hover .home-card {
  border-color: rgba(255,255,255,.34);
  background: rgba(8, 14, 24, .84);
}
.home-card-link:hover .home-card-thumb.is-active {
  transform: scale(1.08);
}
@media (max-width: 520px) {
  .home-card,
  .home-card.thumb-ratio-horizontal,
  .home-card.thumb-ratio-landscape,
  .home-card.thumb-ratio-square,
  .home-card.thumb-ratio-vertical {
    min-height: 112px;
  }

  /* Padrão vertical, semelhante aos cards da Loja. */
  .home-card.mobile-layout-stacked,
  .home-card.mobile-layout-stacked.thumb-ratio-horizontal,
  .home-card.mobile-layout-stacked.thumb-ratio-landscape,
  .home-card.mobile-layout-stacked.thumb-ratio-square,
  .home-card.mobile-layout-stacked.thumb-ratio-vertical {
    grid-template-columns: 1fr;
  }
  .home-card.mobile-layout-stacked .home-card-media {
    width: 100%;
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .home-card.mobile-layout-stacked.thumb-ratio-horizontal .home-card-media { aspect-ratio: 16 / 9; }
  .home-card.mobile-layout-stacked.thumb-ratio-landscape .home-card-media { aspect-ratio: 4 / 3; }
  .home-card.mobile-layout-stacked.thumb-ratio-square .home-card-media { aspect-ratio: 1 / 1; }
  .home-card.mobile-layout-stacked.thumb-ratio-vertical .home-card-media { aspect-ratio: 3 / 4; }

  /* Opções horizontais para variar card a card somente no mobile. */
  .home-card.mobile-layout-image-left,
  .home-card.mobile-layout-image-left.thumb-ratio-horizontal,
  .home-card.mobile-layout-image-left.thumb-ratio-landscape,
  .home-card.mobile-layout-image-left.thumb-ratio-square,
  .home-card.mobile-layout-image-left.thumb-ratio-vertical,
  .home-card.mobile-layout-image-right,
  .home-card.mobile-layout-image-right.thumb-ratio-horizontal,
  .home-card.mobile-layout-image-right.thumb-ratio-landscape,
  .home-card.mobile-layout-image-right.thumb-ratio-square,
  .home-card.mobile-layout-image-right.thumb-ratio-vertical {
    grid-template-columns: 108px minmax(0, 1fr);
  }
  .home-card.mobile-layout-image-left .home-card-media,
  .home-card.mobile-layout-image-right .home-card-media {
    min-height: 112px;
    aspect-ratio: auto;
  }
  .home-card.mobile-layout-image-right .home-card-media {
    grid-column: 2;
    grid-row: 1;
    border-right: 0;
    border-left: 1px solid rgba(255,255,255,.1);
  }
  .home-card.mobile-layout-image-right .home-card-content {
    grid-column: 1;
    grid-row: 1;
  }

  .home-card-content {
    padding: 14px 13px;
  }
  .home-card-content p {
    font-size: .75rem;
  }
}
