/* ============================================================
   BM TEC Brasil — responsive.css  (v3 — full responsive)
   ============================================================ */

/* ≤ 1100px — laptops menores
   ============================================================ */
@media (max-width: 1100px) {
  .services-grid { grid-template-columns: repeat(3, 1fr); }
  .sol-grid      { grid-template-columns: repeat(3, 1fr); }
  .footer-inner  { grid-template-columns: 1.2fr 1fr 1fr; gap: 2.5rem; }
  .footer-brand  { grid-column: 1 / -1; }
  .footer-inner .footer-brand { grid-column: auto; }
}

/* ≤ 1024px — navbar compacta (muitos links)
   ============================================================ */
@media (max-width: 1024px) {
  .navbar-links { gap: 1.125rem; }
  .nav-link     { font-size: .8125rem; }
  .navbar-cta   { padding: .625rem 1.25rem; font-size: .8125rem; }
}

/* ≤ 960px — tablet landscape
   ============================================================ */
@media (max-width: 960px) {
  /* Seções */
  .section { padding-block: 4rem; }
  .section-header { margin-bottom: 2.75rem; }

  /* Sobre */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .about-img-block img { height: 380px; }
  .about-badge { bottom: -1rem; right: 1rem; }

  /* Por que a BM TEC — coluna de imagens */
  .why-img-col { width: 100%; }
  .why-img-main { height: 280px; }

  /* Serviços */
  .services-grid { grid-template-columns: repeat(2, 1fr); }

  /* Soluções */
  .sol-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .sol-card-img img { height: 240px; }

  /* Depoimentos */
  .testimonials-slider { margin: 0 2rem; }
  .ts-arrow--prev { left: -2rem; }
  .ts-arrow--next { right: -2rem; }

  /* Contato */
  .contact-grid { grid-template-columns: 1fr; gap: 3rem; }

  /* Hero slider */
  .slide-sub { max-width: 100%; }

  /* Páginas internas */
  .page-hero { min-height: 420px; }
  .page-services-grid { grid-template-columns: repeat(2, 1fr); }
  .modulos-grid       { grid-template-columns: repeat(2, 1fr); }
  .page-cta-inner     { flex-direction: column; text-align: center; }
  .page-cta-btns      { justify-content: center; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

/* ≤ 768px — tablet portrait + hamburger
   ============================================================ */
@media (max-width: 768px) {

  /* ── Navbar hamburger ── */
  .navbar-cta   { display: none; }
  .hamburger    { display: flex; }
  .nav-close-btn { display: flex; }

  .navbar-links {
    position: fixed;
    top: 0; right: -100%;
    width: min(300px, 82vw);
    height: 100%;
    background: #0C1A2E;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 4.25rem 2rem 1.5rem;
    gap: 0;
    margin-left: 0;
    transition: right .32s cubic-bezier(.4,0,.2,1);
    box-shadow: -10px 0 50px rgba(0,0,0,.5);
    z-index: 900;
    overflow-y: hidden;
  }
  .navbar-links.open { right: 0; }

  .nav-link {
    font-size: .9375rem;
    padding: .6rem 0;
    width: 100%;
    border-bottom: 1px solid rgba(255,255,255,.06);
    color: rgba(255,255,255,.85);
  }
  .nav-link:last-child { border-bottom: none; }

  /* Botão CTA dentro do menu mobile */
  .navbar-links::after {
    content: '';
    display: block;
    padding-top: 1.5rem;
  }

  /* ── Hero slider ── */
  .hero-slider { height: 100svh; min-height: 580px; }
  .slide-h1    { font-size: clamp(1.875rem, 7vw, 2.625rem); line-height: 1.1; }
  .slide-sub   { font-size: .9375rem; margin-bottom: 1.75rem; }
  .slide-btns  {
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
  }
  .slide-btns .btn { width: 100%; justify-content: center; }

  /* Setas — menores, mais suaves e deslocadas para o fundo */
  .slider-arrow {
    width: 36px; height: 36px;
    font-size: .75rem;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.18);
    top: auto;
    bottom: 4.5rem;
    transform: none;
  }
  .slider-arrow:hover { transform: scale(1.08); }
  .slider-arrow--prev { left: 1rem; }
  .slider-arrow--next { right: 1rem; }
  .slider-counter { display: none; }

  /* ── Seções ── */
  .section { padding-block: 3.5rem; }

  /* ── Depoimentos ── */
  .testimonials-slider { margin: 0 1.5rem; }
  .testimonial-card { flex-direction: column; gap: 1.5rem; padding: 2rem 1.5rem; }
  .t-author { flex-direction: row; width: 100%; text-align: left; }
  .t-divider { width: 100%; height: 1px; align-self: auto; }
  .ts-arrow { width: 34px; height: 34px; font-size: .8rem; }
  .ts-arrow--prev { left: -1.5rem; }
  .ts-arrow--next { right: -1.5rem; }

  /* ── Footer ── */
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom .container {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    text-align: left;
  }

  /* ── Formulário ── */
  .form-row { grid-template-columns: 1fr; }

  /* ── Páginas internas ── */
  .page-hero {
    min-height: 360px;
    padding-top: 88px;
    padding-bottom: 3rem;
  }
  .page-hero-sub br { display: none; }  /* sem quebras forçadas */
  .page-hero-btns {
    flex-direction: column;
    align-items: flex-start;
    gap: .75rem;
  }
  .page-hero-btns .btn { width: 100%; justify-content: center; }

  /* ── Mapa ── */
  .contact-map iframe { height: 220px; }
}

/* ≤ 480px — mobile
   ============================================================ */
@media (max-width: 480px) {
  .container { padding-inline: 1rem; }

  .section { padding-block: 2.75rem; }
  .section-header { margin-bottom: 2.25rem; }

  /* ── Hero slider ── */
  .slide-text { padding-inline: 0; }
  .slide-tag  { font-size: .7rem; padding: .375rem .875rem; }
  .slide-h1   { font-size: clamp(1.625rem, 7.5vw, 2.25rem); line-height: 1.12; }
  .slide-sub  { font-size: .875rem; line-height: 1.7; }

  /* ── Sobre ── */
  .about-img-block img  { height: 250px; }
  .about-badge          { padding: 1rem 1.25rem; right: .75rem; }
  .about-badge-num      { font-size: 1.875rem; }
  .about-stats          { grid-template-columns: repeat(3, 1fr); gap: .5rem; }
  .about-stat-num       { font-size: 1.5rem; }
  .about-stat-sfx       { font-size: 1.125rem; }
  .about-stat-label     { font-size: .7rem; }

  /* ── Por que BM TEC ── */
  .why-img-main { height: 200px; }
  .why-img-row  { grid-template-columns: 1fr 1fr; gap: .5rem; }

  /* ── Serviços ── */
  .services-grid      { grid-template-columns: 1fr; }
  .page-services-grid { grid-template-columns: 1fr; }
  .modulos-grid       { grid-template-columns: 1fr; }

  /* ── Sol cards ── */
  .sol-card-img img { height: 200px; }
  .sol-card-body    { padding: 1.375rem; }

  /* ── Páginas internas ── */
  .page-hero     { min-height: 320px; }
  .page-hero-h1  { font-size: clamp(1.625rem, 7.5vw, 2.25rem); }
  .page-hero-sub { font-size: .875rem; }
  .page-hero-tag { font-size: .7rem; padding: .375rem .875rem; }

  /* ── Footer ── */
  .footer-inner       { gap: 1.5rem; }
  .footer-bottom .container { text-align: center; align-items: center; }

  /* ── WhatsApp flutuante ── */
  .whatsapp-btn { bottom: 1.25rem; right: 1.25rem; width: 52px; height: 52px; font-size: 1.5rem; }
  .wa-tooltip   { display: none; }

  /* ── Botões ── */
  .btn-lg { padding: .875rem 1.75rem; font-size: .9375rem; }

  /* ── Contato ── */
  .contact-grid   { gap: 2.5rem; }
  .contact-map iframe { height: 200px; }
}

/* ≤ 360px — telefones pequenos
   ============================================================ */
@media (max-width: 360px) {
  .slide-h1       { font-size: 1.5rem; }
  .about-stats    { gap: .375rem; }
  .about-stat-num { font-size: 1.25rem; }
  .about-stat-sfx { font-size: .9375rem; }
  .why-img-row    { grid-template-columns: 1fr; }
  .page-hero-h1   { font-size: 1.5rem; }
  .btn { padding: .75rem 1.25rem; font-size: .875rem; }
  .btn-lg { padding: .8125rem 1.5rem; }
}

/* Blog */
@media (max-width: 960px) {
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .blog-grid { grid-template-columns: 1fr; }
  .post-meta { gap: .75rem; }
}
