/* Ajustes específicos para telas pequenas */
@media (max-width: 540px) {
  .container { width: min(100% - 36px, 1160px); }

  .hero { min-height: 640px; }
  .hero-image { object-position: 76% center; }
  .hero-content { padding-bottom: 42px; }
  .hero h1 { max-width: 300px; font-size: 43px; }
  .hero-text { margin: 19px 0 23px; }
  .hero-actions { gap: 14px; }

  .intro, .services, .eye-care, .about, .testimonial, .contact { padding-top: 68px; padding-bottom: 68px; }
  .quick-list { margin-top: 42px; }
  .cards { gap: 14px; margin-top: 32px; }
  .cards article { min-height: 0; padding: 22px; }

  .eye-photo { margin-right: 0; }
  .about.container { width: 100vw; max-width: 100vw; min-height: 600px; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); }
  .about::after { background: linear-gradient(90deg, rgba(33, 19, 52, .88) 0%, rgba(54, 31, 78, .68) 55%, rgba(54, 31, 78, .22) 100%); }
  .about-image > img { object-fit: contain !important; object-position: center !important; }
  .about-copy > p { font-size: 15px; }

  .reviews-grid { gap: 26px; }
  .review-card { padding-top: 18px; }

  .contact-grid { gap: 34px; }
  .contact-grid > div:first-child { padding-top: 0; }
  .contact-map iframe { height: 205px; }
  .contact-form { width: min(100% - 36px, 760px); margin-top: 32px; gap: 16px; }

  .social-float { right: 12px; bottom: 14px; gap: 8px; }
  .social-button { width: 44px; height: 44px; font-size: 20px; }
  .social-button span { display: none; }
  footer { padding-bottom: 118px; }
}
