﻿/* ============================================================
   Td Brindes - CSS Responsivo
   Breakpoints: 1200px, 1024px, 768px, 480px
   ============================================================ */

/* 1200px */
@media (max-width: 1200px) {
  .categorias-grid { grid-template-columns: repeat(3, 1fr); }
  .produtos-grid   { grid-template-columns: repeat(3, 1fr); }
  .footer-grid     { grid-template-columns: 1fr 1fr; gap: 36px; }
  .carousel-title  { font-size: 2.4rem; }
}

/* 1024px - Tablet landscape */
@media (max-width: 1024px) {
  :root { --header-h: 65px; }
  .topbar-left { display: none; }
  .header-search { max-width: 360px; }
  .vantagens-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid     { grid-template-columns: repeat(2, 1fr); }
  .stat-item      { border-right: none; border-bottom: 1px solid rgba(255,255,255,.06); }
  .institucional-grid { grid-template-columns: 1fr; gap: 40px; }
  .institucional-img { max-width: 500px; }
  .contato-grid   { grid-template-columns: 1fr; }
  .produto-single-grid { grid-template-columns: 1fr; gap: 36px; }
  .produto-gallery { position: static; }
  .dropdown-menu  { min-width: 380px; }
  .cta-banner { flex-direction: column; text-align: center; }
  .cta-banner-text p { max-width: 100%; }
}

/* 768px - Tablet portrait */
@media (max-width: 768px) {
  :root { --topbar-h: 0px; }
  .topbar { display: none; }

  /* Header mobile */
  .header-search { display: none; }
  .menu-toggle   { display: flex; }
  .header-actions .btn-whatsapp { display: none; }

  /* Navbar mobile */
  .navbar {
    position: fixed; top: 0; left: -100%; width: 80%; max-width: 320px; height: 100vh;
    background: var(--primary-dark); padding: 72px 0 32px;
    overflow-y: auto; z-index: 900;
    transition: left var(--transition);
    box-shadow: var(--shadow-xl);
  }
  .navbar.open { left: 0; }
  .menu-overlay.open { display: block; opacity: 1; }
  .nav-list { flex-direction: column; height: auto; gap: 0; padding: 0; }
  .nav-list > li { height: auto; width: 100%; }
  .nav-list > li > a {
    padding: 14px 24px; border-bottom: 1px solid rgba(255,255,255,.06);
    width: 100%; justify-content: space-between;
  }
  .dropdown-menu {
    position: static; opacity: 1; visibility: visible;
    transform: none; box-shadow: none;
    background: rgba(255,255,255,.04); border-radius: 0;
    min-width: unset; padding: 8px 0;
    display: none;
  }
  .has-dropdown.open .dropdown-menu { display: block; }
  .dropdown-grid { grid-template-columns: 1fr; }
  .dropdown-grid a { color: rgba(255,255,255,.75); padding: 10px 36px; }
  .dropdown-grid a:hover { background: rgba(255,255,255,.06); color: var(--white); }
  .dropdown-grid a small { color: rgba(255,255,255,.4); }

  /* Hamburguer animation */
  .menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle.open span:nth-child(2) { opacity: 0; }
  .menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Sections */
  .section       { padding: 48px 0; }
  .section-title { font-size: 1.6rem; }
  .categorias-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .produtos-grid   { grid-template-columns: repeat(2, 1fr); gap: 16px; }

  /* Carousel */
  .carousel { height: 420px; }
  .carousel-content { padding: 0 36px; }
  .carousel-title   { font-size: 1.8rem; }
  .carousel-subtitle { font-size: .9rem; }
  .carousel-btn { width: 36px; height: 36px; }
  .carousel-deco { display: none; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-bottom .container { flex-direction: column; gap: 6px; text-align: center; }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2, 1fr); }

  /* Produto single */
  .gallery-thumbs { gap: 8px; }
  .gallery-thumb { width: 64px; height: 64px; }

  /* CTA */
  .cta-banner { padding: 40px 28px; }
  .cta-banner-text h2 { font-size: 1.4rem; }
  .cta-banner-actions { flex-direction: column; width: 100%; }
  .cta-banner-actions .btn { justify-content: center; }

  /* Form */
  .form-row { grid-template-columns: 1fr; }

  /* WhatsApp float */
  .whatsapp-float { bottom: 20px; right: 20px; width: 52px; height: 52px; }
}

/* 480px - Celular pequeno */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
  .carousel { height: 360px; }
  .carousel-content { padding: 0 20px; }
  .carousel-title   { font-size: 1.5rem; }
  .carousel-subtitle { display: none; }
  .carousel-actions { gap: 10px; }
  .carousel-btn { display: none; }
  .categorias-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .produtos-grid   { grid-template-columns: 1fr 1fr; gap: 12px; }
  .produto-body { padding: 12px; }
  .produto-name { font-size: .88rem; }
  .produto-desc { display: none; }
  .vantagens-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .section-title { font-size: 1.4rem; }
  .logo-slogan { display: none; }
  .tab-buttons { overflow-x: auto; }
  .tab-btn { white-space: nowrap; }
  .sobre-hero h1 { font-size: 2rem; }
  .institucional-text h2 { font-size: 1.6rem; }
}

/* Print */
@media print {
  .topbar, .header, .navbar, .whatsapp-float, .footer { display: none !important; }
  body { font-size: 12pt; }
}
