/* Il motore rise della demo sul solo portfolio mobile. Fuori da .mobile-rise
   i nodi aggiunti restano invisibili e le card desktop originali sono intatte. */
.mobile-rise-stage, .mobile-rise-page, .mobile-rise-veil { display: none; }

.mobile-rise .card__link { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.mobile-rise .card__slides > .card__figure { display: none; }
.mobile-rise .mobile-rise-stage {
  display: block; position: absolute; inset: 0; z-index: 0; border-radius: inherit;
}
.mobile-rise .mobile-rise-layer {
  position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
}
.mobile-rise .card.is-lifting .mobile-rise-watch { will-change: transform, filter; }
.mobile-rise .mobile-rise-stage .card__img {
  filter: none !important; transform: none !important; transition: none !important;
}
.mobile-rise .mobile-rise-halo {
  opacity: 0;
  background: radial-gradient(ellipse at center, rgba(241,239,234,.40) 0%, rgba(241,239,234,.18) 45%, rgba(241,239,234,.04) 100%);
}
.mobile-rise .card[data-key="d1"] .mobile-rise-halo {
  background: radial-gradient(ellipse at center, rgba(16,19,24,.42) 0%, rgba(241,239,234,.06) 55%, rgba(241,239,234,.03) 100%);
}
.mobile-rise .mobile-rise-shade {
  opacity: 0;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 38%, rgba(0,0,0,.26) 100%);
}
.mobile-rise .mobile-rise-stage .card__meta { z-index: 2; }
.mobile-rise .mobile-rise-stage .card__meta > * {
  opacity: 0; transform: translateY(10px); transition: none;
}
.mobile-rise .mobile-rise-stage .card__brand { font-size: clamp(14px, 3.8vw, 17px); font-weight: 500; margin-bottom: 2px; }
.mobile-rise .mobile-rise-stage .card__title { font-size: clamp(23px, 6.4vw, 30px); font-weight: 500; }
.mobile-rise .mobile-rise-stage .card__info { font-size: clamp(13px, 3.5vw, 16px); font-weight: 500; margin-top: 10px; }
.mobile-rise .mobile-rise-tag {
  position: absolute; top: 18px; right: 18px; z-index: 3;
  color: inherit; font-size: 28px; line-height: 1;
  opacity: 0; transform: translateY(8px); pointer-events: none;
}
.mobile-rise .card__slides { z-index: 1; background: transparent; }
.mobile-rise .mobile-rise-page {
  display: block; flex: 0 0 100%; height: 100%;
  scroll-snap-align: start; scroll-snap-stop: always;
}
.mobile-rise .card__pagination { z-index: 4; }
/* Come nella demo: il gesto orizzontale è guidato dal dito; il verticale
   rimane al browser per scorrere naturalmente la pagina. */
.mobile-rise .card__slides {
  overflow-x: hidden; scroll-snap-type: none; touch-action: pan-y;
}
.mobile-rise .mobile-rise-veil {
  display: block; position: fixed; inset: 0; z-index: 15; pointer-events: none;
  background: rgba(241,239,234,.38);
  -webkit-backdrop-filter: blur(8px) saturate(1.05);
  backdrop-filter: blur(8px) saturate(1.05);
  opacity: 0; transition: opacity 320ms var(--ease-out);
}
.mobile-rise .mobile-rise-veil.is-on { opacity: 1; }
.mobile-rise .card.is-lifting { z-index: 16; }
.mobile-rise .card__link.is-in {
  transition: opacity 700ms var(--ease-out), transform 300ms cubic-bezier(.25, .2, .3, 1), box-shadow 300ms var(--ease-snap);
}
.mobile-rise .card.is-lifting .card__link.is-in {
  transform: scale(1.025); box-shadow: 0 14px 30px rgba(0,0,0,.22);
}
@media (prefers-reduced-motion: reduce) {
  .mobile-rise .mobile-rise-veil {
    -webkit-backdrop-filter: none; backdrop-filter: none;
    background: rgba(241,239,234,.5);
  }
  .mobile-rise .card.is-lifting .card__link.is-in { transform: none; box-shadow: none; }
}
