/* ==========================================================================
   Casa de Carnes Chega Mais - Responsive Styles
   Mobile First Breakpoints
   ========================================================================== */

/* ---------- Tablet (768px+) ---------- */
@media(min-width:768px){
  .header__toggle{display:none}
}

/* ---------- Desktop (1024px+) ---------- */
@media(min-width:1024px){
  .hero__title{font-size:48px}
}

/* ---------- Mobile (< 1024px) ---------- */
@media(max-width:1023px){
  :root{
    --h1-size:30px;
    --h2-size:24px;
    --section-padding:56px 0;
  }
  h1{font-size:var(--h1-size)}
  h2{font-size:var(--h2-size)}

  /* Header Mobile */
  .header__toggle{display:flex}
  .header__nav{position:fixed;top:0;right:-100%;width:80%;max-width:360px;height:100vh;background:var(--white);flex-direction:column;justify-content:flex-start;padding:80px 32px 32px;box-shadow:var(--shadow-lg);transition:right var(--transition-base);z-index:1000;overflow-y:auto}
  .header__nav--open{right:0}
  .header__nav-list{flex-direction:column;gap:0;width:100%}
  .header__nav-link{color:var(--graphite);display:block;padding:14px 0;border-bottom:1px solid var(--gray-light);font-size:15px;width:100%}
  .header__nav-link::after{display:none}
  .header__cta{flex-direction:column;width:100%;margin-top:16px}
  .header__phone{color:var(--graphite);justify-content:center}
  .mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:999;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}
  .mobile-overlay--visible{opacity:1;pointer-events:auto}

  /* Hero Mobile */
  .hero{min-height:80vh}
  .hero__title{font-size:32px}
  .hero__desc{font-size:16px}
  .hero__content{padding:100px 0 60px}
  .hero__actions{flex-direction:column}
  .hero__actions .btn{width:100%;justify-content:center}

  /* Grids Mobile */
  .about-grid{grid-template-columns:1fr;gap:32px}
  .mission-grid{grid-template-columns:1fr}
  .process-grid{grid-template-columns:1fr}
  .diff-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}

  /* Page Hero Mobile */
  .page-hero{padding:120px 0 60px}
  .page-hero__title{font-size:30px}

  /* CTA Mobile */
  .cta-banner__title{font-size:26px}
  .cta-banner__actions{flex-direction:column;align-items:center}

  /* Gallery Mobile */
  .gallery-grid{grid-template-columns:1fr 1fr;gap:8px}

  /* Products Mobile */
  .products-grid{grid-template-columns:1fr}

  /* Cookie Banner Mobile */
  .cookie-banner__inner{flex-direction:column;text-align:center}
  .cookie-banner__actions{width:100%;justify-content:center}

  /* Error Page Mobile */
  .error-page__code{font-size:80px}
}

/* ---------- Small Mobile (< 480px) ---------- */
@media(max-width:479px){
  .hero__title{font-size:26px}
  .hero__subtitle{font-size:12px;letter-spacing:2px}
  .footer-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .section-header__title{font-size:22px}
  .cta-banner__title{font-size:22px}
}

/* ---------- Tablet specific (768-1023) ---------- */
@media(min-width:768px) and (max-width:1023px){
  .mission-grid{grid-template-columns:repeat(3,1fr)}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .diff-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .products-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
}

/* ---------- Print ---------- */
@media print{
  .header,.footer,.whatsapp-float,.cookie-banner,.hero__scroll{display:none!important}
  body{color:#000;background:#fff}
  .section{padding:24px 0}
}

/* ---------- Reduced Motion ---------- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
  .fade-in,.fade-in-left,.fade-in-right{opacity:1;transform:none}
}
