/* Portfolio-specific finishing pass for the published LUNÉRA 30 package. */

/* Ciclos: manter as composições de 3 e 6 potes no eixo óptico do card. */
.kits .kit-card:nth-child(1) .jars,
.kits .kit-card:nth-child(3) .jars {
  margin: 0 !important;
  transform: none !important;
  align-items: center !important;
  justify-content: center !important;
  background-position: center center !important;
  background-size: contain !important;
}

/* A faixa secundária atravessava o título “Para quem é LUNÉRA 30”. */
.audience .audience-ribbon.ribbon-b {
  display: none !important;
}

/* O selo “Você sabia?” precisa respirar acima do card, sem ser recortado. */
.science,
.science-card {
  overflow: visible !important;
}

/* Card “O que a precisão entrega”: imagem cobrindo o fundo até a base. */
.results .product-stage {
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: cover !important;
}

@media (max-width: 767px) {
  /* O wordmark volta a ocupar o eixo central do hero antes do título. */
  .hero-copy .wordmark {
    display: block !important;
    margin: 0 auto 8px !important;
  }

  /* Os cards de público usam o azul da identidade, sem fundos rosados. */
  .audience-grid article,
  .audience-grid article:nth-child(even),
  .audience-grid article:hover {
    background: #4b6487 !important;
    border-color: #24364f !important;
  }

  .collage > .photo-slot {
    background: #e9eef5 !important;
  }

  /* Reforça o preenchimento visual do card “LUNÉRA é sobre precisão”. */
  .about-card .photo-slot > img {
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.08) !important;
    transform-origin: center center !important;
  }
}

/* Final responsive contract. This block deliberately stays last so the
   published package has one authoritative geometry per viewport. */
@media (min-width: 768px) {
  .kits .carousel-track {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: clamp(18px, 2vw, 30px) !important;
    width: 100% !important;
    transform: none !important;
  }

  .kits .kit-card,
  .kits .kit-card:nth-child(n) {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 650px !important;
    padding-inline: clamp(18px, 2vw, 30px) !important;
    overflow: hidden !important;
  }

  .kits .kit-card .jars,
  .kits .kit-card:nth-child(n) .jars {
    width: 100% !important;
    height: clamp(205px, 17vw, 250px) !important;
    min-height: 205px !important;
    flex: 0 0 auto !important;
    margin: 0 0 12px !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    transform: none !important;
  }

  .kits .kit-card:nth-child(1) .jars {
    background-size: 108% auto !important;
  }

  .kits .kit-card:nth-child(3) .jars {
    background-size: 96% auto !important;
  }

  .kit-card h3,
  .kit-card .kit-details,
  .kit-card .kit-price,
  .kit-card mark,
  .kit-card .cta,
  .kit-card .kit-benefits,
  .kit-card .kit-cycle-note {
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  .kit-card .kit-price {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 4px 8px !important;
  }

  .results .product-stage {
    width: 100% !important;
    background-position: center bottom !important;
    background-size: cover !important;
  }
}

@media (max-width: 767px) {
  .hero-copy .wordmark {
    position: relative !important;
    display: block !important;
    width: 180px !important;
    height: 112px !important;
    margin: 0 auto 12px !important;
    overflow: hidden !important;
  }

  .hero-copy .wordmark img {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 393px !important;
    max-width: none !important;
    height: 262px !important;
    transform: translate(-50%, -55px) !important;
  }

  .results .product-stage {
    width: 100% !important;
    min-height: clamp(460px, 124vw, 540px) !important;
    height: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 20px !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    background-position: center bottom !important;
    background-size: cover !important;
  }

  .kits .kit-carousel,
  .kits .carousel-track,
  .kits .kit-card,
  .kits .kit-card:nth-child(n) {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .kits .kit-card,
  .kits .kit-card:nth-child(n) {
    width: 100% !important;
    height: auto !important;
    padding: 0 18px 22px !important;
    overflow: hidden !important;
  }

  .kits .kit-card .jars,
  .kits .kit-card:nth-child(n) .jars {
    width: 100% !important;
    height: 220px !important;
    min-height: 220px !important;
    margin: 0 auto 10px !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    transform: none !important;
  }

  .kits .kit-card:nth-child(1) .jars {
    background-size: min(108%, 330px) auto !important;
  }

  .kits .kit-card:nth-child(3) .jars {
    background-size: min(96%, 292px) auto !important;
  }

  .kit-card h3,
  .kit-card .kit-details,
  .kit-card mark,
  .kit-card .cta,
  .kit-card .kit-benefits,
  .kit-card .kit-cycle-note {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  .kit-card h3 b,
  .kit-card mark {
    width: min(100%, 310px) !important;
  }

  .kit-card .kit-price {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 3px 6px !important;
    white-space: normal !important;
  }

  .kit-card .kit-price strong {
    font-size: clamp(27px, 8vw, 32px) !important;
  }

  .subscription-banner > div:first-child {
    margin-top: 16px !important;
  }

  .subscription-banner > div:first-child > img {
    object-position: center bottom !important;
  }
}

.science,
.science-card {
  overflow: visible !important;
}

@media (min-width: 768px) {
  .results .product-stage {
    background-position: center bottom !important;
    background-size: cover !important;
  }

  .results .product-stage::after {
    top: auto !important;
    bottom: 0 !important;
    height: 52% !important;
    background: linear-gradient(
      180deg,
      rgba(36, 54, 79, 0) 0%,
      rgba(36, 54, 79, .12) 42%,
      rgba(36, 54, 79, .48) 100%
    ) !important;
  }
}

@media (min-width: 1024px) and (max-width: 1600px) and (max-height: 950px) {
  /* Diferenciação estrutural e cadência visual entre Apresentação (.intro) e Ritual (.ritual) */
  .intro {
    padding-top: 60px !important;
    padding-bottom: 48px !important;
  }

  .intro .split-card {
    margin-bottom: 24px !important;
  }

  .ritual {
    width: 100% !important;
    margin: 48px 0 0 !important;
    padding: 0 0 72px !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
  }

  .ritual-photo {
    display: none !important;
  }

  .kit-card:nth-child(1) .jars {
    transform: translateY(25px) scale(1.28) !important;
  }

  .kit-card:nth-child(3) .jars {
    transform: translateY(-5px) scale(1.25) !important;
  }
}

@media (max-width: 767px) {
  .collage > .photo-slot {
    position: relative;
    overflow: hidden !important;
  }

  .collage > .photo-slot > img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }

  .results .product-stage {
    background-position: center bottom !important;
    background-size: cover !important;
  }

  .results .product-stage::after {
    top: auto !important;
    bottom: 0 !important;
    height: 52% !important;
    background: linear-gradient(
      180deg,
      rgba(36, 54, 79, 0) 0%,
      rgba(36, 54, 79, .1) 44%,
      rgba(36, 54, 79, .46) 100%
    ) !important;
  }

  .about-card .photo-slot {
    position: relative;
    overflow: hidden !important;
  }

  .about-card .photo-slot > img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
  }
}

