/* ============================================================
   STYLES.CSS - AJUSTES DE CORES, TAMANHOS E RESPONSIVIDADE
   ============================================================ */

/* =========================
   VARIÁVEIS DE TEMA
   ========================= */
:root{
  /* Cores predominantes */
  --cor-azul: #0d6efd;
  --cor-verde: #28a745;
  --cor-branco: #ffffff;
  --cor-cinza-escuro: #1e1e1e;

  /* Navbar e compensação (JS atualiza --nav-h em runtime) */
  --nav-bg: #0056b3;
  --nav-h: 90px; /* fallback; o JS do index ajusta conforme altura real */

  /* Alturas mínimas */
  --hero-min-h: 85vh;
  --sec-min-h: 60vh;

  /* Tipografia */
  --fs-titulo: clamp(1.6rem, 1.6vw, 1.8rem);
  --fs-subtitulo: clamp(1rem, 1.8vw, 1.15rem);
  --fs-card-titulo: 1.15rem;

  /* Bordas e sombras */
  --radius: 1rem;
  --shadow: 0 6px 24px rgba(0,0,0,.08);
}

/* =========================
   BASE / GLOBAL
   ========================= */
html, body { height: 100%; }

body{
  background-color: #ffffff;    /* fundo branco em todo o site */
  color: #222;
  padding-top: var(--nav-h);    /* navbar fixa */
  padding-bottom: 70px;         /* espaço pro footer */
}

/* Utilitários */
.maxw-800{ max-width: 800px; }
.object-cover{
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}

/* =========================
   NAVBAR
   ========================= */
.navbar.bg-nav{
  background: var(--nav-bg);
  backdrop-filter: blur(6px);
}
.navbar-brand img{
  /* Ajuste o tamanho do logo aqui */
  height: 100px;
  width: auto;
}
.brand-text{
  letter-spacing: .5px;
  font-weight: 700;
}

/* =========================
   SEÇÕES
   ========================= */
.section{
  padding: 64px 0;
  min-height: auto; /* mude para var(--sec-min-h) se quiser */
}
.section-alt{
  background: #f7f9fc;
}
.section-azul{
  background: var(--cor-azul);
  color: var(--cor-branco);
}

.bg-white { background-color: #fff; }

/* Antes usava imagem de fundo; agora tudo branco */
.section-bg{
  background-color: #ffffff;
  color: #222;
  position: relative;
}
.section-bg .container{ position: relative; z-index: 1; }

/* =========================
   TÍTULOS E TEXTOS
   ========================= */

/* Wrapper do título com marcador */
.sec-title{
  display: flex;
  align-items: center;
  gap: .5rem;
}
.sec-marker{
  width: 20px;
  height: 20px;
  background: var(--cor-azul);
  border-radius: 3px;
  flex-shrink: 0;
}

.titulo-secao{
  font-size: var(--fs-titulo);
  font-weight: 600;
  color: #0d6efd;
  margin: 0;
  text-align: left; /* alinhado à esquerda */
}
.subtitulo{ font-size: var(--fs-subtitulo); color: #555; }
.texto-chamativo{ line-height: 1.25; }

/* Mobile: telas menores que 576px */
@media (max-width: 576px) {
  .titulo-secao {
    font-size: 1.35rem; /* diminui no celular */
  }
}

/* =========================
   BOTÕES
   ========================= */
.btn-categoria{
  color:#fff;
  background-color:#0d6efd;
  border:1px solid #0d6efd;
  transition: all .3s ease;
}
.btn-categoria:hover{
  color:#fff;
  background-color:#0b5ed7;
  border-color:#0b5ed7;
  transform: translateY(-2px);
}

/* =========================
   BANNERS (CARROSSEL)
   ========================= */

  
.banner-img-desktop{
  max-height: 800px;  /* ajuste se quiser */
  object-fit: cover;
}
.banner-img-mobile{
  max-height: 360px;  /* mobile mais baixo */
  object-fit: cover;
  margin-top: 20px;
}
.banner-img{ max-height: 600px; object-fit: cover; }

/* =========================
   CARDS DE CATEGORIA
   ========================= */
.card-categoria{
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transition: transform .2s ease, box-shadow .2s ease;
  background: #fff;
  overflow: hidden;
}
.card-categoria:hover{
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.card-categoria .card-title{
  font-size: var(--fs-card-titulo);
  font-weight: 700;
}

/* Fundo translúcido sob o texto do card (overlay suave) */
.overlay-texto{
  background: rgba(70, 92, 138, 0.15);
  color: #000;
  position: relative;
  z-index: 2;
  backdrop-filter: blur(4px);
  border-top: 1px solid rgba(255,255,255,0.35);
  border-radius: 0 0 12px 12px;
}
.overlay-texto .card-title{ font-weight: 600; font-size: 1.25rem; }
.overlay-texto .card-text{
  font-size: .95rem;
  color: #333;
  text-align: justify;
  text-justify: inter-word;
}


/* =========================
   VANTAGENS
   ========================= */
.vant-card{
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.vant-icone{
  font-size: 2.2rem;
  color: var(--cor-azul);
}

/* =========================
   FORMULÁRIO DE CONTATO
   ========================= */
.form-contato .form-control{ border-radius: .75rem; }
.form-contato .btn{ padding: .65rem 1.25rem; font-weight: 600; }

/* =========================
   IMAGENS ESPECÍFICAS
   ========================= */
#img_qualidade{
  max-width: 100%;
  height: 280px;
  object-fit: cover;
}

/* =========================
   FOOTER FIXO (compatível com footer.php)
   ========================= */
.footer{
  background-color: #0056b3;
  color: #fff;
  font-size: .9rem;
  z-index: 1030;
  box-shadow: 0 -2px 6px rgba(0,0,0,.15);
}
.footer a{ color:#fff; text-decoration: underline; }
.footer a:hover{ color:#d1e4ff; }

/* =========================
   RESPONSIVIDADE NAVBAR / BANNERS
   ========================= */
@media (max-width: 991.98px){
  :root{ --nav-h: 70px; }
  .navbar-brand img{ height: 64px; }
  .banner-img-desktop{ max-height: 420px; }
}
@media (max-width: 575.98px){
  .navbar-brand img{ height: 56px; }
  .banner-img-desktop{ max-height: 360px; }
  .banner-img-mobile{ max-height: 300px; }
}

/* =========================
   ESTILOS DE PRODUTOS / GRID
   ========================= */

/* Card principal */
.card-prod {
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  background: #ffffff;
}

/* Imagem do produto */
.card-prod img.prod-img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  background: #ffffff;
  border-bottom: 1px solid #eee;
  padding: 10px;
  display: block;
}

/* Bloco de informações (texto) */
.card-prod .p-3 {
  background: #c1cddabf;
}

/* Preço */
.price {
  font-weight: 700;
  color: #0d6efd;
}

/* Sidebar (filtros) */
.sidebar {
  background: rgba(255,255,255,0.95);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px;
  position: sticky;
  top: calc(var(--nav-h, 70px) + 16px);
}

/* Estado vazio (nenhum produto) */
.empty {
  background: #fff;
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow);
}

/* Campos de formulário */
.form-control, .form-select {
  border-radius: .75rem;
}

/* Responsividade sidebar */
@media (max-width: 991.98px) {
  .sidebar {
    position: static;
    top: auto;
    box-shadow: none;
    padding: 0;
    background: transparent;
  }
}

/* Categoria: imagem 1:1 sem corte e sem esticar */
.card-categoria .ratio{
  background: #fff;
}
.cat-img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  padding: 8px;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}

/* Faz todos os cards terem mesma altura */
.card-prod {
  display: flex;
  flex-direction: column;
}

/* Garante que o conteúdo se distribua sem quebrar layout */
.card-prod .p-3 {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Título ocupa sempre o mesmo espaço mínimo */
.card-prod h3 {
  min-height: 42px;
  margin: 0 0 8px 0;
  overflow: hidden;
}

/* Categoria (linha pequena acima do nome) */
.card-prod .small {
  min-height: 16px;
}

/* Preço sempre fixo no final */
.card-prod .price,
.card-prod .text-muted.small {
  margin-top: auto;
}

/* Reduz espaçamento entre seções somente no mobile */
@media (max-width: 576px) {
  #sobre-brindes.section {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}

/* =========================
   POR QUE ESCOLHER A ANGA BRINDES
   ========================= */
.porque-card{
  border-radius: 0;          /* sem arredondamento */
  box-shadow: var(--shadow);
  background: #ffffff;
  overflow: hidden;
}


.porque-header{
  background: url("../img/background_faixa_azul.jpg") no-repeat center;
  background-size: cover;
  color: #fff;
  padding: .75rem .9rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}


.porque-title{
  font-weight: 700;
}
.porque-icon{
  font-size: 1.5rem;
}
.porque-body{
  padding: .9rem .9rem 1.1rem;
  background: #ffffff;
  font-size: .95rem;
}

/* =========================
   LANÇAMENTOS - ESTEIRA HORIZONTAL
   ========================= */
.lancamentos-wrapper{
  position: relative;
  /* padding lateral para dar espaço aos botões */
  padding: 0 44px;
}

/* container que rola horizontalmente */
.lanc-track-container{
  overflow-x: auto;                 /* rola (para o JS usar) */
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding-bottom: .5rem;

  /* esconde scrollbar */
  scrollbar-width: none;            /* Firefox */
}
.lanc-track-container::-webkit-scrollbar{
  display: none;                    /* Chrome / Edge / Safari */
}

/* linha de cards */
.lanc-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
}

/* Card de lançamento sem bordas, 7 por tela no desktop */
.lanc-card{
  flex: 0 0 calc(100% / 7 - 0.9rem);
  min-width: 160px;
}
.lanc-img-wrapper{
  background: #ffffff;
}
.lanc-img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lanc-info{
  background: #f2f2f2;
  padding: .5rem;
  font-size: .9rem;
  border-radius: 6px;

  height: 125px;               /* altura fixa */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
}

.lanc-info strong{
  font-weight: 700;
  font-size: .95rem;
  line-height: 1.2;

  display: -webkit-box;
  -webkit-line-clamp: 1;       /* título máximo em 1 linha */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lanc-desc{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #555;
}

/* Botões laterais de navegação (sobrepostos) */
.lanc-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  border-radius: 999px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  z-index: 2;
}
.lanc-btn i{
  font-size: 1.2rem;
}

/* posição específica de cada botão */
.lanc-btn-prev{
  left: 10px;
}
.lanc-btn-next{
  right: 10px;
}

/* Responsividade da esteira de lançamentos */
@media (max-width: 991.98px){
  .lanc-card{
    flex: 0 0 calc(100% / 3 - 0.7rem);
  }
}

@media (max-width: 575.98px){
  .lanc-card{
    flex: 0 0 calc(100% / 2 - 0.5rem);
  }
  .lanc-btn{
    display: none; /* no mobile, deixa só o scroll com o dedo */
  }
  .lancamentos-wrapper{
    padding: 0;   /* sem padding lateral no mobile */
  }
}


@media (max-width: 575.98px) {
  #categorias .card-text {
    display: none !important;
  }
}


/* =========================
   TOPBAR (BUSCA + REDES SOCIAIS)
   ========================= */
/* Barra azul do topo */
.topbar{
  background: var(--nav-bg);   /* ou #0056b3 */
  padding: 8px 0;
}

/* impede o input de estourar */
.topbar input[type="text"]{
  min-width: 0;
}

/* Ícones das redes */
.social-icon{
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}

/* Garante que no mobile tudo fique na MESMA LINHA */
@media (max-width: 575.98px){
  .topbar-inner{
    flex-wrap: nowrap;
  }

  .topbar-inner form{
    flex: 1 1 auto;
  }

  .topbar-social{
    flex-shrink: 0;
  }
}
