/* ============================================================
   GUIAEMP - COMPONENTES GLOBAIS
   Fonte de verdade: Header + categorias + Footer.
   Paginas internas estilizam apenas o conteudo entre esses blocos.
   ============================================================ */
:root{
  --ge-global-max:1600px;
  --ge-global-blue:var(--ge-primary);
  --ge-global-navy:var(--ge-auto-6bb1c0f4de39);
  --ge-global-line:var(--ge-auto-70ae53865f01);
}

/* ============================================================
   HEADER GLOBAL
   ============================================================ */
html body .ge-header{
  width:100%;
  position:relative;
  z-index:60;
  background:var(--ge-auto-6aaa006dc095);
  border-bottom:1px solid var(--ge-auto-49de2c4d0e32);
}
html body .ge-header .ge-header-inner{
  width:min(var(--ge-global-max),calc(100% - 64px))!important;
  max-width:var(--ge-global-max)!important;
  height:74px;
  margin:0 auto!important;
  padding:0!important;
  display:flex;
  align-items:center;
  gap:32px;
}
html body .ge-header .ge-brand{
  display:flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  color:var(--ge-global-navy);
  flex:0 0 auto;
}
html body .ge-header .ge-brand-pin{
  width:34px;
  height:40px;
  color:var(--ge-global-blue);
  display:flex;
  align-items:center;
  justify-content:center;
}
html body .ge-header .ge-brand-pin svg{
  width:34px!important;
  height:40px!important;
  stroke-width:2.3!important;
}
html body .ge-header .ge-brand-copy{
  display:flex;
  flex-direction:column;
  line-height:1;
}
html body .ge-header .ge-brand-copy strong{
  font-size:26px;
  letter-spacing:-1.3px;
  font-weight:900;
  color:var(--ge-global-navy);
}
html body .ge-header .ge-brand-copy strong span{color:var(--ge-global-blue)}
html body .ge-header .ge-brand-copy small{
  font-size:13px;
  font-weight:700;
  margin-top:3px;
  color:var(--ge-auto-8cbb2948da4a);
}
html body .ge-header .ge-main-nav{
  display:flex;
  align-items:center;
  gap:28px;
  margin-left:auto;
}
html body .ge-header .ge-main-nav a,
html body .ge-header .ge-main-nav button{
  font:700 13px/1 "Nunito",Arial,sans-serif;
  color:var(--ge-auto-73af9344575e);
  background:none;
  border:0;
  padding:10px 0;
  text-decoration:none;
  cursor:pointer;
}
html body .ge-header .ge-main-nav a:hover,
html body .ge-header .ge-main-nav button:hover{color:var(--ge-global-blue)}
html body .ge-header .ge-header-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
html body .ge-header .ge-login,
html body .ge-header .ge-primary{
  height:42px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:800 13px "Nunito",Arial,sans-serif;
  text-decoration:none;
}
html body .ge-header .ge-login{
  border:0;
  background:var(--ge-auto-6aaa006dc095);
  color:var(--ge-auto-6d08181cca6c);
  padding:0 10px;
  cursor:pointer;
}
html body .ge-header .ge-primary{
  background:var(--ge-global-blue);
  color:var(--ge-auto-6aaa006dc095);
  padding:0 18px;
  box-shadow:0 5px 14px var(--ge-auto-a1a114edc706);
}
html body .ge-header .ge-primary:hover{
  background:var(--ge-auto-33451831a94c);
  color:var(--ge-auto-6aaa006dc095);
  text-decoration:none;
}
html body .ge-header .ge-mobile-toggle{
  display:none;
  width:42px;
  height:42px;
  border:0;
  background:var(--ge-auto-6aaa006dc095);
  padding:9px;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
html body .ge-header .ge-mobile-toggle span{
  display:block;
  height:2px;
  background:var(--ge-global-navy);
  border-radius:2px;
  width:23px;
}

/* ============================================================
   FAIXA GLOBAL DE CATEGORIAS
   ============================================================ */
html body .cat-nav{
  width:100%;
  background:linear-gradient(180deg,var(--ge-auto-a6f08998fe0b) 0%,var(--ge-primary-light) 100%)!important;
  border-top:1px solid var(--ge-auto-02a90eb06fb0)!important;
  border-bottom:1px solid var(--ge-auto-3d5f384815d9)!important;
  box-shadow:0 5px 16px var(--ge-auto-3675b8cf2ce1);
  padding:5px 0!important;
}
html body .cat-nav .cat-nav-shell{
  width:min(var(--ge-global-max),calc(100% - 64px))!important;
  max-width:var(--ge-global-max)!important;
  margin:0 auto!important;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 36px;
  align-items:center;
  padding:0!important;
}
html body .cat-nav .cat-nav-inner{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0 4px!important;
  display:flex;
  align-items:center;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-behavior:smooth;
  gap:0;
}
html body .cat-nav .cat-nav-inner::-webkit-scrollbar{display:none}
html body .cat-nav .cat-item{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 13px!important;
  color:var(--ge-auto-6318526911d1)!important;
  font:700 13px/1 "Nunito",Arial,sans-serif!important;
  white-space:nowrap;
  cursor:pointer;
  border-bottom:2px solid transparent;
  border-radius:0;
  text-decoration:none;
  transition:color .18s,border-color .18s;
}
html body .cat-nav .cat-item:hover{
  color:var(--ge-global-blue)!important;
  border-bottom-color:var(--ge-global-blue)!important;
}
html body .cat-nav .ge-cat-nav-svg{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:28px!important;
  height:28px!important;
  border-radius:9px!important;
}
html body .cat-nav .ge-cat-nav-svg svg{
  width:17px!important;
  height:17px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
}
html body .cat-nav .cat-scroll-btn{
  width:32px;
  height:32px;
  border:1px solid var(--ge-auto-ef5e4efd0ec9);
  border-radius:999px;
  background:var(--ge-auto-6aaa006dc095);
  color:var(--ge-auto-58b9a02ee2bc);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 3px 12px var(--ge-auto-98ac86765087);
  cursor:pointer;
  z-index:3;
}
html body .cat-nav .cat-scroll-btn:hover{
  background:var(--ge-auto-8586b478e327);
  border-color:var(--ge-global-blue);
  color:var(--ge-global-blue);
}

/* ============================================================
   FOOTER GLOBAL
   ============================================================ */
html body .ge-footer{
  width:100%;
  margin-top:0!important;
  background:var(--ge-auto-931ed4b005b3)!important;
  color:var(--ge-auto-74bb41387921)!important;
  border-top:1px solid var(--ge-auto-0b109dbf9049)!important;
}
html body .ge-footer .footer-inner{
  width:min(var(--ge-global-max),calc(100% - 64px))!important;
  max-width:var(--ge-global-max)!important;
  margin:0 auto!important;
  padding:38px 0 28px!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:24px!important;
}
html body .ge-footer .footer-col{
  min-width:0;
  padding:0!important;
  border:0!important;
}
html body .ge-footer .footer-col h4{
  margin:0 0 12px!important;
  color:var(--ge-auto-6aaa006dc095)!important;
  font:900 13px/1.3 "Nunito",Arial,sans-serif!important;
  letter-spacing:.06em!important;
  text-transform:uppercase;
}
html body .ge-footer .footer-col p{
  margin:0 0 10px!important;
  color:var(--ge-auto-fc27aed12809)!important;
  font:600 13px/1.5 "Nunito",Arial,sans-serif!important;
}
html body .ge-footer .footer-col ul{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
html body .ge-footer .footer-col ul li{
  margin:0 0 7px!important;
  padding:0!important;
}
html body .ge-footer .footer-col a{
  color:var(--ge-auto-fc27aed12809)!important;
  font:600 13px/1.4 "Nunito",Arial,sans-serif!important;
  text-decoration:none;
}
html body .ge-footer .footer-col a:hover{
  color:var(--ge-auto-6aaa006dc095)!important;
  text-decoration:underline;
}
html body .ge-footer .olx-footer-social{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
html body .ge-footer .olx-footer-social a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  border:1px solid var(--ge-auto-28e9e1234f09);
  border-radius:999px;
}
html body .ge-footer .footer-bottom{
  width:100%;
  margin:0!important;
  padding:16px 20px!important;
  border-top:1px solid var(--ge-auto-33d107315784)!important;
  background:var(--ge-auto-fdfc215ab583)!important;
  color:var(--ge-auto-4a0eedf6bc91)!important;
  text-align:center;
  font:600 13px/1.4 "Nunito",Arial,sans-serif!important;
}

/* ============================================================
   RESPONSIVO GLOBAL
   ============================================================ */
@media(min-width:1800px){
  :root{--ge-global-max:1680px}
}
@media(min-width:2200px){
  :root{--ge-global-max:1760px}
}
@media(max-width:1250px){
  html body .ge-header .ge-header-inner,
  html body .cat-nav .cat-nav-shell,
  html body .ge-footer .footer-inner{
    width:calc(100% - 40px)!important;
    max-width:none!important;
  }
}
@media(max-width:1100px){
  html body .ge-header .ge-main-nav{gap:16px}
  html body .ge-header .ge-main-nav a,
  html body .ge-header .ge-main-nav button{font-size:13px}
  html body .ge-header .ge-primary{padding:0 12px}
}
@media(max-width:820px){
  html body .ge-header .ge-header-inner{height:68px}
  html body .ge-header .ge-mobile-toggle{
    display:flex!important;
    margin-left:auto;
  }
  html body .ge-header .ge-main-nav,
  html body .ge-header .ge-header-actions{display:none!important}
  html.ge-menu-open body .ge-header .ge-main-nav{
    display:flex!important;
    position:absolute;
    left:14px;
    right:14px;
    top:68px;
    background:var(--ge-auto-6aaa006dc095);
    border:1px solid var(--ge-global-line);
    border-radius:12px;
    box-shadow:0 8px 28px var(--ge-auto-afa371bd42c9);
    padding:12px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  html.ge-menu-open body .ge-header .ge-main-nav a,
  html.ge-menu-open body .ge-header .ge-main-nav button{
    text-align:left;
    padding:13px;
    border-bottom:1px solid var(--ge-auto-828ecbce0aea);
  }
  html body .cat-nav .cat-nav-shell{
    grid-template-columns:34px minmax(0,1fr) 34px;
  }
  html body .ge-footer .footer-inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px 18px!important;
  }
}
@media(max-width:600px){
  html body .ge-header .ge-header-inner,
  html body .cat-nav .cat-nav-shell,
  html body .ge-footer .footer-inner{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  html body .ge-header .ge-brand-pin{
    width:28px;
    height:34px;
  }
  html body .ge-header .ge-brand-pin svg{
    width:28px!important;
    height:34px!important;
  }
  html body .ge-header .ge-brand-copy strong{font-size:23px}
  html body .cat-nav .cat-item{
    font-size:13px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  html body .ge-footer .footer-inner{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:24px 0 16px!important;
  }
  html body .ge-footer .footer-col{
    padding:14px 0!important;
    border-bottom:1px solid var(--ge-auto-82e176fb54e5)!important;
  }
  html body .ge-footer .footer-col:last-child{border-bottom:0!important}
}

/* Normaliza a metrica tipografica do footer em todas as paginas. */
html body .ge-footer .footer-col,
html body .ge-footer .footer-col ul li{
  font:600 13px/1.4 "Nunito",Arial,sans-serif!important;
}


/* GUIAEMP - barra global de categorias em azul institucional */
html body .cat-nav{
  background:linear-gradient(135deg,var(--ge-auto-dcb03c281dd5) 0%,var(--ge-auto-2ae732c057c2) 55%,var(--ge-primary) 140%)!important;
  border-top:1px solid var(--ge-auto-1f523d726f1e)!important;
  border-bottom:1px solid var(--ge-auto-f24f35de4b4a)!important;
  box-shadow:0 7px 20px var(--ge-auto-5ef4e62b932b)!important;
}
html body .cat-nav .cat-item{
  color:var(--ge-auto-45a289c36877)!important;
  border-bottom-color:transparent!important;
}
html body .cat-nav .cat-item:hover{
  color:var(--ge-auto-6aaa006dc095)!important;
  border-bottom-color:var(--ge-auto-6aaa006dc095)!important;
}
html body .cat-nav .cat-scroll-btn{
  border-color:var(--ge-auto-057b9047b4bd)!important;
  background:var(--ge-auto-82e176fb54e5)!important;
  color:var(--ge-auto-6aaa006dc095)!important;
  box-shadow:0 4px 14px var(--ge-auto-34487eea88db)!important;
  backdrop-filter:blur(8px);
}
html body .cat-nav .cat-scroll-btn:hover{
  background:var(--ge-auto-6aaa006dc095)!important;
  border-color:var(--ge-auto-6aaa006dc095)!important;
  color:var(--ge-primary)!important;
}


/* AJUSTE DE TOM - azul claro da identidade GuiaEmp */
html body .cat-nav{
  background:linear-gradient(90deg,var(--ge-primary) 0%,var(--ge-auto-1e58665e144d) 100%)!important;
  border-bottom-color:var(--ge-auto-6e7bc4664c24)!important;
  box-shadow:0 7px 20px var(--ge-auto-c1ad9f4933e2)!important;
}

/* GuiaEmp Commerce Fase 4 - badges globais */
html body .ge-header .ge-nav-orders{display:inline-flex;align-items:center;gap:6px}
html body .ge-header .ge-nav-badge,.ge-drawer-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--ge-auto-cc6aed8b558a);color:var(--ge-auto-6aaa006dc095);font-size:13px;font-weight:900;line-height:1}
.user-drawer .drawer-item .ge-drawer-badge{margin-left:auto}

/* GuiaEmp Fase 5 - hardening do drawer global reutilizado */
html body .user-drawer,html body .user-drawer *{box-sizing:border-box}
html body .user-drawer .drawer-perfil{width:100%;max-width:100%;min-width:0;overflow:hidden}
html body .user-drawer .drawer-perfil>div:last-child{min-width:0;max-width:100%;overflow:hidden}
html body .user-drawer .drawer-username{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* ============================================================
   GUIAEMP TYPOGRAPHY V5 - GLOBAL - 2026-10-05
   Escala de legibilidade consolidada para componentes globais.
   ============================================================ */
:root{
  --ge-font-xs:12px;
  --ge-font-sm:14px;
  --ge-font-md:16px;
  --ge-font-lg:20px;
  --ge-font-xl:28px;
  --ge-font-2xl:36px;
}
html body .ge-header .ge-main-nav a,
html body .ge-header .ge-main-nav button,
html body .ge-header .ge-login,
html body .ge-header .ge-primary{
  font-size:14px!important;
}
html body .cat-nav .cat-item{
  font-size:13px!important;
}
html body .ge-footer .footer-col,
html body .ge-footer .footer-col ul li{
  font-size:14px!important;
  line-height:1.55!important;
}
html body .ge-footer .footer-col h3,
html body .ge-footer .footer-col h4,
html body .ge-footer .footer-col strong{
  font-size:16px!important;
}
@media(max-width:820px){
  html.ge-menu-open body .ge-header .ge-main-nav a,
  html.ge-menu-open body .ge-header .ge-main-nav button{
    font-size:14px!important;
  }
}
@media(max-width:600px){
  html body .cat-nav .cat-item{font-size:13px!important}
  html body .ge-footer .footer-col,
  html body .ge-footer .footer-col ul li{font-size:14px!important}
}

/* GUIAEMP · logo administrável pelo VIPMIN · 2026-10-07 */
html body .ge-header .ge-brand-logo{
  display:block;
  width:auto;
  height:48px;
  max-width:190px;
  object-fit:contain;
}
@media(max-width:760px){
  html body .ge-header .ge-brand-logo{
    height:42px;
    max-width:160px;
  }
}

/* GUIAEMP · logo maior no cabeçalho · 2026-10-07 */
html body .ge-header .ge-brand-logo{
  height:62px!important;
  width:auto!important;
  max-width:240px!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  html body .ge-header .ge-brand-logo{
    height:50px!important;
    max-width:190px!important;
  }
}

/* GUIAEMP · ajuste fino logo maior · 2026-10-07 */
html body .ge-header .ge-brand-logo{
  height:70px!important;
  max-width:265px!important;
}
@media(max-width:760px){
  html body .ge-header .ge-brand-logo{
    height:56px!important;
    max-width:210px!important;
  }
}
