/* Decorative product-card stickers shared by web and kiosk. Visual layer only. */
.home-kiosk-card[data-nudo-sticker],
.kiosk-product-card[data-nudo-sticker] {
  isolation: isolate;
  overflow: visible;
}

.nudo-card-sticker,
.nudo-card-sticker * {
  box-sizing: border-box;
  pointer-events: none !important;
  user-select: none;
}

.nudo-card-sticker {
  position: absolute;
  inset: 0;
  /* Above the special gold/blue card frames (their ::after layer is 12). */
  z-index: 14;
  overflow: visible;
  border-radius: inherit;
  contain: layout;
}

/* The Naxos flag remains the uppermost sticker layer. */
.home-kiosk-card[data-home-kiosk-entry="cafe-naxos"] .home-kiosk-card__top,
.kiosk-product-card[data-entry-id="cafe-naxos"] .kiosk-product-card__top {
  z-index: 15;
}

/* Replace the previous shooting stars and Júpiter star without touching card logic. */
.home-kiosk-card:is([data-home-kiosk-entry="cafe-tramonto"], [data-home-kiosk-entry="cafe-giove"]) .home-kiosk-card__gold-sparkles,
.kiosk-product-card:is([data-entry-id="cafe-tramonto"], [data-entry-id="cafe-giove"]) .kiosk-product-card__gold-sparkles,
.home-kiosk-card[data-home-kiosk-entry="cafe-giove"] .home-kiosk-card__jupiter-star,
.kiosk-product-card[data-entry-id="cafe-giove"] .kiosk-product-card__jupiter-star {
  display: none !important;
}

/* The sticker replaces the small category pill on these signature cards. */
.home-kiosk-card:is(
  [data-home-kiosk-entry="cacao-angelito"],
  [data-home-kiosk-entry="cafe-giove"],
  [data-home-kiosk-entry="cafe-tramonto"],
  [data-home-kiosk-entry="cacao-matcha-anima"],
  [data-home-kiosk-entry="cacao-matcha-stella"],
  [data-home-kiosk-entry="cacao-matcha-matcha2"],
  [data-home-kiosk-entry="cacao-matcha-siena"],
  [data-home-kiosk-entry="cacao-morenito"],
  [data-home-kiosk-entry="cafe-naxos"],
  [data-home-kiosk-entry="roma-diavola"]
) .home-kiosk-card__top > span,
.kiosk-product-card:is(
  [data-entry-id="cacao-angelito"],
  [data-entry-id="cafe-giove"],
  [data-entry-id="cafe-tramonto"],
  [data-entry-id="cacao-matcha-anima"],
  [data-entry-id="cacao-matcha-stella"],
  [data-entry-id="cacao-matcha-matcha2"],
  [data-entry-id="cacao-matcha-siena"],
  [data-entry-id="cacao-morenito"],
  [data-entry-id="cafe-naxos"],
  [data-entry-id="roma-diavola"]
) .kiosk-product-card__category {
  opacity: 0 !important;
}

/* Stella: la ilustración original apunta hacia arriba. Un giro único de
   -135° orienta el pico largo hacia abajo a la izquierda, sin otro loop CSS. */
.nudo-sticker-stella-wrap {
  position: absolute;
  top: -9%;
  left: -7%;
  z-index: 4;
  width: min(44%, 8.3rem);
  aspect-ratio: 1;
  transform: rotate(-135deg);
  transform-origin: 50% 50%;
  filter: drop-shadow(0 0.45rem 0.55rem rgba(117, 80, 17, 0.2));
}

.nudo-sticker-stella {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.kiosk-product-card .nudo-sticker-stella-wrap {
  top: -10%;
  left: -8%;
  width: min(48%, 10.9rem);
}

@media (prefers-reduced-motion: reduce) {
  .nudo-sticker-stella-wrap {
    transition: none !important;
    animation: none !important;
  }
}

/* Angelito */
.nudo-sticker-angel {
  position: absolute;
  top: -6%;
  left: -1%;
  width: min(36.55%, 7.14rem);
  aspect-ratio: 1;
  z-index: 3;
}

.nudo-sticker-angel__wing,
.nudo-sticker-angel__body {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nudo-sticker-angel__wing {
  z-index: 1;
  filter: drop-shadow(0 0.35rem 0.45rem rgba(96, 62, 41, 0.14));
  will-change: transform;
}

.nudo-sticker-angel__wing--left {
  clip-path: inset(0 50% 0 0);
  transform-origin: 48% 55%;
  animation: nudoWingLeft 5.8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.nudo-sticker-angel__wing--right {
  clip-path: inset(0 0 0 50%);
  transform-origin: 52% 55%;
  animation: nudoWingRight 5.8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.nudo-sticker-angel__body {
  z-index: 2;
  transform: translateY(5%) scale(0.94);
  filter: drop-shadow(0 0.55rem 0.55rem rgba(76, 40, 25, 0.13));
  animation: nudoAngelBreathe 5.8s ease-in-out infinite;
}

.nudo-sticker-feathers { position: absolute; inset: 0; z-index: 5; }

.nudo-sticker-feather {
  position: absolute;
  top: var(--feather-y, 34%);
  left: var(--feather-x, 20%);
  width: var(--feather-size, 12px);
  aspect-ratio: 12 / 17;
  opacity: 0;
  background: url("/assets/stickers/preview/nudo-feather.webp?v=2") center / contain no-repeat;
  filter: drop-shadow(0 0.14rem 0.14rem rgba(67, 48, 38, 0.17));
  transform-origin: 50% 12%;
  will-change: transform, opacity;
  animation: nudoFeatherFall var(--feather-duration, 5.4s) cubic-bezier(0.24, 0.67, 0.31, 1) forwards;
}

.nudo-sticker-feather.is-settled {
  top: auto;
  opacity: 0.78;
  animation: none;
  will-change: auto;
}

/* Júpiter */
.nudo-sticker-jupiter {
  position: absolute;
  top: -2%;
  left: 3%;
  width: min(29%, 5.5rem);
  aspect-ratio: 1;
  z-index: 3;
  animation: nudoJupiterFloat 7s ease-in-out infinite;
}

.nudo-sticker-jupiter__sphere {
  position: absolute;
  inset: 3%;
  overflow: hidden;
  border-radius: 50%;
  background: #c78150;
  box-shadow:
    inset -0.72rem -0.28rem 0.9rem rgba(40, 17, 33, 0.42),
    0 0.55rem 0.7rem rgba(75, 39, 21, 0.22),
    0 0 0.45rem rgba(255, 213, 144, 0.3);
  contain: paint;
  transform: translateZ(0);
}

.nudo-sticker-jupiter__surface {
  position: absolute;
  inset: 0 auto 0 0;
  display: flex;
  width: 400%;
  height: 100%;
  will-change: transform;
  animation: nudoJupiterSurface 15s linear infinite;
}

.nudo-sticker-jupiter__surface img {
  flex: 0 0 50%;
  width: 50%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.nudo-sticker-jupiter__light {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 31% 24%, rgba(255,255,255,.55), transparent 18%),
    linear-gradient(110deg, rgba(255,255,255,.22), transparent 38%, rgba(37,15,34,.24));
}

.nudo-sticker-jupiter__shadow {
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: 0;
  height: 9%;
  border-radius: 50%;
  background: rgba(74, 38, 20, 0.25);
  filter: blur(0.35rem);
}

/* Tramonto */
.nudo-sticker-sun-wrap {
  position: absolute;
  top: -4%;
  left: -4%;
  width: min(43%, 8rem);
  aspect-ratio: 1;
  z-index: 4;
  border-radius: 50%;
  overflow: visible;
  background: radial-gradient(circle, rgba(255,226,113,.2) 0 38%, rgba(247,171,42,.08) 58%, transparent 75%);
  filter: drop-shadow(0 0 0.58rem rgba(247, 181, 45, 0.18));
  animation: nudoSunSway 6.4s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.nudo-sticker-sun {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter:
    drop-shadow(0 0 0.06rem rgba(255, 250, 205, 0.72))
    drop-shadow(0 0 0.32rem rgba(246, 181, 45, 0.4))
    drop-shadow(0 0 0.65rem rgba(222, 113, 16, 0.18));
}

.nudo-sticker-sun__glint {
  position: absolute;
  z-index: 3;
  width: 0.48rem;
  aspect-ratio: 1;
  border-radius: 2px;
  background: #fff6c4;
  box-shadow: 0 0 0.55rem #f1b72d;
  transform: rotate(45deg) scale(0);
  animation: nudoSunGlint 3.8s ease-in-out infinite;
}

.nudo-sticker-sun__glint--one { top: 15%; right: 9%; }
.nudo-sticker-sun__glint--two { bottom: 12%; left: 22%; animation-delay: -1.9s; }

.nudo-sticker-sunbeam {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 158%;
  height: 9%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,235,151,.66), rgba(255,213,91,.28) 46%, transparent 100%);
  filter: blur(0.12rem);
  transform-origin: 0 50%;
  animation: nudoSunRay 5.2s ease-in-out infinite;
}

.nudo-sticker-sunbeam--one { transform: rotate(20deg); }
.nudo-sticker-sunbeam--two { top: 54%; transform: rotate(35deg) scaleX(.86); animation-delay: -2.2s; }

.nudo-sticker-drink-light {
  position: absolute;
  z-index: 3;
  top: 28%;
  left: 35%;
  width: 44%;
  height: 46%;
  background: linear-gradient(114deg, transparent 15%, rgba(255,237,168,.62) 43%, rgba(255,255,238,.86) 51%, rgba(248,184,50,.24) 62%, transparent 82%);
  mix-blend-mode: screen;
  opacity: .72;
  clip-path: polygon(24% 0, 76% 0, 63% 100%, 36% 100%);
  animation: nudoDrinkLight 6.4s cubic-bezier(.45,0,.55,1) infinite;
}

/* Anima */
.nudo-sticker-anima-wrap {
  position: absolute;
  z-index: 4;
  top: -5%;
  left: -3%;
  width: min(45%, 8.4rem);
  aspect-ratio: 1;
  transform-origin: 48% 62%;
  filter: drop-shadow(0 0.52rem 0.58rem rgba(99, 41, 25, 0.2));
  animation: nudoAnimaFloat 7.2s cubic-bezier(.45,0,.55,1) infinite;
}

.nudo-sticker-anima__mood {
  position: absolute;
  inset: 0;
  will-change: opacity, transform;
}

.nudo-sticker-anima__mood--joy {
  opacity: 1;
  animation: nudoAnimaMoodJoy 7.2s cubic-bezier(.45,0,.55,1) infinite;
}

.nudo-sticker-anima__mood--sorrow {
  opacity: 0;
  animation: nudoAnimaMoodSorrow 7.2s cubic-bezier(.45,0,.55,1) infinite;
}

.nudo-sticker-anima {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter:
    brightness(1.16)
    saturate(1.14)
    sepia(.24)
    hue-rotate(4deg)
    drop-shadow(0 0 .26rem rgba(255, 246, 176, .82))
    drop-shadow(0 0 .66rem rgba(171, 186, 45, .72));
  will-change: filter;
  animation: nudoAnimaGoldShift 5.6s cubic-bezier(.45, 0, .55, 1) infinite;
}

.nudo-sticker-anima__mood--joy .nudo-sticker-anima--joy {
  z-index: 2;
  top: -3%;
  left: -5%;
  width: 74%;
  height: 74%;
  transform: rotate(-8deg);
}

.nudo-sticker-anima__mood--joy .nudo-sticker-anima--sorrow {
  z-index: 1;
  right: -2%;
  bottom: -2%;
  width: 66%;
  height: 66%;
  transform: rotate(7deg);
}

.nudo-sticker-anima__mood--sorrow .nudo-sticker-anima--sorrow {
  z-index: 2;
  top: -3%;
  left: -5%;
  width: 74%;
  height: 74%;
  transform: rotate(7deg);
}

.nudo-sticker-anima__mood--sorrow .nudo-sticker-anima--joy {
  z-index: 1;
  right: -2%;
  bottom: -2%;
  width: 66%;
  height: 66%;
  transform: rotate(-8deg);
}

.nudo-sticker-anima__glints,
.nudo-sticker-anima__glints i {
  position: absolute;
}

.nudo-sticker-anima__glints {
  inset: 0;
  z-index: 4;
}

.nudo-sticker-anima__glints i {
  width: var(--anima-glint-size, .38rem);
  aspect-ratio: 1;
  border-radius: 2px;
  background: #fff8c9;
  box-shadow: 0 0 .58rem rgba(245, 185, 47, .95);
  opacity: 0;
  transform: rotate(45deg) scale(0);
  animation: nudoAnimaGlint 3.8s ease-in-out var(--anima-glint-delay, 0s) infinite;
}

.nudo-sticker-anima__glints i:nth-child(1) { top: 10%; left: 17%; --anima-glint-delay: -.25s; }
.nudo-sticker-anima__glints i:nth-child(2) { top: 28%; right: 8%; --anima-glint-size: .3rem; --anima-glint-delay: -1.4s; }
.nudo-sticker-anima__glints i:nth-child(3) { top: 50%; left: 7%; --anima-glint-size: .27rem; --anima-glint-delay: -2.35s; }
.nudo-sticker-anima__glints i:nth-child(4) { bottom: 12%; right: 18%; --anima-glint-size: .35rem; --anima-glint-delay: -3.1s; }
.nudo-sticker-anima__glints i:nth-child(5) { top: 3%; right: 32%; --anima-glint-size: .23rem; --anima-glint-delay: -2.75s; }

/* Musa */
.nudo-sticker-musa-wrap {
  position: absolute;
  z-index: 4;
  top: -5%;
  left: -2%;
  width: min(36%, 6.85rem);
  aspect-ratio: 1.08;
  transform-origin: 50% 75%;
  filter: drop-shadow(0 0.5rem 0.58rem rgba(129, 70, 14, 0.2));
  animation: nudoMusaSway 6.8s cubic-bezier(.45,0,.55,1) infinite;
}

.nudo-sticker-musa {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter:
    brightness(1.16)
    saturate(1.14)
    sepia(.24)
    hue-rotate(4deg)
    drop-shadow(0 0 .26rem rgba(255, 246, 176, .82))
    drop-shadow(0 0 .66rem rgba(171, 186, 45, .72));
  will-change: filter;
  animation: nudoMusaGoldShift 5.6s cubic-bezier(.45, 0, .55, 1) infinite;
}

.nudo-sticker-musa__glints,
.nudo-sticker-musa__glints i {
  position: absolute;
}

.nudo-sticker-musa__glints { inset: 0; z-index: 3; }

.nudo-sticker-musa__glints i {
  width: var(--musa-glint-size, .42rem);
  aspect-ratio: 1;
  border-radius: 2px;
  background: #fff8c9;
  box-shadow: 0 0 .58rem rgba(245, 185, 47, .95);
  opacity: 0;
  transform: rotate(45deg) scale(0);
  animation: nudoMusaGlint 3.8s ease-in-out var(--musa-glint-delay, 0s) infinite;
}

.nudo-sticker-musa__glints i:nth-child(1) { top: 14%; left: 19%; --musa-glint-delay: -.25s; }
.nudo-sticker-musa__glints i:nth-child(2) { top: 30%; right: 11%; --musa-glint-size: .32rem; --musa-glint-delay: -1.4s; }
.nudo-sticker-musa__glints i:nth-child(3) { top: 50%; left: 8%; --musa-glint-size: .29rem; --musa-glint-delay: -2.35s; }
.nudo-sticker-musa__glints i:nth-child(4) { bottom: 14%; right: 22%; --musa-glint-size: .38rem; --musa-glint-delay: -3.1s; }
.nudo-sticker-musa__glints i:nth-child(5) { top: 5%; right: 34%; --musa-glint-size: .25rem; --musa-glint-delay: -2.75s; }

/* Siena */
.nudo-sticker-siena-wrap {
  position: absolute;
  z-index: 4;
  top: -9%;
  left: -4%;
  width: min(39%, 7.4rem);
  aspect-ratio: 902 / 1188;
  filter: drop-shadow(0 0.52rem 0.58rem rgba(93, 32, 20, 0.2));
}

.nudo-sticker-siena {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: scaleX(-1);
}

.nudo-sticker-siena__head {
  transform-box: view-box;
  transform-origin: 66% 38%;
  will-change: transform;
  animation: nudoSienaHatShake 4.8s cubic-bezier(.22,1,.36,1) infinite;
}

.nudo-sticker-siena__palette {
  opacity: 0;
  animation: nudoSienaPaletteCycle 36s steps(1, end) var(--siena-palette-delay, 0s) infinite;
}

.nudo-sticker-siena__palette--aquila { opacity: 1; }

/* Morenito */
.nudo-sticker-morenito-wrap {
  position: absolute;
  z-index: 4;
  top: -11%;
  left: -3%;
  width: min(31%, 5.9rem);
  aspect-ratio: 2 / 3;
  transform-origin: 50% 88%;
  contain: layout paint;
  isolation: isolate;
}

.nudo-sticker-morenito__cloud,
.nudo-sticker-morenito__body,
.nudo-sticker-morenito__wing,
.nudo-sticker-morenito__cherub {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.nudo-sticker-morenito__cloud,
.nudo-sticker-morenito__body,
.nudo-sticker-morenito__wing {
  object-fit: contain;
}

.nudo-sticker-morenito__cloud {
  z-index: 2;
  transform-origin: 50% 82%;
  will-change: transform;
  animation: nudoMorenitoCloudPress 6s linear infinite;
}

.nudo-sticker-morenito__cherub {
  z-index: 3;
  transform-origin: 50% 78%;
  will-change: transform;
  animation: nudoMorenitoCherubJump 6s linear infinite;
}

.nudo-sticker-morenito__body { z-index: 2; }

.nudo-sticker-morenito__wing {
  z-index: 1;
  will-change: transform;
}

.nudo-sticker-morenito__wing--left {
  transform-origin: 27% 27%;
  animation: nudoMorenitoWingLeft 6s cubic-bezier(.37,0,.63,1) infinite;
}

.nudo-sticker-morenito__wing--right {
  transform-origin: 70% 27%;
  animation: nudoMorenitoWingRight 6s cubic-bezier(.37,0,.63,1) infinite;
}

.nudo-sticker-morenito__shadow {
  position: absolute;
  z-index: 1;
  left: 15%;
  right: 10%;
  bottom: 4%;
  height: 6%;
  border-radius: 50%;
  background: rgba(79, 50, 31, .21);
  opacity: .2;
  filter: blur(.32rem);
  transform-origin: 50% 50%;
  will-change: transform, opacity;
  animation: nudoMorenitoShadow 6s linear infinite;
}

/* Naxos */
.nudo-sticker-capital-wrap {
  position: absolute;
  z-index: 3;
  top: -1%;
  left: 1%;
  width: min(32%, 6.2rem);
  aspect-ratio: 2 / 3;
  transform-origin: 54% 88%;
  animation: nudoCapitalSettle 8s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

.nudo-sticker-capital {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0.55rem 0.55rem rgba(83,47,28,.2));
}

.nudo-sticker-capital__ground {
  position: absolute;
  z-index: 1;
  left: 12%;
  right: 4%;
  bottom: 1%;
  height: 6%;
  border-radius: 50%;
  background: rgba(98,58,40,.19);
  filter: blur(.35rem);
}

.nudo-sticker-capital__dust i {
  position: absolute;
  z-index: 4;
  left: calc(9% + var(--dust-x, 0%));
  bottom: 4%;
  width: 0.25rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #c79259;
  opacity: 0;
  animation: nudoDustRise 5.4s ease-out infinite;
}

.nudo-sticker-capital__dust i:nth-child(1) { --dust-x: 12%; animation-delay: -.2s; }
.nudo-sticker-capital__dust i:nth-child(2) { --dust-x: 29%; animation-delay: -2.1s; scale: .7; }
.nudo-sticker-capital__dust i:nth-child(3) { --dust-x: 48%; animation-delay: -3.6s; }
.nudo-sticker-capital__dust i:nth-child(4) { --dust-x: 67%; animation-delay: -1.1s; scale: .55; }
.nudo-sticker-capital__dust i:nth-child(5) { --dust-x: 80%; animation-delay: -4.4s; scale: .75; }

/* Diavolina */
.nudo-sticker-fire-wrap {
  position: absolute;
  z-index: 4;
  top: -10%;
  left: -3%;
  width: min(32%, 6rem);
  aspect-ratio: 902 / 1034;
  transform-origin: 50% 92%;
  filter: drop-shadow(0 0.4rem 0.5rem rgba(117, 12, 8, 0.2));
}

.nudo-sticker-fire,
.nudo-sticker-fire__glow,
.nudo-sticker-fire__embers {
  position: absolute;
  inset: 0;
}

.nudo-sticker-fire {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: 50% 92%;
}

.nudo-sticker-fire--core {
  z-index: 3;
  will-change: transform, filter;
  animation: nudoFireCore 3.35s cubic-bezier(.45,0,.55,1) infinite;
}

.nudo-sticker-fire__glow {
  z-index: 1;
  inset: 20% 7% 3%;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 64%, rgba(255, 251, 199, 0.76) 0 16%, rgba(255, 205, 48, 0.5) 34%, rgba(239, 57, 14, 0.28) 54%, transparent 74%);
  filter: blur(0.65rem);
  mix-blend-mode: screen;
  will-change: transform, opacity, filter;
  animation: nudoFireGlow 2.8s cubic-bezier(.45,0,.55,1) infinite;
}

.nudo-sticker-fire__embers { z-index: 5; }

.nudo-sticker-fire__embers i {
  position: absolute;
  left: var(--ember-left, 50%);
  bottom: var(--ember-bottom, 42%);
  width: var(--ember-size, 0.26rem);
  aspect-ratio: 1;
  border-radius: 50% 50% 48% 52%;
  background: radial-gradient(circle at 40% 34%, #fff9bd 0 18%, #ffb31a 42%, #f44712 76%);
  box-shadow:
    0 0 0.24rem rgba(255, 232, 104, 0.94),
    0 0 0.52rem rgba(239, 55, 13, 0.78);
  opacity: 0;
  will-change: transform, opacity;
  animation: nudoFireEmber var(--ember-duration, 3.7s) cubic-bezier(.22,1,.36,1) var(--ember-delay, 0s) infinite;
}

.nudo-sticker-fire__embers i:nth-child(1) { --ember-left: 25%; --ember-bottom: 52%; --ember-drift: -.28rem; --ember-rise: -2.7rem; --ember-duration: 2.45s; --ember-delay: -.55s; }
.nudo-sticker-fire__embers i:nth-child(2) { --ember-left: 69%; --ember-bottom: 48%; --ember-drift: .32rem; --ember-rise: -3.05rem; --ember-duration: 2.85s; --ember-delay: -1.8s; --ember-size: .23rem; }
.nudo-sticker-fire__embers i:nth-child(3) { --ember-left: 48%; --ember-bottom: 58%; --ember-drift: -.14rem; --ember-rise: -3.3rem; --ember-duration: 3.15s; --ember-delay: -2.55s; --ember-size: .21rem; }
.nudo-sticker-fire__embers i:nth-child(4) { --ember-left: 80%; --ember-bottom: 43%; --ember-drift: .22rem; --ember-rise: -2.5rem; --ember-duration: 2.65s; --ember-delay: -1.15s; --ember-size: .2rem; }
.nudo-sticker-fire__embers i:nth-child(5) { --ember-left: 37%; --ember-bottom: 50%; --ember-drift: .18rem; --ember-rise: -2.9rem; --ember-duration: 2.95s; --ember-delay: -2.2s; --ember-size: .18rem; }

@keyframes nudoWingLeft {
  0%, 28%, 100% { transform: rotate(1deg) scaleX(1); }
  35% { transform: rotate(-8deg) scaleX(.93); }
  40% { transform: rotate(5deg) scaleX(1.03); }
  45% { transform: rotate(-6deg) scaleX(.95); }
  51%, 78% { transform: rotate(1deg) scaleX(1); }
}
@keyframes nudoWingRight {
  0%, 28%, 100% { transform: rotate(-1deg) scaleX(1); }
  35% { transform: rotate(8deg) scaleX(.93); }
  40% { transform: rotate(-5deg) scaleX(1.03); }
  45% { transform: rotate(6deg) scaleX(.95); }
  51%, 78% { transform: rotate(-1deg) scaleX(1); }
}
@keyframes nudoAngelBreathe { 0%,100% { transform: translateY(5%) scale(.94); } 50% { transform: translateY(2%) scale(.955); } }
@keyframes nudoFeatherFall {
  0% { opacity: 0; transform: translate3d(0,0,0) rotate(-7deg) scale(.74); }
  10% { opacity: .94; transform: translate3d(var(--feather-release-x),-.45rem,0) rotate(5deg) scale(.84); }
  33% { transform: translate3d(var(--feather-sway-a),3.2rem,0) rotate(var(--feather-turn)) scale(.9); }
  62% { transform: translate3d(var(--feather-sway-b),6.8rem,0) rotate(var(--feather-turn-back)) scale(.92); }
  100% { opacity: .86; transform: translate3d(var(--feather-fall-x),var(--feather-fall-y),0) rotate(var(--feather-turn)) scale(.86); }
}
@keyframes nudoJupiterSurface {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-50%,0,0); }
}
@keyframes nudoJupiterFloat { 0%,100% { transform: translateY(1%) rotate(-2deg); } 50% { transform: translateY(-4%) rotate(2deg); } }
@keyframes nudoSunSway { 0%,100% { transform: translate3d(0,1%,0) rotate(-2deg) scale(.98); } 50% { transform: translate3d(5%,-3%,0) rotate(2.5deg) scale(1.01); } }
@keyframes nudoSunGlint { 0%,70%,100% { opacity:0; transform:rotate(45deg) scale(0); } 78% { opacity:1; transform:rotate(45deg) scale(1); } 88% { opacity:0; transform:rotate(45deg) scale(1.8); } }
@keyframes nudoSunRay { 0%,100% { opacity:.34; } 50% { opacity:.84; } }
@keyframes nudoDrinkLight { 0%,100% { opacity:.34; transform:translateX(-11%); } 48% { opacity:.9; transform:translateX(5%); } }
@keyframes nudoAnimaFloat { 0%,100% { transform:translate3d(0,1%,0) rotate(-1.6deg) scale(.985); } 50% { transform:translate3d(3%,-2%,0) rotate(1.7deg) scale(1.01); } }
@keyframes nudoAnimaMoodJoy { 0%,34% { opacity:1; transform:scale(1); } 52%,82% { opacity:0; transform:scale(.985); } 100% { opacity:1; transform:scale(1); } }
@keyframes nudoAnimaMoodSorrow { 0%,34% { opacity:0; transform:scale(.985); } 52%,82% { opacity:1; transform:scale(1); } 100% { opacity:0; transform:scale(.985); } }
@keyframes nudoAnimaGoldShift {
  0%, 100% {
    filter:
      brightness(1.16)
      saturate(1.14)
      sepia(.24)
      hue-rotate(4deg)
      drop-shadow(0 0 .26rem rgba(255, 246, 176, .82))
      drop-shadow(0 0 .66rem rgba(171, 186, 45, .72));
  }
  50% {
    filter:
      brightness(1.28)
      saturate(1.36)
      sepia(.74)
      hue-rotate(-14deg)
      drop-shadow(0 0 .26rem rgba(255, 251, 205, .9))
      drop-shadow(0 0 .7rem rgba(244, 184, 45, .76));
  }
}
@keyframes nudoAnimaGlint { 0%,64%,100% { opacity:0; transform:rotate(45deg) scale(0); } 73% { opacity:1; transform:rotate(45deg) scale(1); } 84% { opacity:0; transform:rotate(45deg) scale(1.75); } }
@keyframes nudoMusaSway { 0%,100% { transform:translate3d(0,1%,0) rotate(-2deg) scale(.985); } 50% { transform:translate3d(4%,-2%,0) rotate(2.2deg) scale(1.01); } }
@keyframes nudoMusaGoldShift {
  0%, 100% {
    filter:
      brightness(1.16)
      saturate(1.14)
      sepia(.24)
      hue-rotate(4deg)
      drop-shadow(0 0 .26rem rgba(255, 246, 176, .82))
      drop-shadow(0 0 .66rem rgba(171, 186, 45, .72));
  }
  50% {
    filter:
      brightness(1.28)
      saturate(1.36)
      sepia(.74)
      hue-rotate(-14deg)
      drop-shadow(0 0 .26rem rgba(255, 251, 205, .9))
      drop-shadow(0 0 .7rem rgba(244, 184, 45, .76));
  }
}
@keyframes nudoMusaGlint { 0%,64%,100% { opacity:0; transform:rotate(45deg) scale(0); } 73% { opacity:1; transform:rotate(45deg) scale(1); } 84% { opacity:0; transform:rotate(45deg) scale(1.75); } }
@keyframes nudoSienaHatShake {
  0%,34%,61%,100% { transform:rotate(0deg); }
  38% { transform:rotate(-5deg); }
  42% { transform:rotate(6deg); }
  46% { transform:rotate(-4.5deg); }
  50% { transform:rotate(4deg); }
  54% { transform:rotate(-2.5deg); }
  58% { transform:rotate(1deg); }
}
@keyframes nudoSienaPaletteCycle {
  0%,10.9% { opacity:1; }
  11.12%,100% { opacity:0; }
}
@keyframes nudoMorenitoCherubJump {
  0% {
    transform:translate3d(0,0,0) scale3d(1,1,1);
    animation-timing-function:cubic-bezier(.37,0,.63,1);
  }
  18% {
    transform:translate3d(0,-.65%,0) scale3d(1,1.002,1);
    animation-timing-function:cubic-bezier(.37,0,.63,1);
  }
  32% {
    transform:translate3d(0,0,0) scale3d(1,1,1);
    animation-timing-function:cubic-bezier(.4,0,.65,1);
  }
  40% {
    transform:translate3d(0,1.2%,0) scale3d(1.014,.984,1);
    animation-timing-function:cubic-bezier(.2,.72,.2,1);
  }
  60% {
    transform:translate3d(0,-15%,0) scale3d(.997,1.01,1);
    animation-timing-function:cubic-bezier(.4,0,.8,.22);
  }
  74% {
    transform:translate3d(0,-6%,0) scale3d(1,1.004,1);
    animation-timing-function:cubic-bezier(.55,.05,.85,.25);
  }
  80% {
    transform:translate3d(0,0,0) scale3d(1.02,.968,1);
    animation-timing-function:cubic-bezier(.2,.75,.2,1);
  }
  88% {
    transform:translate3d(0,-1.8%,0) scale3d(.998,1.01,1);
    animation-timing-function:cubic-bezier(.37,0,.63,1);
  }
  96%,100% { transform:translate3d(0,0,0) scale3d(1,1,1); }
}
@keyframes nudoMorenitoCloudPress {
  0%,74% { transform:scale3d(1,1,1); }
  80% {
    transform:scale3d(1.05,.91,1);
    animation-timing-function:cubic-bezier(.2,.75,.2,1);
  }
  88% {
    transform:scale3d(.988,1.024,1);
    animation-timing-function:cubic-bezier(.37,0,.63,1);
  }
  96%,100% { transform:scale3d(1,1,1); }
}
@keyframes nudoMorenitoShadow {
  0% { opacity:.2; transform:scaleX(1); }
  18% { opacity:.19; transform:scaleX(.98); }
  32% { opacity:.2; transform:scaleX(1); }
  40% { opacity:.22; transform:scaleX(1.04); }
  60% { opacity:.09; transform:scaleX(.7); }
  74% { opacity:.14; transform:scaleX(.86); }
  80% { opacity:.27; transform:scaleX(1.12); }
  88% { opacity:.18; transform:scaleX(.95); }
  96%,100% { opacity:.2; transform:scaleX(1); }
}
@keyframes nudoMorenitoWingLeft {
  0%,12%,34%,42%,78%,100% { transform:rotate(-1deg) scaleX(1); }
  18% { transform:rotate(-5deg) scaleX(1.025); }
  25% { transform:rotate(2deg) scaleX(.98); }
  50% { transform:rotate(-10deg) scaleX(1.045); }
  59% { transform:rotate(6deg) scaleX(.955); }
  68% { transform:rotate(-6deg) scaleX(1.025); }
  74% { transform:rotate(1deg) scaleX(.99); }
}
@keyframes nudoMorenitoWingRight {
  0%,12%,34%,42%,78%,100% { transform:rotate(1deg) scaleX(1); }
  18% { transform:rotate(5deg) scaleX(.975); }
  25% { transform:rotate(-2deg) scaleX(1.02); }
  50% { transform:rotate(10deg) scaleX(.95); }
  59% { transform:rotate(-6deg) scaleX(1.045); }
  68% { transform:rotate(6deg) scaleX(.975); }
  74% { transform:rotate(-1deg) scaleX(1.01); }
}
@keyframes nudoCapitalSettle { 0%,72%,100% { transform:rotate(11deg) translateY(0); } 78% { transform:rotate(12.4deg) translateY(-1%); } 86% { transform:rotate(10.2deg) translateY(.5%); } }
@keyframes nudoDustRise { 0%,52% { opacity:0; transform:translate3d(0,0,0) scale(.65); } 62% { opacity:.65; } 100% { opacity:0; transform:translate3d(.55rem,-2.6rem,0) scale(1.05); } }
@keyframes nudoFireCore {
  0%,100% { transform:translate3d(-1.2%,1%,0) rotate(-.9deg) scale3d(.985,1.005,1); filter:saturate(1.02) brightness(1.03); }
  34% { transform:translate3d(1.8%,-.9%,0) rotate(.8deg) scale3d(1.012,.99,1); filter:saturate(1.1) brightness(1.11); }
  68% { transform:translate3d(-.6%,-.25%,0) rotate(-.3deg) scale3d(.994,1.015,1); filter:saturate(1.06) brightness(1.06); }
}
@keyframes nudoFireGlow {
  0%,100% { opacity:.46; transform:translate3d(-2%,0,0) scale(.9); filter:blur(.65rem) brightness(1); }
  48% { opacity:.86; transform:translate3d(2%,0,0) scale(1.08); filter:blur(.72rem) brightness(1.12); }
}
@keyframes nudoFireEmber {
  0%,12% { opacity:0; transform:translate3d(0,.25rem,0) scale(.42); }
  27% { opacity:1; transform:translate3d(0,-.32rem,0) scale(1); }
  58% { opacity:.78; transform:translate3d(.08rem,-1.35rem,0) scale(.74); }
  100% { opacity:0; transform:translate3d(var(--ember-drift, .25rem),var(--ember-rise, -3rem),0) scale(.18); }
}

/* Kiosk cards carry the same scenes at a deliberately larger scale. */
.kiosk-product-card .nudo-sticker-angel { top: -11%; left: -1%; width: min(39.95%, 9.52rem); }
.kiosk-product-card .nudo-sticker-jupiter { top: -3%; left: 2%; width: min(31%, 7.6rem); }
.kiosk-product-card .nudo-sticker-sun-wrap { top: -6%; left: -4%; width: min(47%, 11.2rem); }
.kiosk-product-card .nudo-sticker-anima-wrap { top: -8%; left: -3%; width: min(48%, 11.4rem); }
.kiosk-product-card .nudo-sticker-musa-wrap { top: -6%; left: -2%; width: min(39%, 9.25rem); }
.kiosk-product-card .nudo-sticker-siena-wrap { top: -11%; left: -4%; width: min(41%, 9.7rem); }
.kiosk-product-card .nudo-sticker-morenito-wrap { top: -12%; left: -3%; width: min(32%, 7.6rem); }
.kiosk-product-card .nudo-sticker-capital-wrap { top: -2%; left: 1%; width: min(28%, 6.7rem); }
.kiosk-product-card .nudo-sticker-fire-wrap { top: -13%; left: -3%; width: min(34%, 8rem); }
.kiosk-product-card .nudo-sticker-sunbeam { width: 168%; height: 9%; }
.kiosk-product-card .nudo-sticker-drink-light { top: 24%; left: 32%; width: 49%; height: 51%; }

/* Ánima keeps the same mood exchange when the product opens. */
.home-kiosk-modal__media[data-nudo-modal-sticker="anima"],
.kiosk-modal__media[data-nudo-modal-sticker="anima"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.home-kiosk-modal__media[data-nudo-modal-sticker="anima"] > img,
.kiosk-modal__media[data-nudo-modal-sticker="anima"] > img {
  position: relative;
  z-index: 1;
}

.nudo-card-sticker--modal { z-index: 2; }

.nudo-card-sticker--modal .nudo-sticker-anima-wrap {
  top: 4%;
  left: 4%;
  width: min(31%, 9rem);
}

/* Naxos kiosk: compact Greek flag on the opposite side of the capital. */
.kiosk-product-card[data-entry-id="cafe-naxos"] .kiosk-product-card__top::before {
  top: 3.6rem !important;
  right: 1.15rem !important;
  left: auto !important;
  width: 2.56rem !important;
  height: 1.52rem !important;
  border-radius: 0.3rem !important;
  background:
    linear-gradient(#fff 0 0) 0.3rem 0.59rem / 0.9rem 0.16rem no-repeat,
    linear-gradient(#fff 0 0) 0.66rem 0.26rem / 0.16rem 0.86rem no-repeat,
    linear-gradient(
      to bottom,
      #0d5eaf 0 11.111%,
      #fff 11.111% 22.222%,
      #0d5eaf 22.222% 33.333%,
      #fff 33.333% 44.444%,
      #0d5eaf 44.444% 55.555%,
      #fff 55.555% 66.666%,
      #0d5eaf 66.666% 77.777%,
      #fff 77.777% 88.888%,
      #0d5eaf 88.888% 100%
    ) !important;
}

/* Naxos web: match the kiosk composition, with the flag opposite the capital. */
.home-kiosk-card[data-home-kiosk-entry="cafe-naxos"] .home-kiosk-card__top::before {
  top: 2.55rem !important;
  right: 0.5rem !important;
  left: auto !important;
  width: 2.56rem !important;
  height: 1.52rem !important;
}

.nudo-stickers-paused .nudo-card-sticker *,
.nudo-stickers-paused .nudo-card-sticker *::before,
.nudo-stickers-paused .nudo-card-sticker *::after {
  animation-play-state: paused !important;
}

@media (max-width: 640px) {
  .home-kiosk-card .nudo-sticker-angel { top: -8%; width: 36.55%; }
  .home-kiosk-card .nudo-sticker-jupiter { top: -3%; width: 30%; }
  .home-kiosk-card .nudo-sticker-sun-wrap { top: -5%; width: 43%; }
  .home-kiosk-card .nudo-sticker-anima-wrap { top: -6%; width: 45%; }
  .home-kiosk-card .nudo-sticker-musa-wrap { top: -5%; left: -2%; width: 36%; }
  .home-kiosk-card .nudo-sticker-siena-wrap { top: -10%; left: -4%; width: 39%; }
  .home-kiosk-card .nudo-sticker-morenito-wrap { top: -11%; left: -3%; width: 30%; }
  .home-kiosk-card .nudo-sticker-capital-wrap { top: -2%; left: 1%; width: 29%; }
  .home-kiosk-card .nudo-sticker-fire-wrap { top: -12%; left: -3%; width: 32%; }
}

@media (prefers-reduced-motion: reduce) {
  .nudo-card-sticker *,
  .nudo-card-sticker *::before,
  .nudo-card-sticker *::after {
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
  }
  .nudo-sticker-feathers,
  .nudo-sticker-sunbeam,
  .nudo-sticker-sun__glint,
  .nudo-sticker-anima__mood--sorrow,
  .nudo-sticker-anima__glints,
  .nudo-sticker-musa__glints,
  .nudo-sticker-capital__dust,
  .nudo-sticker-fire__embers,
  .nudo-sticker-morenito__wing { display: none !important; }

  .nudo-sticker-anima__mood--joy,
  .nudo-sticker-siena__palette--aquila { opacity: 1 !important; }
}

/* Signature marker: one ruby star replaces the previous three-star cluster. */
@keyframes nudoRubyStarGlow {
  0%, 100% {
    filter:
      drop-shadow(1.5px 0 0 rgba(255, 255, 255, 0.98))
      drop-shadow(-1.5px 0 0 rgba(255, 255, 255, 0.98))
      drop-shadow(0 1.5px 0 rgba(255, 255, 255, 0.98))
      drop-shadow(0 -1.5px 0 rgba(255, 255, 255, 0.98))
      drop-shadow(0 0 0.28rem rgba(255, 255, 255, 0.92))
      drop-shadow(0 0.34rem 0.5rem rgba(77, 2, 20, 0.3))
      drop-shadow(0 0 0.58rem rgba(190, 0, 38, 0.72));
  }
  52% {
    filter:
      drop-shadow(1.5px 0 0 #fff)
      drop-shadow(-1.5px 0 0 #fff)
      drop-shadow(0 1.5px 0 #fff)
      drop-shadow(0 -1.5px 0 #fff)
      drop-shadow(0 0 0.38rem rgba(255, 255, 255, 0.98))
      drop-shadow(0 0.38rem 0.58rem rgba(77, 2, 20, 0.34))
      drop-shadow(0 0 1rem rgba(224, 4, 55, 0.96));
  }
}

.home-kiosk-card:is(
  [data-home-kiosk-entry="cafe-carino"],
  [data-home-kiosk-entry="cafe-lontano"],
  [data-home-kiosk-entry="refresher-maracuya"],
  [data-home-kiosk-entry="refresher-guanabana"],
  [data-home-kiosk-entry="tlaya-chile-moreliano-rajas"],
  [data-home-kiosk-entry="torta-chile-moreliano"],
  [data-home-kiosk-entry="torta-cajeta"]
)::after,
.kiosk-product-card:is(
  [data-entry-id="cafe-carino"],
  [data-entry-id="cafe-lontano"],
  [data-entry-id="refresher-maracuya"],
  [data-entry-id="refresher-guanabana"],
  [data-entry-id="tlaya-chile-moreliano-rajas"],
  [data-entry-id="torta-chile-moreliano"],
  [data-entry-id="torta-cajeta"]
)::after {
  content: "" !important;
  position: absolute !important;
  z-index: 16 !important;
  aspect-ratio: 320 / 304;
  height: auto !important;
  background: url("assets/star-nudo-red.webp?v=1") center / contain no-repeat !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transform: rotate(-7deg) translateZ(0) !important;
  animation: nudoRubyStarGlow 2.9s cubic-bezier(0.22, 1, 0.36, 1) infinite !important;
  will-change: filter;
}

/* Vegetariana intentionally has no signature-star treatment. */
.home-kiosk-card[data-home-kiosk-entry="roma-vegetariana"]::after,
.kiosk-product-card[data-entry-id="roma-vegetariana"]::after {
  content: none !important;
  display: none !important;
  background: none !important;
  animation: none !important;
}

.home-kiosk-card:is(
  [data-home-kiosk-entry="cafe-carino"],
  [data-home-kiosk-entry="cafe-lontano"],
  [data-home-kiosk-entry="refresher-maracuya"],
  [data-home-kiosk-entry="refresher-guanabana"],
  [data-home-kiosk-entry="tlaya-chile-moreliano-rajas"],
  [data-home-kiosk-entry="torta-chile-moreliano"],
  [data-home-kiosk-entry="torta-cajeta"]
)::after {
  top: -1.35rem !important;
  left: -0.72rem !important;
  width: clamp(3.75rem, 5.6vw, 4.8rem) !important;
}

.kiosk-product-card:is(
  [data-entry-id="cafe-carino"],
  [data-entry-id="cafe-lontano"],
  [data-entry-id="refresher-maracuya"],
  [data-entry-id="refresher-guanabana"],
  [data-entry-id="tlaya-chile-moreliano-rajas"],
  [data-entry-id="torta-chile-moreliano"],
  [data-entry-id="torta-cajeta"]
)::after {
  top: -1.75rem !important;
  left: -0.82rem !important;
  width: clamp(6.4rem, 8.2vw, 7.6rem) !important;
}

/* Keep today's selling price, but remove the old-price and percentage treatment. */
.nudo-price-promo__before {
  display: none !important;
}

.nudo-price-promo__now {
  color: inherit !important;
  animation: none !important;
}

/* Menu cards show one clean selling price: no prefix, no accent-color drift. */
body .home-kiosk-card:not(.home-kiosk-card--disabled) .home-kiosk-card__top > strong,
body .home-kiosk-card:not(.home-kiosk-card--disabled) .home-kiosk-card__top > strong .nudo-price-promo__now,
body .kiosk-product-card:not(.kiosk-product-card--disabled) .kiosk-product-card__price,
body .kiosk-product-card:not(.kiosk-product-card--disabled) .kiosk-product-card__price .nudo-price-promo__now {
  color: #000 !important;
}

@media (prefers-reduced-motion: reduce) {
  .home-kiosk-card:is(
    [data-home-kiosk-entry="cafe-carino"],
    [data-home-kiosk-entry="cafe-lontano"],
    [data-home-kiosk-entry="refresher-maracuya"],
    [data-home-kiosk-entry="refresher-guanabana"],
    [data-home-kiosk-entry="tlaya-chile-moreliano-rajas"],
    [data-home-kiosk-entry="torta-chile-moreliano"],
    [data-home-kiosk-entry="torta-cajeta"]
  )::after,
  .kiosk-product-card:is(
    [data-entry-id="cafe-carino"],
    [data-entry-id="cafe-lontano"],
    [data-entry-id="refresher-maracuya"],
    [data-entry-id="refresher-guanabana"],
    [data-entry-id="tlaya-chile-moreliano-rajas"],
    [data-entry-id="torta-chile-moreliano"],
    [data-entry-id="torta-cajeta"]
  )::after {
    animation: none !important;
    will-change: auto;
  }
}
