/* Ajustes responsivos sem alterar a identidade visual */
body { overflow-x: hidden; }
img { max-width: 100%; }
.cta, .whatsapp-button, .newsletter button { min-height: 44px; }
.image-logo {
  display: inline-flex;
  align-items: center;
  width: 142px;
  height: 64px;
  padding-bottom: 0;
  letter-spacing: normal;
}

.image-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

footer .image-logo {
  background: transparent;
  width: 150px;
  height: 94px;
}

.header .image-logo {
  width: 150px;
  height: 96px;
}

.header {
  height: 108px;
}

@media (max-width: 900px) {
  .header { padding-left: 24px; padding-right: 24px; }
  .header nav {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 8px 24px 18px;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 14px 25px #17131018;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: .25s;
  }
  .header nav.open { opacity: 1; visibility: visible; transform: none; }
  .header nav a { padding: 14px 0; border-bottom: 1px solid #ddd5c980; font-size: 12px; }
  .header nav a:last-child { border-bottom: 0; }
  .menu { min-width: 44px; min-height: 44px; }
  .filters {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .filters::-webkit-scrollbar { display: none; }
  .filter { flex: 0 0 auto; min-height: 42px; }
  .product-image { height: auto; aspect-ratio: 4 / 5; }
  .editorial-copy { min-width: 0; }
}

@media (max-width: 600px) {
  .announcement { height: auto; min-height: 38px; padding: 7px 14px; line-height: 1.35; }
  .header { height: 78px; padding: 0 12px; }
  .header .image-logo { width: 112px; height: 68px; }
  .actions { align-items: center; }
  .icon, .menu { width: 38px; min-width: 38px; height: 44px; padding: 0; }
  .search-toggle { display: block; }
  .search-panel { top: 108px; padding: 18px; }
  .search-panel input { min-width: 0; font-size: 18px; }
  .hero { min-height: 560px; }
  .hero-copy { left: 20px; right: 20px; top: 55%; }
  .hero h1 { font-size: clamp(42px, 13.5vw, 50px); }
  .hero-copy > p:not(.eyebrow) { line-height: 1.55; }
  .cta { max-width: 100%; justify-content: space-between; align-items: center; gap: 18px; padding: 15px 18px; }
  .benefits { gap: 14px 8px; padding: 18px 12px; }
  .benefits > div { min-width: 0; align-items: flex-start; gap: 9px; }
  .benefits i { font-size: 19px; }
  .benefits p { min-width: 0; }
  .section { padding-left: 16px; padding-right: 16px; }
  .heading { margin-bottom: 30px; }
  .heading h2 { font-size: clamp(34px, 10.5vw, 39px); }
  .heading > a { display: inline-block; margin-top: 20px; font-size: 11px; }
  .filters { margin-right: -16px; padding-right: 16px; }
  .product-grid { gap: 24px 8px; }
  .product-info { padding: 12px 2px; }
  .product-info h3 { line-height: 1.25; }
  .price { display: block; margin-top: 5px; }
  .favorite { width: 38px; height: 38px; }
  .editorial { min-height: 0; }
  .editorial-img { height: min(105vw, 430px); }
  .editorial-copy { padding: 60px 22px; }
  .editorial-copy h2 { font-size: clamp(36px, 10.5vw, 46px); }
  .newsletter { padding: 72px 18px; }
  .newsletter h2 { font-size: clamp(34px, 10vw, 42px); }
  footer { gap: 32px 20px; }

  .product-page { padding: 12px 14px 70px; }
  .product-gallery { grid-template-columns: 1fr; gap: 14px; }
  .product-detail h1 { font-size: clamp(38px, 12vw, 43px); }
  .whatsapp-button { align-items: center; gap: 14px; line-height: 1.35; }
}

@media (max-width: 430px) {
  .logo { font-size: 23px; }
  .benefits { grid-template-columns: 1fr 1fr; }
  footer { grid-template-columns: 1fr; padding: 52px 22px 24px; }
  footer .copyright { grid-column: 1; }
  .product-header { padding-left: 12px; padding-right: 12px; gap: 12px; }
  .product-header .logo { font-size: 22px; flex: 0 0 auto; }
  .back-link { max-width: 145px; text-align: right; line-height: 1.35; }
  .product-description { font-size: 13px; }
}

@media (max-width: 370px) {
  .header { padding: 0 8px; }
  .icon, .menu { width: 36px; min-width: 36px; }
  .hero-copy { left: 16px; right: 16px; }
  .section { padding-left: 12px; padding-right: 12px; }
  .filters { margin-right: -12px; padding-right: 12px; }
  .product-grid { gap: 24px 6px; }
  .badge { font-size: 7px; padding: 5px 7px; }
}
/* Enquadramento exclusivo do banner principal com produto real do catálogo. */
.hero.real-product-hero {
  background: #f7ead9;
}

.hero.real-product-hero > img {
  object-fit: cover;
  object-position: right center;
}

.hero.real-product-hero .shade {
  background: linear-gradient(90deg, #090504e8 0%, #140707d8 36%, #14070770 58%, transparent 78%);
}

@media (max-width: 600px) {
  .hero.real-product-hero > img {
    object-fit: cover;
    object-position: 63% center;
  }
}
