.launch-maracuja {
  --launch-reward-shift: 14px;
  --launch-stories-shift: 126px;
  height: calc(2615px + var(--launch-reward-shift) + var(--launch-stories-shift));
}

.official-pdp .official-flavor-bar {
  background: linear-gradient(90deg, #fde376 0%, #fdedc9 52%, #fbb50c 100%);
}

.official-pdp .new-flavor-label,
.official-pdp .official-flavor-heading > span:last-child {
  color: var(--green-2);
}

.official-pdp .official-flavor-heading {
  width: 176px;
}

.official-pdp .official-flavor-heading > span:last-child {
  left: 55px;
}

.official-pdp .maracuja-lockup {
  left: 0;
  top: -3px;
  display: block;
  width: 44px;
  height: 38px;
  overflow: hidden;
}

.official-pdp .maracuja-lockup img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.official-pdp .available-cta {
  color: var(--green-2);
  display: none;
}

.official-pdp .official-flavor-bar,
.official-pdp .official-flavor-bar > * {
  animation: none;
}

.launch-maracuja .page-bg {
  height: 100%;
}

.launch-maracuja .promo-gifts {
  position: absolute;
  left: 782px;
  top: 802px;
  z-index: 2;
  width: 472px;
  color: var(--green-2);
  animation: promo-gifts-rise 620ms 1040ms var(--ease-out) both;
}

.launch-maracuja .promo-gifts-heading {
  display: grid;
  grid-template-columns: minmax(12px, 1fr) max-content minmax(12px, 1fr);
  align-items: center;
  gap: 13px;
  width: 100%;
  color: var(--green-2);
}

.launch-maracuja .promo-gifts-heading span {
  display: block;
  height: 1px;
  background: rgb(32 82 46 / 72%);
}

.launch-maracuja .promo-gifts-heading strong {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.launch-maracuja .promo-gifts-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 14px;
}

.launch-maracuja .promo-gift-card {
  position: relative;
  min-width: 0;
  height: 172px;
  border-radius: 15px;
  background: var(--green-2);
  overflow: hidden;
  transition:
    transform 260ms var(--ease-out),
    box-shadow 260ms var(--ease-out);
}

.launch-maracuja .promo-gift-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgb(36 88 53 / 12%);
}

.launch-maracuja .promo-gift-card.just-unlocked {
  animation: promo-gift-pop 420ms var(--ease-snap) both;
}

.launch-maracuja .promo-gift-tag {
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 27px;
  color: #fff;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.launch-maracuja .promo-gift-tag strong {
  color: #d4f77a;
  font-weight: 700;
}

.launch-maracuja .promo-gift-tag del {
  color: #fff;
  text-decoration: line-through;
}

.launch-maracuja .promo-gift-tag-plain strong {
  color: #d4f77a;
}

.launch-maracuja .promo-gift-main {
  position: absolute;
  inset: 26px 0 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  gap: 11px;
  padding: 14px 8px 17px;
  border: 1px solid var(--green-2);
  border-radius: 15px;
  background: #f7ffe5;
  overflow: hidden;
}

.launch-maracuja .promo-gift-card-discount .promo-gift-main {
  background: linear-gradient(139deg, #e8f8c4 5%, #c3e962 95%);
}

.launch-maracuja .promo-gift-img {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transition:
    transform 300ms var(--ease-out),
    filter 260ms ease;
}

.launch-maracuja .promo-gift-card:hover .promo-gift-img {
  transform: translateY(-2px) scale(1.025);
}

.launch-maracuja .promo-gift-img-sachets {
  height: 86px;
}

.launch-maracuja .promo-gift-img-box {
  width: 92px;
  height: auto;
  max-height: 74px;
}

.launch-maracuja .promo-gift-img-discount {
  width: 132px;
  height: auto;
  max-height: 76px;
  transform: translateY(-7px);
}

.launch-maracuja .promo-gift-card:hover .promo-gift-img-discount {
  transform: translateY(-9px) scale(1.025);
}

.launch-maracuja .promo-gift-title {
  display: block;
  width: 100%;
  color: var(--green);
  font-size: 14.5px;
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

.launch-maracuja .promo-gift-lock {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 7px;
  padding: 12px 11px;
  background: rgb(255 255 255 / 78%);
  color: var(--green-2);
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transform: translateY(5px);
  transition:
    opacity 220ms ease,
    transform 260ms var(--ease-out);
}

.launch-maracuja .promo-gift-lock svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.launch-maracuja .promo-gift-lock span {
  max-width: 108px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.12;
}

.launch-maracuja .promo-gift-card.is-locked .promo-gift-lock {
  opacity: 1;
  transform: translateY(0);
}

.launch-maracuja .promo-gift-card.is-locked .promo-gift-img {
  filter: saturate(0.82);
}

.launch-maracuja .launch-stories-widget {
  position: absolute;
  left: 786px;
  top: 1216px;
  z-index: 2;
  width: 461px;
  min-height: 104px;
  animation: promo-gifts-rise 620ms 1320ms var(--ease-out) both;
}

.launch-maracuja .faq-title,
.launch-maracuja .faq-row {
  line-height: 1;
}

.launch-maracuja .faq-title span,
.launch-maracuja .faq-row span {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  transform: translateY(-1px);
}

.launch-maracuja .launch-stories-widget script {
  display: none;
}

.launch-maracuja .launch-stories-widget blessy-stories {
  display: block;
  width: 100%;
}

@keyframes promo-gifts-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes promo-gift-pop {
  0% {
    transform: scale(0.985);
  }

  58% {
    transform: scale(1.025);
  }

  100% {
    transform: scale(1);
  }
}

@media (min-width: 1080px) {
  .official-pdp {
    --launch-reward-shift: 0px;
    --launch-stories-shift: 0px;
    height: 2440px;
  }

  .official-pdp .official-flavor-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    height: 70px;
    padding: 0 max(88px, calc((100vw - 1200px) / 2));
    column-gap: 24px;
  }

  .official-pdp .new-flavor-label,
  .official-pdp .official-flavor-heading,
  .official-pdp .available-cta {
    position: static;
    inset: auto;
    transform: none;
  }

  .official-pdp .new-flavor-label {
    justify-self: start;
    font-size: 22px;
    line-height: 1.2;
  }

  .official-pdp .official-flavor-heading {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    width: auto;
    height: auto;
  }

  .official-pdp .official-flavor-heading > span:last-child {
    font-size: 27px;
    line-height: 1.1;
  }

  .official-pdp .official-flavor-heading > span:last-child,
  .official-pdp .maracuja-lockup {
    position: static;
  }

  .official-pdp .maracuja-lockup {
    flex: 0 0 auto;
    width: 54px;
    height: 46px;
  }

  .official-pdp .available-cta {
    display: none;
  }

  .official-pdp .hero-card {
    top: 165px;
  }

  .official-pdp .nutrition-link {
    top: 680px;
  }

  .official-pdp .intro-copy {
    top: 165px;
  }

  .official-pdp .progress-card {
    top: 372px;
  }

  .official-pdp .quantity-title {
    top: 482px;
  }

  .official-pdp .quantity-selector {
    top: 517px;
  }

  .official-pdp .order-line {
    top: 801px;
  }

  .official-pdp .main-cta {
    top: 848px;
  }

  .official-pdp .guarantee-box {
    top: 960px;
  }

  .official-pdp .launch-stories-widget {
    top: 1119px;
  }

  .official-pdp .faq {
    top: 1245px;
    padding-bottom: 42px;
  }

  .launch-maracuja .intro-copy {
    top: 120px;
  }

  .launch-maracuja .hero-card,
  .launch-maracuja .nutrition-link {
    translate: 0 0;
  }

  .launch-maracuja .discount-callout {
    top: 341px;
  }

  .launch-maracuja .progress-card {
    top: 391px;
  }

  .launch-maracuja .quantity-title {
    top: 396px;
  }

  .launch-maracuja .quantity-selector {
    top: 431px;
  }

  .launch-maracuja .promo-gifts {
    top: 702px;
  }

  .launch-maracuja .launch-stories-widget {
    top: 1216px;
  }

  .launch-maracuja .faq {
    top: 1336px;
  }

  .launch-maracuja .order-line,
  .launch-maracuja .main-cta,
  .launch-maracuja .guarantee-box,
  .launch-maracuja .launch-stories-widget,
  .launch-maracuja .faq {
    translate: 0 var(--launch-reward-shift);
  }
}

@media (min-width: 1450px) {
  .official-pdp .official-flavor-bar {
    left: calc((1450px - 100vw) / 2);
    width: 100vw;
  }
}

@media (min-width: 1080px) and (max-width: 1449px) {
  .launch-maracuja .promo-gifts {
    left: var(--right-x);
    width: var(--right-w);
  }

  .launch-maracuja .launch-stories-widget {
    left: calc(var(--right-x) + 2px);
    width: calc(var(--right-w) - 11px);
  }
}

@media (max-width: 1079px) {
  .launch-maracuja {
    height: auto;
  }

  .launch-maracuja .promo-gifts {
    position: relative;
    left: auto;
    top: auto;
    order: 11;
    flex: 0 0 auto;
    width: var(--commerce-w);
    margin-top: 19px;
  }

  .launch-maracuja .order-line {
    order: 12;
  }

  .launch-maracuja .main-cta {
    order: 13;
  }

  .launch-maracuja .guarantee-box {
    order: 14;
  }

  .launch-maracuja .launch-stories-widget {
    position: relative;
    left: auto;
    top: auto;
    order: 15;
    width: var(--commerce-w);
    min-height: 116px;
    margin-top: 22px;
  }

  .launch-maracuja .faq {
    order: 16;
    margin-top: 24px;
  }

  .official-pdp .official-flavor-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 20px;
    width: 100%;
    padding: 0 32px;
  }

  .official-pdp .new-flavor-label,
  .official-pdp .official-flavor-heading,
  .official-pdp .available-cta {
    position: static;
    inset: auto;
    transform: none;
  }

  .official-pdp .new-flavor-label {
    justify-self: start;
    font-size: 17px;
    line-height: 1.15;
  }

  .official-pdp .official-flavor-heading {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: auto;
    height: auto;
  }

  .official-pdp .official-flavor-heading > span:last-child {
    font-size: 20px;
    line-height: 1.1;
  }

  .official-pdp .official-flavor-heading > span:last-child,
  .official-pdp .maracuja-lockup {
    position: static;
  }

  .official-pdp .maracuja-lockup {
    flex: 0 0 auto;
    width: 42px;
    height: 36px;
  }

  .official-pdp .available-cta {
    display: none;
  }

  .official-pdp .order-line {
    order: 10;
  }

  .official-pdp .main-cta {
    order: 11;
  }

  .official-pdp .guarantee-box {
    order: 12;
  }

  .official-pdp .launch-stories-widget {
    order: 13;
  }

  .official-pdp .faq {
    order: 14;
    padding-bottom: 32px;
  }
}

@media (max-width: 767px) {
  .launch-maracuja {
    min-height: 0;
  }

  .launch-maracuja .quantity-selector {
    min-height: 253px;
  }

  .launch-maracuja .top-header {
    border-color: var(--green-2);
    background: var(--green-2);
  }

  .launch-maracuja .brand-logo {
    filter: brightness(0) invert(1);
  }

  .launch-maracuja .brand-registered {
    color: #fff;
  }

  .launch-maracuja .promo-gifts {
    order: 10;
    width: var(--content-w);
    margin-top: 17px;
    animation: promo-gifts-rise 560ms 650ms var(--ease-out) both;
  }

  .launch-maracuja .order-line {
    order: 11;
  }

  .launch-maracuja .main-cta {
    order: 12;
    min-height: 73px;
  }

  .launch-maracuja .guarantee-box {
    order: 13;
  }

  .launch-maracuja .launch-stories-widget {
    order: 14;
    width: var(--content-w);
    min-height: 116px;
    margin-top: 17px;
    animation: promo-gifts-rise 560ms 900ms var(--ease-out) both;
  }

  .launch-maracuja .faq {
    order: 15;
    margin-top: 16px;
  }

  .official-pdp .official-flavor-bar {
    height: 46px;
    grid-template-columns: minmax(0, 1fr) auto;
    justify-content: stretch;
    padding: 0 20px;
    column-gap: 12px;
  }

  .official-pdp .new-flavor-label {
    justify-self: start;
    font-size: 13.5px;
    line-height: 1;
  }

  .official-pdp .official-flavor-heading {
    justify-self: end;
    gap: 8px;
  }

  .official-pdp .official-flavor-heading > span:last-child {
    font-size: 16px;
    line-height: 1;
  }

  .official-pdp .maracuja-lockup {
    width: 32px;
    height: 28px;
    transform: none;
  }

  .official-pdp .available-cta {
    display: none;
  }

  .official-pdp .mobile-bundle-progress {
    width: var(--content-w);
    max-width: none;
    margin-top: 24px;
  }

  .official-pdp .mobile-combo-track,
  .official-pdp .mobile-shipping-row {
    grid-template-columns:
      minmax(76px, max-content)
      minmax(16px, 1fr)
      minmax(76px, max-content)
      minmax(16px, 1fr)
      minmax(76px, max-content);
  }

  .official-pdp .mobile-upgrade-pill {
    display: none;
  }

  .official-pdp .order-line {
    order: 10;
  }

  .official-pdp .main-cta {
    order: 11;
  }

  .official-pdp .guarantee-box {
    order: 12;
  }

  .official-pdp .launch-stories-widget {
    order: 13;
  }

  .official-pdp .faq {
    order: 14;
    padding-bottom: 28px;
  }

  .launch-maracuja .promo-gifts-heading {
    grid-template-columns: minmax(8px, 1fr) max-content minmax(8px, 1fr);
    gap: 7px;
  }

  .launch-maracuja .promo-gifts-heading strong {
    font-size: 16px;
  }

  .launch-maracuja .promo-gifts-grid {
    gap: 4px;
    margin-top: 12px;
  }

  .launch-maracuja .promo-gift-card {
    height: 140px;
    border-radius: 10px;
  }

  .launch-maracuja .promo-gift-tag {
    height: 21px;
    gap: 2px;
    font-size: 8.8px;
    letter-spacing: 0;
  }

  .launch-maracuja .promo-gift-main {
    inset: 20px 0 0;
    gap: 7px;
    padding: 11px 4px 12px;
    border-radius: 10px;
  }

  .launch-maracuja .promo-gift-img-sachets {
    height: 68px;
  }

  .launch-maracuja .promo-gift-img-box {
    width: 70px;
    height: auto;
    max-height: 58px;
  }

  .launch-maracuja .promo-gift-img-discount {
    width: 96px;
    height: auto;
    max-height: 56px;
    transform: translateY(-5px);
  }

  .launch-maracuja .promo-gift-card:hover .promo-gift-img-discount {
    transform: translateY(-6px) scale(1.025);
  }

  .launch-maracuja .promo-gift-title {
    font-size: 12.6px;
  }

  .launch-maracuja .promo-gift-lock {
    gap: 5px;
    padding: 8px 5px;
  }

  .launch-maracuja .promo-gift-lock svg {
    width: 18px;
    height: 18px;
  }

  .launch-maracuja .promo-gift-lock span {
    max-width: 82px;
    font-size: 8.5px;
    line-height: 1.1;
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .figma-frame.launch-maracuja.official-pdp .progress-card {
    margin-top: 36px;
  }
}

@media (min-width: 1080px) {
  .launch-maracuja.official-pdp {
    --launch-reward-shift: 0px;
    --launch-stories-shift: 0px;
    height: 2440px;
  }

  .launch-maracuja.official-pdp .hero-card {
    top: 165px;
  }

  .launch-maracuja.official-pdp .intro-copy {
    top: 165px;
  }

  .launch-maracuja.official-pdp .progress-card {
    top: 372px;
  }

  .launch-maracuja.official-pdp .quantity-title {
    top: 482px;
  }

  .launch-maracuja.official-pdp .quantity-selector {
    top: 517px;
  }

  .launch-maracuja.official-pdp .order-line {
    top: 801px;
    translate: 0 0;
  }

  .launch-maracuja.official-pdp .main-cta {
    top: 848px;
    translate: 0 0;
  }

  .launch-maracuja.official-pdp .guarantee-box {
    top: 960px;
    translate: 0 0;
  }

  .launch-maracuja.official-pdp .launch-stories-widget {
    top: 1119px;
    translate: 0 0;
  }

  .launch-maracuja.official-pdp .faq {
    top: 1245px;
    padding-bottom: 42px;
    translate: 0 0;
  }
}

@media (min-width: 1080px) {
  .figma-frame.launch-maracuja.official-pdp .progress-card {
    top: 372px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .quantity-title {
    top: 482px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .quantity-selector {
    top: 517px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .order-line {
    top: 801px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .main-cta {
    top: 848px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .guarantee-box {
    top: 960px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .launch-stories-widget {
    top: 1119px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .faq {
    top: 1245px !important;
  }
}


/* FAQ da hero: o margin-top do .faq-row (CSS compartilhado) empurrava o texto
   pra baixo do centro nos cards fechados — zera só nesta página. */
main .faq .faq-item .faq-row {
  margin-top: 0;
}

/* ==========================================================================
   Presente da Renata — cards tap-to-reveal (Figma 4047:101 / 3955:781 / 4047:103)
   ========================================================================== */

.launch-maracuja .gift-reveal {
  z-index: 2;
  color: #20522e;
  font-family: var(--font-display);
}

.gift-reveal-title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 0 0 15px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.205;
  text-align: center;
}

.gift-reveal-cards {
  display: flex;
  gap: 5px;
}

.gift-card-flip {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  height: 143px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-family: inherit;
  cursor: pointer;
  perspective: 620px;
  -webkit-tap-highlight-color: transparent;
}

.gift-flip-inner {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  transition: transform 640ms cubic-bezier(0.2, 0.7, 0.25, 1);
}

.gift-card-flip.is-revealed .gift-flip-inner {
  transform: rotateY(180deg);
}

.gift-face {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  border-radius: 5px;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.gift-front {
  justify-content: center;
  gap: 12px;
  padding-bottom: 10px;
  background: linear-gradient(180deg, #ffebca 0%, #eeffc9 100%);
}

.gift-back {
  gap: 12px;
  background: #fff7e9;
  transform: rotateY(180deg);
}

/* Presentinho animado — pulinho com squash & stretch: agacha, pula com a
   tampinha chacoalhando (levemente atrasada em relação ao corpo), aterrissa
   amassando e assenta; a sombra fica no chão e reage ao pulo. Ciclo de 3.6s
   com pausa longa entre pulos. */
.gift-box {
  position: relative;
  width: 48px;
  height: 53px;
}

.gift-box img {
  position: absolute;
  display: block;
}

.gift-box-sombra {
  left: 0.91%;
  top: 95.09%;
  width: 99.09%;
  height: 4.91%;
  transform-origin: 50% 100%;
  animation: gift-shadow 3.6s ease-in-out infinite;
}

.gift-box-corpo {
  left: 4.87%;
  top: 47.79%;
  width: 78.88%;
  height: 49.75%;
  transform-origin: 50% 100%;
  animation: gift-hop 3.6s ease-in-out infinite;
}

.gift-box-tampa {
  left: 0;
  top: 2.68%;
  width: 88.62%;
  height: 37.7%;
  transform-origin: 50% 100%;
  animation: gift-lid-shake 3.6s ease-in-out infinite;
}

/* Card fechado dá uma tremidinha sutil junto com o pulo, convidando o tap */
.gift-card-flip {
  animation: gift-card-nudge 3.6s ease-in-out infinite;
}

.gift-card-flip.is-revealed {
  animation: none;
}

.gift-card-flip:nth-child(2),
.gift-card-flip:nth-child(2) .gift-box-corpo,
.gift-card-flip:nth-child(2) .gift-box-tampa,
.gift-card-flip:nth-child(2) .gift-box-sombra {
  animation-delay: 0.45s;
}

.gift-card-flip:nth-child(3),
.gift-card-flip:nth-child(3) .gift-box-corpo,
.gift-card-flip:nth-child(3) .gift-box-tampa,
.gift-card-flip:nth-child(3) .gift-box-sombra {
  animation-delay: 0.9s;
}

@keyframes gift-hop {
  0%,
  55%,
  90%,
  100% {
    transform: translateY(0) scale(1, 1) rotate(0deg);
  }

  /* agacha (antecipação) */
  60% {
    transform: translateY(0.5px) scale(1.05, 0.93) rotate(0deg);
  }

  /* pula esticando */
  66% {
    transform: translateY(-4.5px) scale(0.98, 1.04) rotate(-2deg);
  }

  /* balança no ar */
  72% {
    transform: translateY(-3.5px) scale(1, 1) rotate(2deg);
  }

  /* aterrissa amassando */
  78% {
    transform: translateY(0.5px) scale(1.06, 0.92) rotate(0deg);
  }

  /* assenta */
  84% {
    transform: translateY(0) scale(0.99, 1.02) rotate(-1deg);
  }
}

@keyframes gift-lid-shake {
  0%,
  55%,
  92%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  /* afunda no agacho */
  61% {
    transform: translateY(1px) rotate(0deg);
  }

  /* sobe um tiquinho depois do corpo, abrindo */
  67% {
    transform: translateY(-6.5px) rotate(-5deg);
  }

  /* chacoalha no ar */
  73% {
    transform: translateY(-4.5px) rotate(4.5deg);
  }

  /* fecha batendo */
  79% {
    transform: translateY(0.5px) rotate(-2.5deg);
  }

  /* quica e assenta */
  85% {
    transform: translateY(0) rotate(1deg);
  }
}

@keyframes gift-shadow {
  0%,
  55%,
  90%,
  100% {
    transform: scaleX(1);
    opacity: 1;
  }

  60% {
    transform: scaleX(1.1);
  }

  66% {
    transform: scaleX(0.75);
    opacity: 0.55;
  }

  72% {
    transform: scaleX(0.8);
    opacity: 0.6;
  }

  78% {
    transform: scaleX(1.12);
    opacity: 1;
  }
}

@keyframes gift-card-nudge {
  0%,
  58%,
  86%,
  100% {
    transform: rotate(0deg);
  }

  64% {
    transform: rotate(-0.6deg);
  }

  70% {
    transform: rotate(0.5deg);
  }

  76% {
    transform: rotate(-0.35deg);
  }

  81% {
    transform: rotate(0.15deg);
  }
}

.gift-tap {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.205;
  text-align: center;
}

.gift-ribbon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 100%;
  height: 25px;
  background: #ffd38c;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.205;
}

.gift-art-zone {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 56px;
  margin-top: 1px;
}

.gift-art {
  display: block;
}

.gift-art-mini {
  width: 61px;
  height: 54px;
  object-fit: contain;
}

.gift-art-frete {
  width: 82px;
  height: 42px;
  object-fit: contain;
}

.gift-art-cadeado {
  width: 36px;
  height: 50px;
  object-fit: contain;
}

.gift-art-selo {
  width: 74px;
  height: 55px;
}

.gift-selo3 {
  position: relative;
  width: 76px;
  height: 56px;
}

.gift-selo3 img {
  position: absolute;
  display: block;
}

.gift-selo3-base {
  inset: 0;
  width: 100%;
  height: 100%;
}

.gift-selo3-texto {
  left: 22.6px;
  top: 20.5px;
  width: 40.3px;
  height: 13.1px;
}

.gift-value {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.205;
  text-align: center;
}

.gift-value b {
  display: block;
  font-weight: 700;
}

.gift-value del {
  display: block;
  font-weight: 500;
  text-decoration: line-through;
}

.gift-value-lock span {
  display: block;
}

.gift-value-lock b {
  display: inline;
}

/* Estados por quantidade selecionada */
.gift-reveal .gq1,
.gift-reveal .gq2,
.gift-reveal .gq3,
.gift-reveal .gq23 {
  display: none;
}

.gift-reveal[data-gift-qty="1"] .gq1,
.gift-reveal[data-gift-qty="2"] .gq2,
.gift-reveal[data-gift-qty="3"] .gq3,
.gift-reveal[data-gift-qty="2"] .gq23,
.gift-reveal[data-gift-qty="3"] .gq23 {
  display: block;
}

.gift-reveal[data-gift-qty="1"] .gift-back-desconto,
.gift-reveal[data-gift-qty="1"] .gift-back-frete {
  background: #eee;
}

/* "MINI POTE GRÁTIS" quebra em 2 linhas — aperta o card pra caber nos 143px */
.gift-card-flip[data-gift="presente"] .gift-back {
  gap: 8px;
}

.gift-card-flip[data-gift="presente"] .gift-art-zone {
  margin-top: 0;
}

/* Pop no valor quando o desconto muda */
.gift-value-pop {
  animation: gift-value-pop 460ms var(--ease-snap) both;
}

@keyframes gift-value-pop {
  0% {
    transform: scale(0.9);
  }

  55% {
    transform: scale(1.22);
  }

  100% {
    transform: scale(1);
  }
}

/* Confete (JS cria as partículas e posiciona sobre o card de desconto) */
.gift-confetti {
  position: absolute;
  z-index: 5;
  display: block;
  overflow: visible;
  pointer-events: none;
}

.gift-confetti i {
  position: absolute;
  left: 50%;
  top: 40%;
  display: block;
  opacity: 1;
  transition:
    transform 860ms cubic-bezier(0.16, 0.6, 0.4, 1),
    opacity 820ms ease-in;
}

/* Posicionamento: desktop (canvas absoluto) — empurra o restante da coluna */
@media (min-width: 1080px) {
  .figma-frame.launch-maracuja.official-pdp {
    height: 2656px;
  }

  .figma-frame.launch-maracuja.official-pdp .gift-reveal {
    position: absolute;
    left: 782px;
    top: 788px;
    width: 472px;
    animation: promo-gifts-rise 620ms 1040ms var(--ease-out) both;
  }

  .figma-frame.launch-maracuja.official-pdp .order-line {
    top: 1017px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .main-cta {
    top: 1064px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .guarantee-box {
    top: 1176px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .launch-stories-widget {
    top: 1335px !important;
  }

  .figma-frame.launch-maracuja.official-pdp .faq {
    top: 1461px !important;
  }
}

@media (min-width: 1080px) and (max-width: 1449px) {
  .figma-frame.launch-maracuja.official-pdp .gift-reveal {
    left: var(--right-x);
    width: var(--right-w);
  }
}

/* Posicionamento: mobile/tablet (reflow flex por order) */
@media (max-width: 1079px) {
  .launch-maracuja .gift-reveal {
    position: relative;
    order: 10;
    flex: 0 0 auto;
    width: var(--commerce-w);
    margin-top: 22px;
    animation: promo-gifts-rise 560ms 650ms var(--ease-out) both;
  }
}

@media (max-width: 767px) {
  .launch-maracuja .gift-reveal {
    width: var(--content-w);
    margin-top: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gift-box-corpo,
  .gift-box-tampa,
  .gift-box-sombra,
  .gift-card-flip {
    animation: none;
  }

  .gift-flip-inner {
    transition: none;
  }

  .gift-confetti {
    display: none;
  }
}
