
.brand{
  align-items: center;
  gap: 4px;           /* espaço entre boneco e nome */
  min-width: unset;   /* evita forçar largura */
}


/* Bonequinho menor */
.brand__mascot{
  width: 130px;      /* ajuste aqui */
  height: auto;
  object-fit: contain;
}

/* Nome/logo menor */
.brand__wordmark{
  width: min(185px, 60vw);  /* ajusta sozinho no responsivo */
  height: auto;
  object-fit: contain;
}

.topbar{
  border-bottom: 1px solid var(--line);
  background: rgba(0,0,0,0.25);
  backdrop-filter: blur(10px);
}
.topbar__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:5px 0;
}


.topbar__item{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
}
.topbar__right{justify-content:flex-end; flex-wrap:wrap}
.dot{width:8px; height:8px; border-radius:99px; display:inline-block}
.dot--success{background: var(--ok)}

.header{
  position:relative;
  top:0;
  z-index:30;
  background: rgba(11,15,20,0.72);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.header__inner{
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "brand actions"
    "search search";
  gap: 10px 14px;
  align-items: center;
  padding: 8px 0;
}

.brand{ grid-area: brand; }
.actions{
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
}
.search{ grid-area: search; }

.brand{display:flex; align-items:center; gap:4px; min-width:0}

.brand__logo{width:54px; height:54px}
.brand__name{font-weight:800; letter-spacing:-0.02em; font-size:18px}


.main{padding:18px 0 40px}

/* layout.css */
.nav{
  position: sticky;
  top: 0;
  z-index: 50;              /* fica acima dos cards */
  border-top: 1px solid var(--line);
  background: rgba(0,0,0,0.60);
  backdrop-filter: blur(12px);
}

.nav__inner{
  display:flex;
  gap:10px;
  padding:10px 0;
  overflow:auto;
  scrollbar-width: none;
}
.nav__inner::-webkit-scrollbar{display:none}

.hero{
  display:grid;
  grid-template-columns: 1.4fr 0.8fr;
  gap:18px;
  margin-top:16px;
}

.controls{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:18px 0 10px;
}
.controls__right{
  display:flex;
  gap:14px;
  align-items:center;
}

.grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  padding-bottom: 10px;
}

.footer{
  margin-top: 36px;
  border-top: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)),
    rgba(0,0,0,0.20);
}

.footer__inner{
  display: grid;
  grid-template-columns: 1.2fr 1.8fr;
  gap: 24px;
  padding: 28px 0;
  align-items: start;
}

.footer__brandblock{
  display: grid;
  gap: 14px;
}

.footer__brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.footer__logo{
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.footer__name{
  font-weight: 800;
  font-size: 16px;
  letter-spacing: -0.01em;
}

.footer__muted{
  color: var(--muted);
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.5;
}

.footer__about{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  max-width: 320px;
}

.footer__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.footer__card{
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.04);
  border-radius: 16px;
  padding: 14px;
  display: grid;
  gap: 8px;
}

.fcol__title{
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 2px;
}

.fcol__text{
  font-size: 14px;
  line-height: 1.5;
}

.fcol__link{
  color: var(--text);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  opacity: .92;
  transition: opacity .15s ease, transform .15s ease;
}

.fcol__link:hover{
  opacity: 1;
  transform: translateX(2px);
}

.footer__bottom{
  border-top: 1px solid var(--line);
}

.footer__bottominner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 0;
  color: var(--muted);
  font-size: 13px;
}

/* tablet */
@media (max-width: 980px){
  .footer__inner{
    grid-template-columns: 1fr;
  }

  .footer__about{
    max-width: none;
  }

  .footer__grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* mobile */
@media (max-width: 640px){
  .footer__inner{
    gap: 18px;
    padding: 22px 0;
  }

  .footer__brand{
    align-items: center;
  }

  .footer__logo{
    width: 42px;
    height: 42px;
  }

  .footer__grid{
    grid-template-columns: 1fr;
  }

  .footer__card{
    padding: 12px 14px;
    border-radius: 14px;
  }

  .footer__bottominner{
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 0 18px;
  }

  .footer__card--compact{
  max-width: 420px;
  margin: 0 auto;
  padding: 16px;
  gap: 14px;
}

.footer__brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.footer__logo{
  width:36px;
  height:36px;
}

.footer__name{
  font-weight:800;
  font-size:14px;
}

.footer__muted{
  font-size:12px;
  color:var(--muted);
}

.footer__gridmini{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:12px;
  font-size:12px;
}

.fcol__title{
  font-size:11px;
  font-weight:800;
  color:var(--muted);
  margin-bottom:4px;
}

.fcol__text{
  font-size:12px;
  line-height:1.4;
}

.fcol__link{
  display:block;
  font-size:12px;
  color:var(--text);
  opacity:.9;
}

.footer__bottommini{
  text-align:center;
  font-size:11px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:8px;
}
}


.header--compact .brand,
.header--compact .search{
  display: none;
}

.header--compact .header__inner{
  grid-template-columns: 1fr;
  grid-template-areas: "actions";
  justify-items: center;
  padding: 8px 0;
}

/* ===== Topbar: layout mais estável ===== */
.topbar__inner{
  flex-wrap: wrap;
  gap: 10px 16px;
}

.topbar__item{
  flex: 1 1 320px;     /* cada lado pode quebrar */
  min-width: 260px;
}

.topbar__right{
  justify-content: flex-end;
  gap: 10px;
}

.topbar__right .muted{
  white-space: nowrap; /* evita endereço quebrar no meio no desktop */
}


/* SOMENTE DESKTOP */
@media (min-width: 900px){

  .footer__inner{
    display:flex;
    justify-content:center;
  }

  .footer__card{
    max-width:520px;
    width:100%;
    padding:22px 26px;
  }

} 
@media (min-width: 900px){

  .footer__gridmini{
    display:flex;
    gap:40px;
  }

}

.catalog-section {
  margin-bottom: 28px;
}

.catalog-section__title {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 800;
}

@media (max-width: 520px){
  .topbar__inner{
    padding: 3px 0;
    font-size: 12px;
  }

  .header__inner{
    gap: 6px !important;
    padding: 6px 0 !important;
  }

  .brand{
    gap: 2px !important;
  }

  .brand__mascot{
    width: 160px !important;
  }

  .brand__wordmark{
    width: 160px !important;
  }

  .brand__tag{
    font-size: 13px !important;
    margin-top: -4px;
  }

  .actions{
    gap: 8px !important;
  }

  .actions .btn{
    min-height: 36px;
    padding: 7px 12px;
  }

  .search__input{
    padding: 10px 40px 10px 14px;
  }

  .main{
    padding: 10px 0 20px !important;
  }

  .hero{
    margin-top: 8px !important;
  }

  .hero__card{
    padding: 10px !important;
  }

  .promo__slide img{
    max-height: 220px;
    object-fit: contain;
  }
}