

:root{
  --brand:#c10016;
  --brand-dark:#960012;
  --text:#222;
}

*{ box-sizing: border-box; }

body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  color: var(--text);
}

.navbar{ box-shadow: 0 6px 20px rgba(0,0,0,.08); }
.navbar-brand{ font-weight:800; letter-spacing:.3px; }
.navbar-brand img{ height:56px; width:auto; display:block; }

.btn-brand{ background:var(--brand); color:#fff; border:none; }
.btn-brand:hover{ background:var(--brand-dark); color:#fff; }

.section{ padding:64px 0; }
.section-title{ color:var(--brand); font-weight:800; }
.lead-ib{ font-size:1.125rem; }

.icon-bullet{
  width:44px; height:44px; border-radius:999px; background:var(--brand);
  display:inline-flex; align-items:center; justify-content:center; color:#fff;
  margin-right:.6rem; flex:0 0 44px;
}
.feature{ display:flex; align-items:flex-start; margin-bottom:18px; }

.footer{ background:#111; color:#eee; padding:32px 0; }
.footer a{ color:#fff; text-decoration:none; }

.lang-tabs .nav-link{ font-weight:700; }
.card-link{ display:block; color:inherit; text-decoration:none; }
.card-link:hover{ transform: translateY(-2px); }

.restricted-badge{
  display:inline-block; background:#111; color:#fff; border-radius:999px;
  padding:.35rem .7rem; font-size:.8rem;
}

/* espaçamento para âncoras fixas */
.scroll-mt{ scroll-margin-top:90px; }

/* Esconde legendas do carrossel (sem sobreposição) */
.hero .carousel-caption{ display:none !important; }

/* ====== HERO / CARROSSEL ====== */
.hero{
  --hero-max: 1200px;                 /* LARGURA MÁXIMA em telas >= 992px */
  --hero-radius: 14px;                /* cantos arredondados */
  --hero-shadow: 0 12px 30px rgba(0,0,0,.18);
  --hero-fit: cover;                  /* cover = preenche; contain = sem corte */
}

/* largura & centralização do carrossel */
.hero #hero{
  max-width: 100%;
  margin-inline: auto;
  overflow: hidden;
}

/* altura do slide (sem mexer no display, p/ não quebrar o BS) */
.hero .carousel-item{
  height: clamp(360px, 52vh, 760px);
  overflow: hidden;
  background: #000;                   /* fundo nas bordas quando usar contain */
}

/* imagem dentro do slide */
.hero .carousel-item img{
  width: 100%;
  height: 100%;
  object-fit: var(--hero-fit);
  object-position: center;
  display: block;
  background: #000;
}

/* Suaviza a animação de slide padrão do Bootstrap */
.hero .carousel .carousel-item{
  transition: transform 0.9s cubic-bezier(.25,.8,.25,1); /* ease mais macio */
}
/* telas grandes: limite de largura e acabamento */
@media (min-width: 992px){
  .hero{ padding-inline: 1rem; }
  .hero #hero{
    max-width: var(--hero-max);
    border-radius: var(--hero-radius);
    box-shadow: var(--hero-shadow);
  }
}

/* telas menores: um pouco mais baixo */
@media (max-width: 992px){
  .navbar-brand img{ height:44px; }
  .hero .carousel-item{ height: clamp(260px, 42vh, 560px); }
}

/* Acessibilidade de movimento reduzido */
@media (prefers-reduced-motion: reduce){
  *{ animation:none!important; transition:none!important; }
}

/* Nav PT/EN empilhado (se já existir, mantenha) */
.nav-bilingual .nav-link{
  display:flex; flex-direction:column; align-items:center; line-height:1;
  gap:2px; padding-top:.6rem; padding-bottom:.3rem;
}
.nav-bilingual .nav-pt{ font-weight:700; }
.nav-bilingual .nav-en{ font-size:.72rem; color:#6b7280; }

/* Destaque do item ativo — vermelho da marca */
.nav-bilingual .nav-link.active .nav-pt{ color: var(--brand) !important; }
.nav-bilingual .nav-link.active .nav-en{ color: var(--brand) !important; opacity:.8; }