/*=================================================================
  BOX ARQUITETURA - Ajustes Responsivos Avançados
==================================================================*/

/* Tablets landscape e desktop pequeno */
@media (max-width: 1200px) {
  .hero-content h1 {
    font-size: 3rem;
  }

  .sobre-grid {
    gap: 4rem;
  }

  .portfolio-mosaic {
    gap: 1.5rem;
  }
}

/* Tablets portrait */
@media (max-width: 992px) {
  .header-container {
    padding: 1.25rem 2rem;
  }

  .logo-box {
    font-size: 1.3rem;
  }

  .hero-banner {
    height: 80vh;
    min-height: 500px;
  }

  .hero-content h1 {
    font-size: 2.5rem;
  }

  .hero-content .subheadline {
    font-size: 1.1rem;
  }

  .section-sobre,
  .section-portfolio,
  .section-depoimentos,
  .section-cta {
    padding: 6rem 0;
  }

  .sobre-grid {
    gap: 3rem;
  }

  .sobre-image {
    height: 500px;
  }

  .portfolio-mosaic {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 350px;
  }

  .portfolio-item:nth-child(1) {
    grid-column: span 2;
  }

  .portfolio-item:nth-child(5) {
    grid-column: span 2;
  }

  .depoimento blockquote {
    font-size: 1.5rem;
  }

  .footer-content {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }

  .footer-about {
    grid-column: span 2;
  }
}

/* Mobile landscape */
@media (max-width: 768px) {
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.5rem;
  }

  .btn-primary-box,
  .btn-secondary-box,
  .btn-outline-box {
    padding: 0.875rem 2rem;
    font-size: 0.9rem;
  }

  .hero-banner {
    height: 70vh;
  }

  .hero-content {
    padding: 0 1.5rem;
  }

  .sobre-content p {
    font-size: 1rem;
  }

  .portfolio-overlay {
    padding: 2rem;
  }

  .portfolio-info h3 {
    font-size: 1.5rem;
  }
}

/* Mobile portrait */
@media (max-width: 576px) {
  .header-container {
    padding: 1rem 1.5rem;
  }

  .logo-box {
    font-size: 1.1rem;
  }

  .hero-banner {
    height: 100vh;
    min-height: unset;
  }

  .hero-content h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .hero-content .subheadline {
    font-size: 1rem;
    margin-bottom: 2rem;
  }

  .btn-primary-box,
  .btn-secondary-box,
  .btn-outline-box {
    padding: 0.75rem 1.5rem;
    font-size: 0.85rem;
    width: 100%;
    text-align: center;
  }

  .section-sobre,
  .section-portfolio,
  .section-depoimentos,
  .section-cta {
    padding: 4rem 0;
  }

  .sobre-grid,
  .portfolio-header,
  .portfolio-mosaic,
  .depoimentos-container,
  .cta-container {
    padding: 0 1.5rem;
  }

  .sobre-grid {
    gap: 2rem;
  }

  .sobre-image {
    height: 350px;
  }

  .portfolio-mosaic {
    grid-template-columns: 1fr;
    gap: 1rem;
    grid-auto-rows: 300px;
  }

  .portfolio-item:nth-child(1),
  .portfolio-item:nth-child(2),
  .portfolio-item:nth-child(4),
  .portfolio-item:nth-child(5) {
    grid-column: span 1;
    grid-row: span 1;
  }

  .portfolio-overlay {
    padding: 1.5rem;
  }

  .portfolio-info h3 {
    font-size: 1.3rem;
  }

  .portfolio-info .tipo {
    font-size: 0.85rem;
  }

  .depoimento blockquote {
    font-size: 1.2rem;
  }

  .depoimento-author {
    font-size: 0.9rem;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding: 0 1.5rem;
  }

  .footer-about {
    grid-column: span 1;
  }

  .footer-socials {
    justify-content: center;
  }

  .footer-links {
    text-align: center;
  }

  .footer-links ul {
    padding: 0;
  }

  .whatsapp-float {
    width: 50px;
    height: 50px;
    bottom: 20px;
    right: 20px;
  }

  .whatsapp-float i {
    font-size: 1.5rem;
  }
}

/* Mobile pequeno (iPhone SE, etc) */
@media (max-width: 375px) {
  .hero-content h1 {
    font-size: 1.75rem;
  }

  .hero-content .subheadline {
    font-size: 0.95rem;
  }

  .logo-box {
    font-size: 1rem;
  }

  .portfolio-mosaic {
    grid-auto-rows: 250px;
  }

  .depoimento blockquote {
    font-size: 1.1rem;
  }
}

/* Landscape mode para mobile */
@media (max-height: 500px) and (orientation: landscape) {
  .hero-banner {
    height: auto;
    min-height: 100vh;
    padding: 100px 0 50px;
  }

  .hero-content {
    padding: 2rem 1.5rem;
  }

  .section-sobre,
  .section-portfolio,
  .section-depoimentos,
  .section-cta {
    padding: 3rem 0;
  }
}

/* High DPI / Retina displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .hero-bg img {
    image-rendering: -webkit-optimize-contrast;
  }
}

/* Preferência por movimento reduzido (acessibilidade) */
@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;
  }

  .hero-content {
    animation: none;
  }
}

/* Dark mode (opcional - se o usuário preferir) */
@media (prefers-color-scheme: dark) {
  /* Você pode adicionar suporte a dark mode aqui no futuro */
}

/* Print styles */
@media print {
  .header-box,
  .whatsapp-float,
  .footer-socials {
    display: none;
  }

  .hero-overlay {
    background: rgba(0, 0, 0, 0.3);
  }

  * {
    color: #000 !important;
    background: #fff !important;
  }
}

/* Ajustes para navegadores específicos */

/* Firefox */
@-moz-document url-prefix() {
  .portfolio-item-bg {
    image-rendering: -moz-crisp-edges;
  }
}

/* Safari */
@supports (-webkit-appearance: none) {
  .header-box {
    -webkit-backdrop-filter: blur(10px);
  }
}

/* Edge */
@supports (-ms-ime-align: auto) {
  .nav-menu {
    -ms-overflow-style: none;
  }
}
