/* Compactação responsiva global — mantém a identidade visual sem áreas vazias excessivas. */
html {
  scroll-padding-top: 92px;
}

body {
  overflow-x: hidden;
}

/* Rodapé compartilhado */
.site-footer .footer-cta {
  padding-block: clamp(34px, 4vw, 52px) !important;
}

.site-footer .footer-main {
  padding-block: clamp(42px, 5vw, 64px) !important;
}

.site-footer .footer-bottom {
  padding-block: 20px !important;
}

/* Início */
.home-theme .editorial-hero {
  min-height: min(720px, calc(100svh - 70px)) !important;
}

.home-theme .journey-section,
.home-theme .home-locations {
  padding-block: clamp(48px, 5.5vw, 72px) !important;
}

.home-theme .home-story-copy {
  padding-block: clamp(44px, 5vw, 68px) !important;
}

/* Páginas institucionais */
.info-theme .simple-page-hero {
  min-height: 470px !important;
  padding-top: 112px !important;
  padding-bottom: 48px !important;
}

.info-about .about-store-hero {
  min-height: 640px !important;
}

.info-about .about-store-hero-inner {
  min-height: 552px !important;
}

.info-theme .history-placeholder,
.info-theme .faq-columns,
.info-theme .contact-unit-choice,
.info-theme .contact-form-section {
  padding-block: clamp(52px, 6vw, 76px) !important;
}

.info-theme .contact-maps {
  padding-top: 18px !important;
  padding-bottom: 68px !important;
}

.info-theme .photo-map img {
  aspect-ratio: 16 / 9;
  max-height: 420px;
  object-fit: cover;
}

.info-about .about-story-section,
.info-about .about-services {
  padding-block: clamp(58px, 6vw, 82px) !important;
}

.info-about .about-values {
  padding-top: 66px !important;
  padding-bottom: 76px !important;
}

/* Unidades */
.unit-v3 .unit-hero-v2 {
  min-height: 640px !important;
  padding-top: 122px !important;
  padding-bottom: 54px !important;
}

.unit-v3 .unit-purpose,
.unit-v3 .unit-visit {
  padding-block: clamp(48px, 5.5vw, 72px) !important;
}

.unit-v3 .unit-experience {
  min-height: 460px !important;
  padding-block: 58px !important;
}

.unit-v3 .unit-faq {
  padding-bottom: clamp(54px, 6vw, 76px) !important;
}

.unit-v3 .unit-path,
.unit-v3 .unit-path + .unit-path {
  min-height: 330px !important;
}

/* Compra de ouro: remove o scroll artificial de 340vh. */
.materials-sequence {
  min-height: 0 !important;
}

.materials-stage {
  position: relative !important;
  top: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding-top: clamp(66px, 7vw, 92px) !important;
  padding-bottom: clamp(66px, 7vw, 92px) !important;
  gap: clamp(46px, 6vw, 82px) !important;
}

.material-row,
.material-row.is-visible,
.material-row.is-current {
  opacity: 1 !important;
  transform: none !important;
}

.materials-final,
.materials-final.is-visible {
  max-height: none !important;
  padding-top: 22px !important;
  opacity: 1 !important;
  transform: none !important;
}

.process-inner {
  padding-block: clamp(66px, 7vw, 88px) !important;
  gap: clamp(56px, 7vw, 88px) !important;
}

.location-section,
.faq-section {
  padding-top: clamp(66px, 7vw, 88px) !important;
  padding-bottom: clamp(66px, 7vw, 88px) !important;
}

.units-grid {
  margin-top: 34px !important;
}

.location-content {
  min-height: 0 !important;
}

.closing-section {
  min-height: 420px !important;
  padding-block: clamp(58px, 6vw, 76px) !important;
}

.gold-footer {
  padding-top: 40px !important;
}

/* Blog e catálogos */
.blog-hero,
.article-hero {
  padding-top: 116px !important;
  padding-bottom: 58px !important;
}

.blog-index,
.article-layout,
.related-posts {
  padding-top: clamp(46px, 5vw, 66px) !important;
  padding-bottom: clamp(54px, 6vw, 78px) !important;
}

.catalog-hero {
  padding-top: clamp(54px, 7vw, 82px) !important;
  padding-bottom: 42px !important;
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 78px;
  }

  .site-footer .footer-cta,
  .site-footer .footer-main {
    padding-block: 34px !important;
  }

  .site-footer .footer-bottom {
    padding-block: 16px !important;
  }

  .home-theme .editorial-hero {
    min-height: 0 !important;
    padding-block: 92px 34px !important;
  }

  .home-theme .journey-section,
  .home-theme .home-locations,
  .home-theme .home-story-copy {
    padding-block: 42px !important;
  }

  .info-theme .simple-page-hero,
  .info-about .about-hero {
    min-height: 0 !important;
    padding: 92px 14px 30px !important;
  }

  .info-theme .simple-page-hero > div,
  .info-about .about-hero > div {
    padding: 22px 18px !important;
  }

  .info-about .about-store-hero {
    min-height: 580px !important;
  }

  .info-about .about-store-hero-inner {
    min-height: 498px !important;
  }

  .info-theme .history-placeholder,
  .info-theme .faq-columns,
  .info-theme .contact-unit-choice,
  .info-theme .contact-form-section,
  .info-about .about-story-section,
  .info-about .about-services {
    padding-block: 44px !important;
  }

  .info-theme .contact-unit-choice article,
  .info-theme .faq-columns > div {
    padding: 22px 18px !important;
  }

  .info-theme .contact-maps {
    padding-top: 6px !important;
    padding-bottom: 48px !important;
  }

  .info-theme .photo-map img {
    aspect-ratio: 16 / 10;
    max-height: 280px;
  }

  .unit-v3 .unit-hero-v2 {
    min-height: 0 !important;
    padding-top: 92px !important;
    padding-bottom: 24px !important;
  }

  .unit-v3 .unit-hero-copy {
    padding: 24px 19px !important;
  }

  .unit-v3 .unit-purpose,
  .unit-v3 .unit-visit,
  .unit-v3 .unit-experience {
    min-height: 0 !important;
    padding-block: 42px !important;
  }

  .unit-v3 .unit-path,
  .unit-v3 .unit-path + .unit-path {
    min-height: 285px !important;
    padding: 24px 20px !important;
  }

  .hero {
    min-height: 0 !important;
  }

  .hero-inner {
    min-height: 0 !important;
    padding-top: 26px !important;
    padding-bottom: 34px !important;
  }

  .theme-porcelain .hero-panel {
    display: none !important;
  }

  .process-inner {
    padding-block: 52px !important;
    gap: 30px !important;
  }

  .materials-stage {
    height: auto !important;
    padding: 52px 16px !important;
    gap: 26px !important;
    overflow: visible !important;
  }

  .materials-list,
  .materials-list-wrap.is-complete .materials-list {
    max-height: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .material-row {
    min-height: 58px !important;
    padding-block: 8px !important;
  }

  .materials-final,
  .materials-final.is-visible {
    display: block !important;
    max-height: none !important;
  }

  .location-section,
  .faq-section {
    padding: 52px 16px !important;
  }

  .location-heading,
  .faq-heading {
    min-height: 0 !important;
  }

  .location-photo {
    aspect-ratio: 16 / 9 !important;
  }

  .location-content {
    padding: 22px 18px !important;
  }

  .faq-section {
    gap: 28px !important;
    padding-bottom: 58px !important;
  }

  .closing-section {
    min-height: 0 !important;
    padding: 48px 18px 32px !important;
  }

  .blog-hero,
  .article-hero {
    padding: 92px 16px 40px !important;
  }

  .blog-index,
  .article-layout,
  .related-posts {
    padding-block: 42px 54px !important;
  }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .materials-stage {
    grid-template-columns: minmax(240px, .75fr) minmax(400px, 1.25fr) !important;
  }
}

