/* ---------------------------------------------------------------------------
   GATEWAY ? Santuario immersivo (fullscreen lock + dock vetro T1 + Library)
   Solo token locali; palette da theme_globals (:root) senza modificarlo.
   Evoluzione 13/05/2026: ponte cockpit (ametista), stati profilo = token Vault,
   fascia vetro dietro Technical Deck, deck keys pi? lastra vetro.
   ADR 005 (19/05/2026): Glass Language ? token --gw-glass-*, Wave A cinema,
   Wave B vetro pannelli, Wave C deck 5/5.
   --------------------------------------------------------------------------- */

:root {
  --gw-bg-deep: var(--t1-deep-black-elevated);
  --gw-cyan: var(--t1-cyan-gateway);
  --gw-cyan-glow: color-mix(in srgb, var(--t1-cyan-gateway) 45%, transparent);
  --gw-cyan-faint: color-mix(in srgb, var(--t1-cyan-gateway) 12%, transparent);
  --gw-text: #f0f4f8;
  --gw-text-dim: #8a95a8;
  --gw-card-overlay: rgba(4, 6, 10, 0.72);
  --gw-status-ready: color-mix(in srgb, var(--t1-state-ready) 100%, transparent);
  --gw-status-ready-glow: var(--t1-state-ready-glow);
  --gw-status-pending: var(--t1-state-pending);
  --gw-status-pending-glow: var(--t1-state-pending-glow);
  --gw-status-active: var(--t1-state-active);
  --gw-status-active-glow: var(--t1-state-active-glow);
  --gw-deck-key: rgba(18, 20, 26, 0.96);
  --gw-deck-border: rgba(0, 242, 255, 0.18);
  --gw-font-tech: 'JetBrains Mono', 'SF Mono', ui-monospace, monospace;
  --gw-font-ui: 'Inter', system-ui, sans-serif;
  --gw-ease: 0.28s cubic-bezier(0.32, 0.72, 0, 1);
  --gw-glass-blur: 18px;
  --gw-dock-glass-blur: 25px;
  --gw-ice-border: color-mix(in srgb, rgba(214, 242, 252, 0.55) 55%, var(--gw-cyan) 45%);
  /* Ponte cockpit ? Agent / insight (manifesto) ? derivato da token globale */
  --gw-amethyst: var(--t1-amethyst);
  --gw-amethyst-soft: color-mix(in srgb, var(--gw-amethyst) 32%, transparent);
  --gw-amethyst-glow: color-mix(in srgb, var(--gw-amethyst) 22%, transparent);
  /* Stati profilo: gateway-boost (+8-12% brightness) per leggibilit? sul nero #08080a */
  --gw-state-ready: color-mix(in srgb, var(--t1-state-ready) 90%, white 10%);
  --gw-state-pending: color-mix(in srgb, var(--t1-state-pending) 92%, white 8%);
  --gw-state-active: color-mix(in srgb, var(--t1-state-active) 78%, #a78bfa 22%);

  /* -- ADR 005 ? Glass Language Tokens ------------------------------------- */
  --gw-glass-bg: linear-gradient(
    160deg,
    color-mix(in srgb, rgba(6, 10, 18, 0.94) 90%, rgba(255, 255, 255, 0.02)) 0%,
    rgba(4, 6, 14, 0.97) 100%
  );
  --gw-glass-backdrop: blur(22px) saturate(1.15);
  --gw-glass-border: color-mix(in srgb, var(--gw-cyan) 12%, rgba(255, 255, 255, 0.07));
  --gw-glass-border-top: rgba(255, 255, 255, 0.11);
  --gw-glass-shadow:
    0 8px 48px rgba(0, 0, 0, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  /* Testi fosforo (ADR 005 Wave B) */
  --gw-text-glow-primary:   0 0 10px color-mix(in srgb, var(--gw-cyan) 55%, transparent);
  --gw-text-glow-secondary: 0 0 10px color-mix(in srgb, var(--gw-amethyst) 38%, transparent);
  --gw-text-hint-cold: color-mix(in srgb, #8a95a8 80%, #6080a8 20%);
  /* ADR 005.1 ? Superficie stratificata (velo localizzato, incavo chip) */
  --gw-glass-surface-bg: rgba(10, 15, 24, 0.65);
  --gw-glass-surface-blur: blur(12px) saturate(1.12);
  --gw-glass-recessed:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -10px 28px rgba(0, 0, 0, 0.42),
    inset 0 0 0 1px rgba(255, 255, 255, 0.03);

  /* Prova atmosfera Gateway ? macchie inchiostro soft (revert: git checkout gateway_styles.css) */
  --gw-ambience-base: #0e0e10;
  --gw-ambience-mist: #121214;
  /* Nero palco cinematografo (ref 2061 ? rgb 13,14,16) */
  --gw-film-stage: #0f1014;
  /* Palco film ? alone per modulo (sovrascritto su body[data-gateway-film]) */
  --gw-film-halo: var(--gw-cyan);
  /* Mondi (Indice + plancia WORLD_ACTIVE) ? smeraldo non saturo (ADR 004 v1) */
  --gw-world-accent: var(--t1-clinical-dossier, #3dcc9a);
  --gw-world-accent-soft: color-mix(in srgb, var(--gw-world-accent) 28%, transparent);
  --gw-world-glow: color-mix(in srgb, var(--gw-world-accent) 22%, rgba(18, 42, 34, 0.14));
  --gst-world-glow: color-mix(in srgb, var(--gw-world-accent) 28%, rgba(24, 56, 44, 0.12));
  /* System deck / film ? grigio-blu (non ciano mondi, non smeraldo) */
  --gw-system-accent: rgba(185, 198, 218, 1);
  --gw-system-glow: color-mix(in srgb, var(--gw-system-accent) 16%, transparent);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

html:has(body.gateway-app) {
  height: 100%;
  overflow-x: clip;
  overflow-y: hidden;
}

body.gateway-app {
  position: relative;
  isolation: isolate;
  height: 100vh;
  max-height: 100vh;
  margin: 0;
  /* Base scura + macchie soft (2 chiare, 2 scure vs base; no alone ciano) */
  background-color: var(--gw-ambience-base);
  background-image:
    radial-gradient(ellipse 95% 75% at 15% 20%, #121214 0%, transparent 85%),
    radial-gradient(ellipse 90% 80% at 85% 75%, #131315 0%, transparent 85%),
    radial-gradient(ellipse 75% 62% at 60% 10%, #0b0c0e 0%, transparent 85%),
    radial-gradient(ellipse 82% 70% at 8% 88%, #0c0d0f 0%, transparent 87%);
  color: var(--gw-text);
  font-family: var(--gw-font-ui);
  line-height: 1.5;
  /* clip (non hidden): guarda lo scroll orizzontale senza creare scroll container;
     permette al deck 100vw di uscire dallo shell senza generare scrollbar */
  overflow-x: clip;
  overflow-y: hidden;
  text-rendering: optimizeLegibility;
}

/* Grana morbida ? pattern Cockpit, tile grande, opacity ~1.3% */
body.gateway-app::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.013;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 384px 384px;
}

.gateway-shell {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 1280px;
  height: 100vh;
  max-height: 100vh;
  margin: 0 auto;
  /* Allinea bleed carosello Delta / deck allo stesso padding orizzontale */
  --gw-shell-pad-x: clamp(28px, 5vw, 60px);
  /* padding orizzontale pi? largo: le card Delta (stessa max-width) non "sbattono" sul bordo finestra */
  padding: clamp(6px, 1.2vh, 16px) var(--gw-shell-pad-x) 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(6px, 1.2vh, 14px);
  /* visible: il body (overflow: hidden) ? il vero guard; qui non vogliamo clip per il deck 100vw */
  overflow-x: visible;
  overflow-y: visible;
}

/* Sigillo Torri ? ancora visiva fissa */
.gateway-sigillo {
  position: fixed;
  top: 25px;
  left: 25px;
  z-index: 10002;
  line-height: 0;
  pointer-events: none;
}

.gateway-sigillo__img {
  width: 50px;
  height: auto;
  display: block;
  clip-path: inset(0 0 20% 0);
  filter:
    drop-shadow(0 0 14px color-mix(in srgb, var(--t1-cyan-gateway) 58%, transparent))
    drop-shadow(0 0 38px color-mix(in srgb, var(--t1-cyan-gateway) 30%, transparent))
    drop-shadow(0 0 28px var(--gw-amethyst-glow));
}

/* -- Identit? T1 ? payoff (torri solo nel sigillo) ------------------------ */
.gateway-brand-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.gateway-brand-lockup--hero {
  margin: 0 auto 2px;
  padding-top: clamp(4px, 0.9vh, 12px);
  gap: 6px;
}

.gateway-brand-lockup--hero .gateway-brand-title {
  font-size: clamp(1.6rem, 5vw, 2.4rem);
  font-weight: 600;
  letter-spacing: 0.6rem;
  text-transform: uppercase;
  text-shadow:
    0 0 22px var(--gw-cyan-glow),
    0 0 44px rgba(0, 242, 255, 0.12);
}

.gateway-brand-lockup--hero .gateway-brand-tagline {
  font-size: clamp(0.58rem, 1.35vw, 0.72rem);
  letter-spacing: 0.2em;
  opacity: 0.82;
  text-shadow:
    0 0 24px var(--gw-amethyst-soft),
    0 0 48px rgba(124, 58, 237, 0.08);
}

.gateway-brand-mark {
  line-height: 0;
}

.gateway-towers-img {
  width: 76px;
  height: auto;
  display: block;
  clip-path: inset(0 0 20% 0);
  filter:
    drop-shadow(0 0 12px color-mix(in srgb, var(--t1-cyan-gateway) 55%, transparent))
    drop-shadow(0 0 32px color-mix(in srgb, var(--t1-cyan-gateway) 30%, transparent));
}

.gateway-brand-title {
  font-family: var(--gw-font-ui);
  font-size: clamp(2.35rem, 8vw, 4.1rem);
  font-weight: 700;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gw-text);
  text-shadow:
    0 0 36px var(--gw-cyan-glow),
    0 0 72px rgba(0, 242, 255, 0.14);
  margin: 0;
}

.gateway-brand-tagline {
  font-family: 'Plus Jakarta Sans', var(--gw-font-ui);
  font-size: clamp(1.08rem, 2.9vw, 1.48rem);
  font-weight: 300;
  letter-spacing: 0.14em;
  color: rgba(218, 224, 232, 0.78);
  margin: 0;
  opacity: 1;
  text-transform: none;
}

.gateway-login-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 440px;
}

.gateway-login-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  margin-bottom: clamp(18px, 3.2vh, 28px);
}

.gateway-login-stack .gateway-brand-title--login-product {
  font-size: clamp(1.9rem, 5.6vw, 2.65rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.15;
  text-transform: none;
}

.gateway-brand-tagline--login {
  font-size: clamp(1rem, 2.5vw, 1.18rem);
  letter-spacing: 0.12em;
  margin: 0;
}

.gateway-login-pilot-badge {
  margin: clamp(6px, 1vh, 10px) 0 0;
  font-family: 'Inter', var(--gw-font-ui);
  font-size: clamp(0.62rem, 1.55vw, 0.72rem);
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gw-cyan, #00e5ff) 58%, rgba(248, 252, 255, 0.72));
}

/* Desktop login — marca assoluta in alto, stack centrato */
@media (min-width: 768px) and (min-height: 501px) {
  .gateway-login-stack .gateway-brand-lockup--login {
    position: absolute;
    top: clamp(40px, 8vh, 80px);
    left: 50%;
    transform: translateX(-50%);
    gap: clamp(10px, 1.6vh, 14px);
    width: max-content;
    max-width: calc(100vw - 48px);
  }

  .gateway-login-stack .gateway-brand-title--login-product {
    font-size: clamp(2.2rem, 3.8vw, 3.05rem);
    letter-spacing: 0.045em;
  }

  .gateway-brand-tagline--login {
    font-size: clamp(1.08rem, 1.65vw, 1.32rem);
    letter-spacing: 0.14em;
  }
}

/* Mobile portrait + landscape basso — colonna unica */
@media (max-width: 767px), (max-height: 500px) {
  .gateway-login-stack {
    flex-shrink: 0;
    margin: 0 auto;
  }

  .gateway-login-stack .gateway-brand-lockup--login {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: none;
    gap: 8px;
    margin-bottom: clamp(18px, 3.2vh, 26px);
  }

  .gateway-login-stack .gateway-brand-title--login-product {
    font-size: clamp(1.42rem, 5.2vw, 1.58rem);
    letter-spacing: 0.04em;
  }

  .gateway-brand-tagline--login {
    font-size: clamp(0.82rem, 2.2vw, 0.92rem);
    letter-spacing: 0.1em;
  }

  .gateway-login-hero {
    margin-bottom: clamp(14px, 2.5vh, 22px);
  }
}

/* Landscape smartphone — font ancora più compatti */
@media (orientation: landscape) and (max-height: 500px) {
  .gateway-login-stack .gateway-brand-lockup--login {
    gap: 4px;
    margin-bottom: 10px;
  }

  .gateway-login-stack .gateway-brand-title--login-product {
    font-size: 1.12rem;
    line-height: 1.2;
  }

  .gateway-brand-tagline--login {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
  }

  .gateway-login-hero {
    margin-bottom: 10px;
  }

  .gateway-login-card {
    padding: 20px 18px;
    gap: 16px;
  }

  .gateway-login-form {
    gap: 10px;
  }
}

/* -- Hero / Brand --------------------------------------------------------- */
.gateway-hero {
  flex: 0 0 auto;
  text-align: center;
  padding: 0 0 clamp(6px, 1vh, 10px);
  position: relative;
}

/* Scansione ametista: picco al centro, sfuma ai bordi ? richiamo LUCE / Agent Mode */
.gateway-hero::after {
  content: '';
  display: block;
  width: min(92%, 640px);
  height: 1px;
  margin: clamp(10px, 1.6vh, 18px) auto 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--gw-amethyst) 22%, transparent) 12%,
    color-mix(in srgb, var(--gw-amethyst) 82%, transparent) 42%,
    color-mix(in srgb, var(--gw-amethyst) 95%, white 5%) 50%,
    color-mix(in srgb, var(--gw-amethyst) 82%, transparent) 58%,
    color-mix(in srgb, var(--gw-amethyst) 22%, transparent) 88%,
    transparent 100%
  );
  opacity: 0.92;
  pointer-events: none;
}

.gateway-hero__title {
  font-family: var(--gw-font-tech);
  font-weight: 300;
  font-size: clamp(1.75rem, 4.5vw, 2.65rem);
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--gw-text);
  text-shadow:
    0 0 40px var(--gw-cyan-glow),
    0 1px 0 rgba(0, 242, 255, 0.15);
}

.gateway-hero__subtitle {
  margin-top: 14px;
  font-family: var(--gw-font-tech);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gw-text-dim);
}

/* -- Visual Row ? banda centrale ?impera?, respiro verso il dock ----------- */
.gateway-cinema-stack {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: visible;
}

/* Plancia sacra ADR 3.3 ? Visual Delta in alto, vuoto nero fino al Technical Deck */
.gateway-cinema-stack--sacred {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  position: relative;
  width: calc(100% + 2 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  margin-left: calc(-1 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  margin-right: calc(-1 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  padding: 0 var(--gw-shell-pad-x, clamp(28px, 5vw, 60px));
  overflow: visible;
}

.gateway-cinema-stack--sacred > .gateway-visual-row {
  flex: 1 1 0;
  min-height: 0;
  width: 100%;
  margin: 0;
}

/* Label dev-only: nascosta in plancia sacra (resta per screen reader / aria-labelledby) */
.gateway-cinema-stack--sacred .gateway-row__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gateway-cinema-stack--sacred > .gateway-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gateway-cinema-stack--sacred > .gateway-hologram-slot {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.gateway-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gateway-visual-row {
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  overflow: visible;
  padding-top: clamp(8px, 1.2vh, 16px);
  padding-bottom: clamp(20px, 3.5vh, 48px);
  position: relative;
  z-index: 1;
  --gw-card-accent: var(--gw-cyan);
}

/* Velo laterale: dissolve i bordi del deck nel background ? effetto vetro senza cornice netta */
.gateway-cinema-stack--sacred > .gateway-visual-row::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 150;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(to right,
      #08080a 0%,
      color-mix(in srgb, #08080a 55%, transparent) 6%,
      transparent 13%,
      transparent 87%,
      color-mix(in srgb, #08080a 55%, transparent) 94%,
      #08080a 100%
    );
}

/* Vein: glow morbido che sanguina dal basso del deck verso la plancia */
.gateway-cinema-stack--sacred::after {
  content: '';
  position: absolute;
  bottom: -24px;
  left: 15%;
  right: 15%;
  height: 56px;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse 80% 100% at 50% 0%,
    rgba(255, 255, 255, 0.025) 0%,
    transparent 100%
  );
  filter: blur(10px);
}

/* -- Hologram Slot ? overlay sul cinema-stack: ologramma nel vuoto del triangolo - */
.gateway-hologram-slot {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  z-index: 0;
}

/* -- Hologram Projection ? hover profili (ovale legacy) ------------------- */
.gateway-hologram-projection {
  position: absolute;
  left: 50%;
  top: 74%;
  transform: translate(-50%, -50%);
  width: 100%;
  max-width: 410px;
  aspect-ratio: 16 / 9;
  border-radius: 0;
  overflow: visible;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  -webkit-mask-image: radial-gradient(ellipse 88% 80% at 50% 50%, black 5%, transparent 58%);
  mask-image: radial-gradient(ellipse 88% 80% at 50% 50%, black 5%, transparent 58%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  filter: drop-shadow(0 0 32px var(--gw-amethyst-glow));
}

.gateway-hologram-projection.is-open {
  opacity: 1;
}

/* Hover Vertex: preview 16:9 (solo fallback, quando non ancorata alla card) */
.gateway-hologram-projection.is-vertex-hover-preview:not(.is-vertex-hover-in-card) {
  top: 50% !important;
  bottom: auto !important;
  left: 50% !important;
  width: min(72vw, 520px) !important;
  max-width: calc(100% - 2 * var(--gw-shell-pad-x, 28px)) !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  border-radius: 10px !important;
  transform: translate(-50%, -50%) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: none !important;
  pointer-events: none !important;
  z-index: 6 !important;
  transition: opacity 0.28s ease !important;
  border: 1px solid color-mix(in srgb, var(--gw-cyan) 14%, transparent);
  overflow: hidden;
}

/* Vertex hover: preview dentro la card (JS appendChild su .gateway-visual-card) */
.gateway-visual-card.is-vertex-hover-host {
  overflow: hidden;
}

.gateway-visual-card.is-vertex-hover-host > .gateway-hologram-projection.is-vertex-hover-preview.is-vertex-hover-in-card {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: unset !important;
  transform: none !important;
  border-radius: 10px !important;
  border: none !important;
  z-index: 3 !important;
  opacity: 1 !important;
  pointer-events: none !important;
  filter: none !important;
}

.gateway-visual-card.is-vertex-hover-host .gateway-visual-card__thumb {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

.gateway-visual-card.is-vertex-hover-host .gateway-visual-card__overlay {
  z-index: 4;
  pointer-events: none;
}

.gateway-visual-card.is-vertex-hover-host
  > .gateway-hologram-projection.is-vertex-hover-in-card
  .gateway-hologram-projection__inner::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0.28;
  background: repeating-linear-gradient(
    -14deg,
    rgba(255, 255, 255, 0.02) 0 1px,
    transparent 1px 4px
  );
  mix-blend-mode: overlay;
  z-index: 1;
}

.gateway-visual-card.is-vertex-hover-host
  > .gateway-hologram-projection.is-vertex-hover-in-card
  .gateway-hologram-projection__inner,
.gateway-visual-card.is-vertex-hover-host
  > .gateway-hologram-projection.is-vertex-hover-in-card
  .gateway-hologram-projection__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1 !important;
  border-radius: 10px;
}

.gateway-hologram-projection.is-vertex-hover-preview .gateway-hologram-projection__inner {
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
}

.gateway-cinema-stack--sacred .gateway-hologram-projection.is-vertex-hover-preview .gateway-hologram-projection__video,
.gateway-hologram-projection.is-vertex-hover-preview .gateway-hologram-projection__video {
  filter: grayscale(0.15) brightness(1.12) contrast(1.06);
  border-radius: 0;
}

/* Hover Vertex: glow solo quando resta in fallback (mai in-card). */
.gateway-cinema-stack--sacred .gateway-hologram-projection.is-vertex-hover-preview.is-open:not(.is-vertex-hover-in-card),
.gateway-cinema-stack--sacred .gateway-hologram-projection.is-vertex-hover-preview.is-open.is-ready:not(.is-vertex-hover-in-card) {
  opacity: 1 !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  filter: none !important;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-vertex-hover-preview.is-open.is-ready {
  opacity: 1 !important;
}

#hologram-projection[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* -- Holo-cinema mondiale (M1/M2) ? schermo panoramico sopra Technical Deck - */
.gateway-cinema-stack--sacred .gateway-hologram-slot {
  z-index: 1;
}

.gateway-cinema-stack--sacred .gateway-hologram-projection {
  top: auto;
  bottom: clamp(14px, 2.2vh, 28px);
  width: min(78vw, 760px);
  max-width: calc(100% - 2 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  max-height: clamp(148px, 22vh, 248px);
  aspect-ratio: 2.35 / 1;
  height: auto;
  border-radius: 16px;
  transform: translate(-50%, -15px);
  opacity: 0;
  -webkit-mask-image: none;
  mask-image: none;
  filter: none;
  transition: none;
}

.gateway-cinema-stack--sacred .gateway-hologram-projection.is-project-active,
.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-open {
  opacity: 1;
  transform: translate(-50%, 0);
  transition:
    opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1),
    transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Profondit? di campo ? Vertex e Visual row sfocati quando il cinema ? attivo */
.gateway-cinema-stack--sacred .gateway-row__label,
.gateway-cinema-stack--sacred .gateway-carousel__vertex,
.gateway-cinema-stack--sacred .gateway-carousel__base--left,
.gateway-cinema-stack--sacred .gateway-carousel__base--right,
.gateway-cinema-stack--sacred .gateway-carousel__core {
  transition: filter 0.4s ease, opacity 0.4s ease;
}

/* PALCO-ATRIO-A: corridoio leggero; focal (create ? vertex in_corso) esclusi */
.gateway-cinema-stack--sacred.is-project-active .gateway-row__label,
.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__base--left,
.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__base--right {
  filter: blur(2px);
  opacity: 0.78;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__core:not(:has(.gateway-visual-card--create)) {
  filter: blur(2px);
  opacity: 0.78;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__core:has(.gateway-visual-card--create) {
  filter: none;
  opacity: 1;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__vertex:not(:has(.gateway-visual-card--pulse)) {
  filter: blur(2px);
  opacity: 0.78;
  transform: translateY(clamp(-14px, -1.15vh, -18px));
  pointer-events: auto;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__vertex:has(.gateway-visual-card--pulse) {
  filter: none;
  opacity: 1;
  transform: translateY(clamp(-14px, -1.15vh, -18px));
  pointer-events: auto;
}

/* Void Palco: mondo in memoria ma film chiuso ? Delta nitido (no DOF legacy) */
body[data-gateway-film="void"] .gateway-cinema-stack--sacred.is-project-active .gateway-row__label,
body[data-gateway-film="void"] .gateway-cinema-stack--sacred.is-project-active .gateway-carousel__base--left,
body[data-gateway-film="void"] .gateway-cinema-stack--sacred.is-project-active .gateway-carousel__base--right,
body[data-gateway-film="void"] .gateway-cinema-stack--sacred.is-project-active .gateway-carousel__core,
body[data-gateway-film="void"] .gateway-cinema-stack--sacred.is-project-active .gateway-carousel__vertex {
  filter: none;
  opacity: 1;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__vertex:hover,
.gateway-cinema-stack--sacred.is-project-active .gateway-carousel__vertex:focus-within {
  filter: blur(0);
  opacity: 1;
  z-index: 120;
}

/* Cinema attivo: hit-test solo sullo schermo holo (no click-through su basi/vertex sfocati) */
.gateway-cinema-stack--sacred.is-project-active > .gateway-hologram-slot {
  z-index: 3;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-visual-row .gateway-carousel > li {
  pointer-events: none;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-visual-row .gateway-carousel > li.gateway-carousel__vertex {
  pointer-events: auto;
}

.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-project-active:not(.is-vertex-hover-preview),
.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-open:not(.is-vertex-hover-preview) {
  pointer-events: auto;
  z-index: 4;
}

.gateway-cinema-stack--sacred.is-project-active
  .gateway-hologram-slot
  > .gateway-hologram-projection.is-vertex-hover-preview:not(.is-vertex-hover-in-card) {
  /* Preview vertex deve vivere nella card: fallback neutro per evitare flash orizzontali. */
  opacity: 0 !important;
  filter: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.gateway-cinema-stack--sacred .gateway-hologram-projection__inner {
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--gw-glass-border);
  border-top: 1px solid var(--gw-glass-border-top);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 0 48px rgba(0, 0, 0, 0.55);
  transition: none;
}

.gateway-cinema-stack--sacred .gateway-hologram-projection.is-project-active .gateway-hologram-projection__inner,
.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-open .gateway-hologram-projection__inner {
  background: rgba(0, 0, 0, 0.82);
  transition: background-color 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.gateway-cinema-stack--sacred .gateway-hologram-projection[data-world-slot='m1'] .gateway-hologram-projection__inner {
  border-color: color-mix(in srgb, var(--gw-cyan) 26%, rgba(255, 255, 255, 0.06));
  box-shadow:
    0 0 36px rgba(0, 242, 255, 0.11),
    0 10px 36px rgba(0, 0, 0, 0.42),
    inset 0 0 32px rgba(0, 242, 255, 0.05);
}

.gateway-cinema-stack--sacred .gateway-hologram-projection[data-world-slot='m2'] .gateway-hologram-projection__inner {
  border-color: color-mix(in srgb, var(--gw-amethyst) 28%, rgba(255, 255, 255, 0.06));
  box-shadow:
    0 0 36px rgba(124, 58, 237, 0.14),
    0 10px 36px rgba(0, 0, 0, 0.42),
    inset 0 0 32px rgba(124, 58, 237, 0.06);
}

/* Mondo attivo ? bordo holo unificato smeraldo (sovrascrive m1/m2) */
.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection__inner,
.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-project-active .gateway-hologram-projection__inner,
.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-open .gateway-hologram-projection__inner,
.gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection[data-world-slot] .gateway-hologram-projection__inner {
  border-color: color-mix(in srgb, var(--gw-world-accent) 30%, rgba(255, 255, 255, 0.06));
  box-shadow:
    0 0 40px color-mix(in srgb, var(--gw-world-accent) 14%, transparent),
    0 10px 36px rgba(0, 0, 0, 0.42),
    inset 0 0 32px color-mix(in srgb, var(--gw-world-accent) 7%, transparent);
}

.gateway-cinema-stack--sacred .gateway-hologram-projection__video {
  border-radius: 16px;
}

/* Overlay navigazione interna holo-cinema */
.gateway-holo-cinema-ui {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(6px, 0.9vh, 10px);
  padding: clamp(10px, 1.4vh, 16px) clamp(14px, 2vw, 20px);
  pointer-events: none;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(0, 0, 0, 0.35) 55%,
    rgba(0, 0, 0, 0.78) 100%
  );
}

.gateway-holo-cinema-ui[hidden] {
  display: none !important;
}

.gateway-holo-cinema-ui__meta {
  position: relative;
  z-index: 11;
  margin: 0;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(248, 252, 255, 0.72);
  opacity: 0.65;
  text-align: center;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gateway-holo-cinema-ui__enter {
  position: relative;
  z-index: 12;
  pointer-events: auto;
  margin-top: clamp(4px, 0.6vh, 8px);
  font-family: var(--gw-font-ui);
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-decoration: none;
  text-transform: none;
  opacity: 0.48;
  transition: opacity 0.28s ease, color 0.28s ease, text-shadow 0.28s ease;
}

.gateway-holo-cinema-ui[data-world-slot='m1'] .gateway-holo-cinema-ui__enter {
  color: var(--gw-cyan);
}

.gateway-holo-cinema-ui[data-world-slot='m2'] .gateway-holo-cinema-ui__enter {
  color: color-mix(in srgb, var(--gw-amethyst) 82%, var(--gw-cyan));
}

.gateway-holo-cinema-ui[data-world-slot='m1'] .gateway-holo-cinema-ui__enter:hover {
  opacity: 0.95;
  text-shadow: 0 0 14px rgba(0, 242, 255, 0.35);
}

.gateway-holo-cinema-ui[data-world-slot='m2'] .gateway-holo-cinema-ui__enter:hover {
  opacity: 0.95;
  text-shadow: 0 0 14px rgba(124, 58, 237, 0.35);
}

.gateway-holo-cinema-ui__enter.is-nav-locked {
  pointer-events: none;
  opacity: 0.22;
  cursor: default;
}

/* Holo profile rail v0 ? ruota nel frame cinema; ADR 005.1 velo sotto le card */
.gateway-holo-profiles-rail-wrap {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(6px, 1vw, 12px);
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  padding: clamp(6px, 0.8vh, 10px) clamp(4px, 0.6vw, 8px);
  pointer-events: auto;
  isolation: isolate;
}

/* Velo orizzontale ? stesso materiale del deck; le card scorrono sopra */
.gateway-holo-profiles-rail-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 10px;
  background: var(--gw-glass-surface-bg);
  border: 1px solid var(--gw-glass-border);
  border-top: 1px solid var(--gw-glass-border-top);
  backdrop-filter: var(--gw-glass-surface-blur);
  -webkit-backdrop-filter: var(--gw-glass-surface-blur);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 8px 28px rgba(0, 0, 0, 0.32);
  pointer-events: none;
}

/* Vignette laterali sul velo ? non mask sul DOM delle card */
.gateway-holo-profiles-rail-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 10px;
  pointer-events: none;
  background: linear-gradient(
    to right,
    rgba(4, 6, 10, 0.72) 0%,
    transparent 16%,
    transparent 84%,
    rgba(4, 6, 10, 0.72) 100%
  );
}

.gateway-holo-profiles-rail-wrap[hidden] {
  display: none !important;
}

.gateway-holo-profiles-rail-wrap.is-loading .gateway-holo-rail-nav {
  visibility: hidden;
  pointer-events: none;
}

.gateway-holo-profiles-rail {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(8px, 1.2vw, 14px);
  flex: 1 1 auto;
  min-width: 0;
  min-height: 36px;
  outline: none;
}

.gateway-holo-profiles-rail.is-loading {
  align-items: center;
  justify-content: center;
}

.gateway-holo-profiles-rail__loading {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.35em;
  color: rgba(248, 252, 255, 0.45);
  animation: gateway-holo-rail-pulse 1.1s ease-in-out infinite;
}

@keyframes gateway-holo-rail-pulse {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 0.9; }
}

.gateway-holo-rail-nav {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 6px;
  border: 1px solid var(--gw-glass-border);
  border-top: 1px solid var(--gw-glass-border-top);
  background: color-mix(in srgb, var(--gw-glass-surface-bg) 88%, rgba(0, 0, 0, 0.4));
  color: rgba(248, 252, 255, 0.55);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.gateway-holo-rail-nav:hover {
  color: rgba(248, 252, 255, 0.92);
  border-color: rgba(255, 255, 255, 0.22);
}

.gateway-holo-cinema-ui[data-world-slot='m1'] .gateway-holo-rail-nav:hover {
  border-color: color-mix(in srgb, var(--gw-cyan) 45%, rgba(255, 255, 255, 0.15));
}

.gateway-holo-cinema-ui[data-world-slot='m2'] .gateway-holo-rail-nav:hover {
  border-color: color-mix(in srgb, var(--gw-amethyst) 45%, rgba(255, 255, 255, 0.15));
}

.holo-profile-card {
  position: relative;
  z-index: 2;
  flex: 0 1 min(28%, 120px);
  min-width: 0;
  padding: clamp(6px, 0.8vh, 8px) clamp(8px, 1vw, 10px);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.45);
  color: rgba(248, 252, 255, 0.5);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 0.52rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto;
  opacity: 0.35;
  transform: scale(0.85) translateY(10px);
  filter: blur(2px);
  transition:
    opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1),
    transform 0.4s cubic-bezier(0.25, 1, 0.5, 1),
    filter 0.4s cubic-bezier(0.25, 1, 0.5, 1),
    box-shadow 0.4s cubic-bezier(0.25, 1, 0.5, 1),
    border-color 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.holo-profile-card__name {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.holo-profile-card.is-center {
  flex: 0 1 min(36%, 160px);
  opacity: 1;
  transform: scale(1) translateY(-12px);
  filter: blur(0);
  cursor: default;
  pointer-events: none;
  border-color: rgba(255, 255, 255, 0.14);
}

.gateway-holo-cinema-ui[data-world-slot='m1'] .holo-profile-card.is-center {
  color: var(--gw-cyan);
  box-shadow: inset 0 0 15px rgba(0, 242, 255, 0.12);
  border-color: color-mix(in srgb, var(--gw-cyan) 35%, rgba(255, 255, 255, 0.1));
}

.gateway-holo-cinema-ui[data-world-slot='m2'] .holo-profile-card.is-center {
  color: color-mix(in srgb, var(--gw-amethyst) 88%, #fff);
  box-shadow: inset 0 0 15px rgba(124, 58, 237, 0.14);
  border-color: color-mix(in srgb, var(--gw-amethyst) 38%, rgba(255, 255, 255, 0.1));
}

.gateway-cinema-stack--sacred.is-project-active .holo-profile-card.is-center,
.gateway-cinema-stack--sacred.is-project-active .gateway-holo-cinema-ui .holo-profile-card.is-center {
  color: color-mix(in srgb, var(--gw-world-accent) 76%, #fff);
  box-shadow: inset 0 0 15px color-mix(in srgb, var(--gw-world-accent) 11%, transparent);
  border-color: color-mix(in srgb, var(--gw-world-accent) 30%, rgba(255, 255, 255, 0.1));
}

.gateway-cinema-stack--sacred.is-project-active .gateway-holo-cinema-ui__enter,
.gateway-cinema-stack--sacred.is-project-active .gateway-holo-cinema-ui[data-world-slot] .gateway-holo-cinema-ui__enter {
  color: color-mix(in srgb, var(--gw-world-accent) 70%, var(--gw-text));
}

.gateway-cinema-stack--sacred.is-project-active .gateway-holo-cinema-ui__enter:hover,
.gateway-cinema-stack--sacred.is-project-active .gateway-holo-cinema-ui[data-world-slot] .gateway-holo-cinema-ui__enter:hover {
  opacity: 0.95;
  text-shadow: 0 0 14px color-mix(in srgb, var(--gw-world-accent) 28%, transparent);
}

.gateway-cinema-stack--sacred.is-project-active .gateway-holo-rail-nav:hover,
.gateway-cinema-stack--sacred.is-project-active .gateway-holo-cinema-ui[data-world-slot] .gateway-holo-rail-nav:hover {
  border-color: color-mix(in srgb, var(--gw-world-accent) 36%, rgba(255, 255, 255, 0.15));
}

.holo-profile-card.is-adjacent:hover {
  opacity: 0.55;
  filter: blur(1px);
}

.gateway-hologram-projection__inner {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  background: #000;
}

.gateway-hologram-projection__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.15) brightness(1.12) contrast(1.06);
  opacity: 0;
  border-radius: 0;
  transition: opacity 0.45s ease, filter 0.35s ease;
}

.gateway-hologram-projection.is-ready .gateway-hologram-projection__video {
  opacity: 0.72;
}

.gateway-hologram-projection__tint {
  position: absolute;
  inset: 0;
  border-radius: 0;
  mix-blend-mode: overlay;
  pointer-events: none;
}

/* (Niente placeholder/shimmer: nero OLED se il video non ? pronto ? vedi JS) */

.gateway-hologram-projection[data-accent="active"] .gateway-hologram-projection__tint {
  background: color-mix(in srgb, var(--t1-state-active) 6%, transparent);
}
.gateway-hologram-projection[data-accent="ready"] .gateway-hologram-projection__tint {
  background: color-mix(in srgb, var(--t1-state-ready) 5%, transparent);
}
.gateway-hologram-projection[data-accent="pending"] .gateway-hologram-projection__tint {
  background: color-mix(in srgb, var(--t1-state-pending) 5%, transparent);
}

/* prefers-reduced-motion ? ologramma: consolidato nel blocco unico pi? sotto */

/* Accenti card: stato operativo ? token globale boosted per il nero gateway */
.gateway-visual-card.gateway-visual-card--sofia {
  --gw-card-accent: var(--gw-state-ready);
}

.gateway-visual-card.gateway-visual-card--marco {
  --gw-card-accent: var(--gw-state-pending);
}

.gateway-visual-card.gateway-visual-card--elena {
  --gw-card-accent: var(--gw-state-active);
}

/* Gradient thumb: derivati da token stato ? boosted per leggibilit? sul nero gateway */
.gateway-visual-card--sofia .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--gw-state-ready) 28%, #060c0a) 0%,
    color-mix(in srgb, var(--gw-state-ready) 16%, #040d0b) 42%,
    #040808 100%
  );
}

.gateway-visual-card--marco .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    #100e08 0%,
    color-mix(in srgb, var(--gw-state-pending) 48%, #1e1406) 42%,
    #0a0804 100%
  );
}

.gateway-visual-card--elena .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    #0e0c16 0%,
    color-mix(in srgb, var(--gw-state-active) 32%, #140e28) 48%,
    color-mix(in srgb, var(--gw-state-active) 14%, #06040c) 100%
  );
}

.gateway-row__label {
  font-family: var(--gw-font-tech);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gw-cyan);
  flex: 0 0 auto;
  margin: clamp(10px, 1.35vh, 16px) 0 clamp(10px, 1.35vh, 16px);
  opacity: 0.9;
}

/* ????????????????????????????????????????????????????????????????????????? */
/* -- LAYOUT AGNOSTICO ? cambia classe sul <section> parent per swappare       */
/*    .gw-layout--delta  ?  triangolo Delta con vuoto centrale                */
/*    .gw-layout--row    ?  fila orizzontale (definita sotto, pronta all'uso) */
/* ????????????????????????????????????????????????????????????????????????? */

/* -- Layout Delta -----------------------------------------------------------
   Vertice in riga propria full-span ? stesso width delle basi (mai schiacciato
   da colonne strette). Colonna centrale riga 2 = vuoto intenzionale ("diamante").
   -------------------------------------------------------------------------- */
.gw-layout--delta .gateway-carousel {
  flex: 1 1 auto;
  min-height: 0;
  /* Bleed orizzontale: stesso offset del Technical Deck ? Sofia/Marco verso i bordi schermo */
  width: calc(100% + 2 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  margin-left: calc(-1 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  margin-right: calc(-1 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  display: grid;
  /*  Colonne laterali = esatto spessore della card ? la base tocca il bordo esterno.
      Colonna centrale = tutto lo spazio residuo = il grande vuoto del diamante.       */
  grid-template-columns: min(32vw, 340px) 1fr min(32vw, 340px);
  grid-template-rows: auto auto;
  grid-template-areas:
    "vertex vertex vertex"
    "left   .      right";
  column-gap: 0;
  row-gap: clamp(22px, 4vh, 48px);
  list-style: none;
  overflow: visible;
  align-content: start;
  margin-top: 0;
  margin-bottom: clamp(20px, 3.5vh, 40px);
}

/* Simmetria dimensionale assoluta: tutte e tre le card con lo stesso width */
.gw-layout--delta .gateway-carousel__vertex,
.gw-layout--delta .gateway-carousel__base--left,
.gw-layout--delta .gateway-carousel__base--right {
  width: min(32vw, 340px);
  flex-shrink: 0;
}

/* Vertice: micro-innalzamento ? equidistante tra neon hero e label Visual row */
.gw-layout--delta .gateway-carousel__vertex {
  grid-area: vertex;
  justify-self: center;
  transform: translateY(clamp(-14px, -1.15vh, -18px));
}

/* Basi: le colonne laterali sono esattamente la larghezza della card.
   justify-self: stretch le fa riempire la colonna ? bordo esterno = bordo schermo */
.gw-layout--delta .gateway-carousel__base--left {
  grid-area: left;
  justify-self: stretch;
  /* ~20px pi? in alto rispetto al precedente: pilastri staccati dal Technical Deck */
  transform: translateY(calc(clamp(14px, 2.2vh, 28px) - 20px));
}

.gw-layout--delta .gateway-carousel__base--right {
  grid-area: right;
  justify-self: stretch;
  transform: translateY(calc(clamp(14px, 2.2vh, 28px) - 20px));
}

/* -- Layout Riga ? swap alternativo: metti .gw-layout--row sul <section> --- */
.gw-layout--winged .gateway-carousel {
  flex: 1 1 auto;
  min-height: 0;
  /* Bleed: triade con ali pi? esterne verso i bordi */
  width: calc(100% + 2 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  margin-left: calc(-1 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  margin-right: calc(-1 * var(--gw-shell-pad-x, clamp(28px, 5vw, 60px)));
  max-width: none;
  display: grid;
  grid-template-columns: minmax(280px, min(32vw, 340px)) 1fr minmax(280px, min(32vw, 340px));
  grid-template-rows: auto auto;
  grid-template-areas:
    "create create create"
    "gallery vertex space";
  column-gap: clamp(18px, 2.2vw, 34px);
  row-gap: clamp(14px, 2.2vh, 24px);
  list-style: none;
  overflow: visible;
  align-content: start;
  margin-top: 0;
  margin-bottom: clamp(20px, 3.5vh, 40px);
}

.gw-layout--winged .gateway-carousel__base--gallery {
  grid-area: gallery;
  justify-self: start;
  width: min(32vw, 340px);
  transform: translateY(calc(clamp(14px, 2.2vh, 28px) - 18px));
}

.gw-layout--winged .gateway-carousel__base--right {
  grid-area: space;
  justify-self: end;
  width: min(32vw, 340px);
  transform: translateY(calc(clamp(14px, 2.2vh, 28px) - 18px));
}

.gw-layout--winged .gateway-carousel__core {
  grid-area: create;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(32vw, 340px);
  justify-self: center;
  transform: translateY(clamp(-24px, -2.1vh, -32px));
}

.gw-layout--winged .gateway-carousel__vertex {
  grid-area: vertex;
  justify-self: center;
  width: min(32vw, 340px);
  transform: translateY(calc(clamp(14px, 2.2vh, 28px) - 18px));
}

.gw-layout--row .gateway-carousel {
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(12px, 2vw, 24px);
  list-style: none;
  overflow: visible;
  margin-top: clamp(4px, 0.8vh, 12px);
  margin-bottom: clamp(32px, 5vh, 64px);
}
.gw-layout--row .gateway-carousel > li {
  flex: 0 0 auto;
  width: min(32vw, 340px);
}

/* -- Fallback sicuro: senza classe layout il carosello resta in fila orizzontale */
.gateway-carousel {
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(12px, 2vw, 24px);
  overflow: visible;
  margin: 0;
  padding: 0;
}

/* -- Propriet? comuni a <li> in qualsiasi layout -------------------------- */
.gateway-carousel > li {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 0;
}

.gateway-carousel > li:hover {
  z-index: 100;
}

/* -- Mobile = 900px: colonna singola, trasform reset (touch only; PC finestra stretta → scroll) */
@media (max-width: 900px) and not ((hover: hover) and (pointer: fine)) {
  .gw-layout--delta .gateway-carousel {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "vertex"
      "left"
      "right";
    row-gap: clamp(16px, 3vh, 28px);
    margin-bottom: clamp(28px, 5vh, 56px);
  }

  .gw-layout--delta .gateway-carousel__vertex {
    justify-self: center;
    width: min(92vw, 340px);
    transform: none;
  }

  .gw-layout--delta .gateway-carousel__base--left {
    justify-self: center;
    width: min(92vw, 340px);
    transform: none;
  }

  .gw-layout--delta .gateway-carousel__base--right {
    justify-self: center;
    width: min(92vw, 340px);
    transform: none;
  }

  .gw-layout--winged .gateway-carousel {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
      "create"
      "vertex"
      "gallery"
      "space";
    row-gap: clamp(16px, 3vh, 28px);
    margin-bottom: clamp(28px, 5vh, 56px);
  }

  .gw-layout--winged .gateway-carousel__core,
  .gw-layout--winged .gateway-carousel__vertex,
  .gw-layout--winged .gateway-carousel__base--gallery,
  .gw-layout--winged .gateway-carousel__base--right {
    justify-self: center;
    width: min(92vw, 340px);
    transform: none;
  }
}

/* Link = contenitore 16:9 della cella griglia; card riempie il link */
.gateway-visual-row a.gateway-visual-cardlink {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  text-decoration: none;
  text-underline-offset: 0;
  color: inherit;
  border-radius: 10px;
  overflow: visible;
  position: relative;
  z-index: 0;
}

.gateway-visual-row a.gateway-visual-cardlink:visited,
.gateway-visual-row a.gateway-visual-cardlink:active {
  text-decoration: none;
  color: inherit;
}

.gateway-visual-cardlink:focus-visible {
  outline: 2px solid var(--gw-cyan);
  outline-offset: 4px;
}

/* Console Delta: evita doppio alone (outline su link + box-shadow su card) dopo Esc ?
 * focus-within sul <li> gi? solleva e illumina .gateway-visual-card; :focus-visible
 * sul wrapper resterebbe offset rispetto al bordo interno. */
.gw-layout--delta .gateway-carousel .gateway-visual-cardlink:focus-visible {
  outline: none;
}

.gateway-visual-card {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: 10px;
  overflow: visible;
  border: 0.5px solid rgba(255, 255, 255, 0.06);
  background: linear-gradient(145deg, #12151c 0%, #0c0d12 100%);
  cursor: pointer;
  transform: translateZ(0) scale(1);
  transform-origin: center center;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  isolation: isolate;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 0 0 0.5px color-mix(in srgb, var(--gw-card-accent) 16%, transparent),
    0 4px 28px rgba(0, 0, 0, 0.45),
    0 0 22px color-mix(in srgb, var(--gw-card-accent) 10%, transparent);
}

/* Compat: se si usa .profile-card come alias della card nel markup */
.gateway-visual-row a.gateway-visual-cardlink > .profile-card {
  width: 100%;
  height: 100%;
  min-height: 100%;
  transform: translateZ(0) scale(1);
  transform-origin: center center;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Hover/Focus ? nessuno scale: solo lift verticale + glow (tutte e tre simmetriche) */
@media (hover: hover) and (pointer: fine) {
  .gateway-carousel > li:hover > a.gateway-visual-cardlink {
    z-index: 100;
  }

  .gw-layout--delta .gateway-carousel > li:hover .gateway-visual-card,
  .gw-layout--delta .gateway-carousel > li:hover .profile-card {
    transform: translateZ(0) translateY(-8px);
    border-color: rgba(255, 255, 255, 0.10);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.10),
      0 0 18px color-mix(in srgb, var(--gw-card-accent), transparent 46%),
      0 0 36px color-mix(in srgb, var(--gw-card-accent), transparent 72%),
      0 12px 28px rgba(0, 0, 0, 0.5);
  }

  .gw-layout--delta .gateway-carousel__base--left:hover .gateway-visual-card.gateway-visual-card--sofia {
    box-shadow:
      0 0 14px color-mix(in srgb, var(--gw-card-accent), transparent 54%),
      0 0 30px color-mix(in srgb, var(--gw-card-accent), transparent 84%),
      0 12px 28px rgba(0, 0, 0, 0.5);
  }
}

@keyframes t1-inviti-signal-pulse {
  0%,
  100% {
    opacity: 0.78;
    transform: scale(1);
  }
  50% {
    opacity: 0.96;
    transform: scale(1.06);
  }
}

@keyframes t1-plancia-inviti-signal-pulse {
  0%,
  100% {
    opacity: 0.82;
    transform: scale(1);
    box-shadow:
      0 0 4px color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 42%, transparent),
      0 0 10px color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 22%, transparent);
  }
  50% {
    opacity: 1;
    transform: scale(1.12);
    box-shadow:
      0 0 8px color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 72%, transparent),
      0 0 18px color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 38%, transparent);
  }
}

.gateway-coach-toast-host {
  position: fixed;
  top: clamp(74px, 9vh, 110px);
  right: clamp(14px, 2vw, 28px);
  z-index: 120;
  display: flex;
  flex-direction: column;
  gap: 8px;
  pointer-events: none;
}

.gateway-coach-toast-host--notices {
  pointer-events: auto;
  z-index: 125;
}

.gateway-coach-toast {
  min-width: min(320px, calc(100vw - 28px));
  max-width: min(420px, calc(100vw - 28px));
  padding: 11px 14px;
  border-radius: 11px;
  border: 1px solid color-mix(in srgb, var(--gw-cyan) 46%, rgba(255, 255, 255, 0.16));
  background:
    radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--gw-cyan) 18%, transparent), transparent 56%),
    color-mix(in srgb, rgba(7, 12, 24, 0.94) 84%, var(--gw-cyan) 16%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    0 12px 30px rgba(0, 0, 0, 0.44);
  color: rgba(239, 248, 255, 0.96);
  font-family: var(--gw-font-mono);
  font-size: clamp(0.74rem, 0.68rem + 0.22vw, 0.82rem);
  letter-spacing: 0.013em;
  line-height: 1.42;
  opacity: 0;
  transform: translateY(-7px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.gateway-coach-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.gateway-coach-notice {
  min-width: min(320px, calc(100vw - 28px));
  max-width: min(420px, calc(100vw - 28px));
  padding: 12px 12px 11px 14px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #c8daf0) 42%, rgba(255, 255, 255, 0.14));
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--t1-palco-sessions-frost, #a8b8c8) 22%, transparent), transparent 58%),
    color-mix(in srgb, rgba(8, 12, 20, 0.94) 82%, var(--t1-palco-sessions-frost, #a8b8c8) 18%);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #d8e8ff) 14%, transparent),
    0 14px 34px rgba(0, 0, 0, 0.48);
  color: color-mix(in srgb, #f0f6fc 94%, var(--t1-palco-sessions-frost-bright, #c8daf0));
  font-family: var(--gw-font-ui, 'Inter', sans-serif);
  font-size: clamp(0.78rem, 0.72rem + 0.22vw, 0.86rem);
  line-height: 1.45;
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 200ms ease, transform 200ms ease;
}

.gateway-coach-notice.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.gateway-coach-notice__msg {
  margin: 0;
  padding-right: 4px;
}

.gateway-coach-notice__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 10px;
}

.gateway-coach-notice__cta {
  font: inherit;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  border-radius: 8px;
  padding: 0.38rem 0.72rem;
  border: 1px solid color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #c8daf0) 38%, transparent);
  background: color-mix(in srgb, var(--t1-palco-sessions-frost, #a8b8c8) 16%, rgba(0, 0, 0, 0.35));
  color: color-mix(in srgb, #f4f8fc 92%, var(--t1-palco-sessions-frost-bright, #c8daf0));
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.gateway-coach-notice__cta:hover,
.gateway-coach-notice__cta:focus-visible {
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #d8e8ff) 52%, transparent);
  box-shadow: 0 0 14px color-mix(in srgb, var(--t1-palco-sessions-frost, #a8b8c8) 32%, transparent);
}

.gateway-coach-notice__close {
  font: inherit;
  font-size: 1rem;
  line-height: 1;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, #fff 10%, transparent);
  background: color-mix(in srgb, #fff 4%, transparent);
  color: rgba(220, 228, 238, 0.82);
  transition: border-color 0.16s ease, color 0.16s ease;
}

.gateway-coach-notice__close:hover,
.gateway-coach-notice__close:focus-visible {
  border-color: color-mix(in srgb, #fff 22%, transparent);
  color: rgba(248, 252, 255, 0.96);
}

.gateway-carousel > li:focus-within > a.gateway-visual-cardlink {
  z-index: 100;
}

.gw-layout--delta .gateway-carousel > li:focus-within .gateway-visual-card,
.gw-layout--delta .gateway-carousel > li:focus-within .profile-card {
  transform: translateZ(0) translateY(-8px);
  border-color: color-mix(in srgb, var(--gw-card-accent) 54%, rgba(255, 255, 255, 0.1));
  box-shadow:
    0 0 18px color-mix(in srgb, var(--gw-card-accent), transparent 46%),
    0 0 36px color-mix(in srgb, var(--gw-card-accent), transparent 72%),
    0 12px 28px rgba(0, 0, 0, 0.5);
}

.gw-layout--delta .gateway-carousel__base--left:focus-within .gateway-visual-card.gateway-visual-card--sofia {
  box-shadow:
    0 0 14px color-mix(in srgb, var(--gw-card-accent), transparent 54%),
    0 0 30px color-mix(in srgb, var(--gw-card-accent), transparent 84%),
    0 12px 28px rgba(0, 0, 0, 0.5);
}

.gateway-visual-card__thumb {
  position: absolute;
  inset: 0;
  border-radius: 10px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  filter: saturate(0.92) contrast(1.02);
  transform: translateZ(0) scale(1);
  backface-visibility: hidden;
  -ms-interpolation-mode: bicubic;
  image-rendering: auto;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media (hover: hover) and (pointer: fine) {
  .gateway-carousel > li:hover .gateway-visual-card__thumb {
    transform: translateZ(0) scale(1);
  }
}

.gateway-carousel > li:focus-within .gateway-visual-card__thumb {
  transform: translateZ(0) scale(1);
}

.gateway-visual-card__overlay {
  position: absolute;
  inset: 0;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(
    to top,
    var(--gw-card-overlay) 0%,
    rgba(4, 6, 10, 0.25) 45%,
    transparent 72%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 14px 16px 16px;
  gap: 8px;
}

.gateway-visual-card__name {
  font-family: var(--gw-font-ui);
  font-size: calc(1.05rem * (var(--t1-font-scale, 1) * 1.2));
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--gw-text);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.8);
}

/* Play icon su vertex card */
.gateway-visual-card__play-cta {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  opacity: 0.55;
  transition: opacity 200ms ease;
  pointer-events: none;
}
.gateway-visual-card__play-icon {
  width: 14px;
  height: 14px;
  fill: rgba(255, 255, 255, 0.88);
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.6));
  margin-left: 2px;
}
/* Su hover la preview holo prende il posto ? il play scompare */
.gateway-carousel > li:hover .gateway-visual-card__play-cta,
.gateway-carousel > li:focus-within .gateway-visual-card__play-cta {
  opacity: 0;
}

/* Fase 3.0.7 ? slot segnaposto (profili < 3) */
.gateway-carousel > li:has(.gateway-visual-card--ghost) {
  pointer-events: none;
}

/* Ghost: stesse dimensioni del link reale (a.gateway-visual-cardlink) ma non cliccabile */
.gateway-visual-cardlink--ghost {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 0;
  border-radius: 10px;
  overflow: visible;
  pointer-events: none;
  cursor: default;
}

.gateway-visual-card.gateway-visual-card--ghost {
  opacity: 0.42;
  filter: saturate(0.75);
}

.gateway-glow-pill--ghost {
  color: rgba(200, 220, 230, 0.55);
  border-color: rgba(120, 160, 180, 0.25);
  background: rgba(10, 20, 30, 0.45);
}

.gateway-glow-pill {
  align-self: flex-start;
  font-family: var(--gw-font-tech);
  font-size: calc(0.58rem * var(--t1-font-scale) * 1.08);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid transparent;
}

.gateway-glow-pill--ready {
  color: color-mix(in srgb, var(--t1-state-ready) 75%, white 25%);
  background: color-mix(in srgb, var(--t1-state-ready) 14%, transparent);
  border-color: color-mix(in srgb, var(--t1-state-ready) 58%, transparent);
  box-shadow:
    0 0 24px var(--gw-status-ready-glow),
    0 0 46px color-mix(in srgb, var(--t1-state-ready) 22%, transparent),
    inset 0 0 18px color-mix(in srgb, var(--t1-state-ready) 10%, transparent);
  text-shadow: 0 0 14px color-mix(in srgb, var(--t1-state-ready) 65%, white 35%);
}

.gateway-glow-pill--pending {
  color: color-mix(in srgb, var(--t1-state-pending) 72%, white 28%);
  background: color-mix(in srgb, var(--t1-state-pending) 14%, transparent);
  border-color: color-mix(in srgb, var(--t1-state-pending) 55%, transparent);
  box-shadow:
    0 0 26px var(--gw-status-pending-glow),
    0 0 48px color-mix(in srgb, var(--t1-state-pending) 22%, transparent),
    inset 0 0 18px color-mix(in srgb, var(--t1-state-pending) 10%, transparent);
  text-shadow: 0 0 16px color-mix(in srgb, var(--t1-state-pending) 62%, white 38%);
}

.gateway-glow-pill--active {
  color: color-mix(in srgb, var(--t1-state-active) 68%, white 32%);
  background: color-mix(in srgb, var(--t1-state-active) 14%, transparent);
  border-color: color-mix(in srgb, var(--t1-state-active) 52%, transparent);
  box-shadow:
    0 0 24px var(--gw-status-active-glow),
    0 0 44px color-mix(in srgb, var(--t1-state-active) 20%, transparent),
    inset 0 0 16px color-mix(in srgb, var(--t1-state-active) 10%, transparent);
  text-shadow: 0 0 14px color-mix(in srgb, var(--t1-state-active) 60%, white 40%);
}

/* ?? Battito clinico (3.0.8) ? classe autonoma --pulse, indipendente da --elena ?? */
/*
 * Il glow non sparisce mai: va da "riposo" (30%) a "battito" (100%).
 * Ciclo 3.8s: inspire lenta ? plateau ? expire ? pausa ? repeat.
 * Nessun transform animato: evita nausea e conflitti con hover.
 * Applicato via JS solo su Vertex con workflow_status === 'in_corso'.
 */
@keyframes gw-heartbeat {
  0%   {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--gw-card-accent) 22%, transparent),
      0 0 12px color-mix(in srgb, var(--gw-card-accent), transparent 72%),
      0 4px 28px rgba(0, 0, 0, 0.45);
  }
  38%  {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--gw-card-accent) 52%, transparent),
      0 0 28px color-mix(in srgb, var(--gw-card-accent), transparent 32%),
      0 0 52px color-mix(in srgb, var(--gw-card-accent), transparent 65%),
      0 4px 28px rgba(0, 0, 0, 0.42);
  }
  55%  {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--gw-card-accent) 44%, transparent),
      0 0 20px color-mix(in srgb, var(--gw-card-accent), transparent 44%),
      0 0 38px color-mix(in srgb, var(--gw-card-accent), transparent 72%),
      0 4px 28px rgba(0, 0, 0, 0.44);
  }
  100% {
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--gw-card-accent) 22%, transparent),
      0 0 12px color-mix(in srgb, var(--gw-card-accent), transparent 72%),
      0 4px 28px rgba(0, 0, 0, 0.45);
  }
}

@keyframes gw-pulse-sustain {
  to {
    box-shadow:
      0 0 26px color-mix(in srgb, var(--gw-card-accent), transparent 34%),
      0 0 52px color-mix(in srgb, var(--gw-card-accent), transparent 62%),
      0 12px 28px rgba(0, 0, 0, 0.5);
  }
}

/* Variante "tight": pre-preview Vertex void ??? blocco VERTEX-PREVIEW-STATE (ADR-010). */
@keyframes gw-pulse-sustain-tight {
  to {
    box-shadow:
      0 0 16px color-mix(in srgb, var(--gw-card-accent), transparent 46%),
      0 0 30px color-mix(in srgb, var(--gw-card-accent), transparent 76%),
      0 10px 24px rgba(0, 0, 0, 0.46);
  }
}

/* Battito attivo: qualsiasi card con --pulse (JS la aggiunge solo su vertex in_corso) */
.gateway-visual-card.gateway-visual-card--pulse {
  animation: gw-heartbeat 3.8s ease-in-out infinite;
}

/* Al hover: battito "sale" verso massima luminosit? anzich? interrompersi di scatto */
.gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--pulse,
.gateway-carousel > li:focus-within .gateway-visual-card.gateway-visual-card--pulse {
  animation: gw-pulse-sustain 0.5s ease-out forwards;
}

/* -- Vertex idle ? nessun in_corso ----------------------------------------- */
.gateway-carousel > li:has(.gateway-visual-card--idle) {
  pointer-events: none;
}

.gateway-visual-cardlink--idle {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 0;
  border-radius: 10px;
  overflow: visible;
  pointer-events: none;
}

.gateway-visual-card.gateway-visual-card--idle {
  --gw-card-accent: var(--gw-text-dim);
  opacity: 0.55;
  background: linear-gradient(160deg,
    rgba(16, 18, 28, 0.55) 0%,
    rgba(8, 10, 16, 0.72) 100%
  );
  border-color: color-mix(in srgb, var(--gw-text-dim) 22%, transparent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.gateway-visual-card--idle .gateway-visual-card__thumb {
  background-image: linear-gradient(135deg, #0c0e14 0%, #111820 100%);
  opacity: 0.85;
}

.gateway-glow-pill--idle {
  color: rgba(180, 190, 210, 0.5);
  border-color: rgba(100, 110, 130, 0.25);
  background: rgba(8, 12, 20, 0.45);
}

/* -- Card "Galleria" (Base sinistra winged) -------------------------------- */
a.gateway-visual-cardlink--gallery,
button.gateway-visual-cardlink--gallery {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 0;
  border-radius: 10px;
  overflow: visible;
  text-decoration: none;
  color: inherit;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.gateway-visual-card.gateway-visual-card--gallery {
  --gw-card-accent: var(--t1-palco-gallery-warm, #e0d8cc);
  opacity: 0.94;
  background:
    radial-gradient(
      ellipse 46% 38% at 20% 16%,
      color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 52%, transparent) 0%,
      transparent 54%
    ),
    linear-gradient(
      168deg,
      color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 26%, #2a2a30) 0%,
      color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 22%, #1e1e22) 52%,
      color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 16%, #1a1a1e) 100%
    );
  border-color: color-mix(in srgb, var(--t1-palco-gallery-rim, #e0d8cc) 36%, rgba(255, 255, 255, 0.06));
  backdrop-filter: blur(10px) saturate(1.02);
  -webkit-backdrop-filter: blur(10px) saturate(1.02);
  box-shadow:
    inset 0 2px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 54%, transparent),
    inset 0 -16px 32px color-mix(in srgb, var(--t1-palco-gallery-warm, #d0c8bc) 12%, transparent),
    0 12px 28px rgba(0, 0, 0, 0.42);
  transition: opacity 0.3s ease, box-shadow 0.3s ease;
}

.gateway-visual-card--gallery .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 38%, #3a3834) 0%,
    color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 20%, #1e1e22) 52%,
    #141418 100%
  );
  opacity: 0.76;
}

.gateway-console-icon--gallery svg {
  width: clamp(28px, 5vw, 40px);
  height: clamp(28px, 5vw, 40px);
  color: color-mix(in srgb, var(--t1-palco-gallery-pearl, #f4efe6) 42%, var(--t1-palco-gallery-warm, #d0c8bc));
  opacity: 0.9;
  transition: opacity 0.3s ease, color 0.3s ease;
}

.gateway-glow-pill--gallery {
  color: color-mix(in srgb, var(--t1-palco-gallery-pearl, #f4efe6) 32%, var(--t1-palco-gallery-warm, #d0c8bc));
  background: color-mix(in srgb, var(--t1-palco-gallery-warm, #d0c8bc) 10%, transparent);
  border-color: color-mix(in srgb, var(--t1-palco-gallery-rim, #d0c8bc) 40%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f4efe6) 22%, transparent),
    inset 0 0 6px color-mix(in srgb, var(--t1-palco-gallery-warm, #d0c8bc) 6%, transparent);
}

@media (hover: hover) and (pointer: fine) {
  .gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--gallery {
    opacity: 1;
    box-shadow:
      inset 0 2px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 64%, transparent),
      inset 0 -14px 30px color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 12%, transparent),
      0 12px 28px rgba(0, 0, 0, 0.46);
  }

  .gateway-carousel > li:hover .gateway-console-icon--gallery svg {
    opacity: 1;
    color: color-mix(in srgb, var(--t1-palco-gallery-pearl, #f4efe6) 32%, var(--t1-palco-gallery-warm, #d0c8bc));
  }
}

.gateway-carousel > li:focus-within .gateway-visual-card.gateway-visual-card--gallery {
  opacity: 1;
}

/* -- Card vetro "Nuovo profilo" (riga 1 winged) ---------------------------- */
button.gateway-visual-cardlink--create {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 0;
  border-radius: 10px;
  overflow: visible;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  color: inherit;
}

.gateway-visual-card.gateway-visual-card--create {
  --gw-card-accent: var(--t1-palco-delta-entry-ice, #b0d8fc);
  --t1-palco-create-pill-chroma: color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 88%, #ffffff);
  border: 0.5px solid color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) var(--t1-palco-create-idle-rim, 15%), transparent);
  opacity: 0.94;
  filter: brightness(1);
  background:
    linear-gradient(
      154deg,
      color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 62%, rgba(2, 16, 32, 0.05)) 0%,
      color-mix(in srgb, #9cc0e8 54%, rgba(2, 12, 28, 0.08)) 100%
    ),
    radial-gradient(
      ellipse 100% 82% at 50% 0%,
      color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 56%, transparent) 0%,
      transparent 62%
    ),
    radial-gradient(
      ellipse 95% 70% at 50% 48%,
      color-mix(in srgb, #9cc0e8 33%, transparent) 0%,
      transparent 58%
    ),
    radial-gradient(
      ellipse 88% 62% at 10% 40%,
      color-mix(in srgb, #9cc0e8 40%, transparent) 0%,
      transparent 54%
    ),
    radial-gradient(
      ellipse 72% 50% at 90% 12%,
      color-mix(in srgb, #b0d8fc 38%, transparent) 0%,
      transparent 52%
    ),
    linear-gradient(
      128deg,
      color-mix(in srgb, #9cc0e8 22%, transparent) 0%,
      color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 16%, transparent) 40%,
      transparent 70%
    ) border-box;
  background-clip: padding-box, padding-box, padding-box, padding-box, padding-box, border-box;
  backdrop-filter: blur(16px) saturate(1.08);
  -webkit-backdrop-filter: blur(16px) saturate(1.08);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 14%, transparent),
    inset 0 -6px 18px color-mix(in srgb, #9cc0e8 10%, transparent),
    0 0 8px color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 8%, transparent),
    0 12px 28px rgba(0, 0, 0, 0.34);
  transition: opacity 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, filter 0.3s ease;
}

.gateway-visual-card--create .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 44%, #a4c4e8) 0%,
    color-mix(in srgb, #9cc0e8 36%, #88b0d8) 52%,
    color-mix(in srgb, #7ca0cc 24%, #70a0c4) 100%
  );
  opacity: 0.52;
}

.gateway-console-icon--create svg {
  width: clamp(28px, 5vw, 40px);
  height: clamp(28px, 5vw, 40px);
  color: color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 82%, #ffffff);
  opacity: 0.9;
  transition: opacity 0.3s ease, color 0.3s ease;
}

.gateway-glow-pill--create {
  color: var(--t1-palco-create-pill-chroma);
  background: color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 18%, rgba(8, 20, 36, 0.42));
  border-color: color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 52%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 24%, transparent),
    0 0 14px color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 16%, transparent);
}

.gateway-visual-card__sub--create {
  display: block;
  font-size: 0.52rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 62%, #98b4d0);
  margin-top: 0.14rem;
}

@media (hover: hover) and (pointer: fine) {
  .gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--create {
    opacity: 0.98;
    filter: brightness(1.03);
    border-color: color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 52%, rgba(255, 255, 255, 0.08));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 38%, transparent),
      inset 0 -10px 26px color-mix(in srgb, var(--t1-palco-delta-entry-ice, #b0d8fc) 12%, transparent),
      0 0 28px color-mix(in srgb, var(--t1-palco-peak-ice, #c4e8ff) 27%, transparent),
      0 16px 34px rgba(0, 0, 0, 0.44);
  }

  .gateway-carousel > li:hover .gateway-console-icon--create svg {
    opacity: 1;
    color: color-mix(in srgb, var(--t1-palco-delta-entry-ice-fill, #e4eef8) 76%, #ffffff);
  }
}

.gateway-carousel > li:focus-within .gateway-visual-card.gateway-visual-card--create {
  opacity: 1;
}

button.gateway-visual-cardlink--create:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--t1-palco-trigger-ice, #e7f2ff) 84%, #fff);
  outline-offset: 3px;
}

/* -- Card "Nuovo Invito" (Base sinistra ? strumento fisso) ----------------- */
button.gateway-visual-cardlink--invite {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 0;
  border-radius: 10px;
  overflow: visible;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  color: inherit;
}

/* Gradiente standby (Marco) ? opacit? ~0.8 */
.gateway-visual-card.gateway-visual-card--invite {
  --gw-card-accent: var(--gw-state-pending);
  opacity: 0.8;
  background: linear-gradient(145deg,
    rgba(20, 18, 12, 0.72) 0%,
    rgba(12, 10, 6, 0.82) 100%
  );
  border-color: color-mix(in srgb, var(--gw-state-pending) 32%, rgba(255,255,255,0.06));
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: opacity 0.3s ease, box-shadow 0.3s ease;
}

.gateway-visual-card--invite .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    #100e08 0%,
    color-mix(in srgb, var(--gw-state-pending) 28%, #1a1206) 48%,
    #0a0804 100%
  );
  opacity: 0.7;
}

/* Icone console (invito + progetti) ? centratura assoluta */
.gateway-console-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
}

.gateway-console-icon--invite svg {
  width: clamp(28px, 5vw, 40px);
  height: clamp(28px, 5vw, 40px);
  color: color-mix(in srgb, var(--gw-state-pending) 72%, white 28%);
  opacity: 0.85;
  transition: opacity 0.3s ease, color 0.3s ease;
}

.gateway-glow-pill--invite {
  color: color-mix(in srgb, var(--gw-state-pending) 68%, white 32%);
  background: color-mix(in srgb, var(--gw-state-pending) 10%, transparent);
  border-color: color-mix(in srgb, var(--gw-state-pending) 36%, transparent);
  box-shadow:
    0 0 14px color-mix(in srgb, var(--gw-state-pending) 24%, transparent),
    inset 0 0 8px color-mix(in srgb, var(--gw-state-pending) 8%, transparent);
}

@media (hover: hover) and (pointer: fine) {
  .gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--invite {
    opacity: 1;
    box-shadow:
      0 0 18px color-mix(in srgb, var(--gw-state-pending), transparent 54%),
      0 0 36px color-mix(in srgb, var(--gw-state-pending), transparent 76%),
      0 12px 28px rgba(0, 0, 0, 0.5);
  }
  .gateway-carousel > li:hover .gateway-console-icon--invite svg {
    opacity: 1;
    color: color-mix(in srgb, var(--gw-state-pending) 88%, white 12%);
  }
}

.gateway-carousel > li:focus-within .gateway-visual-card.gateway-visual-card--invite {
  opacity: 1;
}

/* -- Card Vault/Roster (Base destra) ? vetro cyan, apre overlay Vault ------- */
/* Accetta sia <a> che <button> per la card Vault */
a.gateway-visual-cardlink--projects,
button.gateway-visual-cardlink--projects {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 0;
  border-radius: 10px;
  overflow: visible;
  text-decoration: none;
  color: inherit;
  /* reset pulsante */
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.gateway-visual-card.gateway-visual-card--projects {
  --gw-card-accent: color-mix(in srgb, var(--gw-cyan) 55%, #b8c8d8);
  opacity: 0.88;
  background: linear-gradient(150deg,
    color-mix(in srgb, #1a2838 72%, #8898a8) 0%,
    color-mix(in srgb, #0e141c 85%, #506070) 100%
  );
  border-color: color-mix(in srgb, #a8b8c8 22%, var(--gw-cyan) 18%);
  backdrop-filter: blur(12px) saturate(1.12);
  -webkit-backdrop-filter: blur(12px) saturate(1.12);
  transition: opacity 0.3s ease, box-shadow 0.3s ease;
}

.gateway-visual-card--projects .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, #8898a8 18%, #121820) 0%,
    #141c28 48%,
    #0a0e14 100%
  );
  opacity: 0.82;
}

.gateway-console-icon--projects svg {
  width: clamp(30px, 5.2vw, 42px);
  height: clamp(30px, 5.2vw, 42px);
  color: color-mix(in srgb, var(--gw-cyan) 70%, white 30%);
  opacity: 0.88;
  transition: opacity 0.3s ease, color 0.3s ease;
}

.gateway-glow-pill--projects {
  color: color-mix(in srgb, var(--gw-cyan) 75%, white 25%);
  background: color-mix(in srgb, var(--gw-cyan) 12%, transparent);
  border-color: color-mix(in srgb, var(--gw-cyan) 42%, transparent);
  box-shadow:
    0 0 14px color-mix(in srgb, var(--gw-cyan) 32%, transparent),
    inset 0 0 8px color-mix(in srgb, var(--gw-cyan) 10%, transparent);
}

/* REGIA DELTA V3 ??? T1 Space: blu notte / cobalto siderale */
.gateway-shell--palco .gateway-visual-card.gateway-visual-card--projects {
  --gw-card-accent: var(--t1-palco-space-night-edge, #1a2848);
  background: linear-gradient(
    155deg,
    color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 94%, #0c1428) 0%,
    color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 98%, #060810) 100%
  );
  border: 0.5px solid color-mix(in srgb, var(--t1-palco-space-night-edge, #1a2848) 38%, rgba(255, 255, 255, 0.03));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 5%, transparent),
    inset 0 -20px 44px color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 55%, transparent),
    0 10px 28px rgba(0, 0, 0, 0.44);
  transition: all var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

.gateway-shell--palco .gateway-visual-card--projects .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 90%, #101830) 0%,
    color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 96%, #080c18) 52%,
    #050810 100%
  );
}

.gateway-shell--palco .gateway-console-icon--projects svg {
  color: color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 40%, #7888a8 60%);
}

.gateway-shell--palco .gateway-glow-pill--projects {
  color: color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 56%, #c8d4e0 44%);
  background: color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 62%, transparent);
  border-color: color-mix(in srgb, var(--t1-palco-space-night-edge, #1a2848) 50%, transparent);
  box-shadow:
    inset 0 0 8px color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 40%, transparent);
}

@media (hover: hover) and (pointer: fine) {
  .gateway-shell--palco .gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--projects {
    border-color: color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 56%, rgba(255, 255, 255, 0.08));
    transform: translateY(-3px);
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 14%, transparent),
      0 0 20px color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 18%, transparent),
      0 14px 32px rgba(0, 0, 0, 0.52);
  }

  .gateway-shell--palco .gateway-carousel > li:hover .gateway-console-icon--projects svg {
    color: color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 82%, #e8f0f8 18%);
  }
}

.gateway-glow-pill--t1-brand {
  font-size: clamp(0.62rem, 1.1vw, 0.72rem);
  font-weight: 800;
  letter-spacing: 0.1em;
  padding-inline: 0.55em;
}

@media (hover: hover) and (pointer: fine) {
  .gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--projects {
    opacity: 1;
    box-shadow:
      0 0 18px color-mix(in srgb, var(--gw-cyan), transparent 48%),
      0 0 38px color-mix(in srgb, var(--gw-cyan), transparent 70%),
      0 12px 28px rgba(0, 0, 0, 0.48);
  }
  .gateway-carousel > li:hover .gateway-console-icon--projects svg {
    opacity: 1;
    color: color-mix(in srgb, var(--gw-cyan) 92%, white 8%);
  }
  .gateway-carousel > li:hover .gateway-glow-pill--t1-brand {
    box-shadow:
      0 0 18px color-mix(in srgb, var(--gw-cyan) 45%, transparent),
      inset 0 0 10px color-mix(in srgb, var(--gw-cyan) 14%, transparent);
  }
}

.gateway-carousel > li:focus-within .gateway-visual-card.gateway-visual-card--projects {
  opacity: 1;
}

/* -- prefers-reduced-motion ? blocco unico Gateway --------------------------
 *   Copre: ologramma ? carousel cards ? deck keys ? slot silenziosi ?
 *          console cards (invite/projects) ? battito pulse ? glow Focus ?
 *          overlay library/sessions panel ? link e icone vault.
 *   Principio: transition-duration ? 0.01ms (non 0 per compatibilit? a11y);
 *              animation ? none con box-shadow statico di riposo.
 * --------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

  /* Ologramma */
  .gateway-hologram-projection,
  .gateway-hologram-projection__video,
  .gateway-cinema-stack--sacred .gateway-hologram-projection {
    transition-duration: 0.01ms;
  }

  .gateway-cinema-stack--sacred .gateway-hologram-projection.is-project-active,
  .gateway-cinema-stack--sacred.is-project-active .gateway-hologram-projection.is-open {
    transform: translate(-50%, 0);
  }

  .gateway-cinema-stack--sacred .gateway-hologram-projection__inner {
    transition-duration: 0.01ms;
  }

  .gateway-cinema-stack--sacred.is-project-active .gateway-carousel__vertex {
    transform: translateY(clamp(-14px, -1.15vh, -18px));
  }

  /* Carousel cards e link */
  .gateway-visual-card,
  .gateway-visual-row a.gateway-visual-cardlink > .profile-card,
  .gateway-visual-card__thumb,
  .gateway-visual-row a.gateway-visual-cardlink {
    transition-duration: 0.01ms;
  }
  .gateway-carousel > li:hover .gateway-visual-card,
  .gateway-carousel > li:hover .profile-card,
  .gateway-carousel > li:focus-within .gateway-visual-card,
  .gateway-carousel > li:focus-within .profile-card {
    transform: translateZ(0);
  }

  /* Console cards: create, invite, gallery, projects */
  .gateway-visual-card.gateway-visual-card--create,
  .gateway-visual-card.gateway-visual-card--invite,
  .gateway-visual-card.gateway-visual-card--gallery,
  .gateway-visual-card.gateway-visual-card--projects,
  .gateway-console-icon--create svg,
  .gateway-console-icon--invite svg,
  .gateway-console-icon--gallery svg,
  .gateway-console-icon--projects svg {
    transition-duration: 0.01ms;
  }

  /* Battito Vertex (--pulse) e legacy --elena: animazione ? stato statico di riposo */
  .gateway-visual-card.gateway-visual-card--pulse,
  .gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--pulse,
  .gateway-carousel > li:focus-within .gateway-visual-card.gateway-visual-card--pulse,
  .gateway-visual-card.gateway-visual-card--elena,
  .gateway-carousel > li:hover .gateway-visual-card.gateway-visual-card--elena,
  .gateway-carousel > li:focus-within .gateway-visual-card.gateway-visual-card--elena {
    animation: none;
    box-shadow:
      0 0 0 1px color-mix(in srgb, var(--gw-card-accent) 28%, transparent),
      0 0 18px color-mix(in srgb, var(--gw-card-accent), transparent 62%),
      0 4px 28px rgba(0, 0, 0, 0.45);
  }

  /* Palco Sessions ? binario hero: solo fade, no slide */
  .gst-hero-slot {
    transition-duration: 0.01ms;
    will-change: auto;
  }

  .gst-hero-slot.is-exit,
  .gst-hero-slot.is-enter {
    transform: none;
  }

  .gst-zone-nav {
    transition-duration: 0.01ms;
  }

  .gst-hero-zone.is-nav-dimmed .gst-zone-nav {
    opacity: 1;
  }
}

/* -- Nuovo profilo / drawer palco ---------------------------------------- */
.gateway-modal-overlay,
.gateway-palco-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 10100;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  background: color-mix(in srgb, #010308 58%, transparent);
  backdrop-filter: blur(8px) saturate(1.02);
  -webkit-backdrop-filter: blur(8px) saturate(1.02);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.gateway-modal-overlay[hidden],
.gateway-palco-drawer-overlay[hidden] {
  display: none !important;
}

.gateway-palco-drawer__backdrop {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.gateway-palco-drawer,
.gateway-modal.gateway-palco-drawer {
  position: relative;
  z-index: 1;
  width: min(100%, 480px);
  max-width: 100%;
  height: 100%;
  max-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: clamp(22px, 3vw, 30px) clamp(20px, 3vw, 28px);
  border-radius: 0;
  border: none;
  border-left: 1px solid color-mix(in srgb, var(--t1-cyan-gateway) 16%, transparent);
  background: rgba(10, 14, 22, 0.14);
  box-shadow:
    -18px 0 56px rgba(0, 0, 0, 0.44),
    0 0 0 1px color-mix(in srgb, var(--t1-cyan-gateway) 6%, transparent),
    -6px 0 24px color-mix(in srgb, var(--t1-cyan-gateway) 5%, transparent);
  backdrop-filter: blur(16px) saturate(1.06);
  -webkit-backdrop-filter: blur(16px) saturate(1.06);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--t1-cyan-gateway) 35%, #2a3040) transparent;
}

.gateway-palco-drawer:focus-within,
.gateway-modal.gateway-palco-drawer:focus-within {
  background: rgba(12, 17, 28, 0.28);
  border-left-color: color-mix(in srgb, var(--t1-cyan-gateway) 24%, transparent);
  box-shadow:
    -18px 0 56px rgba(0, 0, 0, 0.48),
    0 0 0 1px color-mix(in srgb, var(--t1-cyan-gateway) 13%, transparent),
    inset 0 0 0 1px color-mix(in srgb, var(--t1-cyan-gateway) 10%, transparent),
    -6px 0 24px color-mix(in srgb, var(--t1-cyan-gateway) 7%, transparent);
}

.gateway-palco-drawer::-webkit-scrollbar {
  width: 6px;
}

.gateway-palco-drawer::-webkit-scrollbar-track {
  background: transparent;
}

.gateway-palco-drawer::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--t1-cyan-gateway) 28%, #3a4458);
}

/* Overlay centrato (Nuovo profilo / Day 0) */
.gateway-modal-overlay--centered {
  justify-content: center;
  align-items: center;
  padding: 28px 22px;
}

.gateway-modal--day0 {
  /* Override sidebar: card centrata, non pannello full-height */
  position: relative !important;
  width: min(520px, 96vw) !important;
  height: auto !important;
  max-height: min(88vh, 720px) !important;
  margin: 0 !important;
  border-radius: 16px !important;
  border: 1px solid color-mix(in srgb, var(--t1-cyan-gateway, #00e5ff) 18%, rgba(255, 255, 255, 0.08)) !important;
  border-left: 1px solid color-mix(in srgb, var(--t1-cyan-gateway, #00e5ff) 18%, rgba(255, 255, 255, 0.08)) !important;
  background:
    linear-gradient(160deg, rgba(12, 16, 24, 0.96) 0%, rgba(6, 8, 14, 0.98) 100%) !important;
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.6),
    0 0 40px color-mix(in srgb, var(--t1-cyan-gateway, #00e5ff) 8%, transparent) !important;
}

/* Legacy centered modal */
.gateway-modal:not(.gateway-palco-drawer):not(.gateway-modal--day0) {
  width: min(100%, 440px);
  max-height: min(92vh, 640px);
  margin: auto;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--t1-cyan-gateway) 32%, transparent);
}

/* Cluster verticale dx: ingranaggio + dock */
.gateway-right-cluster {
  position: fixed;
  right: max(14px, env(safe-area-inset-right, 0px));
  top: 50%;
  transform: translateY(-50%);
  z-index: 10020;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

/* Separatore ingranaggio ? dock: gap generoso per differenziare le famiglie */
.gateway-right-cluster .gateway-workspace-dock:not([hidden]) {
  margin-top: 28px;
}

/* Linea separatrice visiva sottile tra Studio e dock */
.gateway-right-cluster:has(.gateway-workspace-dock:not([hidden]))
.gateway-studio-toggle::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 1px;
  background: rgba(200, 210, 225, 0.16);
  border-radius: 1px;
  pointer-events: none;
}

/* Wrapper hint guida — position: absolute qui; bottone figlio non posizionato */
.gateway-guide-hint-host {
  position: absolute;
  right: max(18px, env(safe-area-inset-right, 0px));
  top: 50%;
  transform: translateY(-50%);
  z-index: 10020;
  display: inline-flex;
}

/* Bottone guida in testata Palco */
.gateway-guide-header-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
  color: rgba(210, 225, 240, 0.52);
  font-family: var(--gw-font-ui, system-ui);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.gateway-guide-header-btn:hover,
.gateway-guide-header-btn:focus-visible {
  color: var(--gw-cyan, #00e5ff);
  border-color: color-mix(in srgb, var(--gw-cyan, #00e5ff) 48%, rgba(255, 255, 255, 0.18));
  background: rgba(0, 229, 255, 0.06);
  outline: none;
}

.gateway-guide-header-btn:focus-visible {
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--gw-cyan, #00e5ff) 40%, transparent);
}

.gateway-modal__title {
  font-family: var(--gw-font-tech);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gw-text);
  margin: 0 0 10px;
}

.gateway-modal__lead {
  font-family: var(--gw-font-ui);
  font-size: 0.88rem;
  color: var(--gw-text-dim);
  line-height: 1.45;
  margin: 0 0 18px;
}

.gateway-modal__fields {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 12px;
}

.gateway-modal__label {
  font-family: var(--gw-font-tech);
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gw-text-dim);
}

.gateway-modal__input {
  width: 100%;
  margin-top: 4px;
  padding: 11px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0, 242, 255, 0.2);
  background: rgba(5, 7, 12, 0.75);
  color: var(--gw-text);
  font-family: var(--gw-font-ui);
  font-size: 0.9rem;
}

.gateway-modal__input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.gateway-modal__note {
  font-family: var(--gw-font-ui);
  font-size: 0.75rem;
  color: var(--gw-text-dim);
  line-height: 1.4;
  margin: 0 0 20px;
}

.gateway-modal__req {
  color: var(--gw-cyan);
}

.gateway-modal__status {
  font-family: var(--gw-font-ui);
  font-size: 0.78rem;
  line-height: 1.4;
  margin: 0 0 14px;
  color: color-mix(in srgb, var(--gw-cyan) 85%, var(--gw-text));
}

.gateway-modal__status--error {
  color: #f5a8a8;
}

.gateway-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.gateway-modal__btn {
  font-family: var(--gw-font-tech);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 11px 18px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--gw-cyan) 45%, transparent);
  background: linear-gradient(180deg, var(--gw-cyan), color-mix(in srgb, var(--gw-cyan) 70%, #0a2830));
  color: var(--gw-bg-deep);
  cursor: pointer;
}

.gateway-modal__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.gateway-modal__btn--ghost {
  background: transparent;
  color: var(--gw-text-dim);
  border-color: rgba(255, 255, 255, 0.16);
}

.gateway-modal__btn--ghost:hover:not(:disabled) {
  border-color: rgba(0, 242, 255, 0.35);
  color: var(--gw-text);
}

.gateway-modal__bivio {
  margin: 0;
  padding: 0;
  border: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.gateway-modal__bivio .gateway-modal__label {
  margin-bottom: 2px;
}

.gateway-modal__radio {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--gw-text-dim) 94%, var(--gw-text));
  cursor: pointer;
}

.gateway-modal__radio--disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

.gateway-modal__radio--disabled input {
  cursor: not-allowed;
}

.gateway-modal__radio:has(input:checked) {
  color: color-mix(in srgb, var(--gw-text) 75%, var(--gw-text-dim));
}

.gateway-modal__radio input {
  accent-color: color-mix(in srgb, var(--t1-cyan-gateway) 55%, var(--gw-text-dim));
}

/* REGIA-P4 ??? radio custom drawer (no pallino bianco nativo) */
.gateway-palco-drawer .gateway-modal__radio {
  position: relative;
  padding-left: 1.65rem;
  min-height: 1.35rem;
}

.gateway-palco-drawer .gateway-modal__radio input {
  appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: 0;
  top: 50%;
  width: 1rem;
  height: 1rem;
  margin: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 0.5px solid color-mix(in srgb, #fff 24%, transparent);
  background: color-mix(in srgb, #fff 5%, rgba(0, 0, 0, 0.45));
  accent-color: transparent;
  cursor: pointer;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.gateway-palco-drawer .gateway-modal__radio input:checked {
  border-color: color-mix(in srgb, #c8d4e4 55%, transparent);
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 252, 245, 0.78) 0%,
    rgba(200, 210, 225, 0.42) 52%,
    rgba(80, 90, 108, 0.55) 100%
  );
  box-shadow:
    0 0 0 1px color-mix(in srgb, #fff 10%, transparent),
    0 0 0 3px rgba(180, 192, 210, 0.15),
    0 0 14px rgba(190, 202, 220, 0.28);
}

.gateway-palco-drawer .gateway-modal__radio input:checked::after {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 42% 38%,
    rgba(255, 253, 248, 0.92) 0%,
    rgba(230, 236, 244, 0.75) 38%,
    rgba(170, 182, 198, 0.5) 100%
  );
  box-shadow:
    0 0 8px rgba(255, 255, 255, 0.22),
    inset 0 -1px 2px rgba(0, 0, 0, 0.2);
}

.gateway-palco-drawer .gateway-modal__radio input:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--t1-cyan-gateway) 35%, transparent);
  outline-offset: 2px;
}

.gateway-modal__bivio-progetto {
  margin: 0 0 4px 1.6rem;
}

.gateway-modal__label--sub {
  font-size: 0.78rem;
  opacity: 0.85;
}

.gateway-modal__select {
  appearance: auto;
  cursor: pointer;
  background-color: var(--t1-select-bg);
  color: var(--t1-select-fg);
}

.gateway-modal__textarea {
  width: 100%;
  min-height: 4.5rem;
  resize: vertical;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1.45;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(4, 8, 16, 0.55);
  color: var(--gw-text, #e8f0fa);
}

.gateway-modal__textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--gw-cyan) 45%, transparent);
}

.gateway-modal__inquadramento {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.gateway-modal__optional-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.gateway-modal__inquadramento-title {
  margin: 0;
  font-family: var(--gw-font-tech);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gw-cyan) 75%, #fff);
}

.gateway-modal__hint--sub {
  margin-top: -4px;
  font-size: 0.75rem;
}

.gateway-modal .t1-tag-picker-label {
  margin: 6px 0 4px;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gw-cyan) 50%, rgba(190, 200, 218, 0.7));
}

.gateway-modal .t1-tag-picker-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.gateway-modal .t1-tag-chip {
  font-size: 0.68rem;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 25%, transparent);
  background: rgba(0, 0, 0, 0.25);
  color: var(--gw-text-dim, #b8c4d8);
  letter-spacing: var(--t1-tag-chip-letter-spacing, 0.03em);
  text-transform: none;
  line-height: 1.25;
  white-space: normal;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.gateway-modal .t1-tag-chip.is-active {
  border-color: color-mix(in srgb, var(--t1-cyan-gateway) 55%, transparent);
  color: #fff;
  background: color-mix(in srgb, var(--t1-cyan-gateway) 18%, transparent);
}

.gateway-modal__hint {
  margin: 0 0 0 1.6rem;
  font-size: 0.78rem;
  opacity: 0.75;
}

.gateway-modal__hint--project-empty {
  margin-top: 2px;
}

.gateway-modal__hint-link {
  color: color-mix(in srgb, var(--gw-cyan) 84%, #fff);
  text-underline-offset: 2px;
}

.gateway-modal__hint-link:hover {
  color: #e7fbff;
}

.gateway-modal__inquadramento-toggle {
  margin-top: 6px;
}

.gateway-modal__optional-toggle + .gateway-modal__optional-toggle {
  margin-top: 0;
}

.gateway-modal__inquadramento-summary {
  list-style: none;
}

.gateway-modal__inquadramento-summary::-webkit-details-marker {
  display: none;
}

.gateway-modal__optional-toggle .gateway-modal__inquadramento-summary {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 44px;
  padding: 0.12rem 0;
  cursor: pointer;
  user-select: none;
  font-size: 0.82rem;
  font-weight: 500;
  margin-bottom: 0;
  opacity: 1;
  color: color-mix(in srgb, var(--gw-cyan) 45%, rgba(200, 212, 228, 0.88));
  transition: color 0.15s ease;
}

.gateway-modal__optional-toggle .gateway-modal__inquadramento-summary::before {
  content: '▶';
  font-size: 0.48rem;
  opacity: 0.58;
  flex-shrink: 0;
  transition: transform 0.18s ease;
  display: inline-block;
}

.gateway-modal__optional-toggle[open] .gateway-modal__inquadramento-summary::before {
  transform: rotate(90deg);
}

.gateway-modal__optional-toggle[open] .gateway-modal__inquadramento-summary,
.gateway-modal__optional-toggle.gateway-modal__altro[open] .gateway-modal__altro-summary {
  margin-bottom: 6px;
  color: color-mix(in srgb, var(--gw-cyan) 55%, #fff);
}

.gateway-modal__optional-toggle .gateway-modal__inquadramento-summary:hover {
  color: color-mix(in srgb, var(--gw-cyan) 52%, #fff);
}

.gateway-modal__optional-section > .gateway-modal__hint:first-child {
  margin-top: 0;
  margin-bottom: 10px;
}

.gateway-modal__optional-section > .gateway-modal__textarea {
  margin-top: 0;
}

.gateway-modal__altro {
  margin-top: 4px;
}

.gateway-modal__altro-summary {
  cursor: pointer;
  font-size: 0.82rem;
  opacity: 0.88;
  margin-bottom: 8px;
  color: color-mix(in srgb, var(--gw-cyan) 56%, rgba(216, 228, 245, 0.92));
}

.gateway-modal__altro[open] .gateway-modal__altro-summary {
  margin-bottom: 10px;
}

/* -- Login overlay (auth centralizzata) ----------------------------------- */
.gateway-login-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: var(--gw-bg-deep);
  background-image:
    radial-gradient(circle at 50% 28%, var(--gw-cyan-faint) 0%, transparent 58%),
    radial-gradient(ellipse 80% 50% at 50% -20%, var(--gw-cyan-faint), transparent 55%);
}

/* Mobile portrait (≤767px) — colonna unica, scroll interno */
@media (max-width: 767px) {
  .gateway-login-overlay {
    align-items: flex-start;
    justify-content: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: clamp(48px, 9vh, 68px) 16px clamp(24px, 5vh, 40px);
  }
}

/* Landscape smartphone (altezza ≤500px) — compatto, tutto visibile + scroll */
@media (max-height: 500px) {
  .gateway-login-overlay {
    align-items: flex-start;
    justify-content: flex-start;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 12px 16px 20px;
  }
}

.gateway-login-overlay[hidden] {
  display: none;
}

/* Boot palco: layout attivo prima del reveal (no display:none ??? meno CLS al auth) */
#gateway-app-main.gateway-app-main--pre-reveal {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}

#gateway-app-main.gateway-app-main--reveal {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  transition: opacity 0.22s ease-out;
}

@media (prefers-reduced-motion: reduce) {
  #gateway-app-main.gateway-app-main--reveal {
    transition: none;
  }
}

.gateway-login-card {
  width: min(100%, 340px);
  padding: 36px 32px;
  border-radius: 14px;
  border: 1px solid var(--gw-deck-border);
  background: var(--gw-deck-key);
  box-shadow:
    0 24px 64px rgba(0, 0, 0, 0.55),
    0 0 48px var(--gw-cyan-glow);
  backdrop-filter: blur(16px);
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.gateway-login-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gateway-login-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.gateway-login-label {
  font-family: var(--gw-font-tech);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gw-text-dim);
}

.gateway-login-input {
  font-family: var(--gw-font-ui);
  font-size: 0.95rem;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid rgba(0, 242, 255, 0.2);
  background: rgba(6, 8, 12, 0.85);
  color: var(--gw-text);
  outline: none;
  transition: border-color var(--gw-ease), box-shadow var(--gw-ease);
}

.gateway-login-input:focus {
  border-color: var(--gw-cyan);
  box-shadow: 0 0 0 2px var(--gw-cyan-faint);
}

.gateway-login-error {
  min-height: 0;
  margin: 0;
  padding: 0;
  font-family: var(--gw-font-tech);
  font-size: 0.72rem;
  color: #f87171;
  text-align: center;
  line-height: 1.35;
}

.gateway-login-error.is-visible {
  min-height: 1.15rem;
  margin: 2px 0 4px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(248, 113, 113, 0.1);
  border: 1px solid rgba(248, 113, 113, 0.28);
}

.gateway-login-forgot {
  align-self: flex-end;
  margin: -4px 0 0;
  padding: 0;
  border: none;
  background: none;
  font-family: var(--gw-font-tech);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  color: color-mix(in srgb, var(--gw-cyan) 85%, white);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gateway-login-forgot:hover:not(:disabled) {
  color: var(--gw-cyan);
}

.gateway-recovery-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gateway-recovery-panel[hidden] {
  display: none !important;
}

.gateway-recovery-panel__title {
  margin: 0;
  font-family: var(--gw-font-display);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gw-pearl);
  text-align: center;
}

.gateway-recovery-panel__sub {
  margin: 0;
  font-family: var(--gw-font-tech);
  font-size: 0.72rem;
  line-height: 1.45;
  color: color-mix(in srgb, var(--gw-pearl) 72%, transparent);
  text-align: center;
}

.gateway-login-btn {
  margin-top: 4px;
  width: 100%;
  padding: 12px 16px;
  font-family: var(--gw-font-tech);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gw-bg-deep);
  background: linear-gradient(180deg, var(--gw-cyan), color-mix(in srgb, var(--gw-cyan) 75%, #0a3d42));
  border: none;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 4px 20px var(--gw-cyan-glow);
  transition: transform 0.15s ease, box-shadow var(--gw-ease), opacity var(--gw-ease);
}

.gateway-login-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 6px 28px var(--gw-cyan-glow);
}

.gateway-login-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.gateway-login-btn--primary {
  margin-top: 10px;
  margin-bottom: 6px;
}

.gateway-login-hint {
  margin: 10px 0 0;
  font-family: var(--gw-font-ui, system-ui, sans-serif);
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: rgba(200, 230, 248, 0.82);
  line-height: 1.45;
  text-align: center;
}

.gateway-login-advanced {
  margin-top: 14px;
  padding: 10px 0 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.gateway-login-advanced__summary {
  font-family: var(--gw-font-tech);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(180, 210, 230, 0.75);
  cursor: pointer;
  list-style: none;
}

.gateway-login-advanced__summary::-webkit-details-marker {
  display: none;
}

.gateway-login-advanced[open] .gateway-login-advanced__summary {
  margin-bottom: 10px;
  color: rgba(200, 230, 248, 0.9);
}

.gateway-login-advanced .gateway-login-btn {
  margin-top: 2px;
}

/* -- Sessions inbox badge (plancia) --------------------------------------- */

/* Badge numerico inviti */
.gateway-inbox-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--t1-program-sessions-accent) 55%, rgba(40, 44, 52, 0.9));
  color: color-mix(in srgb, var(--gw-text) 72%, var(--gw-text-dim));
  font-family: var(--gw-font-ui);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1;
  box-shadow: none;
  border: 0.5px solid color-mix(in srgb, var(--t1-program-sessions-accent) 22%, transparent);
  flex-shrink: 0;
}

.gateway-inbox-badge[hidden] {
  display: none !important;
}

.gateway-inbox-badge.gateway-inbox-badge--dot {
  min-width: 11px;
  width: 11px;
  height: 11px;
  padding: 0;
  border-radius: 50%;
  font-size: 0;
  line-height: 0;
  background: color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #c8daf0) 78%, #7eb0e8);
  border: 1px solid color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #d8e8ff) 55%, transparent);
  animation: t1-inviti-signal-pulse 2.2s ease-in-out infinite;
}

.gateway-inbox-badge.gateway-inbox-badge--count {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  font-family: var(--gw-font-ui, 'Inter', sans-serif);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #f8fbff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.42);
  background: color-mix(in srgb, #3d6a9a 72%, var(--t1-palco-sessions-frost-bright, #8ab4e0) 28%);
  border: 1px solid color-mix(in srgb, #d8e8ff 38%, #2a4a6e);
  animation: t1-inviti-signal-pulse 2.2s ease-in-out infinite;
}

.gateway-reply-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 11px;
  height: 11px;
  margin-left: 5px;
  border-radius: 50%;
  background: color-mix(in srgb, #c084fc 70%, #5b21b6);
  border: 1px solid color-mix(in srgb, #e9d5ff 45%, #6b21a8);
  flex-shrink: 0;
  box-shadow: 0 0 8px color-mix(in srgb, #c084fc 35%, transparent);
}

.gateway-reply-badge[hidden] {
  display: none !important;
}

.gateway-reply-badge.gateway-reply-badge--dot {
  width: 11px;
  padding: 0;
}

.gateway-reply-badge.gateway-reply-badge--count {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  font-family: var(--gw-font-ui, 'Inter', sans-serif);
  font-size: 0.66rem;
  font-weight: 700;
  color: #faf5ff;
}

.gateway-vault-core-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gateway-vault-core-list__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--gateway-card-border, rgba(232, 240, 250, 0.14));
  border-radius: 8px;
}

.gateway-vault-core-list__actions {
  display: flex;
  gap: 6px;
}

.gateway-vault-core-list__btn {
  font-family: var(--gw-font-ui);
  font-size: 0.72rem;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid var(--gw-cyan, rgba(0, 200, 255, 0.35));
  background: transparent;
  color: var(--gw-text-bright, rgba(220, 235, 252, 0.92));
  cursor: pointer;
}

.gateway-vault-core-list__btn:hover {
  border-color: var(--gw-cyan);
  color: var(--gw-cyan);
}

.gateway-guide-panel__list {
  list-style: none;
  margin: 0;
  padding: 12px 22px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-y: auto;
}

.gateway-guide-panel__list li {
  font-family: var(--gw-font-ui);
  font-size: 0.74rem;
  line-height: 1.5;
  color: var(--gw-text-dim);
}

.gateway-guide-panel__list strong {
  color: rgba(220, 235, 252, 0.9);
  font-weight: 600;
}

/* -- Deck-5 ? Guida contestuale (spotlight tour) ----------------------- */
.gateway-guide-overlay {
  position: fixed;
  inset: 0;
  z-index: 10020;
  pointer-events: none;
}

.gateway-guide-overlay[hidden] {
  display: none !important;
}

body.gateway-guide-active {
  overflow: hidden;
}

.gateway-guide-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: auto;
  cursor: pointer;
}

.gateway-guide-spotlight {
  position: fixed;
  z-index: 10021;
  border-radius: 12px;
  border: 2px solid color-mix(in srgb, var(--gw-cyan) 72%, rgba(255, 255, 255, 0.35));
  box-shadow:
    0 0 0 1px rgba(0, 255, 255, 0.15),
    0 0 28px color-mix(in srgb, var(--gw-cyan) 28%, transparent),
    0 0 0 9999px rgba(2, 4, 8, 0.72);
  pointer-events: none;
  transition: top 180ms ease, left 180ms ease, width 180ms ease, height 180ms ease;
}

.gateway-guide-spotlight[hidden] {
  display: none !important;
}

.gateway-guide-spotlight--world {
  border-color: color-mix(in srgb, var(--gw-world-accent) 52%, rgba(255, 255, 255, 0.28));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--gw-world-accent) 18%, transparent),
    0 0 24px color-mix(in srgb, var(--gw-world-accent) 22%, transparent),
    0 0 0 9999px rgba(2, 4, 8, 0.72);
}

.gateway-guide-spotlight--system {
  border-color: color-mix(in srgb, var(--gw-system-accent) 48%, rgba(255, 255, 255, 0.22));
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--gw-system-accent) 16%, transparent),
    0 0 22px color-mix(in srgb, var(--gw-system-accent) 18%, transparent),
    0 0 0 9999px rgba(2, 4, 8, 0.72);
}

body.gateway-guide-active #gateway-stage {
  visibility: hidden !important;
  pointer-events: none !important;
}

.gateway-guide-target--pulse {
  position: relative;
  z-index: 10022;
}

.gateway-guide-panel {
  position: fixed;
  z-index: 10023;
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: min(92vw, 360px);
  max-height: min(42vh, 320px);
  border-radius: 14px;
  border: 1px solid var(--gw-glass-border);
  border-top: 1px solid var(--gw-glass-border-top);
  background: color-mix(in srgb, var(--gw-glass-surface-bg) 90%, rgba(2, 4, 8, 0.78));
  backdrop-filter: var(--gw-glass-surface-blur);
  -webkit-backdrop-filter: var(--gw-glass-surface-blur);
  box-shadow: var(--gw-glass-shadow);
  overflow: hidden;
}

.gateway-guide-panel[data-placement="center"] {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
}

.gateway-guide-panel__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  flex-shrink: 0;
}

.gateway-guide-panel__title {
  font-family: var(--gw-font-tech);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(220, 235, 252, 0.95);
  margin: 0;
}

.gateway-guide-panel__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
  color: rgba(200, 215, 230, 0.7);
  font-size: 1.05rem;
  line-height: 1;
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease;
}

.gateway-guide-panel__close:hover {
  color: rgba(220, 235, 252, 0.95);
  border-color: var(--gw-cyan);
}

.gateway-guide-panel__titles {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.gateway-guide-panel__step {
  font-family: var(--gw-font-tech);
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gw-cyan) 55%, var(--gw-text-dim));
}

.gateway-guide-panel__body {
  padding: 14px 22px 10px;
  flex: 1;
  min-height: 0;
}

.gateway-guide-step-title {
  margin: 0 0 8px;
  font-family: var(--gw-font-tech);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(220, 235, 252, 0.95);
}

.gateway-guide-step-body {
  margin: 0;
  font-family: var(--gw-font-ui);
  font-size: 0.76rem;
  line-height: 1.55;
  color: var(--gw-text-dim);
}

.gateway-guide-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 22px 10px;
}

.gateway-guide-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.12);
  cursor: pointer;
}

.gateway-guide-dot--active {
  background: var(--gw-cyan);
  border-color: var(--gw-cyan);
  box-shadow: 0 0 10px color-mix(in srgb, var(--gw-cyan) 40%, transparent);
}

.gateway-guide-panel__foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 10px 16px 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.gateway-guide-panel__more {
  margin: 0;
  padding: 0 16px 8px;
  text-align: center;
}

.gateway-guide-panel__full-link {
  font-family: var(--gw-font-ui);
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: color-mix(in srgb, var(--gw-cyan) 75%, rgba(220, 235, 252, 0.9));
  text-decoration: none;
}

.gateway-guide-panel__full-link:hover,
.gateway-guide-panel__full-link:focus-visible {
  text-decoration: underline;
  outline: none;
}

.gateway-guide-nav-btn {
  padding: 7px 14px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(220, 235, 252, 0.85);
  font-family: var(--gw-font-ui);
  font-size: 0.72rem;
  cursor: pointer;
}

.gateway-guide-nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.gateway-guide-nav-btn--primary {
  border-color: color-mix(in srgb, var(--gw-cyan) 42%, rgba(255, 255, 255, 0.12));
  color: var(--gw-cyan);
  background: rgba(0, 255, 255, 0.06);
}

.gateway-guide-nav-btn--primary:hover:not(:disabled) {
  background: rgba(0, 255, 255, 0.12);
}

body[data-gateway-film] .gateway-inbox-badge {
  min-width: 16px;
  height: 16px;
  font-size: 0.54rem;
}

/* Panel/backdrop chiusi: mai occupare layout n? bordo laterale */
.gwi-backdrop[hidden],
.gwi-panel[hidden] {
  display: none !important;
}

/* -- Backdrop -------------------------------------------------------------- */

.gwi-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10009;
  background: rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

/* -- Panel popover (top/left da gateway_world_index.js) ------------------- */

.gwi-panel {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  width: clamp(280px, 90vw, 360px);
  max-height: min(70vh, 520px);
  z-index: 10010;
  background: color-mix(in srgb, var(--gw-glass-surface-bg) 88%, rgba(10, 14, 22, 0.72));
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
  border: 1px solid color-mix(in srgb, var(--gw-world-accent) 10%, rgba(255, 255, 255, 0.05));
  border-top-color: color-mix(in srgb, rgba(255, 255, 255, 0.08) 100%, transparent);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow:
    0 10px 32px rgba(0, 0, 0, 0.38),
    0 0 18px color-mix(in srgb, var(--gw-world-accent) 6%, transparent);
}

/* -- Inner layout ---------------------------------------------------------- */

.gwi-inner {
  display: flex;
  flex-direction: column;
  max-height: min(70vh, 520px);
  overflow: hidden;
}

.gwi-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px 12px;
  flex-shrink: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--gw-world-accent) 8%, rgba(255, 255, 255, 0.04));
}

.gwi-title {
  font-family: var(--gw-font-tech);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gw-world-accent) 58%, var(--gw-text));
  text-shadow: 0 0 8px color-mix(in srgb, var(--gw-world-accent) 14%, transparent);
  margin: 0;
}

.gwi-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: var(--gw-text-dim);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  border-radius: 4px;
  transition: color var(--gw-ease), background var(--gw-ease);
}

.gwi-close:hover {
  color: var(--gw-text);
  background: rgba(255, 255, 255, 0.05);
}

.gwi-close:focus-visible {
  outline: 1px solid color-mix(in srgb, var(--gw-world-accent) 48%, transparent);
  outline-offset: -1px;
}

/* -- Recenti --------------------------------------------------------------- */

.gwi-recenti {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 10px 16px;
  flex-shrink: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.gwi-recent-chip {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--gw-world-accent) 22%, rgba(42, 48, 58, 0.85));
  background: color-mix(in srgb, var(--gw-world-accent) 6%, rgba(255, 255, 255, 0.03));
  color: color-mix(in srgb, var(--gw-world-accent) 62%, rgba(248, 252, 255, 0.85));
  font-family: var(--gw-font-tech);
  font-size: 0.54rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
  -webkit-font-smoothing: antialiased;
  transition: color var(--gw-ease), background var(--gw-ease), box-shadow var(--gw-ease);
}

.gwi-recent-chip:hover,
.gwi-recent-chip:focus-visible {
  background: color-mix(in srgb, var(--gw-world-accent) 10%, transparent);
  color: color-mix(in srgb, var(--gw-world-accent) 82%, #fff);
}

.gwi-recent-chip.is-active {
  background: color-mix(in srgb, var(--gw-world-accent) 14%, transparent);
  border-color: color-mix(in srgb, var(--gw-world-accent) 38%, rgba(42, 48, 58, 0.85));
  color: color-mix(in srgb, var(--gw-world-accent) 88%, #fff);
}

.gwi-recent-chip:focus-visible {
  outline: 1px solid color-mix(in srgb, var(--gw-world-accent) 42%, transparent);
  outline-offset: -1px;
}

/* -- Lista piatta ---------------------------------------------------------- */

/* ADR 004 ?5.3 ? liste >40 righe: paint differito senza DOM windowing */
.gwi-list--virtualized .gwi-list-item {
  content-visibility: auto;
  contain-intrinsic-size: auto 52px;
}

.gwi-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  overflow-y: auto;
  flex: 1 1 auto;
  -webkit-overflow-scrolling: touch;
}

/* Scrollbar sottile */
.gwi-list::-webkit-scrollbar { width: 3px; }
.gwi-list::-webkit-scrollbar-track { background: transparent; }
.gwi-list::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--gw-world-accent) 22%, transparent);
  border-radius: 2px;
}

.gwi-list-item {
  margin: 0;
  padding: 0;
}

.gwi-list-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: calc(100% - 16px);
  margin: 2px 8px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
  text-align: left;
  transition: background var(--gw-ease), border-color var(--gw-ease), box-shadow var(--gw-ease);
}

.gwi-list-row:hover {
  background: color-mix(in srgb, var(--gw-world-accent) 7%, rgba(255, 255, 255, 0.02));
  border-color: color-mix(in srgb, var(--gw-world-accent) 16%, transparent);
}

.gwi-list-row:focus-visible {
  outline: 1px solid color-mix(in srgb, var(--gw-world-accent) 34%, transparent);
  outline-offset: -2px;
}

.gwi-list-row.is-active {
  background: color-mix(in srgb, var(--gw-world-accent) 9%, rgba(255, 255, 255, 0.02));
  border-color: color-mix(in srgb, var(--gw-world-accent) 24%, transparent);
  box-shadow: 0 0 16px color-mix(in srgb, var(--gw-world-accent) 9%, transparent);
}

.gwi-list-row.is-active .gwi-list-row__title {
  color: color-mix(in srgb, var(--gw-world-accent) 86%, #fff);
}

.gwi-list-row__title {
  font-family: var(--gw-font-ui);
  font-size: 0.80rem;
  font-weight: 400;
  color: var(--gw-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.3;
}

.gwi-list-row__meta {
  font-family: var(--gw-font-tech);
  font-size: 0.54rem;
  font-weight: 400;
  letter-spacing: 0.07em;
  color: var(--gw-text-dim);
  margin-top: 2px;
}

.gwi-list-empty {
  padding: 18px 20px;
  font-family: var(--gw-font-tech);
  font-size: 0.58rem;
  letter-spacing: 0.08em;
  color: var(--gw-text-dim);
  opacity: 0.65;
}

/* -- Footer: Esci dal mondo ------------------------------------------------ */

.gwi-footer {
  padding: 12px 20px;
  flex-shrink: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

/* Azioni secondarie film ? Inter, alone-first (glow > bordo) */
.gst-action {
  font-family: var(--gw-font-ui);
  font-size: clamp(0.72rem, 0.68rem + 0.15vw, 0.82rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  cursor: pointer;
  -webkit-font-smoothing: antialiased;
  transition:
    color var(--gw-ease),
    border-color var(--gw-ease),
    box-shadow var(--gw-ease),
    background var(--gw-ease),
    text-shadow var(--gw-ease);
}

.gst-action--leave {
  padding: 0.5rem 0.85rem;
  border-radius: 11px;
  border: 1px solid transparent;
  background: color-mix(in srgb, var(--gw-film-stage) 90%, rgba(220, 100, 110, 0.03));
  color: color-mix(in srgb, rgba(235, 160, 168, 1) 78%, var(--gw-world-accent));
  backdrop-filter: blur(12px) saturate(1.1);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  box-shadow: none;
}

.gst-action--leave:hover,
.gst-action--leave:focus-visible {
  color: color-mix(in srgb, rgba(255, 200, 206, 1) 92%, #fff);
  border-color: color-mix(in srgb, rgba(235, 140, 150, 1) 14%, transparent);
  text-shadow: 0 0 16px color-mix(in srgb, rgba(220, 100, 110, 1) 22%, transparent);
  box-shadow: 0 0 22px color-mix(in srgb, rgba(220, 100, 110, 1) 12%, transparent);
}

.gwi-exit-btn {
  padding: 0.55rem 1rem;
  width: 100%;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--gw-world-accent) 10%, rgba(220, 120, 130, 0.22));
  background: color-mix(in srgb, var(--gw-film-stage) 88%, rgba(220, 100, 110, 0.04));
  color: color-mix(in srgb, rgba(235, 160, 168, 1) 72%, var(--gw-world-accent));
  font-family: var(--gw-font-tech);
  font-size: clamp(0.56rem, 0.54rem + 0.12vw, 0.64rem);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(12px) saturate(1.1);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
}

/* -- Holo accent 'active' (mondo senza slot M1/M2 fisso ? ADR 004 v1) ----- */

.gateway-cinema-stack--sacred
  .gateway-hologram-projection[data-world-slot='active']
  .gateway-hologram-projection__inner {
  border-color: rgba(0, 242, 255, 0.32);
  box-shadow:
    0 0 0 1px rgba(0, 242, 255, 0.22),
    0 0 32px rgba(0, 242, 255, 0.10),
    inset 0 0 60px rgba(0, 242, 255, 0.04);
}

.gateway-holo-cinema-ui[data-world-slot='active'] .gateway-holo-cinema-ui__enter {
  color: var(--gw-cyan);
}

.gateway-holo-cinema-ui[data-world-slot='active'] .gateway-holo-cinema-ui__enter:hover {
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 0 14px rgba(0, 242, 255, 0.55);
}

/* -- Laptop / schermi compatti: liste e deck pi? leggibili --------------- */
@media (max-width: 1600px), (max-height: 900px) {
  body.gateway-app {
    --gw-list-scale: 1.14;
  }

  .gateway-sessions-panel__lead {
    font-size: calc(0.74rem * var(--gw-list-scale, 1));
  }

  .gateway-sessions-invite__label,
  .gateway-sessions-invite__hint {
    font-size: calc(0.72rem * var(--gw-list-scale, 1));
  }

  .gateway-sessions-row__label {
    font-size: calc(0.74rem * var(--gw-list-scale, 1));
  }

  .gateway-sessions-row__meta {
    font-size: calc(0.66rem * var(--gw-list-scale, 1));
  }

  .gateway-sessions-badge {
    font-size: calc(0.58rem * var(--gw-list-scale, 1));
  }

  .gwi-list-row__title {
    font-size: calc(0.78rem * var(--gw-list-scale, 1));
  }

  .gwi-list-row__meta {
    font-size: calc(0.62rem * var(--gw-list-scale, 1));
  }

  .gwi-recent-chip {
    font-size: calc(0.55rem * var(--gw-list-scale, 1));
  }
}

/* ----------------------------------------------------------------------
   GATEWAY STAGE ? Cinematografo universale (prototipo film mode)
   Attivo con ?gateway=film ? data-gateway-film su body/.gateway-cinema-stack
   ---------------------------------------------------------------------- */

/* -- Delta spento in film ? nascosto (no ghost colorati ai lati del palco) - */
body[data-gateway-film]:not([data-gateway-film="void"])
  .gateway-cinema-stack--sacred
  > .gateway-visual-row {
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  filter: none;
  transition: none;
  user-select: none;
  flex: 0 0 0;
  max-height: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

/* Velo/smog Delta: z-index 150 — sopra #gateway-stage (40); off in film */
body[data-gateway-film]:not([data-gateway-film="void"])
  .gateway-cinema-stack--sacred
  > .gateway-visual-row::before,
body[data-gateway-film]:not([data-gateway-film="void"])
  .gateway-cinema-stack--sacred
  > .gateway-visual-row::after {
  content: none !important;
  display: none !important;
}

body[data-gateway-film="void"]
  .gateway-cinema-stack--sacred
  > .gateway-visual-row {
  display: flex;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  filter: none;
  transition: opacity 0.38s ease, visibility 0.38s ease;
}

/* Palco cinematografo ? tint minima + alone perimetro (per deck attivo) */
body[data-gateway-film="sessions"] {
  --gw-film-tint: color-mix(in srgb, var(--t1-palco-chroma-sessions) 5%, transparent);
  --gst-film-glow: color-mix(in srgb, var(--t1-palco-chroma-sessions) 16%, transparent);
}
body[data-gateway-film="vault"] {
  --gw-film-tint: color-mix(in srgb, var(--t1-palco-chroma-vault) 4%, transparent);
  --gst-film-glow: color-mix(in srgb, var(--t1-palco-chroma-vault) 14%, transparent);
}
body[data-gateway-film="system"] {
  --gw-film-tint: color-mix(in srgb, rgba(195, 208, 228, 1) 3%, transparent);
  --gst-film-glow: color-mix(in srgb, rgba(185, 198, 218, 1) 18%, transparent);
}
body[data-gateway-film="world"] {
  --gw-film-tint: color-mix(in srgb, var(--t1-palco-chroma-world) 6%, transparent);
  --gst-film-glow: color-mix(in srgb, var(--t1-palco-chroma-world) 18%, transparent);
}

/* -- Palco (#gateway-stage) ? solo contenitore; cinematografo = .gst-film - */
.gateway-stage {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  background: transparent;
}

.gateway-stage[hidden] {
  display: none;
  background: none;
}

.gateway-stage--sessions,
.gateway-stage--vault,
.gateway-stage--system,
.gateway-stage--world {
  filter: none;
}

@keyframes gst-fade-in {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes gst-fade-in-opacity {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* -- Cinematografo 16:9 ? nero piatto + alone esterno morbido (ref 2061 / 2071) - */
.gst-film {
  --gst-accent: var(--gw-cyan, #00f2ff);
  --gst-glow: var(--gw-amethyst-glow, rgba(160, 100, 255, 0.22));
  --gst-glow-strong: color-mix(in srgb, var(--gst-accent) 14%, transparent);
  --gst-plate-bg:
    radial-gradient(circle at 28% 0%, rgba(255, 255, 255, 0.05) 0%, transparent 44%),
    color-mix(in srgb, rgba(255, 255, 255, 0.04) 100%, transparent);

  position: relative;
  pointer-events: auto;
  width: min(88vw, 980px);
  aspect-ratio: 16 / 9;
  max-height: 82vh;
  display: flex;
  flex-direction: column;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
  overflow: visible;
  /* Leggibilit? laptop sul palco 16:9 (rem-first; non target touch tablet) */
  --gst-fs-bar: clamp(0.74rem, 0.72rem + 0.35vw, 0.88rem);
  --gst-fs-counter: clamp(0.92rem, 0.85rem + 0.45vw, 1.1rem);
  --gst-fs-hero-title: clamp(1.12rem, 1.05rem + 0.55vw, 1.38rem);
  --gst-fs-body: clamp(0.8rem, 0.76rem + 0.28vw, 0.94rem);
  --gst-fs-badge: clamp(0.68rem, 0.64rem + 0.22vw, 0.82rem);
  --gst-fs-meta: clamp(0.72rem, 0.68rem + 0.2vw, 0.86rem);
  --gst-fs-btn: clamp(0.8rem, 0.76rem + 0.25vw, 0.94rem);
  --gst-fs-ui: clamp(0.78rem, 0.74rem + 0.22vw, 0.92rem);
  --gst-fs-chev: clamp(1.75rem, 1.5rem + 0.9vw, 2.15rem);
  --gst-nav-col: clamp(48px, 44px + 1.2vw, 60px);
}

.gst-film::before,
.gst-film::after {
  display: none;
}

/* Film attivo: holo/triangolo spenti dietro il palco */
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-hologram-slot[data-gw-film-suppressed],
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-hologram-slot {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body[data-gateway-film]:not([data-gateway-film="void"]) #gateway-holo-cinema-ui,
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-hologram-projection.is-project-active,
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-hologram-projection.is-open {
  display: none !important;
}

/* REGIA V5g/V5j ??? cinematografo palco: no cornice esterna */
body[data-gateway-film="world"] .gst-film--world,
body[data-gateway-film]:not([data-gateway-film="void"]) .gst-film {
  background: color-mix(in srgb, var(--gw-film-stage, #0f1014) 68%, var(--gw-film-tint, transparent));
  border-radius: 10px;
  border: none;
  box-shadow:
    0 0 18px 0 color-mix(in srgb, var(--gst-film-glow, var(--gst-projection-halo)) 4%, transparent);
  filter: none;
}

/* REGIA V5k ??? no fade su shell .gst-film (opacity 0→1 = rettangolo scuro fantasma) */
body[data-gateway-film]:not([data-gateway-film="void"]) .gst-film:not(.gst-film--loading) {
  animation: none;
  opacity: 1;
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film.gst-film--sessions {
  animation: none;
}

/* REGIA V5j ??? fix P0: loading non mostra rettangolo opaco prima del mount */
body[data-gateway-film]:not([data-gateway-film="void"]) .gst-film--loading {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  box-shadow: none;
  animation: none;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-stage {
  overflow: visible;
}

.gst-film__head,
.gst-film__body {
  position: relative;
  z-index: 1;
}

.gst-film--sessions {
  --gst-accent: var(--gw-cyan, #00f2ff);
  --gst-glow: var(--gw-amethyst-glow, rgba(140, 80, 220, 0.24));
  --gst-glow-strong: color-mix(in srgb, var(--gw-cyan) 14%, var(--gw-amethyst-glow));
  --gst-projection-glow: color-mix(in srgb, var(--gw-cyan) 14%, var(--gw-amethyst-glow));
  --gst-projection-halo: color-mix(in srgb, var(--gw-amethyst-glow) 46%, transparent);
  --gst-film-glow: color-mix(in srgb, var(--gw-cyan) 16%, var(--gw-amethyst-glow));
}

.gst-film__body--sessions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: hidden;
}

.gst-context {
  margin: 0;
  padding: 0.45rem 0.65rem;
  border-radius: 8px;
  font-size: 0.78rem;
  line-height: 1.35;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 22%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 6%, rgba(0, 0, 0, 0.25));
}

.gst-context-facets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
  margin: 0;
  padding: 0.35rem;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 22%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 6%, rgba(0, 0, 0, 0.25));
}

.gst-context-facets--split {
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem 0.75rem;
  width: 100%;
}

.gst-context-facets__group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.gst-context-facets__group--scope {
  flex: 1 1 auto;
  min-width: 0;
}

.gst-context-facets__group--filter {
  flex: 0 1 auto;
  margin-left: auto;
  justify-content: flex-end;
}

.gst-context-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.32rem 0.6rem;
  border-radius: 999px;
  border: 1px dashed color-mix(in srgb, var(--gw-text-dim) 42%, transparent);
  background: transparent;
  color: color-mix(in srgb, var(--gw-text-dim) 88%, var(--gw-text));
  font: inherit;
  font-size: 0.72rem;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.gst-context-filter__mark {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 2px;
  border: 1px solid color-mix(in srgb, var(--gw-text-dim) 55%, transparent);
  background: transparent;
  flex-shrink: 0;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.gst-context-filter:hover {
  border-color: color-mix(in srgb, var(--gw-text-dim) 62%, transparent);
  color: var(--gw-text);
}

.gst-context-filter.is-on {
  border-style: solid;
  border-color: color-mix(in srgb, var(--gw-text-dim) 52%, transparent);
  background: color-mix(in srgb, var(--gw-text-dim) 10%, rgba(0, 0, 0, 0.28));
  color: var(--gw-text);
}

.gst-context-filter.is-on .gst-context-filter__mark {
  border-color: color-mix(in srgb, var(--gw-text) 55%, transparent);
  background: color-mix(in srgb, var(--gw-text) 72%, transparent);
}

.gst-context-facet {
  margin: 0;
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--gw-text-dim) 28%, transparent);
  background: transparent;
  color: color-mix(in srgb, var(--gw-text-dim) 92%, var(--gw-text));
  font: inherit;
  font-size: 0.74rem;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.gst-context-facet:hover {
  border-color: color-mix(in srgb, var(--gst-accent) 38%, transparent);
  color: var(--gw-text);
}

.gst-context-facet.is-active {
  border-color: color-mix(in srgb, var(--gst-accent) 48%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 12%, rgba(0, 0, 0, 0.22));
  color: var(--gw-text);
  font-weight: 600;
}

.gst-context-facets__sep {
  width: 1px;
  height: 1.1rem;
  margin: 0 0.1rem;
  background: color-mix(in srgb, var(--gw-text-dim) 35%, transparent);
  flex-shrink: 0;
}

.gst-context-facets__detail,
.gst-context-facets__hint {
  flex-basis: 100%;
  font-size: 0.74rem;
  line-height: 1.35;
  opacity: 0.86;
}

.gst-context-facets__hint {
  margin-top: 0.1rem;
}

.gst-context__label {
  display: block;
  font-weight: 500;
  color: var(--gw-text);
}

.gst-context__hint {
  display: block;
  margin-top: 0.25rem;
  opacity: 0.78;
  font-size: 0.72rem;
}

.gst-inbox-more {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.35rem;
}

.gst-inbox-more__meta {
  font-size: 0.74rem;
  opacity: 0.84;
}

.gst-inbox-more__btn {
  margin: 0;
  padding: 0.35rem 0.75rem;
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 35%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 8%, transparent);
  color: var(--gw-text);
  font: inherit;
  font-size: 0.72rem;
  cursor: pointer;
}

.gst-inbox-more__btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--gst-accent) 55%, transparent);
}

.gst-inbox-more__btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

.gst-section__title {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.72;
}

.gst-section--inbox .gst-hero-zone {
  min-height: 0;
}

.gst-inbox-empty {
  margin: 0;
  padding: 0.75rem 0.5rem;
  font-size: 0.82rem;
  line-height: 1.4;
  opacity: 0.78;
  text-align: center;
}

.gst-film--solo-first .gst-film__body--sessions {
  flex-direction: column;
}

.gst-film--solo-first .gst-section--inbox {
  order: 1;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.gst-film--solo-first .gst-hero-zone {
  padding: 0.45rem 0 0.2rem;
}

.gst-film--solo-first #gst-context-zone {
  flex-shrink: 0;
}

.gst-film--system {
  --gst-accent: color-mix(in srgb, var(--gw-text) 72%, rgba(200, 210, 225, 0.9));
  --gst-glow: rgba(180, 195, 220, 0.16);
  --gst-glow-strong: color-mix(in srgb, rgba(200, 210, 225, 0.85) 14%, transparent);
  --gst-projection-glow: color-mix(in srgb, rgba(195, 208, 228, 1) 12%, transparent);
  --gst-projection-halo: color-mix(in srgb, rgba(180, 195, 220, 1) 31%, transparent);
  --gst-film-glow: color-mix(in srgb, rgba(185, 198, 218, 1) 18%, transparent);
}

.gst-film--world {
  --gst-accent: color-mix(in srgb, var(--gw-world-accent) 72%, #fff);
  --gst-glow: var(--gw-world-glow);
  --gst-glow-strong: color-mix(in srgb, var(--gw-world-accent) 14%, transparent);
  --gst-projection-glow: color-mix(in srgb, var(--gw-world-glow) 90%, var(--gw-world-accent) 10%);
  --gst-projection-halo: color-mix(in srgb, var(--gw-world-accent) 22%, transparent);
  --gst-film-glow: color-mix(in srgb, var(--gst-world-glow) 88%, var(--gw-world-accent) 14%);
}

body[data-gateway-world-view="orphans"] .gst-film--world {
  --gw-world-accent: var(--t1-program-profiles-accent, var(--t1-palco-gallery-warm, #e0d8cc));
  --gw-world-glow: color-mix(
    in srgb,
    var(--t1-program-profiles-accent, var(--t1-palco-gallery-warm, #e0d8cc)) 24%,
    transparent
  );
}

.gst-film__body--world {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}

.gst-film__body--world .gwi-inner {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

.gst-film__body--world .gwi-list {
  flex: 1 1 auto;
  min-height: 0;
}

.gst-film--world .gst-film__title {
  color: color-mix(in srgb, var(--gw-world-accent) 70%, var(--gw-text));
}

.gst-film--world .gst-film__close:hover {
  color: color-mix(in srgb, var(--gw-world-accent) 82%, #fff);
}

/* Film WORLD ? hero card smeraldo (stesso ciclo glow .gst-hero di Sessions/Vault) */
body[data-gateway-film="world"] .gst-hero--world {
  --gst-accent: color-mix(in srgb, var(--gw-world-accent) 72%, #fff);
  --gst-glow: var(--gw-world-glow);
  --gst-glow-strong: color-mix(in srgb, var(--gw-world-accent) 14%, transparent);
  --gst-vibe: color-mix(in srgb, var(--gw-world-accent) 14%, transparent);
  --gst-vibe-soft: color-mix(in srgb, var(--gw-world-accent) 10%, transparent);
  --gst-projection-glow: color-mix(in srgb, var(--gw-world-accent) 12%, rgba(24, 56, 44, 0.08));
}

.gst-badge--world {
  border-color: color-mix(in srgb, var(--gw-world-accent) 28%, rgba(255, 255, 255, 0.08));
  color: color-mix(in srgb, var(--gw-world-accent) 70%, #fff);
}

body[data-gateway-film="world"] .gst-btn--cockpit {
  border-color: color-mix(in srgb, var(--gw-world-accent) 12%, transparent);
  background: color-mix(in srgb, var(--gw-world-accent) 6%, rgba(0, 0, 0, 0.32));
  color: color-mix(in srgb, var(--gw-world-accent) 82%, #fff);
  box-shadow: 0 0 18px color-mix(in srgb, var(--gw-world-accent) 14%, transparent);
}

body[data-gateway-film="world"] .gst-btn--cockpit:hover {
  border-color: color-mix(in srgb, var(--gw-world-accent) 22%, transparent);
  box-shadow: 0 0 28px color-mix(in srgb, var(--gw-world-accent) 26%, transparent);
}

.gst-world-index,
.gst-world-roster,
.gst-world-orphans {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

.gst-world-index__hub {
  display: flex;
  justify-content: center;
  padding: 6px 16px 2px;
}

.gst-world-index__hub-actions {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
}

/* Progetti indice — hub secondario: spento a riposo, chroma world all'hover (card = hero) */
.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--cockpit.gst-btn--primary,
.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile {
  min-height: 44px;
  padding: 0.5rem 0.9rem;
  color: color-mix(in srgb, var(--t1-palco-chroma-world, var(--t1-program-world-accent)) 22%, rgba(176, 186, 200, 0.88));
  border: 1px solid color-mix(
    in srgb,
    var(--t1-palco-chroma-world, var(--t1-program-world-accent)) 12%,
    color-mix(in srgb, var(--gw-projected-helm-muted) 48%, transparent)
  );
  background: color-mix(in srgb, #fff 4%, rgba(10, 16, 26, 0.36));
  box-shadow: none;
  font-weight: 500;
  transition:
    color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    border-color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    background var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    box-shadow var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--cockpit.gst-btn--primary:hover,
.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile:hover {
  color: rgba(236, 240, 248, 0.94);
  border-color: color-mix(in srgb, var(--t1-palco-chroma-world, var(--t1-program-world-accent)) 42%, var(--gw-projected-pearl) 16%);
  background: color-mix(in srgb, #fff 10%, rgba(10, 16, 26, 0.48));
  box-shadow: 0 0 12px color-mix(in srgb, var(--t1-palco-chroma-world, var(--t1-program-world-accent)) 16%, transparent);
}

.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--cockpit.gst-btn--primary:focus-visible,
.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile:focus-visible {
  outline: none;
  color: rgba(236, 240, 248, 0.94);
  border-color: color-mix(in srgb, var(--t1-palco-chroma-world, var(--t1-program-world-accent)) 48%, transparent);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-palco-chroma-world, var(--t1-program-world-accent)) 20%, transparent),
    0 0 12px color-mix(in srgb, var(--t1-palco-chroma-world, var(--t1-program-world-accent)) 14%, transparent);
}

/* Palco ? banda context condivisa (facet Inviti = hub Progetti = spacer roster) */
.gateway-shell--palco .gst-palco-context-band {
  flex-shrink: 0;
  height: var(--gst-palco-context-band-h);
  min-height: var(--gst-palco-context-band-h);
  max-height: var(--gst-palco-context-band-h);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.gateway-shell--palco .gst-film--world .gst-world-index__context {
  height: var(--gst-palco-world-context-band-h);
  min-height: var(--gst-palco-world-context-band-h);
  max-height: var(--gst-palco-world-context-band-h);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 0.16rem;
  box-sizing: border-box;
  overflow: hidden;
}

.gateway-shell--palco .gst-film--world .gst-world-roster__context,
.gateway-shell--palco .gst-film--world .gst-world-orphans__context {
  height: var(--gst-palco-world-context-band-h);
  min-height: var(--gst-palco-world-context-band-h);
  max-height: var(--gst-palco-world-context-band-h);
}

.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--gst-palco-world-hub-band-air) 12px 0;
  box-sizing: border-box;
}

.gateway-shell--palco .gst-film--world .gst-world-index,
.gateway-shell--palco .gst-film--world .gst-world-roster,
.gateway-shell--palco .gst-film--world .gst-world-orphans {
  gap: 0.55rem;
}

.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions {
  gap: 0.45rem;
}

.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--cockpit.gst-btn--primary,
.gateway-shell--palco .gst-film--world .gst-world-index__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile {
  min-height: 36px;
  padding: 0.38rem 0.78rem;
  font-size: 0.76rem;
}

.gst-world-index .gst-hero-zone,
.gst-world-roster .gst-hero-zone,
.gst-world-orphans .gst-hero-zone {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.gst-hero [data-gst-roster-enter].is-nav-locked {
  opacity: 0.35;
  pointer-events: none;
}

/* Roster / orphans profili nel palco mondi (no preview video) */
.gst-world-roster,
.gst-world-orphans {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

.gst-world-roster__context {
  pointer-events: none;
}

/* Orphans: hub interattivo (Nuovo profilo · Inserisci in progetto) */
.gateway-shell--palco .gst-film--world .gst-world-orphans__context {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 0.16rem;
  box-sizing: border-box;
  overflow: hidden;
}

.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--gst-palco-world-hub-band-air) 12px 0;
  box-sizing: border-box;
}

.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions {
  gap: 0.45rem;
}

/* Profili sciolti — hub: primary Nuovo profilo · secondary Inserisci (parity Progetti indice, accent profiles) */
.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile,
.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn.gst-btn--cockpit {
  min-height: 36px;
  padding: 0.38rem 0.78rem;
  font-size: 0.76rem;
  font-weight: 500;
  color: color-mix(in srgb, var(--t1-palco-channel-profiles) 24%, rgba(176, 186, 200, 0.88));
  border: 1px solid color-mix(
    in srgb,
    var(--t1-palco-channel-profiles) 14%,
    color-mix(in srgb, var(--gw-projected-helm-muted) 48%, transparent)
  );
  background: color-mix(in srgb, #fff 4%, rgba(10, 16, 26, 0.36));
  box-shadow: none;
  transition:
    color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    border-color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    background var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    box-shadow var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile.gst-btn--primary {
  min-height: 36px;
  padding: 0.38rem 0.78rem;
  font-size: 0.76rem;
  border: 1px solid color-mix(in srgb, var(--t1-palco-channel-profiles) 26%, var(--gw-projected-pearl) 14%);
  background: color-mix(in srgb, #fff 8%, rgba(10, 16, 26, 0.56));
  color: rgba(236, 232, 224, 0.94);
  box-shadow: none;
}

.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile:hover,
.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn.gst-btn--cockpit:hover:not(.is-nav-locked) {
  color: rgba(244, 240, 232, 0.96);
  border-color: color-mix(in srgb, var(--t1-palco-channel-profiles) 42%, var(--gw-projected-pearl) 14%);
  background: color-mix(in srgb, #fff 10%, rgba(10, 16, 26, 0.48));
  box-shadow: 0 0 12px color-mix(in srgb, var(--t1-palco-channel-profiles) 16%, transparent);
}

.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn.gst-btn--profile.gst-btn--primary:hover {
  border-color: color-mix(in srgb, var(--t1-palco-channel-profiles) 40%, var(--gw-projected-pearl) 20%);
  background: color-mix(in srgb, #fff 12%, rgba(10, 16, 26, 0.62));
  color: #faf6ef;
  box-shadow: 0 0 14px color-mix(in srgb, var(--t1-palco-channel-profiles) 18%, transparent);
}

.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--t1-palco-channel-profiles) 48%, transparent);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-palco-channel-profiles) 20%, transparent),
    0 0 12px color-mix(in srgb, var(--t1-palco-channel-profiles) 14%, transparent);
}

.gateway-shell--palco .gst-film--world .gst-world-orphans__context .gst-world-index__hub-actions .gst-btn.is-nav-locked {
  opacity: 0.38;
  pointer-events: none;
  cursor: not-allowed;
}

.gst-film__body--system {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 1.5rem 2rem 2rem;
  text-align: center;
}

.gst-system__lead {
  margin: 0;
  max-width: 28em;
  font-size: var(--gst-fs-body);
  line-height: 1.45;
  color: color-mix(in srgb, var(--gst-accent) 42%, rgba(255, 255, 255, 0.38));
  font-family: var(--gw-font-ui);
}

.gst-system__actions {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  width: min(100%, 320px);
}

.gst-system__action {
  width: 100%;
  padding: 0.78rem 1.15rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--gw-system-accent) 14%, rgba(255, 255, 255, 0.05));
  background: color-mix(in srgb, var(--gw-system-accent) 5%, rgba(255, 255, 255, 0.02));
  color: color-mix(in srgb, var(--gw-system-accent) 62%, rgba(248, 252, 255, 0.82));
  font-family: var(--gw-font-ui);
  font-size: var(--gst-fs-btn);
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: none;
  cursor: pointer;
  text-shadow: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background var(--gw-ease), border-color var(--gw-ease), color var(--gw-ease);
}

.gst-system__action:hover,
.gst-system__action:focus-visible {
  background: color-mix(in srgb, var(--gw-system-accent) 8%, rgba(255, 255, 255, 0.03));
  border-color: color-mix(in srgb, var(--gw-system-accent) 22%, transparent);
  color: color-mix(in srgb, var(--gw-system-accent) 78%, white);
}

.gst-system__foot {
  width: min(100%, 320px);
  padding-top: 0.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.gst-system__logout {
  width: 100%;
  padding: 0.7rem 1rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--gw-amethyst) 22%, rgba(255, 255, 255, 0.06));
  background: rgba(255, 255, 255, 0.025);
  color: color-mix(in srgb, var(--gw-text-dim) 88%, #f8a0a8);
  font-family: var(--gw-font-ui);
  font-size: var(--gst-fs-ui);
  cursor: pointer;
  transition: border-color var(--gw-ease), background var(--gw-ease), box-shadow var(--gw-ease);
}

.gst-system__logout:hover,
.gst-system__logout:focus-visible {
  border-color: color-mix(in srgb, #f8a0a8 40%, transparent);
}

.gst-film--vault {
  --gst-accent: var(--t1-program-vault-accent, var(--t1-cyan-gateway));
  --gst-glow: color-mix(in srgb, var(--gst-accent) 22%, transparent);
  --gst-glow-soft: color-mix(in srgb, var(--gst-accent) 12%, transparent);
  --gst-glow-strong: color-mix(in srgb, var(--gst-accent) 16%, transparent);
  --gst-projection-glow: color-mix(in srgb, var(--gst-accent) 14%, transparent);
  --gst-projection-halo: color-mix(in srgb, var(--gst-accent) 20%, transparent);
  --gst-film-glow: color-mix(in srgb, var(--gst-accent) 14%, transparent);
}

.gst-film__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.2rem 0.3rem;
  border-bottom: none;
  flex-shrink: 0;
  background: transparent;
}

.gst-film__title {
  font-size: var(--gst-fs-bar);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gst-accent) 22%, color-mix(in srgb, var(--gw-text) 48%, var(--gw-text-dim)));
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-weight: 500;
  text-shadow: none;
}

.gst-film__back,
.gst-film__close {
  background: none;
  border: none;
  cursor: pointer;
  border-radius: 0;
  line-height: 1;
  transition: color 0.2s ease, text-shadow 0.2s ease;
  text-shadow: none;
}

.gst-film__close:not([data-gst-world-close]) {
  color: rgba(255, 255, 255, 0.22);
  font-size: clamp(1.15rem, 2.4vw, 1.4rem);
  padding: 0.1rem 0.35rem;
}

.gst-film__close:not([data-gst-world-close]):hover {
  color: rgba(255, 255, 255, 0.72);
  text-shadow: 0 0 10px color-mix(in srgb, var(--gst-glow-strong) 40%, transparent);
}

.gst-film__head--nav {
  display: grid;
  grid-template-columns: 2.4rem 1fr 2.4rem;
  align-items: center;
  gap: 0.35rem;
  padding-inline: 0.85rem;
}

.gst-film__head--nav .gst-film__head-main {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.gst-film__head--nav .gst-film__title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gst-film__back,
.gst-film__close {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.gst-film__back[hidden] {
  visibility: hidden;
  pointer-events: none;
}

.gst-film__nav-glyph {
  display: block;
  font-size: clamp(1.35rem, 2.6vw, 1.65rem);
  line-height: 1;
  color: rgba(255, 255, 255, 0.28);
  transition: color 0.2s ease, text-shadow 0.2s ease;
}

.gst-film__nav-glyph--close {
  font-size: clamp(1.15rem, 2.4vw, 1.4rem);
}

.gst-film__back:hover .gst-film__nav-glyph,
.gst-film__back:focus-visible .gst-film__nav-glyph,
.gst-film__close:hover .gst-film__nav-glyph,
.gst-film__close:focus-visible .gst-film__nav-glyph {
  color: rgba(255, 255, 255, 0.78);
  text-shadow: 0 0 10px color-mix(in srgb, var(--gst-glow-strong) 40%, transparent);
}

.gst-film__back[data-t1-hint] > .t1-hover-hint,
.gst-film__close[data-t1-hint] > .t1-hover-hint {
  right: auto;
  left: 50%;
  top: calc(100% + 8px);
  transform: translateX(-50%) translateY(4px);
}

.gst-film__back[data-t1-hint]:hover:not([data-hint-dismissed]) > .t1-hover-hint,
.gst-film__back[data-t1-hint]:focus-visible:not([data-hint-dismissed]) > .t1-hover-hint,
.gst-film__close[data-t1-hint]:hover:not([data-hint-dismissed]) > .t1-hover-hint,
.gst-film__close[data-t1-hint]:focus-visible:not([data-hint-dismissed]) > .t1-hover-hint {
  transform: translateX(-50%) translateY(0);
}

/* Film Inviti/Archivio (head--channel): pill a sinistra della × — leggibile come dock Live */
.gst-film__head--channel .gst-film__close[data-t1-hint] > .t1-hover-hint {
  left: auto;
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
}

.gst-film__head--channel .gst-film__close[data-t1-hint]:hover:not([data-hint-dismissed]) > .t1-hover-hint,
.gst-film__head--channel .gst-film__close[data-t1-hint]:focus-visible:not([data-hint-dismissed]) > .t1-hover-hint {
  transform: translateY(-50%) translateX(0);
}

.gst-film__head--channel .gst-film__close[data-t1-hint][data-hint-dismissed]:hover > .t1-hover-hint,
.gst-film__head--channel .gst-film__close[data-t1-hint][data-hint-dismissed]:focus-visible > .t1-hover-hint {
  transform: translateY(-50%) translateX(6px);
}

.gst-action--icon.gst-action--leave {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  padding: 0;
  overflow: visible;
}

.gst-action--icon .gst-action__icon {
  width: 1.15rem;
  height: 1.15rem;
  opacity: 0.72;
  transition: opacity 0.2s ease;
}

.gst-action--icon:hover .gst-action__icon,
.gst-action--icon:focus-visible .gst-action__icon {
  opacity: 1;
}

/* -- Corpo del film: hero + strip + create in colonna ----------------- */
.gst-film__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* -- Hero zone ? binario + nav ancorate al rail (non ai bordi viewport) - */
.gst-hero-zone {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  overflow: hidden;
  padding: 0.65rem 0 0.25rem;
}

.gst-hero-zone__viewport {
  --gst-rail-max: min(100%, 480px);
  --gst-nav-gap: clamp(28px, 4vw, 40px);
  flex: 1;
  width: min(100%, calc(var(--gst-rail-max) + 2 * (var(--gst-nav-col) + var(--gst-nav-gap))));
  max-width: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: var(--gst-nav-col) minmax(0, 1fr) var(--gst-nav-col);
  align-items: stretch;
  min-height: clamp(128px, 26vh, 210px);
  gap: var(--gst-nav-gap);
}

.gst-hero-zone__rail-host {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0.35rem;
  touch-action: pan-y;
}

/* Alone modulo dietro al carosello (consistenza deck, non bordo card) */
.gst-hero-zone__rail-host::before {
  content: '';
  position: absolute;
  inset: -8% -6%;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse 78% 62% at 50% 50%,
    color-mix(in srgb, var(--gst-projection-halo, var(--gst-glow)) 55%, transparent) 0%,
    transparent 70%
  );
  opacity: 0.75;
}

/* Film attivo: alone rail attenuato (smog deck = gst-film__body PALCO-ATRIO-C v2) */
body[data-gateway-film]:not([data-gateway-film="void"]) .gst-hero-zone__rail-host::before {
  opacity: 0.28;
  background: radial-gradient(
    ellipse 70% 56% at 50% 50%,
    color-mix(in srgb, var(--gst-projection-halo, var(--gst-glow)) 28%, transparent) 0%,
    transparent 66%
  );
}

/* PALCO-ATRIO-C v2 ??? smog pavimento, ali laterali (no blob centrale sulla card) */
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film__body {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film__body--sessions {
  overflow-x: hidden;
  overflow-y: hidden;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film__body > * {
  position: relative;
  z-index: 1;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film__body::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(100%, 860px);
  height: clamp(48px, 11vh, 130px);
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 0;
  border-radius: 0;
  background:
    radial-gradient(
      ellipse 58% 68% at 24% 112%,
      color-mix(
        in srgb,
        var(--gst-film-glow, var(--gst-glow)) 10%,
        var(--gw-film-stage, #0f1014) 90%
      ) 0%,
      transparent 48%
    ),
    radial-gradient(
      ellipse 58% 68% at 76% 112%,
      color-mix(
        in srgb,
        var(--gst-film-glow, var(--gst-glow)) 9%,
        var(--gw-film-stage, #0f1014) 91%
      ) 0%,
      transparent 48%
    );
  filter: blur(48px);
  opacity: 0.1;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film__body::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(100%, 860px);
  height: clamp(48px, 11vh, 130px);
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 0;
  border-radius: 0;
  background:
    radial-gradient(
      ellipse 52% 62% at 22% 112%,
      color-mix(in srgb, var(--gst-film-glow, rgba(200, 210, 228, 0.5)) 4%, transparent) 0%,
      transparent 46%
    ),
    radial-gradient(
      ellipse 52% 62% at 78% 112%,
      color-mix(in srgb, var(--gst-film-glow, rgba(200, 210, 228, 0.5)) 3.5%, transparent) 0%,
      transparent 46%
    );
  filter: url(#gw-atrio-smog-noise) blur(38px);
  opacity: 0.042;
  animation: gw-atrio-fog-drift 42s ease-in-out infinite alternate;
}

/* Inviti + Archivio: stesso smog pavimento PALCO-ATRIO-C di Progetti (--gst-film-glow per canale) */

/* Inviti: facet + rail (parit? Archivio) */
body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film--sessions .gst-section--inbox {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film--sessions #gst-context-zone {
  flex-shrink: 0;
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film--sessions .gst-hero-zone {
  padding: 0.45rem 0 0.2rem;
  overflow: visible;
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film--sessions .gst-hero-zone__viewport {
  flex: 0 1 auto;
  min-height: 0;
  align-items: center;
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film--sessions .gst-hero-zone > .gst-strip {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  user-select: none;
  -webkit-user-select: none;
}

/* Archivio: facet + rail (parit? Inviti) */
body[data-gateway-film="vault"] .gateway-shell--palco .gst-film--vault .gst-film__body--vault {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: hidden;
}

body[data-gateway-film="vault"] .gateway-shell--palco .gst-film--vault .gst-section--vault {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

body[data-gateway-film="vault"] .gateway-shell--palco .gst-film--vault #gst-vault-context-zone {
  flex-shrink: 0;
}

body[data-gateway-film="vault"] .gateway-shell--palco .gst-film--vault .gst-hero-zone {
  padding: 0.45rem 0 0.2rem;
  overflow: visible;
}

body[data-gateway-film="vault"] .gateway-shell--palco .gst-film--vault .gst-hero-zone__viewport {
  flex: 0 1 auto;
  min-height: 0;
  align-items: center;
}

body[data-gateway-film="vault"] .gateway-shell--palco .gst-film--vault .gst-hero-zone > .gst-strip {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  user-select: none;
  -webkit-user-select: none;
}

/* Progetti: banda hub + rail (parit? Inviti/Archivio) */
body[data-gateway-film="world"] .gateway-shell--palco .gst-film--world .gst-world-index .gst-hero-zone,
body[data-gateway-film="world"] .gateway-shell--palco .gst-film--world .gst-world-roster .gst-hero-zone,
body[data-gateway-film="world"] .gateway-shell--palco .gst-film--world .gst-world-orphans .gst-hero-zone {
  padding: 0.45rem 0 0.2rem;
  overflow: visible;
}

body[data-gateway-film="world"] .gateway-shell--palco .gst-film--world .gst-hero-zone__viewport {
  flex: 0 1 auto;
  min-height: 0;
  align-items: center;
}

body[data-gateway-film="world"] .gateway-shell--palco .gst-film--world .gst-hero-zone > .gst-strip {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  user-select: none;
  -webkit-user-select: none;
}

/* Hero card opaca in film ??? zero velo smog su CTA */
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film--sessions .gst-hero.gst-preview-card:not(.gst-preview-card--projected):not(.gst-preview-card--inviti),
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film--sessions .gst-preview-card:not(.gst-preview-card--projected):not(.gst-preview-card--inviti),
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film--vault .gst-hero.gst-preview-card:not(.gst-preview-card--projected):not(.gst-preview-card--palco-b),
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film--vault .gst-preview-card:not(.gst-preview-card--projected):not(.gst-preview-card--palco-b),
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film--world .gst-hero.gst-preview-card:not(.gst-preview-card--palco-b),
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film--world .gst-preview-card:not(.gst-preview-card--projected):not(.gst-preview-card--palco-b) {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background:
    linear-gradient(165deg, rgba(16, 20, 30, 0.97), rgba(8, 10, 16, 0.99)),
    var(--gst-plate-bg);
}

/* Frecce a guardia del rail ? colonna fissa, gap costante dalla card */
.gst-zone-nav {
  align-self: center;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  -webkit-appearance: none;
  width: var(--gst-nav-col);
  max-width: var(--gst-nav-col);
  min-height: 84px;
  padding: 0;
  flex-shrink: 0;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 9%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--gst-accent) 3%, rgba(0, 0, 0, 0.22));
  color: color-mix(in srgb, var(--gst-accent) 52%, rgba(255, 255, 255, 0.48));
  cursor: pointer;
  transition:
    opacity 0.42s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.gst-zone-nav__chev {
  font-size: var(--gst-fs-chev);
  line-height: 1;
  font-weight: 300;
  text-shadow: 0 0 8px var(--gst-glow-strong);
  user-select: none;
  -webkit-user-select: none;
}

.gst-zone-nav:hover:not(:disabled):not(.is-gst-nav-at-limit) {
  color: rgba(255, 255, 255, 0.88);
  border-color: color-mix(in srgb, var(--gst-accent) 16%, transparent);
  box-shadow: none;
  background: color-mix(in srgb, var(--gst-accent) 6%, rgba(0, 0, 0, 0.28));
}

.gst-zone-nav:focus,
.gst-zone-nav:focus-visible {
  outline: none;
}

.gst-zone-nav:focus-visible:not(:disabled) {
  border-color: color-mix(in srgb, var(--gst-accent) 34%, rgba(255, 255, 255, 0.2));
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--gst-accent) 20%, transparent),
    0 0 12px color-mix(in srgb, var(--gst-accent) 16%, transparent);
}

.gst-zone-nav:disabled,
.gst-zone-nav.is-gst-nav-at-limit {
  opacity: 0.18;
  cursor: default;
}

.gst-zone-nav:disabled {
  pointer-events: none;
}

.gst-hero-zone.is-nav-dimmed .gst-zone-nav:not(:disabled) {
  opacity: 0.38;
}

.gst-hero-rail {
  position: relative;
  flex: 1;
  width: 100%;
  min-height: clamp(120px, 24vh, 200px);
  display: grid;
  grid-template: 1fr / 1fr;
  place-items: center;
  perspective: 1280px;
  isolation: isolate;
}

/* Ombra morbida sotto la card (profondit?, non contorno) */
.gst-hero-rail::before {
  content: '';
  grid-area: 1 / 1;
  width: min(88%, 460px);
  height: 36%;
  margin-top: 16%;
  border-radius: 50%;
  background: radial-gradient(
    ellipse 90% 65% at 50% 50%,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.12) 50%,
    transparent 78%
  );
  pointer-events: none;
  z-index: 0;
}

.gst-hero-rail--empty {
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gst-hero-rail--empty::before {
  display: none;
}

/* Due slot sovrapposti ? swap con classe, no repaint dell?intera zona */
.gst-hero-slot {
  grid-area: 1 / 1;
  width: 100%;
  max-width: min(100%, 540px);
  justify-self: center;
  z-index: 1;
  opacity: 0;
  transform: translateX(12%);
  pointer-events: none;
  will-change: transform, opacity;
  transition:
    transform 0.56s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.56s cubic-bezier(0.22, 1, 0.36, 1);
}

.gst-hero-slot.is-active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
  z-index: 2;
}

.gst-hero-slot.is-exit[data-dir='1'] {
  opacity: 0;
  transform: translateX(-13%);
}

.gst-hero-slot.is-exit[data-dir='-1'] {
  opacity: 0;
  transform: translateX(13%);
}

.gst-hero-slot.is-enter[data-dir='1'] {
  opacity: 0;
  transform: translateX(13%);
}

.gst-hero-slot.is-enter[data-dir='-1'] {
  opacity: 0;
  transform: translateX(-13%);
}

.gst-hero-slot.is-enter.is-active {
  opacity: 1;
  transform: translateX(0);
}

/* Hero card ? riposo: perimetro quasi assente, alone = consistenza */
.gst-hero {
  --gst-vibe: color-mix(in srgb, var(--gst-accent) 14%, transparent);
  --gst-vibe-soft: color-mix(in srgb, var(--gst-glow) 22%, transparent);
  --gst-projection-glow: var(--gst-vibe-soft);
  width: 100%;
  max-width: min(100%, 520px);
  border-radius: 14px;
  padding: clamp(1.35rem, 1.25rem + 0.45vw, 1.75rem) clamp(1.5rem, 1.4rem + 0.5vw, 2rem);
  background: var(--gst-plate-bg);
  border: 1px solid color-mix(in srgb, var(--gst-vibe) 6%, transparent);
  backdrop-filter: blur(20px) saturate(1.08);
  -webkit-backdrop-filter: blur(20px) saturate(1.08);
  transform: translateY(-4px);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, rgba(255, 255, 255, 0.05) 100%, transparent),
    0 0 52px color-mix(in srgb, var(--gst-projection-glow) 65%, transparent),
    0 0 28px color-mix(in srgb, var(--gst-projection-glow) 35%, transparent),
    0 14px 32px rgba(0, 0, 0, 0.38);
  transition:
    border-color 0.38s ease,
    box-shadow 0.38s ease,
    transform 0.38s ease;
}

.gst-hero:hover {
  border-color: color-mix(in srgb, var(--gst-vibe) 16%, transparent);
  transform: translateY(-5px);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, rgba(255, 255, 255, 0.08) 100%, transparent),
    0 0 72px color-mix(in srgb, var(--gst-projection-glow) 75%, transparent),
    0 0 36px color-mix(in srgb, var(--gst-projection-glow) 45%, transparent),
    0 16px 36px rgba(0, 0, 0, 0.4);
}

/* Stati ? solo tint alone, no bordo forte */
.gst-hero--state-in-attesa {
  --gst-vibe-soft: rgba(0, 180, 255, 0.12);
  --gst-projection-glow: color-mix(in srgb, rgba(0, 210, 255, 1) 14%, var(--gst-glow));
}

.gst-hero--state-attivo {
  --gst-vibe-soft: color-mix(in srgb, var(--gw-amethyst-glow) 45%, transparent);
  --gst-projection-glow: color-mix(in srgb, var(--gw-cyan) 12%, var(--gw-amethyst-glow));
}

.gst-hero--state-ricevuto {
  --gst-vibe-soft: rgba(80, 220, 120, 0.14);
  --gst-projection-glow: color-mix(in srgb, rgba(80, 220, 120, 1) 16%, var(--gst-glow));
}

.gst-hero--state-scaduto,
.gst-hero--state-revocato {
  --gst-vibe-soft: transparent;
  --gst-projection-glow: transparent;
  opacity: 0.52;
  filter: saturate(0.35);
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.36);
}

.gst-hero--vault {
  --gst-projection-glow: color-mix(in srgb, rgba(255, 160, 60, 1) 14%, rgba(255, 110, 25, 0.08));
}

.gst-hero__head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.55rem;
  flex-wrap: wrap;
}

.gst-hero__title {
  font-size: var(--gst-fs-hero-title);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.9);
  margin: 0 0 0.35rem;
  line-height: 1.3;
  text-shadow: 0 0 12px var(--gst-glow-strong);
}

.gst-hero__delivery {
  font-size: var(--gst-fs-body);
  color: rgba(100, 235, 155, 0.9);
  margin: 0 0 0.75rem;
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
  letter-spacing: 0.08em;
  text-shadow: 0 0 14px rgba(80, 220, 120, 0.35);
}

.gst-hero__descr {
  font-size: var(--gst-fs-body);
  color: rgba(255, 255, 255, 0.42);
  margin: 0 0 0.75rem;
  line-height: 1.5;
}

/* Bottone play (Vault) */
.gst-btn--play {
  border-color: color-mix(in srgb, var(--gst-accent) 40%, transparent);
  color: color-mix(in srgb, var(--gst-accent) 85%, white);
  box-shadow: 0 0 12px var(--gst-glow);
}
.gst-btn--play:hover {
  background: color-mix(in srgb, var(--gst-accent) 12%, transparent);
  box-shadow: 0 0 20px var(--gst-glow-strong);
}

.gst-hero__actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}

.gst-hero--empty {
  text-align: center;
  padding: 2rem 1rem;
}

.gst-hero__empty-msg {
  color: rgba(255, 255, 255, 0.32);
  font-size: var(--gst-fs-body);
  line-height: 1.55;
  text-shadow: 0 0 16px var(--gst-glow);
}

/* Badges ? glow olografico */
.gst-badge {
  font-size: clamp(0.58rem, 0.56rem + 0.12vw, 0.625rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.3em 0.75em;
  border-radius: 6px;
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
  font-weight: 500;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.55);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.gst-badge--ghost_upload {
  border-color: rgba(100, 160, 255, 0.35);
  color: rgba(160, 200, 255, 0.95);
  box-shadow: 0 0 14px rgba(100, 160, 255, 0.2);
}
.gst-badge--review {
  border-color: rgba(255, 180, 80, 0.35);
  color: rgba(255, 210, 130, 0.9);
  box-shadow: 0 0 12px rgba(255, 160, 60, 0.15);
}
.gst-badge--ricevuto {
  border-color: rgba(80, 220, 120, 0.4);
  color: rgba(120, 245, 165, 0.95);
  box-shadow: 0 0 14px rgba(80, 220, 120, 0.2);
}
.gst-badge--in-attesa {
  border-color: color-mix(in srgb, var(--gw-cyan) 32%, rgba(255, 255, 255, 0.1));
  color: color-mix(in srgb, var(--gw-cyan) 55%, rgba(255, 255, 255, 0.5));
  box-shadow: 0 0 12px rgba(0, 210, 255, 0.12);
}

.gst-badge--attivo {
  border-color: color-mix(in srgb, var(--gw-cyan) 38%, transparent);
  color: color-mix(in srgb, var(--gw-cyan) 75%, white);
  box-shadow: 0 0 12px color-mix(in srgb, var(--gw-amethyst-glow) 40%, transparent);
}
.gst-badge--scaduto,
.gst-badge--revocato { opacity: 0.45; }
.gst-badge--vault-type {
  border-color: color-mix(in srgb, var(--gst-accent) 45%, transparent);
  color: color-mix(in srgb, var(--gst-accent) 90%, white);
  box-shadow: 0 0 14px var(--gst-glow);
}
.gst-badge--provider {
  border-color: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.32);
}

.gst-meta {
  font-size: var(--gst-fs-meta);
  color: rgba(255, 255, 255, 0.4);
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
}

/* Bottoni hero ? mini-piastra vetro */
.gst-btn {
  font-size: var(--gst-fs-btn);
  padding: 0.5em 1.05em;
  border-radius: 11px;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 8%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 4%, rgba(255, 255, 255, 0.03));
  color: rgba(255, 255, 255, 0.84);
  font-family: var(--gw-font-ui);
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition:
    border-color 0.22s,
    color 0.22s,
    background 0.22s,
    box-shadow 0.22s;
  box-shadow: 0 0 14px color-mix(in srgb, var(--gst-projection-glow, var(--gst-glow)) 12%, transparent);
}
.gst-btn:hover {
  color: #fff;
  border-color: color-mix(in srgb, var(--gst-accent) 18%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 7%, rgba(255, 255, 255, 0.04));
  box-shadow: 0 0 24px color-mix(in srgb, var(--gst-projection-glow, var(--gst-glow)) 28%, transparent);
}
.gst-btn:disabled { opacity: 0.35; cursor: default; box-shadow: none; }

.gst-btn--profile {
  border-color: color-mix(in srgb, var(--gw-violet, #a78bfa) 38%, transparent);
  color: color-mix(in srgb, var(--gw-violet, #c4b5fd) 72%, white);
}
.gst-btn--profile:hover {
  box-shadow: 0 0 18px color-mix(in srgb, var(--gw-violet, #a78bfa) 22%, transparent);
}

.gst-btn--cockpit {
  border-color: color-mix(in srgb, var(--gw-cyan) 40%, transparent);
  color: color-mix(in srgb, var(--gw-cyan) 75%, white);
}
.gst-btn--cockpit:hover {
  box-shadow: 0 0 20px color-mix(in srgb, var(--gw-cyan) 25%, transparent);
}

.gst-btn--revoke {
  border-color: rgba(255, 90, 90, 0.35);
  color: rgba(255, 150, 140, 0.85);
}
.gst-btn--revoke:hover {
  box-shadow: 0 0 16px rgba(255, 80, 80, 0.2);
}

/* -- Strip sotto il rail: solo contatore ------------------------------- */
.gst-hero-zone > .gst-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1.2rem 0.65rem;
  flex-shrink: 0;
}

.gst-strip__counter {
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
  font-size: var(--gst-fs-counter);
  font-weight: 500;
  letter-spacing: 0.11em;
  color: color-mix(in srgb, var(--gst-accent) 64%, rgba(255, 255, 255, 0.62));
  text-shadow: 0 0 8px var(--gst-glow);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  user-select: none;
  -webkit-user-select: none;
}

/* Palco carousel ? no selezione testo su spam frecce / swipe a fine rail */
.gst-hero-zone,
.gst-hero-zone__viewport,
.gst-hero-rail,
.gst-preview-card--inviti,
.gst-preview-card--palco-b {
  user-select: none;
  -webkit-user-select: none;
}

.gst-hero-zone .gst-strip__counter::selection,
.gst-preview-card--inviti ::selection,
.gst-preview-card--palco-b ::selection {
  background: transparent;
  color: inherit;
}


/* -- Create invito ? ghost organico (stesso linguaggio hero) ----------- */
.gst-create {
  margin: 0 1.35rem 0.9rem;
  padding: 0.8rem 1.05rem 0.9rem;
  border: 1px solid transparent;
  border-radius: 14px;
  background: color-mix(in srgb, rgba(255, 255, 255, 0.03) 100%, transparent);
  backdrop-filter: blur(14px) saturate(1.06);
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.26);
  transition:
    border-color 0.34s ease,
    box-shadow 0.34s ease,
    background 0.34s ease;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.gst-create:hover {
  border-color: color-mix(in srgb, var(--gst-accent) 12%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 4%, rgba(255, 255, 255, 0.02));
  box-shadow:
    0 0 48px color-mix(in srgb, var(--gst-projection-glow, var(--gst-glow)) 40%, transparent),
    0 0 24px color-mix(in srgb, var(--gst-projection-glow, var(--gst-glow)) 22%, transparent),
    0 10px 22px rgba(0, 0, 0, 0.28);
}

.gst-create__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.gst-create__label {
  font-size: var(--gst-fs-ui);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gst-accent) 32%, rgba(255, 255, 255, 0.32));
  font-family: var(--gw-font-ui);
}

.gst-create__new-profile {
  background: none;
  border: none;
  color: color-mix(in srgb, var(--gst-accent) 52%, rgba(255, 255, 255, 0.55));
  font-size: var(--gst-fs-ui);
  font-family: var(--gw-font-ui);
  cursor: pointer;
  padding: 0.15rem 0.4rem;
  border-radius: 6px;
  transition: color 0.22s ease, background 0.22s ease;
}
.gst-create__new-profile:hover {
  color: color-mix(in srgb, var(--gst-accent) 78%, white);
  background: color-mix(in srgb, var(--gst-accent) 6%, transparent);
}

.gst-create__select {
  width: 100%;
  background: rgba(0, 0, 0, 0.16);
  border: 1px solid color-mix(in srgb, var(--gst-accent) 6%, transparent);
  border-radius: 11px;
  color: rgba(255, 255, 255, 0.8);
  font-size: var(--gst-fs-ui);
  padding: 0.5em 0.8em;
  font-family: var(--gw-font-ui);
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}
.gst-create__select:hover,
.gst-create__select:focus {
  border-color: color-mix(in srgb, var(--gst-accent) 14%, transparent);
  outline: none;
  box-shadow: 0 0 20px color-mix(in srgb, var(--gst-projection-glow, var(--gst-glow)) 25%, transparent);
}

.gst-create__go {
  width: 100%;
  background: color-mix(in srgb, var(--gst-accent) 3%, rgba(255, 255, 255, 0.02));
  border: 1px solid color-mix(in srgb, var(--gst-accent) 8%, transparent);
  border-radius: 11px;
  color: rgba(255, 255, 255, 0.86);
  font-size: var(--gst-fs-btn);
  font-weight: 500;
  padding: 0.52em 1em;
  cursor: pointer;
  transition: border-color 0.22s ease, color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
  text-align: center;
  font-family: var(--gw-font-ui);
  box-shadow: none;
}
.gst-create__go:hover {
  color: #fff;
  border-color: color-mix(in srgb, var(--gst-accent) 18%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 6%, rgba(255, 255, 255, 0.03));
  box-shadow:
    0 0 36px color-mix(in srgb, var(--gst-projection-glow, var(--gst-glow)) 35%, transparent);
}
.gst-create__go:disabled { opacity: 0.35; cursor: default; box-shadow: none; }

.gst-create__notice {
  font-size: var(--gst-fs-ui);
  color: rgba(100,230,140,0.8);
  margin: 0;
  line-height: 1.4;
}
.gst-create__notice--err { color: rgba(255,130,100,0.9); }

/* Loading state */
.gst-loading {
  color: color-mix(in srgb, var(--gst-accent) 38%, rgba(255, 255, 255, 0.28));
  font-size: var(--gst-fs-ui);
  text-align: center;
  padding: 1.5rem 0;
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
  text-shadow: none;
}

.gst-loading--stage {
  pointer-events: none;
  font-size: var(--gst-fs-bar, 0.82rem);
  margin: 0;
  color: color-mix(in srgb, var(--gw-text-dim) 72%, transparent);
}

/* Film mode ? visible: alone gst-film irradia nel gateway (no clip palco) */
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-cinema-stack--sacred {
  overflow: visible;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gst-create {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Bottoni nella hero card ? vetro/alone come Vault (il reset film non li appiattisce) */
body[data-gateway-film]:not([data-gateway-film="void"]) .gst-hero .gst-btn {
  backdrop-filter: blur(12px) saturate(1.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
}

.gst-hero--sessions .gst-btn {
  border-color: color-mix(in srgb, var(--gw-text-dim) 32%, transparent);
  background: color-mix(in srgb, rgba(255, 255, 255, 0.04) 100%, transparent);
  box-shadow: none;
  color: color-mix(in srgb, var(--gw-text-dim) 88%, var(--gw-text));
}

.gst-hero--sessions .gst-btn:hover {
  border-color: color-mix(in srgb, var(--gw-text) 22%, transparent);
  background: color-mix(in srgb, rgba(255, 255, 255, 0.06) 100%, transparent);
  box-shadow: none;
  color: var(--gw-text);
}

.gst-hero--sessions .gst-btn--primary,
.gst-hero--sessions .gst-btn--cockpit.gst-btn--primary {
  border-color: color-mix(in srgb, var(--gst-accent) 42%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 10%, rgba(0, 0, 0, 0.32));
  color: color-mix(in srgb, var(--gst-accent) 78%, #fff);
  box-shadow: 0 0 16px color-mix(in srgb, var(--gst-accent) 14%, transparent);
}

.gst-hero--sessions .gst-btn--primary:hover,
.gst-hero--sessions .gst-btn--cockpit.gst-btn--primary:hover {
  border-color: color-mix(in srgb, var(--gst-accent) 55%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 14%, rgba(0, 0, 0, 0.36));
  color: #fff;
}

.gst-hero--vault .gst-btn {
  border-color: color-mix(in srgb, var(--gst-accent) 14%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 6%, rgba(0, 0, 0, 0.28));
}

/* Ologramma spento con palco film (no ENTER / video sotto vignette trasparente) */
body[data-gateway-film]:not([data-gateway-film="void"])
  .gateway-cinema-stack--sacred
  > .gateway-hologram-slot {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

body[data-gateway-film]:not([data-gateway-film="void"])
  .gateway-cinema-stack--sacred
  > .gateway-hologram-slot
  .gateway-holo-cinema-ui {
  visibility: hidden;
  opacity: 0;
}

/* ---------------------------------------------------------------------------
   Palco v2 ? Slice 2 (Black Room ? plancia ? rail ? shutter ? ?3.6)
   --------------------------------------------------------------------------- */

:root {
  --t1-sala-base: #0a0b0d;
  --t1-sala-tunnel: radial-gradient(
    ellipse 85% 72% at 50% 42%,
    color-mix(in srgb, var(--gw-cyan) 4%, #12141a) 0%,
    var(--t1-sala-base) 68%
  );
  --t1-edge-idle: color-mix(in srgb, var(--gw-cyan) 14%, rgba(255, 255, 255, 0.06));
  --t1-edge-active: color-mix(in srgb, var(--gw-cyan) 42%, rgba(255, 255, 255, 0.12));
  --t1-program-world: var(--t1-program-world-accent, var(--gw-world-accent));
  --t1-program-profiles: var(--t1-program-profiles-accent, var(--t1-palco-gallery-warm, #e0d8cc));
  --t1-program-sessions: var(--t1-program-sessions-accent, var(--t1-state-pending, #e8a040));
  --t1-program-vault: var(--t1-program-vault-accent, var(--gw-cyan));
  --gw-palco-sigillo-clearance: clamp(72px, 8vh, 88px);
  --gw-palco-spacing: clamp(12px, 2vh, 20px);
  --gw-palco-delta-gap-y: clamp(40px, 6vh, 72px);
  --gw-palco-winged-gap-y: clamp(28px, 4.2vh, 48px);
  --gw-palco-winged-gap-x-void: clamp(26px, 4vw, 48px);
  --gw-palco-winged-bleed-void: clamp(36px, 6vw, 72px);
  --gw-palco-winged-nudge-y: clamp(12px, 1.4vh, 18px);
  --gw-palco-winged-triad-nudge-extra: 6px;
  --gw-palco-delta-gap-x: clamp(16px, 3vw, 32px);
  --gw-palco-delta-gap-y-stack: clamp(36px, 6vh, 56px);
  --gw-palco-plancia-reserve: calc(clamp(168px, 24vh, 220px) + env(safe-area-inset-bottom, 0px));
  --gw-palco-delta-stack-tail: clamp(20px, 4vh, 36px);
  --t1-palco-gain-text: rgba(255, 255, 255, 0.75);
  --t1-palco-plancia-edge-idle: color-mix(in srgb, #fff 8%, transparent);
  --t1-palco-plancia-infusion-idle-void: 13%;
  --t1-palco-plancia-gap-void: clamp(18px, 2.2vw, 24px);
  --t1-palco-plancia-btn-min-void: clamp(132px, 16vw, 188px);
  --t1-palco-plancia-btn-max-void: 220px;
  --t1-palco-dock-rim-void: color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 16%, transparent);
  --t1-palco-dock-void-pedestal: #0a0e14;
  --t1-palco-dock-btn-surface-void: color-mix(in srgb, rgba(26, 30, 40, 0.92) 88%, rgba(255, 255, 255, 0.1));
  --t1-palco-dock-metal-top: #111622;
  --t1-palco-dock-metal-mid: #0f141c;
  --t1-palco-dock-metal-bot: #0d111a;
  --t1-palco-cosmos-center: #0e131f;
  --t1-palco-cosmos-mid: #101828;
  --t1-palco-cosmos-edge: #050608;
  --t1-palco-sessions-smoke: rgba(195, 200, 210, 0.5);
  --t1-palco-sessions-frost: #a8b8c8;
  --t1-palco-sessions-frost-bright: color-mix(in srgb, #d1e4ff 42%, #98a8b8);
  --t1-palco-sessions-frost-dim: rgba(168, 184, 200, 0.42);
  --t1-palco-sessions-frost-edge: color-mix(in srgb, #b8c8d8 36%, #687888);
  --t1-palco-sessions-muted: rgba(140, 150, 164, 0.38);
  --t1-palco-delta-vertex-gold: #d4aa78;
  --t1-palco-delta-vertex-gold-muted: color-mix(in srgb, #d4aa78 68%, #141008);
  --t1-palco-delta-vertex-gold-edge: color-mix(in srgb, #d4aa78 46%, #4a4030);
  --t1-palco-delta-vertex-gold-glow: color-mix(in srgb, #d4aa78 34%, transparent);
  --t1-palco-delta-vertex-gold-highlight: color-mix(in srgb, #d4aa78 28%, transparent);
  /* ADR-010 ??? Vertex preview glow (unica fonte numeri host/prehover/preview) */
  --vertex-glow-host-edge: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-edge) 58%, rgba(255, 255, 255, 0.12));
  --vertex-glow-host-inset: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-highlight) 24%, transparent);
  --vertex-glow-host-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  --vertex-glow-preview-host-inset: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-highlight) 14%, transparent);
  --vertex-glow-preview-host-shadow: 0 6px 18px rgba(0, 0, 0, 0.34);
  --vertex-glow-delta-halo-opacity: 1;
  --t1-palco-delta-entry-ice: #b0d8fc;
  --t1-palco-delta-entry-ice-muted: color-mix(in srgb, #b0d8fc 62%, #141820);
  --t1-palco-delta-entry-ice-edge: color-mix(in srgb, #b0d8fc 34%, #94b4d4);
  --t1-palco-delta-entry-ice-fill: #e4f0fc;
  --t1-palco-delta-entry-ice-highlight: color-mix(in srgb, #b0d8fc 65%, transparent);
  --t1-palco-create-idle-rim: 15%;
  --t1-palco-gallery-warm: #e0d8cc;
  --t1-palco-gallery-pearl: #f8f4ee;
  --t1-palco-gallery-rim: color-mix(in srgb, var(--t1-palco-gallery-warm) 38%, var(--t1-palco-gallery-pearl));
  --t1-palco-trigger-ice: #d4e4f4;
  --t1-palco-trigger-ice-fill: #e8f0fa;
  --t1-palco-trigger-ice-edge: color-mix(in srgb, var(--t1-palco-trigger-ice) 48%, #c8d8e8);
  --t1-palco-trigger-ice-highlight: color-mix(in srgb, var(--t1-palco-trigger-ice-fill) 78%, transparent);
  --t1-palco-vertex-slab-fill: #f6f9fc;
  --t1-palco-vertex-slab-mist: #e8f0f8;
  --t1-palco-vertex-slab-edge: color-mix(in srgb, var(--t1-palco-vertex-slab-fill) 68%, #c4d2e4);
  --t1-palco-vertex-slab-glow: color-mix(in srgb, var(--t1-palco-trigger-ice) 32%, transparent);
  --t1-palco-vertex-slab-highlight: color-mix(in srgb, var(--t1-palco-vertex-slab-fill) 82%, transparent);
  --t1-palco-space-night: #0a1128;
  --t1-palco-space-night-edge: #1a2848;
  --t1-palco-space-cobalt-glow: #4a8ec8;
  --t1-palco-inertia: 280ms cubic-bezier(0.16, 1, 0.3, 1);
  --t1-plancia-infusion: transparent;
  --t1-palco-type-idle: rgba(255, 255, 255, 0.55);
  --t1-palco-type-channel-smoke: rgba(195, 200, 210, 0.62);
  --t1-palco-channel-world: var(--t1-palco-chroma-world, #1a5278);
  --t1-palco-channel-profiles: var(--t1-program-profiles-accent, var(--t1-palco-gallery-warm, #e0d8cc));
  --t1-palco-channel-sessions: var(--t1-palco-chroma-sessions, #e8dcc8);
  --t1-palco-channel-vault: var(--t1-palco-chroma-vault, var(--t1-program-vault-accent, var(--t1-cyan-gateway)));
  --t1-palco-plancia-infusion-active: 28%;
  --t1-palco-galaxy-ice: radial-gradient(
    ellipse 130% 92% at 50% 112%,
    color-mix(in srgb, var(--t1-palco-delta-entry-ice) 24%, transparent) 0%,
    transparent 54%
  );
  --t1-palco-galaxy-gold: radial-gradient(
    ellipse 130% 92% at 50% 112%,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 28%, transparent) 0%,
    transparent 54%
  );
  --t1-palco-galaxy-cobalt: radial-gradient(
    ellipse 130% 92% at 50% 112%,
    color-mix(in srgb, var(--t1-palco-space-cobalt-glow) 30%, transparent) 0%,
    color-mix(in srgb, #9ec8f0 14%, transparent) 38%,
    transparent 58%
  );
  --t1-palco-space-rim: color-mix(in srgb, var(--t1-palco-space-cobalt-glow) 62%, #9ec8f0);
  --t1-palco-peak-ice: #c4e8ff;
  --t1-palco-peak-cobalt: #9ec8f0;
  --t1-palco-peak-gold: var(--t1-palco-delta-vertex-gold, #d4aa78);
  --t1-sala-base-void: color-mix(in srgb, #090a0c 90%, #12141a 10%);
  --t1-sala-tunnel-void: radial-gradient(
    ellipse 118% 96% at 50% 48%,
    var(--t1-sala-base-void) 0%,
    var(--t1-sala-base-void) 58%,
    color-mix(in srgb, var(--t1-sala-base-void) 72%, #060708 28%) 100%
  );
  --t1-palco-edge-peak: 10%;
  --t1-palco-plate-cosmos: radial-gradient(
    ellipse 92% 88% at 50% 42%,
    var(--t1-palco-cosmos-mid) 0%,
    var(--t1-palco-cosmos-center) 34%,
    #080a10 68%,
    var(--t1-palco-cosmos-edge) 100%
  );
}

body.gateway-app--palco-v2.gateway-app {
  background: var(--t1-sala-base);
  background-image: var(--t1-sala-tunnel);
}

/* REGIA V5g ??? void: sala +0.1 lift (color-mix, no tunnel cyan) */
body.gateway-app--palco-v2.gateway-app[data-gateway-film="void"] {
  background-color: var(--t1-sala-base-void);
  background-image: var(--t1-sala-tunnel-void);
}

/* REGIA V5g ??? void: vignette stack leggera */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-cinema-stack--sacred::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse 92% 78% at 50% 44%,
    transparent 0%,
    transparent 56%,
    rgba(0, 0, 0, 0.15) 100%
  );
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-cinema-stack--sacred > .gateway-visual-row {
  position: relative;
  z-index: 1;
}

.gateway-shell.gateway-shell--palco {
  --t1-scrollbar-thumb: color-mix(in srgb, #fff 7%, rgba(72, 78, 90, 0.42));
  --t1-scrollbar-thumb-hover: color-mix(in srgb, #fff 11%, rgba(96, 102, 114, 0.52));
  --t1-select-bg: color-mix(in srgb, var(--t1-sala-base, #0a0b0d) 88%, rgba(255, 255, 255, 0.04));
  --t1-select-option-bg: color-mix(in srgb, var(--t1-sala-base-alt, #0f1114) 94%, #000);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--gw-palco-spacing);
  min-height: 100dvh;
  height: auto;
  max-height: none;
  padding-top: max(clamp(18px, 2.4vh, 28px), env(safe-area-inset-top, 0px));
  padding-bottom: clamp(12px, 2vh, 24px);
}

/* Header ? brand dominante (riga 1), rail di servizio (riga 2) */
.gateway-palco-header {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  align-items: start;
  gap: clamp(2px, 0.55vh, 8px) clamp(12px, 2vw, 24px);
  padding: 0 var(--gw-shell-pad-x, clamp(20px, 4vw, 48px));
  padding-bottom: clamp(3px, 0.65vh, 8px);
  flex-shrink: 0;
  position: relative;
}

.gateway-palco-header .gateway-brand-lockup--palco {
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  text-align: center;
}

/* Striscia ametista ? bordo inferiore testata full-width */
.gateway-palco-header::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb, var(--gw-amethyst) 22%, transparent) 12%,
    color-mix(in srgb, var(--gw-amethyst) 82%, transparent) 42%,
    color-mix(in srgb, var(--gw-amethyst) 95%, white 5%) 50%,
    color-mix(in srgb, var(--gw-amethyst) 82%, transparent) 58%,
    color-mix(in srgb, var(--gw-amethyst) 22%, transparent) 88%,
    transparent 100%
  );
  opacity: 0.92;
  pointer-events: none;
}

.gateway-brand-lockup--palco .gateway-brand-title {
  font-size: clamp(1.28rem, 1.05rem + 1.1vw, 1.72rem);
  letter-spacing: 0.32em;
  font-weight: 400;
}

.gateway-brand-lockup--palco .gateway-brand-tagline {
  font-size: clamp(0.72rem, 0.68rem + 0.2vw, 0.82rem);
  opacity: 0.58;
  margin-top: clamp(1px, 0.2vh, 4px);
}

.gateway-brand-studio {
  margin: 0;
  font-family: 'Plus Jakarta Sans', var(--gw-font-ui);
  font-size: clamp(0.62rem, 0.58rem + 0.18vw, 0.72rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: none;
  color: var(--t1-cyan-gateway, #00f2ff);
  opacity: 0.42;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 28ch;
  margin-top: 2px;
}

/* Label studio vuota: occupa spazio (altezza fissa) ma invisibile — header non cresce al reveal */
.gateway-brand-studio.is-empty {
  visibility: hidden;
  min-height: 1.3em;
}

/* Hub operativo ??? sotto striscia LED testata, prima del cinema-stack */
.gateway-palco-hub-label {
  margin: 0;
  padding: clamp(6px, 0.9vh, 10px) var(--gw-shell-pad-x, clamp(20px, 4vw, 48px)) 0;
  text-align: center;
  font-size: clamp(0.62rem, 0.58rem + 0.15vw, 0.72rem);
  font-weight: 400;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--t1-pearl, #e8f0fa) 72%, transparent);
  opacity: 0.46;
  flex-shrink: 0;
  pointer-events: none;
  user-select: none;
}

/* Wrapper hint fullscreen — position: fixed qui; bottone figlio non posizionato */
.gateway-fs-hint-host {
  position: fixed;
  top: max(18px, env(safe-area-inset-top, 0px));
  right: max(18px, env(safe-area-inset-right, 0px));
  z-index: 10020;
  display: inline-flex;
}

/* TABLET-S1c — fullscreen browser solo desktop coach (≥1280 + mouse) */
@media not ((min-width: 1280px) and (hover: hover) and (pointer: fine)) {
  .gateway-fs-hint-host {
    display: none !important;
  }
}

/* Fullscreen browser — angolo viewport (utility discreta, cyan su hover/active) */
.gateway-palco-fs-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  cursor: pointer;
  box-sizing: border-box;
  opacity: 0.48;
  color: rgba(248, 252, 255, 0.65);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.07) 0%, rgba(10, 12, 18, 0.88) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom-color: rgba(0, 0, 0, 0.48);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  transition:
    opacity var(--gw-ease),
    color var(--gw-ease),
    border-color var(--gw-ease),
    box-shadow var(--gw-ease),
    background var(--gw-ease);
}

.gateway-palco-fs-toggle:hover,
.gateway-palco-fs-toggle:focus-visible {
  opacity: 0.92;
  color: var(--gw-cyan);
  border-color: color-mix(in srgb, var(--gw-cyan) 42%, rgba(255, 255, 255, 0.14));
  outline: none;
  box-shadow:
    0 0 20px color-mix(in srgb, var(--gw-cyan) 18%, transparent),
    0 8px 24px rgba(0, 0, 0, 0.48);
}

.gateway-palco-fs-toggle.is-active {
  opacity: 0.92;
  color: var(--gw-cyan);
  border-color: color-mix(in srgb, var(--gw-cyan) 48%, rgba(255, 255, 255, 0.12));
  box-shadow:
    0 0 22px color-mix(in srgb, var(--gw-cyan) 22%, transparent),
    0 8px 24px rgba(0, 0, 0, 0.48);
}

.gateway-palco-fs-toggle svg {
  display: block;
  flex-shrink: 0;
}

/* Void copy ?4 ? visibile solo in stato void */
.gateway-palco-void-copy {
  display: none;
  flex-shrink: 0;
  margin: 0 0 clamp(3px, 0.6vh, 8px);
  padding: 0 var(--gw-shell-pad-x, clamp(20px, 4vw, 48px));
  text-align: center;
  font-family: var(--gw-font-mono);
  font-size: clamp(0.72rem, 0.68rem + 0.25vw, 0.82rem);
  line-height: 1.45;
  letter-spacing: 0.02em;
  color: color-mix(in srgb, var(--gw-cyan) 42%, var(--gw-text-dim));
  opacity: 0.9;
}

body[data-gateway-film="void"] .gateway-palco-void-copy {
  display: none;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-palco-void-copy {
  display: none;
}

/* Palco v2 ? reset bleed legacy (stack); coordinate unificate nella shell */
.gateway-shell--palco .gateway-cinema-stack--sacred {
  flex: 1 1 auto;
  min-height: clamp(200px, 40vh, 460px);
  width: 100%;
  max-width: 100%;
  margin-top: clamp(8px, 1.5vh, 16px);
  margin-bottom: clamp(8px, 1.5vh, 16px);
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  box-sizing: border-box;
}

.gateway-shell--palco .gateway-cinema-stack--sacred > .gateway-visual-row {
  width: 100%;
  align-items: center;
}

.gateway-shell--palco .gw-layout--delta .gateway-carousel {
  width: 100%;
  max-width: min(980px, 100%);
  margin-left: auto;
  margin-right: auto;
}

/* Void desktop: triangolo Palco ? gap token + niente transform collassante */
body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel {
  row-gap: var(--gw-palco-delta-gap-y);
  column-gap: var(--gw-palco-delta-gap-x);
}

body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel {
  row-gap: var(--gw-palco-winged-gap-y);
  column-gap: var(--gw-palco-winged-gap-x-void, clamp(26px, 4vw, 48px));
  width: calc(100% + 2 * var(--gw-palco-winged-bleed-void, clamp(36px, 6vw, 72px)));
  margin-left: calc(-1 * var(--gw-palco-winged-bleed-void, clamp(36px, 6vw, 72px)));
  margin-right: calc(-1 * var(--gw-palco-winged-bleed-void, clamp(36px, 6vw, 72px)));
}

body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel__vertex,
body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--left,
body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--right {
  transform: none !important;
}

/* Void winged: nudge simmetrico ??? create verso header, triade verso deck (baricentro invariato) */
body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__core {
  transform: translateY(calc(-1 * var(--gw-palco-winged-nudge-y, clamp(12px, 1.4vh, 18px)))) !important;
}

body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__vertex,
body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--gallery,
body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--right {
  transform: translateY(
    calc(var(--gw-palco-winged-nudge-y, clamp(12px, 1.4vh, 18px)) + var(--gw-palco-winged-triad-nudge-extra, 6px))
  ) !important;
}

/* Void wide: ali +10% gap/bleed vs base */
@media (min-width: 1400px) {
  body[data-gateway-film="void"] {
    --gw-palco-winged-gap-x-void: clamp(29px, 4.4vw, 53px);
    --gw-palco-winged-bleed-void: clamp(40px, 6.6vw, 79px);
  }
}

/* Void ultrawide: ali +10% vs wide */
@media (min-width: 1680px) {
  body[data-gateway-film="void"] {
    --gw-palco-winged-gap-x-void: clamp(32px, 4.8vw, 58px);
    --gw-palco-winged-bleed-void: clamp(44px, 7.2vw, 87px);
  }
}

/* Film attivo: palco 16:9 resta hero */
body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gateway-cinema-stack--sacred {
  min-height: clamp(220px, 48vh, 520px);
}

/* Void Palco: simmetria verticale — stessa aria sotto linea header e sopra deck */
body[data-gateway-film="void"] .gateway-shell--palco .gateway-cinema-stack--sacred {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-cinema-stack--sacred > .gateway-visual-row {
  flex: 0 0 auto;
  justify-content: center;
  width: 100%;
}

/* Void senza mondo: holo spento ??? preview solo su hover Vertex (P2b) */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-hologram-slot {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-hologram-projection:not(.is-vertex-hover-preview) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}

/* ---------------------------------------------------------------------------
   VERTEX-PREVIEW-STATE (ADR-010 step A) ??? void ? hover ? preview ? glow host
   Unica fonte void per host/prehover/preview_open. Non duplicare sotto.
   --------------------------------------------------------------------------- */

.gateway-shell--palco .gateway-visual-card.is-vertex-hover-host {
  z-index: 8;
}

.gateway-shell--palco .gateway-visual-card.is-vertex-hover-host
  > .gateway-hologram-projection.is-vertex-hover-preview.is-vertex-hover-in-card {
  filter: none !important;
  border: none !important;
  box-shadow: none !important;
  transition: all var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

/* Restore ADR-010: in void la preview in-card resta sempre renderizzata. */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-carousel__vertex
  .gateway-visual-card.is-vertex-hover-host
  > .gateway-hologram-projection.is-vertex-hover-preview.is-vertex-hover-in-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.gateway-shell--palco .gateway-visual-card.is-vertex-hover-host
  > .gateway-hologram-projection.is-vertex-hover-in-card
  .gateway-hologram-projection__tint {
  background: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-highlight) 6%, transparent) !important;
}

/* PREHOVER (void): niente boost transitorio ??? mantiene battito base ed evita glitch 1s. */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-carousel__vertex:hover
  .gateway-visual-card.gateway-visual-card--pulse:not(.is-vertex-hover-host),
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-carousel__vertex:focus-within
  .gateway-visual-card.gateway-visual-card--pulse:not(.is-vertex-hover-host) {
  animation: gw-heartbeat 3.8s ease-in-out infinite !important;
}

/* HOST (void): luminosit? host; alone ::after host spento (laterali invite/space intatti) */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-carousel__vertex
  .gateway-visual-card.is-vertex-hover-host {
  filter: brightness(1.14) !important;
  border-color: var(--vertex-glow-host-edge) !important;
  box-shadow:
    inset 0 1px 0 var(--vertex-glow-host-inset),
    var(--vertex-glow-host-shadow) !important;
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-carousel__vertex
  .gateway-visual-card.is-vertex-hover-host::after {
  opacity: 0 !important;
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-visual-card.gateway-visual-card--pulse.is-vertex-hover-host,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-carousel__vertex:hover
  .gateway-visual-card.gateway-visual-card--pulse.is-vertex-hover-host,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-carousel__vertex:focus-within
  .gateway-visual-card.gateway-visual-card--pulse.is-vertex-hover-host {
  animation: none !important;
}

/* PREVIEW_OPEN: ombra host pi? contenuta; non toccare ::after invite/projects */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus).is-vertex-preview-open
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-carousel__vertex
  .gateway-visual-card.is-vertex-hover-host,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta.is-vertex-preview-open
  .gateway-carousel__vertex
  .gateway-visual-card.is-vertex-hover-host {
  box-shadow:
    inset 0 1px 0 var(--vertex-glow-preview-host-inset),
    var(--vertex-glow-preview-host-shadow) !important;
}

@media (prefers-reduced-motion: reduce) {
  body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
    .gateway-shell--palco
    .gateway-carousel__vertex:hover
    .gateway-visual-card.gateway-visual-card--pulse:not(.is-vertex-hover-host),
  body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
    .gateway-shell--palco
    .gateway-carousel__vertex:focus-within
    .gateway-visual-card.gateway-visual-card--pulse:not(.is-vertex-hover-host) {
    animation: none;
  }
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco #gateway-holo-cinema-ui {
  display: none !important;
  visibility: hidden !important;
}

/* Void senza mondo: Delta dormiente ??? copy domina; testo card leggibile (P2a) */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-row {
  opacity: 1;
  filter: none;
}

/* REGIA V5c-fix ??? stelle su card (non su li griglia): tinta 6???8% + mask, no placche */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-visual-card:not(.gateway-visual-card--ghost)::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 54%;
  width: 220%;
  height: 250%;
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
  border-radius: 0;
  background: radial-gradient(
    ellipse 48% 46% at 50% 50%,
    color-mix(in srgb, var(--gw-card-accent) 7%, transparent) 0%,
    color-mix(in srgb, var(--gw-card-accent) 3%, transparent) 44%,
    transparent 66%
  );
  mask-image: radial-gradient(ellipse 52% 50% at 50% 50%, #000 0%, #000 34%, transparent 72%);
  -webkit-mask-image: radial-gradient(ellipse 52% 50% at 50% 50%, #000 0%, #000 34%, transparent 72%);
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-visual-card--invite:not(.gateway-visual-card--ghost)::after {
  background: radial-gradient(
    ellipse 48% 46% at 50% 50%,
    color-mix(in srgb, var(--t1-palco-delta-entry-ice) 8%, transparent) 0%,
    color-mix(in srgb, var(--t1-palco-delta-entry-ice) 3%, transparent) 42%,
    transparent 64%
  );
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-visual-card--projects:not(.gateway-visual-card--ghost)::after {
  background: radial-gradient(
    ellipse 48% 46% at 50% 50%,
    color-mix(in srgb, var(--t1-palco-space-cobalt-glow) 8%, transparent) 0%,
    color-mix(in srgb, var(--t1-palco-space-cobalt-glow) 3%, transparent) 42%,
    transparent 64%
  );
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--winged
  .gateway-visual-card--gallery:not(.gateway-visual-card--ghost)::after {
  background: radial-gradient(
    ellipse 48% 46% at 50% 50%,
    color-mix(in srgb, var(--t1-palco-gallery-warm, #b8a99a) 8%, transparent) 0%,
    color-mix(in srgb, var(--t1-palco-gallery-warm, #b8a99a) 3%, transparent) 42%,
    transparent 64%
  );
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-carousel__vertex
  .gateway-visual-card:not(.gateway-visual-card--ghost)::after,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-visual-card--pulse:not(.gateway-visual-card--ghost)::after {
  background: radial-gradient(
    ellipse 48% 46% at 50% 50%,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 9%, transparent) 0%,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 3.5%, transparent) 44%,
    transparent 66%
  );
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-cinema-stack--sacred
  > .gateway-visual-row
  > .gateway-carousel {
  position: relative;
  z-index: 1;
}

/* Void senza mondo: Delta emissivo (REGIA V5) ??? no dim su triade */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-card:not(.gateway-visual-card--invite):not(.gateway-visual-card--create):not(.gateway-visual-card--projects):not(.gateway-visual-card--gallery):not(.gateway-visual-card--pulse) {
  border-color: color-mix(in srgb, var(--gw-card-accent) 22%, transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--gw-card-accent) 12%, transparent),
    0 4px 16px rgba(0, 0, 0, 0.42);
  filter: saturate(0.82) brightness(0.9);
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-card--invite,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-card--create,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-card--projects,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-card--gallery,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-carousel__vertex .gateway-visual-card {
  filter: none;
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-card__name,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-glow-pill,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-visual-card__overlay {
  opacity: 1;
  filter: none;
}

@media (hover: hover) and (pointer: fine) {
  body[data-gateway-film="void"]:not(.gateway-palco--world-focus) .gateway-shell--palco .gateway-carousel > li:hover .gateway-visual-card:not(.gateway-visual-card--invite):not(.gateway-visual-card--create):not(.gateway-visual-card--projects):not(.gateway-visual-card--gallery):not(.gateway-visual-card--pulse) {
    filter: none;
    border-color: color-mix(in srgb, var(--gw-card-accent) 54%, rgba(255, 255, 255, 0.1));
    box-shadow:
      0 0 18px color-mix(in srgb, var(--gw-card-accent), transparent 46%),
      0 0 36px color-mix(in srgb, var(--gw-card-accent), transparent 72%),
      0 12px 28px rgba(0, 0, 0, 0.5);
  }
}

body[data-gateway-film="void"].gateway-palco--world-focus .gateway-palco-void-copy {
  opacity: 0.72;
  font-size: clamp(0.68rem, 0.64rem + 0.2vw, 0.78rem);
}

body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-visual-row {
  opacity: 1;
  filter: none;
  position: relative;
  isolation: isolate;
  overflow: visible;
  z-index: 1;
}

/* Palco ?4 ? void + mondo in memoria: holo spento, Delta nitido (no velo laterale ::before) */
body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-hologram-slot,
body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-hologram-slot[data-gw-film-suppressed] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-hologram-projection:not(.is-vertex-hover-preview) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}

body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco #gateway-holo-cinema-ui {
  display: none !important;
  visibility: hidden !important;
}

body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-cinema-stack--sacred::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse 92% 78% at 50% 44%,
    transparent 0%,
    transparent 56%,
    rgba(0, 0, 0, 0.15) 100%
  );
}

body[data-gateway-film="void"].gateway-palco--world-focus
  .gateway-shell--palco
  .gateway-cinema-stack--sacred
  > .gateway-visual-row
  > .gateway-carousel {
  position: relative;
  z-index: 1;
}

body[data-gateway-film="void"].gateway-palco--world-focus
  .gateway-shell--palco
  .gateway-cinema-stack--sacred
  > .gateway-visual-row::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -8%;
  width: min(132%, 1120px);
  height: clamp(110px, 22vh, 300px);
  transform: translateX(-50%) translateY(6px);
  pointer-events: none;
  z-index: 0;
  border-radius: 0;
  background:
    radial-gradient(
      ellipse 130% 92% at 50% 108%,
      rgba(228, 236, 248, 0.096) 0%,
      rgba(212, 170, 120, 0.044) 20%,
      transparent 56%
    ),
    radial-gradient(
      ellipse 72% 58% at 22% 106%,
      rgba(176, 216, 252, 0.062) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse 72% 58% at 78% 106%,
      rgba(212, 170, 120, 0.057) 0%,
      transparent 50%
    );
  filter: blur(46px);
  opacity: 0.48;
}

body[data-gateway-film="void"].gateway-palco--world-focus
  .gateway-shell--palco
  .gateway-cinema-stack--sacred
  > .gateway-visual-row::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10%;
  width: min(132%, 1120px);
  height: clamp(110px, 22vh, 300px);
  transform: translateX(-50%) translateY(6px);
  pointer-events: none;
  z-index: 0;
  border-radius: 0;
  background: rgba(236, 242, 252, 0.3);
  filter: url(#gw-atrio-smog-noise) blur(40px);
  opacity: 0.21;
  mix-blend-mode: soft-light;
  animation: gw-atrio-fog-drift 38s ease-in-out infinite alternate;
}

body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-visual-card,
body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-visual-card__name,
body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-glow-pill,
body[data-gateway-film="void"].gateway-palco--world-focus .gateway-shell--palco .gateway-visual-card__overlay {
  filter: none;
  opacity: 1;
}

.gateway-cinema-stack--sacred.palco-shutter::after,
.gateway-cinema-stack--sacred.palco-shutter--closing::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 60;
  pointer-events: none;
  background: color-mix(in srgb, #000 20%, transparent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 1;
  transition: opacity 0.28s ease;
}

.gateway-cinema-stack--sacred.palco-shutter--closing::after {
  opacity: 0;
}

.palco-shutter__msg {
  position: absolute;
  left: 50%;
  bottom: 12%;
  transform: translateX(-50%);
  z-index: 61;
  margin: 0;
  font-family: var(--gw-font-mono);
  font-size: 0.82rem;
  color: color-mix(in srgb, var(--gw-cyan) 55%, var(--gw-text-dim));
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .gateway-cinema-stack--sacred.palco-shutter::after {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: color-mix(in srgb, #000 35%, transparent);
  }
}

.gateway-plancia {
  flex-shrink: 0;
  padding: 0 var(--gw-shell-pad-x, clamp(20px, 4vw, 48px));
  margin-top: auto;
  /* Lift minimo: cornice dock + ombra non clippate da body overflow:hidden */
  padding-bottom: max(calc(env(safe-area-inset-bottom, 0px) + 6px), 6px);
}

/* REGIA V5h???V5i ??? plancia dock senza cornice (lastra metal leggera) */
.gateway-plancia-dock {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(15px, 2vh, 20px) clamp(16px, 2.1vw, 20px) clamp(13px, 1.5vh, 17px);
  border-radius: 14px;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--t1-palco-dock-metal-top, #111622) 94%, transparent) 0%,
    color-mix(in srgb, var(--t1-palco-dock-metal-mid, #0f141c) 86%, transparent) 58%,
    color-mix(in srgb, var(--t1-palco-dock-metal-bot, #0d111a) 42%, transparent) 100%
  );
  border: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 18%, transparent),
    0 12px 36px rgba(0, 0, 0, 0.28);
}

.gateway-plancia__list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 14px;
  list-style: none;
  max-width: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 768px) {
  .gateway-plancia-dock {
    max-width: 920px;
  }

  .gateway-plancia__list {
    justify-content: flex-start;
    gap: 0;
  }

  .gateway-plancia__group {
    display: flex;
    align-items: stretch;
    flex: 0 0 auto;
  }

  .gateway-plancia__group--catalog {
    gap: 8px;
  }

  .gateway-plancia__group--ops {
    gap: 14px;
  }

  .gateway-plancia__spacer {
    flex: 1 1 auto;
    min-width: clamp(24px, 4vw, 48px);
    max-width: 80px;
    list-style: none;
  }

  .gateway-plancia__group .gateway-plancia__btn {
    flex: 0 1 auto;
    min-width: clamp(96px, 11vw, 132px);
  }
}

@media (max-width: 767px) and not ((hover: hover) and (pointer: fine)) {
  .gateway-plancia__spacer {
    display: none;
  }

  .gateway-plancia__group {
    display: contents;
  }
}

.gateway-plancia__btn {
  flex: 1 1 0;
  min-height: 62px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 18px;
  border-radius: 12px;
  border: 0.5px solid color-mix(in srgb, var(--t1-palco-plancia-edge-idle, color-mix(in srgb, #fff 10%, transparent)) 72%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 22%, transparent);
  background:
    radial-gradient(ellipse 140% 92% at 50% 118%, var(--t1-plancia-infusion, transparent), transparent 62%),
    color-mix(in srgb, var(--t1-glass-frost) 100%, rgba(255, 255, 255, 0.06));
  backdrop-filter: blur(16px) saturate(1.06);
  -webkit-backdrop-filter: blur(16px) saturate(1.06);
  color: var(--t1-palco-type-idle, rgba(255, 255, 255, 0.55));
  font-family: var(--gw-font-ui);
  font-size: clamp(0.78rem, 0.74rem + 0.18vw, 0.86rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.22;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 14%, transparent),
    0 -3px 16px rgba(0, 0, 0, 0.34),
    0 8px 22px rgba(0, 0, 0, 0.32);
  transition: all var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

.gateway-plancia__icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  opacity: 0.62;
  transition: opacity 220ms ease;
}

.gateway-plancia__icon-wrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

/* Pallino attività: a sinistra dell’icona busta (non sulla label) */
.gateway-plancia__btn[data-palco-program='sessions'] {
  overflow: visible;
}

.gateway-plancia__btn[data-palco-program='sessions'] .gateway-plancia__icon-wrap {
  flex-direction: row;
  align-items: center;
  gap: 7px;
}

.gateway-plancia__btn[data-palco-program='sessions'] .gateway-inviti-signal {
  order: -1;
}

.gateway-inviti-signal {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  pointer-events: none;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 68%, #0c2834);
  border: 1px solid color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 52%, transparent);
  box-shadow: 0 0 6px color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 34%, transparent);
  animation: t1-plancia-inviti-signal-pulse 2.4s ease-in-out infinite;
}

.gateway-inviti-signal[hidden] {
  display: none !important;
}

.gateway-inviti-signal--pending-only {
  background: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 46%, #142430);
  border-color: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 36%, transparent);
}

.gateway-inviti-signal--priority {
  background: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 86%, #ffffff);
  border-color: color-mix(in srgb, var(--t1-cyan-gateway, #00f2ff) 62%, transparent);
}

.gateway-plancia__btn[data-palco-program='sessions'][data-t1-hint='above'] > .gateway-plancia__inviti-hint {
  right: auto;
  left: 50%;
  top: auto;
  bottom: calc(100% + 12px);
  transform: translateX(-50%) translateY(6px);
  min-width: 11.5rem;
}

.gateway-plancia__inviti-hint--idle {
  font-size: 0.68rem;
  font-weight: 500;
  line-height: 1.4;
  min-width: 10rem;
}

.gateway-plancia-hint__head {
  display: block;
  margin-bottom: 5px;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #c8daf0) 72%, rgba(255, 255, 255, 0.55));
}

.gateway-plancia-hint__line {
  display: block;
  margin-top: 3px;
  font-weight: 500;
  color: rgba(248, 252, 255, 0.96);
}

.gateway-plancia-hint__line + .gateway-plancia-hint__line {
  margin-top: 5px;
}

.gateway-plancia-hint__num {
  font-size: 0.9rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: #f4f9ff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.gateway-plancia__btn[data-palco-program='sessions'][data-t1-hint='above']:hover:not([data-hint-dismissed]) > .gateway-plancia__inviti-hint,
.gateway-plancia__btn[data-palco-program='sessions'][data-t1-hint='above']:focus-visible:not([data-hint-dismissed]) > .gateway-plancia__inviti-hint {
  transform: translateX(-50%) translateY(0);
}

.gateway-plancia__btn[data-palco-program='sessions'][data-t1-hint='above'][data-hint-dismissed]:hover > .gateway-plancia__inviti-hint,
.gateway-plancia__btn[data-palco-program='sessions'][data-t1-hint='above'][data-hint-dismissed]:focus-visible > .gateway-plancia__inviti-hint {
  transform: translateX(-50%) translateY(6px);
}

@media (prefers-reduced-motion: reduce) {
  .gateway-inviti-signal {
    animation: none;
  }
}

.gateway-plancia__btn:hover .gateway-plancia__icon,
.gateway-plancia__btn.is-film-active .gateway-plancia__icon {
  opacity: 0.92;
}

.gateway-plancia__btn .gateway-plancia__label {
  text-shadow:
    0 1px 0 color-mix(in srgb, #fff 7%, transparent),
    0 -1px 0 rgba(0, 0, 0, 0.38);
}

.gateway-plancia__btn[data-palco-program="world"],
.gateway-plancia__btn[data-palco-program="profiles"],
.gateway-plancia__btn[data-palco-program="sessions"],
.gateway-plancia__btn[data-palco-program="vault"] {
  --t1-plancia-infusion: transparent;
}

/* Riposo: meno segmentazione ottica, pi? lastra continua. */
.gateway-plancia__btn:not(.is-film-active) {
  border-color: color-mix(in srgb, var(--t1-palco-plancia-edge-idle, rgba(255, 255, 255, 0.1)) 54%, transparent);
  border-top-color: color-mix(in srgb, #fff 3%, transparent);
}

.gateway-plancia__btn:hover:not(.is-film-active) {
  color: rgba(255, 255, 255, 0.78);
  transform: translateY(-2px);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 10%, transparent),
    0 0 16px color-mix(in srgb, var(--t1-palco-type-channel-smoke, rgba(195, 200, 210, 0.62)) 16%, transparent),
    0 12px 32px rgba(0, 0, 0, 0.36);
}

.gateway-plancia__btn:hover:not(.is-film-active) .gateway-plancia__label {
  text-shadow:
    0 1px 0 color-mix(in srgb, #fff 10%, transparent),
    0 -1px 0 rgba(0, 0, 0, 0.42),
    0 0 12px color-mix(in srgb, #fff 6%, transparent);
}

.gateway-plancia__btn.is-film-active {
  font-weight: 600;
  letter-spacing: 0.08em;
  transform: translateY(-2px);
  backdrop-filter: blur(18px) saturate(1.14);
  -webkit-backdrop-filter: blur(18px) saturate(1.14);
}

.gateway-plancia__btn.is-film-active .gateway-plancia__label {
  text-shadow:
    0 1px 0 color-mix(in srgb, #fff 12%, transparent),
    0 -1px 0 rgba(0, 0, 0, 0.48),
    0 0 16px color-mix(in srgb, currentColor 22%, transparent);
}

.gateway-plancia__btn[data-palco-program="world"].is-film-active {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-world) var(--t1-palco-plancia-infusion-active, 28%), transparent);
  color: color-mix(in srgb, var(--t1-palco-channel-world) 85%, #fff);
  border-color: color-mix(in srgb, var(--t1-palco-channel-world) 44%, rgba(255, 255, 255, 0.12));
  border-top: 1px solid color-mix(in srgb, #fff 14%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
    0 0 22px color-mix(in srgb, var(--t1-palco-channel-world) 24%, transparent),
    0 12px 34px rgba(0, 0, 0, 0.42);
}

.gateway-plancia__btn[data-palco-program="profiles"].is-film-active {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-profiles) var(--t1-palco-plancia-infusion-active, 28%), transparent);
  color: color-mix(in srgb, var(--t1-palco-channel-profiles) 85%, #fff);
  border-color: color-mix(in srgb, var(--t1-palco-channel-profiles) 42%, rgba(255, 255, 255, 0.12));
  border-top: 1px solid color-mix(in srgb, #fff 14%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
    0 0 22px color-mix(in srgb, var(--t1-palco-channel-profiles) 22%, transparent),
    0 12px 34px rgba(0, 0, 0, 0.42);
}

.gateway-plancia__btn[data-palco-program="sessions"].is-film-active {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-sessions) var(--t1-palco-plancia-infusion-active, 28%), transparent);
  color: color-mix(in srgb, var(--t1-palco-channel-sessions) 85%, #fff);
  border-color: color-mix(in srgb, var(--t1-palco-channel-sessions) 42%, rgba(255, 255, 255, 0.12));
  border-top: 1px solid color-mix(in srgb, #fff 14%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
    0 0 22px color-mix(in srgb, var(--t1-palco-channel-sessions) 22%, transparent),
    0 12px 34px rgba(0, 0, 0, 0.42);
}

.gateway-plancia__btn[data-palco-program="vault"].is-film-active {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-vault) var(--t1-palco-plancia-infusion-active, 28%), transparent);
  color: color-mix(in srgb, var(--t1-palco-channel-vault) 85%, #fff);
  border-color: color-mix(in srgb, var(--t1-palco-channel-vault) 40%, rgba(255, 255, 255, 0.12));
  border-top: 1px solid color-mix(in srgb, #fff 14%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
    0 0 22px color-mix(in srgb, var(--t1-palco-channel-vault) 20%, transparent),
    0 12px 34px rgba(0, 0, 0, 0.42);
}

.gateway-plancia__btn.is-world-active:not(.is-film-active) {
  border-color: color-mix(in srgb, var(--t1-program-world) 22%, var(--t1-edge-idle));
}

.gateway-plancia__label--world {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.14rem;
  min-width: 0;
  max-width: 100%;
  line-height: 1.12;
  text-transform: none;
  letter-spacing: normal;
}

.gateway-plancia__world-eyebrow {
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--t1-palco-channel-world) 62%, rgba(255, 255, 255, 0.48));
  opacity: 0.82;
  text-shadow:
    0 1px 0 color-mix(in srgb, #fff 6%, transparent),
    0 -1px 0 rgba(0, 0, 0, 0.32);
}

.gateway-plancia__world-title {
  font-size: clamp(0.72rem, 0.68rem + 0.16vw, 0.82rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: color-mix(in srgb, var(--t1-palco-channel-world) 78%, #fff);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow:
    0 1px 0 color-mix(in srgb, #fff 9%, transparent),
    0 -1px 0 rgba(0, 0, 0, 0.4),
    0 0 14px color-mix(in srgb, var(--t1-palco-channel-world) 16%, transparent);
}

.gateway-plancia__btn.is-world-active:not(.is-film-active) .gateway-plancia__label--world {
  text-transform: none;
}

body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia {
  position: relative;
  z-index: 2;
}

/* Film aperto: plancia centrata come void (no flex-start + spacer corto) */
@media (min-width: 768px) {
  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia-dock {
    max-width: 920px;
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia__list {
    width: 100%;
    justify-content: center;
    gap: clamp(14px, 1.6vw, 22px);
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia__spacer {
    display: none;
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia__group {
    display: contents;
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia__group .gateway-plancia__btn {
    flex: 0 1 auto;
    min-width: clamp(108px, 12vw, 148px);
  }
}

/* Tier B tablet: regole sotto · Tier C desktop stretto: styles/t1_coach_desktop_viewport.css */

/* TABLET-S1 — Palco touch ≥44px + gap 768–1100 (iPad Air portrait · narrow landscape) */
@media (min-width: 768px) and (max-width: 1100px) and not ((hover: hover) and (pointer: fine)) {
  .gateway-shell.gateway-shell--palco {
    overflow-x: hidden;
  }

  .gateway-plancia,
  .gateway-plancia-dock,
  .gateway-plancia__list {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .gateway-plancia-dock {
    width: 100%;
  }

  .gateway-plancia__btn {
    min-height: 44px;
    min-width: 44px;
  }

  body[data-gateway-film="void"] {
    --t1-palco-plancia-btn-min-void: clamp(108px, 13vw, 148px);
    --t1-palco-plancia-gap-void: clamp(10px, 1.4vw, 16px);
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia__list {
    gap: clamp(10px, 1.2vw, 16px);
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-plancia__group .gateway-plancia__btn {
    min-width: clamp(84px, 9.5vw, 116px);
    padding: 12px 12px;
    font-size: clamp(0.7rem, 0.66rem + 0.12vw, 0.78rem);
  }

  .gateway-holo-cinema-ui__enter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
    padding: 10px 14px;
    box-sizing: border-box;
  }
}

/* TABLET-S1b — Tier B: rail dx sopra card winged (768–1400 landscape, iPad Air incluso DevTools) */
@media (min-width: 768px) and (max-width: 1400px) and (orientation: landscape) {
  body[data-gateway-film="void"] .gateway-shell--palco .gateway-right-cluster {
    top: clamp(128px, 24vh, 272px);
    transform: none;
  }
}

/* TABLET-S3a — Tier B: winged void @1101–1280 landscape (iPad Air 1180; Tier C solo ≤1100) */
@media (min-width: 1101px) and (max-width: 1280px) and (orientation: landscape) {
  body[data-gateway-film="void"] {
    --gw-palco-winged-bleed-void: 0px;
    --gw-palco-winged-gap-x-void: clamp(14px, 2vw, 26px);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    grid-template-columns: minmax(220px, min(28vw, 300px)) 1fr minmax(220px, min(28vw, 300px));
    column-gap: var(--gw-palco-winged-gap-x-void);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__core,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__vertex,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--gallery,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--right {
    width: min(28vw, 300px);
    max-width: 100%;
  }
}

@media (max-width: 1100px) and (orientation: portrait) and not ((hover: hover) and (pointer: fine)) {
  body[data-gateway-film="void"] .gateway-shell--palco .gateway-right-cluster {
    top: max(clamp(188px, 22vh, 268px), env(safe-area-inset-top, 0px));
    transform: none;
  }

  .gateway-shell--palco .gw-layout--winged .gateway-carousel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto;
    grid-template-areas:
      "create"
      "vertex"
      "gallery"
      "space";
    row-gap: var(--gw-palco-delta-gap-y-stack);
    column-gap: 0;
    max-width: min(92vw, 340px);
    width: 100%;
    align-content: start;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--gw-palco-delta-stack-tail);
  }

  .gateway-shell--palco .gw-layout--winged .gateway-carousel > li,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel__core,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel__vertex,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--gallery,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--right {
    position: relative;
    width: 100%;
    max-width: 340px;
    justify-self: center;
    transform: none !important;
  }

  .gateway-shell--palco .gw-layout--winged .gateway-carousel > li:hover .gateway-visual-card,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel > li:focus-within .gateway-visual-card {
    transform: translateZ(0) !important;
  }
}

/* REGIA V4 ??? per-canale attivo; no flatten generico su plancia */

/* Palco §3.6 — Delta stack verticale (tablet / smartphone; non PC finestra stretta) */
@media (max-width: 1100px) and not ((hover: hover) and (pointer: fine)) {
  body[data-gateway-film="void"] .gateway-shell.gateway-shell--palco {
    max-height: 100dvh;
    height: auto;
    min-height: 100dvh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: max(clamp(12px, 2vh, 20px), env(safe-area-inset-bottom, 0px));
    -webkit-overflow-scrolling: touch;
    scroll-padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .gateway-shell--palco .gw-layout--delta .gateway-carousel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "vertex"
      "left"
      "right";
    row-gap: var(--gw-palco-delta-gap-y-stack);
    max-width: min(92vw, 340px);
    width: 100%;
    align-content: start;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--gw-palco-delta-stack-tail);
  }

  .gateway-shell--palco .gw-layout--delta .gateway-carousel > li {
    position: relative;
    width: 100%;
    max-width: 340px;
    justify-self: center;
    transform: none !important;
  }

  .gateway-shell--palco .gw-layout--delta .gateway-carousel__vertex,
  .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--left,
  .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--right {
    width: 100%;
    max-width: 340px;
    justify-self: center;
    transform: none !important;
  }

  .gateway-shell--palco .gw-layout--delta .gateway-carousel > li:hover .gateway-visual-card,
  .gateway-shell--palco .gw-layout--delta .gateway-carousel > li:focus-within .gateway-visual-card {
    transform: translateZ(0) !important;
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-cinema-stack--sacred {
    justify-content: center;
    min-height: auto;
    flex: 1 1 auto;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: var(--gw-palco-spacing);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-cinema-stack--sacred > .gateway-visual-row {
    flex: 0 0 auto;
    min-height: auto;
    padding-bottom: clamp(8px, 1.5vh, 16px);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel {
    row-gap: var(--gw-palco-delta-gap-y-stack);
    margin-bottom: var(--gw-palco-delta-stack-tail);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel {
    row-gap: var(--gw-palco-delta-gap-y-stack);
    margin-bottom: var(--gw-palco-delta-stack-tail);
    column-gap: var(--gw-palco-delta-gap-x);
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  /* Plancia a fine flusso ? no sticky overlay sul Delta void mobile */
  body[data-gateway-film="void"] .gateway-shell--palco .gateway-plancia {
    position: static;
    z-index: auto;
    margin-top: auto;
    flex-shrink: 0;
    padding-top: clamp(12px, 2vh, 20px);
    background: transparent;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gateway-shell--palco .gw-layout--delta .gateway-carousel__vertex,
  .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--left,
  .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--right {
    transform: none !important;
  }

  .gateway-shell--palco .gw-layout--winged .gateway-carousel__vertex,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--gallery,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--right,
  .gateway-shell--palco .gw-layout--winged .gateway-carousel__core {
    transform: none !important;
  }

}

@media (max-width: 767px) and not ((hover: hover) and (pointer: fine)) {
  :root {
    --gw-palco-delta-gap-y-stack: clamp(40px, 6.5vh, 60px);
    --gw-palco-delta-stack-tail: clamp(24px, 5vh, 40px);
  }

  .gateway-plancia-dock {
    max-width: none;
  }

  .gateway-plancia__list {
    flex-direction: column;
    max-width: none;
  }

  .gateway-plancia__btn {
    width: 100%;
  }

  body[data-gateway-film="void"] .gateway-plancia__list {
    gap: clamp(12px, 2vh, 16px);
  }

  body[data-gateway-film="void"] .gateway-plancia__btn {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    width: 100%;
  }

  .gateway-shell--palco .gateway-cinema-stack--sacred {
    min-height: clamp(160px, 32vh, 320px);
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gateway-cinema-stack--sacred {
    min-height: clamp(180px, 38vh, 360px);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-cinema-stack--sacred {
    min-height: 0;
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel {
    max-width: min(88vw, 300px);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel {
    max-width: min(92vw, 340px);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel > li,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel__vertex,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--left,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-carousel__base--right {
    max-width: min(88vw, 300px);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel > li,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__vertex,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--gallery,
  body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--winged .gateway-carousel__base--right {
    max-width: min(92vw, 340px);
  }

}

/* ---------------------------------------------------------------------------
   PALCO-CINE-P1 ??? grammatica canale ? preview card ? Sessions panel
   --------------------------------------------------------------------------- */

#gateway-stage[data-palco-program="sessions"],
.gst-film--sessions {
  --gst-accent: var(--t1-palco-chroma-sessions, var(--t1-program-sessions-accent, var(--t1-state-pending)));
  --gst-film-glow: color-mix(in srgb, var(--t1-palco-chroma-sessions) 18%, transparent);
}

#gateway-stage[data-palco-program="vault"],
.gst-film--vault {
  --gst-accent: var(--t1-palco-chroma-vault, var(--t1-program-vault-accent, var(--t1-cyan-gateway)));
  --gst-film-glow: color-mix(in srgb, var(--t1-palco-chroma-vault) 16%, transparent);
}

#gateway-stage[data-palco-program="world"],
.gst-film--world {
  --gst-accent: var(--t1-palco-chroma-world, #1a5278);
  --gst-film-glow: color-mix(in srgb, var(--t1-palco-chroma-world) 20%, transparent);
}

.gst-film__head--channel {
  gap: 0.55rem;
}

.gst-film__channel {
  flex: 0 0 3px;
  align-self: stretch;
  min-height: 1.1em;
  border-radius: 2px;
  background: color-mix(in srgb, var(--gst-accent) 72%, transparent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--gst-accent) 35%, transparent);
}

.gst-film__head--channel .gst-film__title {
  flex: 1 1 auto;
  color: color-mix(in srgb, var(--gst-accent) 28%, color-mix(in srgb, var(--gw-text) 52%, var(--gw-text-dim)));
}

/* Preview card ?6 */
.gst-preview-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  width: 100%;
  max-width: min(100%, 520px);
  padding: clamp(0.85rem, 0.8rem + 0.35vw, 1.15rem);
  border-radius: 12px;
  background: var(--gst-plate-bg);
  border: 1px solid color-mix(in srgb, var(--gst-accent) 12%, transparent);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34);
  transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease;
}

.gst-preview-card__thumb {
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  background: color-mix(in srgb, var(--gst-accent) 6%, rgba(0, 0, 0, 0.45)) center / cover no-repeat;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 10%, transparent);
}

.gst-preview-card__thumb--empty {
  background-image: linear-gradient(
    145deg,
    color-mix(in srgb, var(--gst-accent) 8%, rgba(0, 0, 0, 0.5)),
    rgba(0, 0, 0, 0.55)
  );
  opacity: 0.85;
}

.gst-preview-card__body {
  min-width: 0;
}

.gst-preview-card__title {
  margin: 0 0 0.4rem;
  font-size: var(--gst-fs-hero-title);
  font-weight: 500;
  line-height: 1.25;
  color: rgba(255, 255, 255, 0.92);
}

.gst-preview-card__pill {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: var(--gst-fs-badge);
  font-family: var(--gw-font-mono, monospace);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 35%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 10%, rgba(0, 0, 0, 0.25));
  color: color-mix(in srgb, var(--gst-accent) 82%, #fff);
}

.gst-preview-card--sessions .gst-preview-card__pill {
  --gst-accent: var(--t1-program-sessions-accent, var(--t1-state-pending));
}

.gst-preview-card--vault .gst-preview-card__pill {
  --gst-accent: var(--t1-program-vault-accent, var(--t1-cyan-gateway));
}

.gst-preview-card--world .gst-preview-card__pill {
  --gst-accent: var(--t1-program-world-accent, var(--gw-world-accent));
}

.gst-preview-card:hover {
  border-color: color-mix(in srgb, var(--gst-accent) 28%, transparent);
  box-shadow:
    0 0 20px color-mix(in srgb, var(--gst-accent) 12%, transparent),
    0 14px 32px rgba(0, 0, 0, 0.38);
  transform: translateY(-2px);
}

.gst-hero.gst-preview-card:not(.gst-preview-card--inviti) {
  transform: translateY(-2px);
  padding: clamp(0.85rem, 0.8rem + 0.35vw, 1.15rem);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.34);
}

.gst-hero.gst-preview-card:not(.gst-preview-card--inviti):hover {
  transform: translateY(-3px);
}

.gst-section__title--sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gst-day0-banner {
  margin: 0 0.5rem 0.55rem;
  padding: 0.55rem 0.75rem;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 28%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 10%, rgba(0, 0, 0, 0.32));
  color: color-mix(in srgb, var(--gst-accent) 75%, rgba(235, 240, 248, 0.92));
  font-size: 0.84rem;
  line-height: 1.4;
  text-align: center;
}

.gst-hero-delivery__qr[hidden] {
  display: none !important;
}

.gst-hero-delivery__qr:not([hidden]) {
  grid-column: 1 / -1;
  margin-top: 0.45rem;
  padding: 0.45rem;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 18%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 5%, rgba(0, 0, 0, 0.22));
  display: grid;
  place-items: center;
}

.gst-hero-delivery__qr-canvas {
  width: 184px;
  height: 184px;
  border-radius: 6px;
  background: transparent;
}

.gst-delivery-panel {
  margin-top: 0.7rem;
  padding-top: 0.65rem;
  border-top: 1px solid color-mix(in srgb, var(--gst-accent) 14%, transparent);
}

.gst-delivery-panel__title {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 560;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gst-accent) 70%, rgba(235, 240, 248, 0.86));
}

.gst-delivery-panel__hint {
  margin: 0.3rem 0 0.45rem;
  font-size: 0.8rem;
  color: rgba(198, 206, 218, 0.72);
}

.gst-delivery-panel__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
}

.gst-delivery-panel__actions .gst-btn {
  min-height: 38px;
}

.gst-delivery-panel__qr-wrap[hidden] {
  display: none !important;
}

.gst-delivery-panel__qr-wrap:not([hidden]) {
  margin-top: 0.55rem;
  padding: 0.5rem;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--gst-accent) 20%, transparent);
  background: color-mix(in srgb, var(--gst-accent) 6%, rgba(0, 0, 0, 0.24));
  display: grid;
  place-items: center;
}

#gst-delivery-qr-canvas {
  width: 184px;
  height: 184px;
  border-radius: 8px;
  background: transparent;
}

@media (prefers-reduced-motion: reduce) {
  .gateway-stage,
  .gst-film,
  .gst-hero-slot,
  .gst-preview-card,
  .gateway-cinema-stack--sacred.palco-shutter::after,
  .gateway-cinema-stack--sacred.palco-shutter--closing::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }

  @keyframes gst-fade-in {
    from,
    to {
      opacity: 1;
      transform: none;
    }
  }
}

/* ---------------------------------------------------------------------------
   PALCO-CINE P1b/P1c ??? mattoni uguali ? thumb semantica ? footer fisso
   --------------------------------------------------------------------------- */

:root {
  --gst-preview-card-h: clamp(300px, 42vh, 380px);
  --gst-preview-thumb-h: 108px;
  --gst-preview-footer-h: 4.85rem;
}

.gst-hero-rail .gst-preview-card,
.gst-hero-slot .gst-preview-card {
  box-sizing: border-box;
  width: 100%;
  max-width: min(100%, 520px);
  min-height: var(--gst-preview-card-h);
  max-height: var(--gst-preview-card-h);
  height: var(--gst-preview-card-h);
  margin: 0 auto;
  padding: 0.65rem 0.75rem 0.7rem;
  display: grid;
  grid-template-rows: var(--gst-preview-thumb-h) minmax(0, 1fr) var(--gst-preview-footer-h);
  gap: 0.45rem;
  align-content: stretch;
}

.gst-hero-rail .gst-preview-card.gst-hero,
.gst-hero-slot .gst-preview-card.gst-hero {
  transform: none;
  backdrop-filter: blur(16px) saturate(1.06);
  -webkit-backdrop-filter: blur(16px) saturate(1.06);
}

.gst-hero-slot.is-active .gst-preview-card.gst-hero {
  transform: translateY(-2px);
}

.gst-hero-rail .gst-preview-card__thumb {
  height: var(--gst-preview-thumb-h);
  min-height: var(--gst-preview-thumb-h);
  max-height: var(--gst-preview-thumb-h);
  aspect-ratio: unset;
  flex-shrink: 0;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.gst-preview-card__thumb--media {
  background-size: cover;
  background-position: center;
}

.gst-preview-card__thumb--hold {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse 80% 70% at 50% 38%, color-mix(in srgb, var(--gst-accent) 10%, transparent), transparent 68%),
    repeating-linear-gradient(
      -12deg,
      rgba(255, 255, 255, 0.02) 0 2px,
      transparent 2px 6px
    ),
    linear-gradient(165deg, rgba(8, 10, 14, 0.92), rgba(2, 3, 6, 0.98));
  border: 1px solid color-mix(in srgb, var(--gst-accent) 14%, transparent);
}

.gst-preview-card__thumb--hold::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 90% 80% at 50% 50%, transparent 40%, rgba(0, 0, 0, 0.35) 100%);
}

.gst-preview-card__thumb-glyph {
  position: relative;
  z-index: 1;
  font-family: var(--gw-font-mono, monospace);
  font-size: clamp(0.68rem, 0.64rem + 0.2vw, 0.78rem);
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gst-accent) 72%, rgba(255, 255, 255, 0.55));
  text-align: center;
  padding: 0 0.5rem;
  line-height: 1.35;
}

.gst-preview-card__thumb--initials .gst-preview-card__thumb-glyph {
  font-size: clamp(1.05rem, 1rem + 0.35vw, 1.35rem);
  letter-spacing: 0.08em;
}

.gst-preview-card__thumb--revoked .gst-preview-card__thumb-glyph {
  opacity: 0.55;
}

.gst-hero-rail .gst-preview-card__body {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}

.gst-hero-rail .gst-preview-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gst-preview-card__actions {
  flex: 0 0 auto;
  min-height: var(--gst-preview-footer-h);
  max-height: var(--gst-preview-footer-h);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.4rem;
  margin-top: 0;
  padding-top: 0.15rem;
}

.gst-preview-card__actions-primary {
  min-height: 2.45rem;
  display: flex;
  align-items: center;
}

.gst-preview-card__actions-primary .gst-btn--primary,
.gst-preview-card__actions-primary .gst-btn--cockpit {
  width: 100%;
  justify-content: center;
  min-height: 2.35rem;
  font-size: var(--gst-fs-btn);
}

.gst-preview-card__actions-secondary {
  min-height: 1.75rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

.gst-preview-card__actions-secondary .gst-btn {
  padding: 0.32em 0.62em;
  font-size: clamp(0.68rem, 0.64rem + 0.15vw, 0.76rem);
  min-height: 1.65rem;
}

.gst-hero-zone__viewport {
  align-items: center;
}

.gst-hero-rail {
  min-height: var(--gst-preview-card-h);
}

.gst-hero-slot {
  max-height: var(--gst-preview-card-h);
  align-self: center;
}

/* Slice plancia void ??? deck bancone, delta resta protagonista */
body[data-gateway-film="void"] .gateway-plancia {
  padding-top: clamp(12px, 1.8vh, 18px);
}

body[data-gateway-film="void"] .gateway-plancia-dock {
  border: 0.5px solid var(--t1-palco-dock-rim-void);
  padding: clamp(18px, 2.4vh, 26px) clamp(18px, 2.2vw, 24px) clamp(16px, 2vh, 22px);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--t1-palco-dock-void-pedestal, #0a0e14) 96%, var(--t1-palco-gallery-pearl, #f8f4ee) 4%) 0%,
    color-mix(in srgb, #080a10 94%, transparent) 55%,
    color-mix(in srgb, #040508 98%, transparent) 100%
  );
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 10%, transparent),
    inset 0 -2px 0 rgba(0, 0, 0, 0.5),
    0 -6px 24px color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 5%, transparent),
    0 18px 48px rgba(0, 0, 0, 0.52);
}

body[data-gateway-film="void"] .gateway-plancia__btn {
  flex: 0 1 auto;
  min-width: var(--t1-palco-plancia-btn-min-void, clamp(132px, 16vw, 188px));
  max-width: var(--t1-palco-plancia-btn-max-void, 220px);
  background:
    radial-gradient(ellipse 140% 92% at 50% 118%, var(--t1-plancia-infusion, transparent), transparent 62%),
    var(--t1-palco-dock-btn-surface-void, color-mix(in srgb, rgba(26, 30, 40, 0.92) 88%, rgba(255, 255, 255, 0.1)));
  border-color: color-mix(in srgb, #fff 13%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent),
    0 6px 18px rgba(0, 0, 0, 0.38);
}

/* Void: quattro programmi distinti — gap e larghezza, non tastiera continua */
body[data-gateway-film="void"] .gateway-plancia__list {
  gap: var(--t1-palco-plancia-gap-void, clamp(18px, 2.2vw, 24px));
  justify-content: center;
}

body[data-gateway-film="void"] .gateway-plancia__btn:not(.is-film-active) {
  border-color: color-mix(in srgb, #fff 11%, transparent);
  color: rgba(255, 255, 255, 0.62);
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="world"]:not(.is-film-active) {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-world) var(--t1-palco-plancia-infusion-idle-void, 13%), transparent);
  border-color: color-mix(in srgb, var(--t1-palco-channel-world) 14%, color-mix(in srgb, #fff 10%, transparent));
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="profiles"]:not(.is-film-active) {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-profiles) var(--t1-palco-plancia-infusion-idle-void, 13%), transparent);
  border-color: color-mix(in srgb, var(--t1-palco-channel-profiles) 14%, color-mix(in srgb, #fff 10%, transparent));
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="sessions"]:not(.is-film-active) {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-sessions) 12%, transparent);
  border-color: color-mix(in srgb, var(--t1-palco-channel-sessions) 13%, color-mix(in srgb, #fff 10%, transparent));
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="vault"]:not(.is-film-active) {
  --t1-plancia-infusion: color-mix(in srgb, var(--t1-palco-channel-vault) var(--t1-palco-plancia-infusion-idle-void, 13%), transparent);
  border-color: color-mix(in srgb, var(--t1-palco-channel-vault) 14%, color-mix(in srgb, #fff 10%, transparent));
}

/* S5-A3 — void idle: tint canale sulle icone (no doppia opacity vs label) */
body[data-gateway-film="void"] .gateway-plancia__btn:not(.is-film-active) .gateway-plancia__icon {
  opacity: 1;
  transition: color 220ms ease, opacity 220ms ease;
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="world"]:not(.is-film-active) .gateway-plancia__icon {
  color: color-mix(in srgb, var(--t1-palco-channel-world) 36%, rgba(255, 255, 255, 0.68));
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="profiles"]:not(.is-film-active) .gateway-plancia__icon {
  color: color-mix(in srgb, var(--t1-palco-channel-profiles) 36%, rgba(255, 255, 255, 0.68));
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="sessions"]:not(.is-film-active) .gateway-plancia__icon {
  color: color-mix(in srgb, var(--t1-palco-channel-sessions) 34%, rgba(255, 255, 255, 0.68));
}

body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="vault"]:not(.is-film-active) .gateway-plancia__icon {
  color: color-mix(in srgb, var(--t1-palco-channel-vault) 36%, rgba(255, 255, 255, 0.68));
}

@media (hover: hover) and (pointer: fine) {
  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="world"]:hover:not(.is-film-active) {
    color: color-mix(in srgb, var(--t1-palco-channel-world) 42%, rgba(255, 255, 255, 0.78));
    border-color: color-mix(in srgb, var(--t1-palco-channel-world) 34%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
      0 0 20px color-mix(in srgb, var(--t1-palco-channel-world) 18%, transparent),
      0 12px 32px rgba(0, 0, 0, 0.38);
  }

  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="world"]:hover:not(.is-film-active) .gateway-plancia__icon {
    color: color-mix(in srgb, var(--t1-palco-channel-world) 52%, rgba(255, 255, 255, 0.82));
  }

  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="profiles"]:hover:not(.is-film-active) {
    color: color-mix(in srgb, var(--t1-palco-channel-profiles) 40%, rgba(255, 255, 255, 0.78));
    border-color: color-mix(in srgb, var(--t1-palco-channel-profiles) 32%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
      0 0 20px color-mix(in srgb, var(--t1-palco-channel-profiles) 16%, transparent),
      0 12px 32px rgba(0, 0, 0, 0.38);
  }

  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="profiles"]:hover:not(.is-film-active) .gateway-plancia__icon {
    color: color-mix(in srgb, var(--t1-palco-channel-profiles) 50%, rgba(255, 255, 255, 0.82));
  }

  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="sessions"]:hover:not(.is-film-active) {
    color: color-mix(in srgb, var(--t1-palco-channel-sessions) 40%, rgba(255, 255, 255, 0.78));
    border-color: color-mix(in srgb, var(--t1-palco-channel-sessions) 32%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
      0 0 20px color-mix(in srgb, var(--t1-palco-channel-sessions) 16%, transparent),
      0 12px 32px rgba(0, 0, 0, 0.38);
  }

  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="sessions"]:hover:not(.is-film-active) .gateway-plancia__icon {
    color: color-mix(in srgb, var(--t1-palco-channel-sessions) 50%, rgba(255, 255, 255, 0.82));
  }

  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="vault"]:hover:not(.is-film-active) {
    color: color-mix(in srgb, var(--t1-palco-channel-vault) 40%, rgba(255, 255, 255, 0.78));
    border-color: color-mix(in srgb, var(--t1-palco-channel-vault) 32%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
      0 0 20px color-mix(in srgb, var(--t1-palco-channel-vault) 16%, transparent),
      0 12px 32px rgba(0, 0, 0, 0.38);
  }

  body[data-gateway-film="void"] .gateway-plancia__btn[data-palco-program="vault"]:hover:not(.is-film-active) .gateway-plancia__icon {
    color: color-mix(in srgb, var(--t1-palco-channel-vault) 50%, rgba(255, 255, 255, 0.82));
  }
}

.gateway-plancia__btn[data-palco-program="world"]:hover:not(.is-film-active) {
  border-color: color-mix(in srgb, var(--t1-program-world-accent) 26%, var(--t1-palco-plancia-edge-idle));
}

.gateway-plancia__btn[data-palco-program="profiles"]:hover:not(.is-film-active) {
  border-color: color-mix(in srgb, var(--t1-program-profiles-accent) 24%, var(--t1-palco-plancia-edge-idle));
}

.gateway-plancia__btn[data-palco-program="vault"]:hover:not(.is-film-active) {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 24%, var(--t1-palco-plancia-edge-idle));
}

.gateway-plancia__btn[data-palco-program="sessions"]:hover:not(.is-film-active) {
  border-color: color-mix(in srgb, var(--t1-palco-channel-sessions) 24%, var(--t1-palco-plancia-edge-idle));
}

/* PALCO-P2 ??? Sessions footer secondarie a riga fissa */
.gst-preview-card--sessions {
  --gst-preview-footer-h: 6.35rem;
}

.gst-preview-card--sessions .gst-preview-card__actions {
  gap: 0.35rem;
}

.gst-preview-card--sessions .gst-preview-card__actions-secondary {
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 0.4rem 0.55rem;
  min-height: 1.85rem;
  max-height: 1.85rem;
  overflow: hidden;
}

.gst-preview-card--sessions .gst-preview-card__actions-secondary .gst-btn {
  flex: 0 1 auto;
  white-space: nowrap;
  max-width: 32%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gst-preview-card--sessions .gst-preview-card__actions-secondary .gst-inviti-hint-host {
  flex: 0 0 auto;
  max-width: none;
}

.gst-preview-card--sessions .gst-preview-card__actions-secondary .gst-btn--copy {
  flex: 1 1 auto;
  max-width: none;
}

/* REGIA V4 ??? testate film: channel accent + titolo smoke per canale */
.gateway-shell--palco .gst-film__head--channel .gst-film__title {
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-shadow: none;
}

.gateway-shell--palco .gst-film--world .gst-film__channel {
  background: color-mix(in srgb, var(--t1-palco-channel-world) 72%, transparent);
  box-shadow: 0 0 10px color-mix(in srgb, var(--t1-palco-channel-world) 28%, transparent);
}

.gateway-shell--palco .gst-film--world .gst-film__title,
.gateway-shell--palco .gst-film--world .gst-film__head--channel .gst-film__title {
  color: color-mix(in srgb, var(--t1-palco-channel-world) 38%, var(--t1-palco-type-channel-smoke));
}

.gateway-shell--palco .gst-film--world .gst-film__head--channel {
  padding: 0.54rem 1.2rem 0.36rem;
  border-bottom: 1px solid color-mix(in srgb, var(--t1-helm-frost-muted, rgba(148, 163, 184, 0.32)) calc(22% + 23% * var(--t1-room-density)), transparent);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #fff calc(4% * var(--t1-room-density)), rgba(8, 12, 20, calc(0.22 + 0.3 * var(--t1-room-density)))) 0%,
    color-mix(in srgb, #fff calc(1% * var(--t1-room-density)), rgba(8, 12, 20, calc(0.08 + 0.1 * var(--t1-room-density)))) 100%
  );
  backdrop-filter: var(--t1-room-backdrop);
  -webkit-backdrop-filter: var(--t1-room-backdrop);
}

.gateway-shell--palco .gst-film--world .gst-film__head--nav {
  grid-template-rows: auto auto;
  row-gap: 0.18rem;
}

.gateway-shell--palco .gst-film--world .gst-film__head--nav .gst-film__back {
  grid-row: 1;
  grid-column: 1;
}

.gateway-shell--palco .gst-film--world .gst-film__head--nav .gst-film__head-main {
  grid-row: 1;
  grid-column: 2;
}

.gateway-shell--palco .gst-film--world .gst-film__head--nav .gst-film__close {
  grid-row: 1;
  grid-column: 3;
}

.gateway-shell--palco .gst-film--world .gst-film__lead {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0;
  padding: 0 0.35rem 0.05rem;
  font-family: var(--gw-font-ui);
  font-size: 0.72rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: none;
  color: color-mix(in srgb, var(--t1-palco-channel-world) 34%, rgba(218, 226, 236, 0.9));
}

.gateway-shell--palco .gst-film--world .gst-film__lead[hidden] {
  display: none;
}

.gateway-shell--palco .gst-film--vault .gst-film__channel {
  background: color-mix(in srgb, var(--t1-palco-channel-vault) 68%, transparent);
  box-shadow: 0 0 10px color-mix(in srgb, var(--t1-palco-channel-vault) 24%, transparent);
}

.gateway-shell--palco .gst-film--vault .gst-film__title,
.gateway-shell--palco .gst-film--vault .gst-film__head--channel .gst-film__title {
  color: color-mix(in srgb, var(--t1-palco-channel-vault) 34%, var(--t1-palco-type-channel-smoke));
}

.gateway-shell--palco .gst-film--vault .gst-film__head--channel {
  padding: 0.54rem 1.2rem 0.36rem;
  border-bottom: 1px solid color-mix(in srgb, var(--t1-helm-frost-muted, rgba(148, 163, 184, 0.32)) calc(22% + 23% * var(--t1-room-density)), transparent);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #fff calc(4% * var(--t1-room-density)), rgba(8, 12, 20, calc(0.22 + 0.3 * var(--t1-room-density)))) 0%,
    color-mix(in srgb, #fff calc(1% * var(--t1-room-density)), rgba(8, 12, 20, calc(0.08 + 0.1 * var(--t1-room-density)))) 100%
  );
  backdrop-filter: var(--t1-room-backdrop);
  -webkit-backdrop-filter: var(--t1-room-backdrop);
}

.gateway-shell--palco .gst-film__close {
  color: rgba(255, 255, 255, 0.38);
  text-shadow: none;
}

.gateway-shell--palco .gst-film__close:hover {
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.75));
  text-shadow: none;
}

.gateway-shell--palco .gst-hero__title,
.gateway-shell--palco .gst-preview-card__title {
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.75));
  font-weight: 500;
  text-shadow: none;
}

.gateway-shell--palco .gst-hero__delivery {
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.75));
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  letter-spacing: 0.02em;
  text-shadow: none;
}

.gateway-shell--palco .gst-badge {
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.75));
  text-shadow: none;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.35);
}

.gateway-shell--palco .gst-preview-card__pill {
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  letter-spacing: 0.04em;
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.75));
}

.gateway-shell--palco .gst-context-facet {
  color: rgba(255, 255, 255, 0.62);
}

.gateway-shell--palco .gst-context-facet.is-active {
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.75));
  font-weight: 500;
}

.gateway-shell--palco .gst-context-facets__detail,
.gateway-shell--palco .gst-context-facets__hint {
  opacity: 0.72;
}

.gateway-palco-drawer .gateway-modal__title,
.gateway-palco-drawer .gateway-modal__inquadramento-title,
.gateway-palco-drawer .gateway-modal__label,
.gateway-palco-drawer .gateway-modal__radio,
.gateway-palco-drawer .gateway-modal__input,
.gateway-palco-drawer .gateway-modal__select,
.gateway-palco-drawer .gateway-modal__textarea {
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.78));
}

.gateway-palco-drawer .gateway-modal__title,
.gateway-palco-drawer .gateway-modal__inquadramento-title {
  color: color-mix(in srgb, var(--gw-cyan) 72%, #fff);
}

.gateway-palco-drawer .gateway-modal__optional-toggle .gateway-modal__altro-summary {
  color: color-mix(in srgb, var(--gw-cyan) 45%, rgba(200, 212, 228, 0.88));
}

.gateway-palco-drawer .gateway-modal__optional-toggle[open] .gateway-modal__altro-summary {
  color: color-mix(in srgb, var(--gw-cyan) 55%, #fff);
}

.gateway-palco-drawer .gateway-modal__altro-summary:not(.gateway-modal__inquadramento-summary) {
  color: color-mix(in srgb, var(--gw-cyan) 64%, rgba(225, 236, 249, 0.9));
}

.gateway-palco-drawer .gateway-modal__radio:has(input:checked) {
  color: rgba(228, 234, 244, 0.88);
}

.gateway-palco-drawer .gateway-modal__lead,
.gateway-palco-drawer .gateway-modal__note,
.gateway-palco-drawer .gateway-modal__label--sub {
  color: rgba(255, 255, 255, 0.48);
}

.gateway-palco-drawer .gateway-modal__hint {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.gateway-palco-drawer .gateway-modal__hint--sub {
  color: rgba(255, 255, 255, 0.34);
  font-size: 0.72rem;
}

.gateway-palco-drawer .gateway-modal__hint-link {
  color: color-mix(in srgb, var(--gw-cyan) 52%, rgba(200, 212, 228, 0.75));
}

.gateway-palco-drawer .gateway-modal__hint-link:hover {
  color: color-mix(in srgb, var(--gw-cyan) 68%, #fff);
}

.gateway-palco-drawer .gateway-modal__status {
  color: var(--t1-palco-gain-text, rgba(255, 255, 255, 0.75));
}

.gateway-palco-drawer .gateway-modal__status--error {
  color: rgba(245, 168, 168, 0.85);
}

/* REGIA-P4 ??? Sessions monocromatica (pearl/cyan; unico accento stato = pill pending) */
body[data-gateway-film="sessions"] .gateway-shell--palco {
  --gw-film-tint: transparent;
  --gst-film-glow: color-mix(in srgb, #fff 5%, transparent);
}

.gateway-shell--palco .gst-film--sessions {
  --gst-accent: #8a909c;
  --gst-glow: transparent;
  --gst-glow-strong: transparent;
  --gst-projection-glow: transparent;
  --gst-projection-halo: transparent;
  --gst-film-glow: color-mix(in srgb, #fff 5%, transparent);
  --gst-vibe: color-mix(in srgb, #fff 6%, transparent);
  --gst-vibe-soft: color-mix(in srgb, #fff 4%, transparent);
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film {
  background: var(--t1-palco-plate-cosmos);
  border-color: color-mix(in srgb, #6a7a9a 22%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 5%, transparent),
    0 0 32px 2px color-mix(in srgb, #3a4a6a 12%, transparent),
    0 26px 58px rgba(0, 0, 0, 0.62);
}

.gateway-shell--palco .gst-film--sessions .gst-film__channel {
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 22%, rgba(8, 12, 20, 0.55));
  box-shadow: 0 0 10px color-mix(in srgb, var(--t1-palco-sessions-frost) 10%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-film__title,
.gateway-shell--palco .gst-film--sessions .gst-film__head--channel .gst-film__title {
  color: color-mix(in srgb, var(--gw-projected-pearl, var(--t1-pearl)) 38%, var(--t1-palco-sessions-smoke, rgba(195, 200, 210, 0.5)));
}

.gateway-shell--palco .gst-film--sessions .gst-film__head--channel {
  padding: 0.54rem 1.2rem 0.36rem;
  border-bottom: 1px solid color-mix(in srgb, var(--t1-helm-frost-muted, rgba(148, 163, 184, 0.32)) calc(22% + 23% * var(--t1-room-density)), transparent);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #fff calc(4% * var(--t1-room-density)), rgba(8, 12, 20, calc(0.22 + 0.3 * var(--t1-room-density)))) 0%,
    color-mix(in srgb, #fff calc(1% * var(--t1-room-density)), rgba(8, 12, 20, calc(0.08 + 0.1 * var(--t1-room-density)))) 100%
  );
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.gateway-shell--palco .gst-film--sessions .gst-context-facets {
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-edge) 22%, transparent);
  background: color-mix(in srgb, #fff 4%, rgba(0, 0, 0, 0.32));
}

.gateway-shell--palco .gst-film--sessions .gst-context-facets__group--filter {
  border-left-color: color-mix(in srgb, var(--t1-palco-sessions-frost-edge) 32%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-context-filter {
  border-color: color-mix(in srgb, rgba(148, 163, 184, 0.5) 38%, transparent);
  color: rgba(186, 192, 204, 0.78);
  background: color-mix(in srgb, #fff 1%, rgba(0, 0, 0, 0.18));
}

.gateway-shell--palco .gst-film--sessions .gst-context-filter:hover {
  border-color: color-mix(in srgb, rgba(148, 163, 184, 0.72) 48%, transparent);
  color: rgba(220, 226, 236, 0.9);
}

.gateway-shell--palco .gst-film--sessions .gst-context-filter.is-on {
  border-style: solid;
  border-color: color-mix(in srgb, rgba(148, 163, 184, 0.62) 55%, transparent);
  background: color-mix(in srgb, rgba(148, 163, 184, 0.14) 40%, rgba(0, 0, 0, 0.34));
  color: rgba(228, 232, 240, 0.92);
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-context-filter.is-on .gst-context-filter__mark {
  border-color: rgba(228, 232, 240, 0.75);
  background: rgba(228, 232, 240, 0.82);
}

.gateway-shell--palco .gst-film--sessions .gst-context-facet {
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-edge) 28%, transparent);
  color: rgba(198, 204, 214, 0.64);
  background: color-mix(in srgb, #fff 2%, rgba(0, 0, 0, 0.22));
  transition:
    color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    border-color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    background var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    box-shadow var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

.gateway-shell--palco .gst-film--sessions .gst-context-facet:hover {
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 48%, transparent);
  color: rgba(232, 236, 244, 0.9);
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 10%, rgba(0, 0, 0, 0.38));
  box-shadow: 0 0 14px color-mix(in srgb, var(--t1-palco-sessions-frost) 14%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-context-facet:focus-visible {
  outline: none;
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 52%, transparent);
  color: rgba(232, 236, 244, 0.92);
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 12%, rgba(0, 0, 0, 0.4));
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-palco-sessions-frost) 22%, transparent),
    0 0 14px color-mix(in srgb, var(--t1-palco-sessions-frost) 14%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-context-facet.is-active {
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 54%, transparent);
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 14%, rgba(0, 0, 0, 0.36));
  color: rgba(236, 240, 248, 0.94);
  font-weight: 500;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-context-facets__detail,
.gateway-shell--palco .gst-film--sessions .gst-context-facets__hint {
  color: rgba(188, 195, 208, 0.64);
  opacity: 1;
}

.gateway-shell--palco .gst-film--vault .gst-context-facets {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 22%, transparent);
  background: color-mix(in srgb, var(--t1-program-vault-accent) 6%, rgba(0, 0, 0, 0.25));
}

.gateway-shell--palco .gst-film--vault .gst-context-facet {
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 58%, transparent);
}

.gateway-shell--palco .gst-film--vault .gst-context-facet:hover {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 28%, var(--gw-projected-pearl) 22%);
  background: color-mix(in srgb, #fff 9%, rgba(10, 16, 26, 0.5));
  color: #f1f6ff;
}

.gateway-shell--palco .gst-film--vault .gst-context-facet:focus-visible {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 32%, var(--gw-projected-pearl) 24%);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-program-vault-accent) 18%, transparent),
    0 0 14px color-mix(in srgb, var(--t1-program-vault-accent) 12%, transparent);
}

.gateway-shell--palco .gst-film--vault .gst-context-facet.is-active {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 38%, var(--gw-projected-pearl) 24%);
  background: color-mix(in srgb, var(--t1-program-vault-accent) 10%, rgba(0, 0, 0, 0.38));
  color: rgba(236, 240, 248, 0.94);
  font-weight: 500;
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 8%, transparent);
}

.gateway-shell--palco .gst-film--vault .gst-context-facets__detail {
  color: color-mix(in srgb, var(--t1-palco-channel-vault) 26%, var(--t1-palco-type-channel-smoke, rgba(214, 223, 238, 0.92)));
  opacity: 1;
}

.gateway-shell--palco .gst-film--sessions {
  --gw-projected-pearl: var(--t1-pearl, #d6dff1);
  --gw-projected-cyan: var(--t1-cyan, #00e5ff);
  --gw-projected-helm-muted: var(--t1-helm-frost-muted, rgba(148, 163, 184, 0.28));
  --gst-plate-bg:
    radial-gradient(ellipse 72% 58% at 50% 14%, color-mix(in srgb, var(--gw-projected-cyan) 10%, transparent) 0%, transparent 62%),
    linear-gradient(158deg, rgba(14, 18, 28, calc(0.28 + 0.28 * var(--t1-room-density))), rgba(8, 11, 18, calc(0.32 + 0.32 * var(--t1-room-density)))),
    var(--t1-palco-plate-cosmos);
}

.gateway-shell--palco .gst-film--sessions .gst-hero,
.gateway-shell--palco .gst-film--sessions .gst-hero.gst-preview-card,
.gateway-shell--palco .gst-film--sessions .gst-preview-card:not(.gst-preview-card--projected):not(.gst-preview-card--inviti) {
  border-color: color-mix(in srgb, var(--gw-projected-pearl) calc(33% * var(--t1-room-density)), transparent);
  background:
    linear-gradient(165deg, color-mix(in srgb, #fff calc(7% * var(--t1-room-density)), transparent), color-mix(in srgb, #fff calc(2% * var(--t1-room-density)), transparent)),
    var(--gst-plate-bg);
  backdrop-filter: var(--t1-room-backdrop);
  -webkit-backdrop-filter: var(--t1-room-backdrop);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff calc(12% * var(--t1-room-density)), transparent),
    0 14px 38px rgba(0, 0, 0, calc(0.28 + 0.34 * var(--t1-room-density)));
  --gst-projection-glow: transparent;
}

.gateway-shell--palco .gst-film--sessions .gst-hero:hover,
.gateway-shell--palco .gst-film--sessions .gst-preview-card:not(.gst-preview-card--inviti):not(.gst-preview-card--projected):hover {
  border-color: color-mix(in srgb, var(--gw-projected-cyan) 34%, color-mix(in srgb, var(--gw-projected-pearl) 34%, transparent));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
    0 16px 44px rgba(0, 0, 0, 0.68);
  transform: translateY(-2px);
}

.gateway-shell--palco .gst-film--sessions .gst-hero--state-ricevuto,
.gateway-shell--palco .gst-film--sessions .gst-hero--state-attivo,
.gateway-shell--palco .gst-film--sessions .gst-hero--state-in-attesa {
  --gst-vibe-soft: transparent;
  --gst-projection-glow: transparent;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__title,
.gateway-shell--palco .gst-film--sessions .gst-hero__title {
  color: color-mix(in srgb, var(--gw-projected-pearl) 74%, rgba(255, 255, 255, 0.92));
  text-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__thumb--hold {
  background:
    repeating-linear-gradient(
      -12deg,
      rgba(255, 255, 255, 0.015) 0 2px,
      transparent 2px 6px
    ),
    linear-gradient(165deg, rgba(10, 11, 14, 0.94), rgba(4, 5, 8, 0.98));
  border-color: color-mix(in srgb, #fff 9%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__thumb--waiting {
  background:
    repeating-linear-gradient(
      -28deg,
      rgba(255, 255, 255, 0.028) 0 1px,
      transparent 1px 5px
    ),
    repeating-linear-gradient(
      62deg,
      rgba(255, 255, 255, 0.012) 0 1px,
      transparent 1px 8px
    ),
    linear-gradient(168deg, rgba(12, 13, 16, 0.96), rgba(5, 6, 9, 0.99));
  border-color: color-mix(in srgb, #fff 7%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__thumb--media {
  position: relative;
  filter: contrast(1.04) saturate(0.92);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__thumb--media::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.38;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255, 255, 255, 0.03) 0 1px,
      transparent 1px 3px
    ),
    radial-gradient(ellipse 90% 80% at 50% 50%, transparent 35%, rgba(0, 0, 0, 0.28) 100%);
  mix-blend-mode: overlay;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__thumb-glyph {
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-size: clamp(0.68rem, 0.64rem + 0.2vw, 0.78rem);
  letter-spacing: 0.06em;
  color: rgba(170, 176, 188, 0.52);
  text-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__thumb--initials .gst-preview-card__thumb-glyph {
  font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.15rem);
  letter-spacing: 0.08em;
  color: rgba(200, 208, 220, 0.72);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card__pill {
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  letter-spacing: 0.05em;
  color: color-mix(in srgb, var(--gw-projected-pearl) 66%, rgba(238, 242, 249, 0.9));
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 62%, transparent);
  background: color-mix(in srgb, #fff 7%, rgba(6, 10, 18, 0.38));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-hero--state-ricevuto .gst-preview-card__pill {
  color: color-mix(in srgb, #67d596 78%, #fff);
  border-color: color-mix(in srgb, #67d596 42%, transparent);
  background: color-mix(in srgb, #67d596 14%, rgba(0, 0, 0, 0.38));
  box-shadow: inset 0 1px 0 color-mix(in srgb, #67d596 10%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-hero--state-attivo .gst-preview-card__pill {
  color: color-mix(in srgb, var(--t1-palco-sessions-frost) 58%, #c8d0d8);
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-edge) 40%, transparent);
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 8%, rgba(0, 0, 0, 0.52));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--t1-palco-sessions-frost) 8%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-hero--state-in-attesa .gst-preview-card__pill,
.gateway-shell--palco .gst-film--sessions .gst-hero--state-in-attesa .gst-preview-card__pill--meta {
  color: color-mix(in srgb, var(--t1-state-pending, #f0a21a) 58%, var(--gw-projected-pearl, #d6dff1));
  border-color: color-mix(in srgb, var(--t1-state-pending) 28%, var(--gw-projected-helm-muted));
  background: color-mix(in srgb, var(--t1-state-pending) 9%, rgba(6, 10, 18, 0.42));
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--t1-state-pending) 8%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-hero--state-revocato .gst-preview-card__pill,
.gateway-shell--palco .gst-film--sessions .gst-hero--state-scaduto .gst-preview-card__pill {
  color: rgba(140, 146, 158, 0.42);
  border-color: color-mix(in srgb, #fff 8%, transparent);
  background: color-mix(in srgb, #fff 2%, rgba(0, 0, 0, 0.55));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-badge {
  color: rgba(170, 176, 188, 0.45);
  border-color: color-mix(in srgb, #fff 10%, transparent);
  box-shadow: none;
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
}

.gateway-shell--palco .gst-film--sessions .gst-badge--ricevuto {
  color: var(--t1-palco-sessions-frost-bright);
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-edge) 38%, transparent);
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 8%, rgba(0, 0, 0, 0.35));
  box-shadow: none;
}

.gateway-shell--palco .gateway-inbox-badge {
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 22%, rgba(20, 24, 32, 0.92));
  color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 72%, #d8e0e8);
  border: 0.5px solid color-mix(in srgb, var(--t1-palco-sessions-frost-edge) 28%, transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--t1-palco-sessions-frost) 12%, transparent);
}

.gateway-shell--palco .gateway-inbox-badge.gateway-inbox-badge--dot {
  background: color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 78%, #7eb0e8);
  border: 1px solid color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 55%, transparent);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 22%, transparent),
    0 0 10px color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 42%, transparent);
  animation: t1-inviti-signal-pulse 2.2s ease-in-out infinite;
}

.gateway-shell--palco .gateway-inbox-badge.gateway-inbox-badge--count {
  color: #f8fbff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.48);
  background: color-mix(in srgb, #3d6a9a 72%, var(--t1-palco-sessions-frost-bright) 28%);
  border: 1px solid color-mix(in srgb, #d8e8ff 38%, #2a4a6e);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 22%, transparent),
    0 0 10px color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 42%, transparent);
  animation: t1-inviti-signal-pulse 2.2s ease-in-out infinite;
}

.gateway-shell--palco .gst-film--sessions .gst-btn--primary,
.gateway-shell--palco .gst-film--sessions .gst-btn--cockpit.gst-btn--primary {
  min-height: 44px;
  padding: 0.52rem 0.98rem;
  border: 1px solid color-mix(in srgb, var(--gw-projected-cyan) 24%, var(--gw-projected-pearl) 18%);
  background: color-mix(in srgb, #fff 8%, rgba(10, 16, 26, 0.56));
  color: rgba(228, 234, 244, 0.94);
  box-shadow: none;
  text-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-btn--primary:hover,
.gateway-shell--palco .gst-film--sessions .gst-btn--cockpit.gst-btn--primary:hover {
  border-color: color-mix(in srgb, var(--gw-projected-cyan) 42%, var(--gw-projected-pearl) 26%);
  background: color-mix(in srgb, #fff 12%, rgba(10, 16, 26, 0.62));
  color: #f7fbff;
  box-shadow: 0 0 14px color-mix(in srgb, var(--gw-projected-cyan) 20%, transparent);
}

/* Inviti ? stati: in attesa = pill pending; ricevuto = bordo ready; CTA in attesa = pearl/cyan (REGIA-P4) */
.gateway-shell--palco .gst-film--sessions .gst-hero--state-in-attesa.gst-preview-card--projected {
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff calc(12% * var(--t1-room-density)), transparent),
    0 14px 38px rgba(0, 0, 0, calc(0.28 + 0.34 * var(--t1-room-density)));
}

.gateway-shell--palco .gst-film--sessions .gst-hero--state-ricevuto.gst-preview-card--projected {
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--t1-state-ready, #67d596) 26%, transparent),
    0 16px 44px rgba(0, 0, 0, 0.68);
}

/* Condividi link: stesso primary pearl/cyan ??? no override oro vertex */

.gateway-shell--palco .gst-film--sessions .gst-hero--state-ricevuto .gst-btn--cockpit.gst-btn--primary:not(.t1sa-action) {
  border-color: color-mix(in srgb, var(--t1-state-ready, #67d596) 50%, transparent);
  background: color-mix(in srgb, var(--t1-state-ready, #67d596) 14%, rgba(8, 12, 16, 0.55));
  color: color-mix(in srgb, var(--t1-state-ready, #67d596) 88%, #fff);
  box-shadow: 0 0 20px color-mix(in srgb, var(--t1-state-ready, #67d596) 16%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-hero--state-ricevuto .gst-btn--cockpit.gst-btn--primary:not(.t1sa-action):hover {
  border-color: color-mix(in srgb, var(--t1-state-ready, #67d596) 62%, transparent);
  background: color-mix(in srgb, var(--t1-state-ready, #67d596) 20%, rgba(8, 12, 16, 0.58));
  color: #fff;
  box-shadow: 0 0 26px color-mix(in srgb, var(--t1-state-ready, #67d596) 22%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-btn--copy:not(.gst-btn--primary),
.gateway-shell--palco .gst-film--sessions .gst-btn--profile,
.gateway-shell--palco .gst-film--sessions .gst-btn--revoke {
  min-height: 44px;
  padding: 0.5rem 0.9rem;
  color: color-mix(in srgb, var(--gw-projected-pearl) 72%, rgba(216, 224, 236, 0.9));
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 68%, transparent);
  background: color-mix(in srgb, #fff 6%, rgba(10, 16, 26, 0.44));
  transition:
    color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    border-color var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    background var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1)),
    box-shadow var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

.gateway-shell--palco .gst-film--sessions .gst-btn--quiet-link {
  border: 1px solid color-mix(in srgb, var(--gw-projected-helm-muted) 68%, transparent);
  background: color-mix(in srgb, #fff 5%, rgba(10, 16, 26, 0.4));
  box-shadow: none;
  min-height: 44px;
  padding: 0.5rem 0.9rem;
  border-radius: 10px;
  color: color-mix(in srgb, var(--gw-projected-pearl) 68%, rgba(210, 220, 235, 0.92));
  text-decoration: none;
}

.gateway-shell--palco .gst-film--sessions .gst-btn--quiet-link:hover {
  color: #f4f8ff;
  background: color-mix(in srgb, #fff 10%, rgba(10, 16, 26, 0.48));
  border-color: color-mix(in srgb, var(--gw-projected-cyan) 32%, var(--gw-projected-pearl) 20%);
  box-shadow: 0 0 12px color-mix(in srgb, var(--gw-projected-cyan) 14%, transparent);
  text-decoration: none;
}

.gateway-shell--palco .gst-film--sessions .gst-btn--quiet-link:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--gw-projected-cyan) 42%, transparent);
  outline-offset: 2px;
  background: color-mix(in srgb, #fff 8%, rgba(10, 16, 26, 0.52));
  border-color: color-mix(in srgb, var(--gw-projected-cyan) 32%, var(--gw-projected-pearl) 20%);
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-zone-nav {
  min-width: 44px;
  min-height: 44px;
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 58%, transparent);
  background: color-mix(in srgb, #fff 5%, rgba(10, 16, 26, 0.42));
  color: color-mix(in srgb, var(--gw-projected-pearl) 62%, rgba(198, 208, 224, 0.9));
}

.gateway-shell--palco .gst-film--sessions .gst-zone-nav:hover:not(:disabled):not(.is-gst-nav-at-limit) {
  border-color: color-mix(in srgb, var(--gw-projected-cyan) 28%, var(--gw-projected-pearl) 22%);
  background: color-mix(in srgb, #fff 9%, rgba(10, 16, 26, 0.5));
  color: #f1f6ff;
}

.gateway-shell--palco .gst-film--sessions .gst-strip__counter {
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-weight: 400;
  font-size: clamp(0.78rem, 0.74rem + 0.15vw, 0.88rem);
  letter-spacing: 0.04em;
  font-variant-numeric: normal;
  color: color-mix(in srgb, var(--t1-palco-channel-sessions, var(--gw-cyan)) 26%, var(--t1-palco-type-channel-smoke, rgba(214, 223, 238, 0.92)));
  text-shadow: none;
  user-select: none;
  -webkit-user-select: none;
  background: transparent;
}

.gateway-shell--palco .gst-film--sessions .gst-strip__counter::selection {
  background: transparent;
  color: inherit;
}

.gateway-shell--palco .gst-film--sessions .gst-btn--copy:not(.gst-btn--primary):hover,
.gateway-shell--palco .gst-film--sessions .gst-btn--profile:hover,
.gateway-shell--palco .gst-film--sessions .gst-btn--revoke:hover {
  color: rgba(236, 240, 248, 0.92);
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 50%, transparent);
  background: color-mix(in srgb, var(--t1-palco-sessions-frost) 12%, rgba(0, 0, 0, 0.42));
  box-shadow: 0 0 12px color-mix(in srgb, var(--t1-palco-sessions-frost) 12%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-btn--copy:not(.gst-btn--primary):focus-visible,
.gateway-shell--palco .gst-film--sessions .gst-btn--profile:focus-visible,
.gateway-shell--palco .gst-film--sessions .gst-btn--revoke:focus-visible {
  outline: none;
  color: rgba(236, 240, 248, 0.94);
  border-color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright) 54%, transparent);
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-palco-sessions-frost) 20%, transparent),
    0 0 12px color-mix(in srgb, var(--t1-palco-sessions-frost) 12%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-inbox-more__meta {
  color: rgba(170, 176, 188, 0.45);
}

.gateway-shell--palco .gst-film--sessions .gst-inbox-more__btn {
  color: rgba(170, 176, 188, 0.58);
  border-color: color-mix(in srgb, #fff 12%, transparent);
  background: transparent;
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-inbox-more__btn:hover:not(:disabled) {
  color: rgba(200, 206, 216, 0.82);
  border-color: color-mix(in srgb, #fff 20%, transparent);
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-inbox-more__btn:focus-visible {
  outline: 1px solid color-mix(in srgb, #fff 22%, transparent);
  outline-offset: 2px;
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-inbox-more__btn:disabled {
  opacity: 0.45;
}

/* REGIA-V2 ??? Vault / Mondi: abisso cosmico con accento canale */
body[data-gateway-film="vault"] .gateway-shell--palco .gst-film {
  background: radial-gradient(
    ellipse 94% 90% at 50% 40%,
    color-mix(in srgb, var(--t1-program-vault-accent, #7a9ec8) calc(7% + 7% * var(--t1-room-density)), #101828) 0%,
    var(--t1-palco-cosmos-center) 32%,
    #070910 68%,
    var(--t1-palco-cosmos-edge) 100%
  );
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) calc(9% + 9% * var(--t1-room-density)), transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff calc(3% * var(--t1-room-density)), transparent),
    0 0 20px 1px color-mix(in srgb, var(--t1-program-vault-accent) calc(3% + 3% * var(--t1-room-density)), transparent),
    0 16px 38px rgba(0, 0, 0, calc(0.22 + 0.14 * var(--t1-room-density)));
}

body[data-gateway-film="world"] .gateway-shell--palco .gst-film {
  background: radial-gradient(
    ellipse 94% 90% at 50% 40%,
    color-mix(in srgb, var(--t1-program-world-accent) calc(6% + 6% * var(--t1-room-density)), #101a24) 0%,
    var(--t1-palco-cosmos-center) 32%,
    #070a0e 68%,
    var(--t1-palco-cosmos-edge) 100%
  );
  border-color: color-mix(in srgb, var(--t1-program-world-accent) calc(8% + 8% * var(--t1-room-density)), transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff calc(3% * var(--t1-room-density)), transparent),
    0 0 20px 1px color-mix(in srgb, var(--t1-program-world-accent) calc(3% + 3% * var(--t1-room-density)), transparent),
    0 16px 38px rgba(0, 0, 0, calc(0.22 + 0.14 * var(--t1-room-density)));
}

.gateway-shell--palco .gst-film--vault {
  --gw-projected-pearl: var(--t1-pearl, #d6dff1);
  --gw-projected-cyan: var(--t1-cyan, #00e5ff);
  --gw-projected-helm-muted: var(--t1-helm-frost-muted, rgba(148, 163, 184, 0.28));
  --gst-plate-bg:
    radial-gradient(ellipse 72% 58% at 50% 14%, color-mix(in srgb, var(--t1-program-vault-accent) 9%, transparent) 0%, transparent 62%),
    linear-gradient(158deg, rgba(14, 18, 28, calc(0.28 + 0.28 * var(--t1-room-density))), rgba(8, 11, 18, calc(0.32 + 0.32 * var(--t1-room-density)))),
    radial-gradient(
      ellipse 92% 88% at 50% 42%,
      color-mix(in srgb, var(--t1-program-vault-accent) calc(5% + 5% * var(--t1-room-density)), #101828) 0%,
      var(--t1-palco-cosmos-center) 34%,
      #080a10 68%,
      var(--t1-palco-cosmos-edge) 100%
    );
}

.gateway-shell--palco .gst-film--world {
  --gw-projected-pearl: var(--t1-pearl, #d6dff1);
  --gw-projected-cyan: var(--t1-cyan, #00e5ff);
  --gw-projected-helm-muted: var(--t1-helm-frost-muted, rgba(148, 163, 184, 0.28));
  --gst-plate-bg:
    radial-gradient(ellipse 72% 58% at 50% 14%, color-mix(in srgb, var(--t1-program-world-accent) 9%, transparent) 0%, transparent 62%),
    linear-gradient(158deg, rgba(14, 18, 28, calc(0.28 + 0.28 * var(--t1-room-density))), rgba(8, 11, 18, calc(0.32 + 0.32 * var(--t1-room-density)))),
    radial-gradient(
      ellipse 92% 88% at 50% 42%,
      color-mix(in srgb, var(--t1-program-world-accent) calc(5% + 5% * var(--t1-room-density)), #101828) 0%,
      var(--t1-palco-cosmos-center) 34%,
      #080a10 68%,
      var(--t1-palco-cosmos-edge) 100%
    );
}

.gateway-shell--palco .gst-film--vault .gst-preview-card,
.gateway-shell--palco .gst-film--vault .gst-hero.gst-preview-card,
.gateway-shell--palco .gst-film--world .gst-preview-card,
.gateway-shell--palco .gst-film--world .gst-hero.gst-preview-card {
  background: var(--gst-plate-bg);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 6%, transparent),
    0 12px 40px rgba(0, 0, 0, 0.68);
}

.gateway-shell--palco .gst-film--vault .gst-preview-card:not(.gst-preview-card--projected),
.gateway-shell--palco .gst-film--vault .gst-hero.gst-preview-card:not(.gst-preview-card--projected) {
  border-color: color-mix(in srgb, var(--gw-projected-pearl) calc(31% * var(--t1-room-density)), transparent);
  background:
    linear-gradient(165deg, color-mix(in srgb, #fff calc(7% * var(--t1-room-density)), transparent), color-mix(in srgb, #fff calc(2% * var(--t1-room-density)), transparent)),
    var(--gst-plate-bg);
  backdrop-filter: var(--t1-room-backdrop);
  -webkit-backdrop-filter: var(--t1-room-backdrop);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff calc(12% * var(--t1-room-density)), transparent),
    0 14px 38px rgba(0, 0, 0, calc(0.28 + 0.34 * var(--t1-room-density)));
}

.gateway-shell--palco .gst-film--vault .gst-preview-card:hover,
.gateway-shell--palco .gst-film--vault .gst-hero.gst-preview-card:hover {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 30%, color-mix(in srgb, var(--gw-projected-pearl) 28%, transparent));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
    0 16px 44px rgba(0, 0, 0, 0.68);
}

.gateway-shell--palco .gst-film--vault .gst-preview-card__title,
.gateway-shell--palco .gst-film--vault .gst-hero__title {
  color: color-mix(in srgb, var(--gw-projected-pearl) 74%, rgba(255, 255, 255, 0.92));
}

.gateway-shell--palco .gst-film--vault .gst-preview-card__pill {
  color: color-mix(in srgb, var(--gw-projected-pearl) 66%, rgba(238, 242, 249, 0.9));
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 62%, transparent);
  background: color-mix(in srgb, #fff 7%, rgba(6, 10, 18, 0.38));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--world .gst-preview-card,
.gateway-shell--palco .gst-film--world .gst-hero.gst-preview-card {
  border-color: color-mix(in srgb, var(--gw-projected-pearl) 31%, transparent);
  background:
    linear-gradient(165deg, color-mix(in srgb, #fff 7%, transparent), color-mix(in srgb, #fff 2%, transparent)),
    var(--gst-plate-bg);
  backdrop-filter: blur(12px) saturate(1.05);
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent),
    0 14px 38px rgba(0, 0, 0, 0.62);
}

.gateway-shell--palco .gst-film--world .gst-preview-card:hover,
.gateway-shell--palco .gst-film--world .gst-hero.gst-preview-card:hover {
  border-color: color-mix(in srgb, var(--t1-program-world-accent) 30%, color-mix(in srgb, var(--gw-projected-pearl) 28%, transparent));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent),
    0 16px 44px rgba(0, 0, 0, 0.68);
}

.gateway-shell--palco .gst-film--world .gst-preview-card__title,
.gateway-shell--palco .gst-film--world .gst-hero__title {
  color: color-mix(in srgb, var(--gw-projected-pearl) 74%, rgba(255, 255, 255, 0.92));
}

.gateway-shell--palco .gst-film--world .gst-preview-card__pill {
  color: color-mix(in srgb, var(--gw-projected-pearl) 66%, rgba(238, 242, 249, 0.9));
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 62%, transparent);
  background: color-mix(in srgb, #fff 7%, rgba(6, 10, 18, 0.38));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--world .gst-preview-card__thumb--media {
  position: relative;
  filter: contrast(1.04) saturate(0.92);
}

.gateway-shell--palco .gst-film--world .gst-preview-card__thumb--media::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 38%, rgba(0, 0, 0, 0.42) 100%);
}

.gateway-shell--palco .gst-film--world .gst-btn--primary,
.gateway-shell--palco .gst-film--world .gst-btn--cockpit.gst-btn--primary {
  min-height: 44px;
  padding: 0.52rem 0.98rem;
  border: 1px solid color-mix(in srgb, var(--t1-program-world-accent) 24%, var(--gw-projected-pearl) 16%);
  background: color-mix(in srgb, #fff 8%, rgba(10, 16, 26, 0.56));
  color: rgba(228, 234, 244, 0.94);
  box-shadow: none;
}

.gateway-shell--palco .gst-film--world .gst-btn--primary:hover,
.gateway-shell--palco .gst-film--world .gst-btn--cockpit.gst-btn--primary:hover {
  border-color: color-mix(in srgb, var(--t1-program-world-accent) 40%, var(--gw-projected-pearl) 24%);
  background: color-mix(in srgb, #fff 12%, rgba(10, 16, 26, 0.62));
  color: #f7fbff;
  box-shadow: 0 0 14px color-mix(in srgb, var(--t1-program-world-accent) 18%, transparent);
}

.gateway-shell--palco .gst-film--world .gst-zone-nav {
  min-width: 44px;
  min-height: 44px;
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 58%, transparent);
  background: color-mix(in srgb, #fff 5%, rgba(10, 16, 26, 0.42));
  color: color-mix(in srgb, var(--gw-projected-pearl) 62%, rgba(198, 208, 224, 0.9));
}

.gateway-shell--palco .gst-film--world .gst-zone-nav:hover:not(:disabled):not(.is-gst-nav-at-limit) {
  border-color: color-mix(in srgb, var(--t1-program-world-accent) 28%, var(--gw-projected-pearl) 22%);
  background: color-mix(in srgb, #fff 9%, rgba(10, 16, 26, 0.5));
  color: #f1f6ff;
}

/* REGIA V5b ??? Archivio: counter + CTA organiche (no orologio digitale) */
.gateway-shell--palco .gst-film--vault .gst-strip__counter {
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-weight: 400;
  font-size: clamp(0.78rem, 0.74rem + 0.15vw, 0.88rem);
  letter-spacing: 0.04em;
  font-variant-numeric: normal;
  color: color-mix(in srgb, var(--t1-palco-channel-vault) 26%, var(--t1-palco-type-channel-smoke));
  text-shadow: none;
  user-select: none;
  -webkit-user-select: none;
}

.gateway-shell--palco .gst-film--vault .gst-strip__counter::selection,
.gateway-shell--palco .gst-film--world .gst-strip__counter::selection {
  background: transparent;
  color: inherit;
}

.gateway-shell--palco .gst-film--vault .gst-btn--cockpit.gst-btn--primary,
.gateway-shell--palco .gst-film--vault .gst-btn--primary {
  min-height: 44px;
  padding: 0.52rem 0.98rem;
  border: 1px solid color-mix(in srgb, var(--t1-program-vault-accent) 24%, var(--gw-projected-pearl) 16%);
  background: color-mix(in srgb, #fff 8%, rgba(10, 16, 26, 0.56));
  color: rgba(228, 234, 244, 0.94);
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-weight: 500;
  letter-spacing: 0.02em;
  box-shadow: none;
  text-shadow: none;
}

.gateway-shell--palco .gst-film--vault .gst-btn--cockpit.gst-btn--primary:hover,
.gateway-shell--palco .gst-film--vault .gst-btn--primary:hover {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 40%, var(--gw-projected-pearl) 24%);
  background: color-mix(in srgb, #fff 12%, rgba(10, 16, 26, 0.62));
  color: #f7fbff;
  box-shadow: 0 0 14px color-mix(in srgb, var(--t1-program-vault-accent) 18%, transparent);
}

.gateway-shell--palco .gst-film--vault .gst-btn--cockpit.gst-btn--primary:focus-visible,
.gateway-shell--palco .gst-film--vault .gst-btn--primary:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--t1-palco-channel-vault) 22%, transparent),
    0 0 12px color-mix(in srgb, var(--t1-palco-channel-vault) 12%, transparent);
}

.gateway-shell--palco .gst-film--vault .gst-zone-nav {
  min-width: 44px;
  min-height: 44px;
  border-color: color-mix(in srgb, var(--gw-projected-helm-muted) 58%, transparent);
  background: color-mix(in srgb, #fff 5%, rgba(10, 16, 26, 0.42));
  color: color-mix(in srgb, var(--gw-projected-pearl) 62%, rgba(198, 208, 224, 0.9));
}

.gateway-shell--palco .gst-film--vault .gst-zone-nav:hover:not(:disabled):not(.is-gst-nav-at-limit) {
  border-color: color-mix(in srgb, var(--t1-program-vault-accent) 28%, var(--gw-projected-pearl) 22%);
  background: color-mix(in srgb, #fff 9%, rgba(10, 16, 26, 0.5));
  color: #f1f6ff;
}

/* PALCO-CINE S1b ??? projected identity-row (Inviti + Progetti) ? Theme-Scale */
.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected {
  --gst-projected-accent: var(--t1-cyan, #00e5ff);
  display: grid;
  grid-template-rows: auto auto;
  gap: 0.72rem;
  min-height: 156px;
  max-height: 204px;
  height: auto;
  background: var(--t1-room-surface-bg);
  border: var(--t1-room-card-border);
  box-shadow: var(--t1-room-card-shadow);
  backdrop-filter: var(--t1-room-backdrop);
  -webkit-backdrop-filter: var(--t1-room-backdrop);
  transition:
    box-shadow 0.22s ease,
    transform 0.22s ease,
    background 0.22s ease;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected:hover,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected:hover {
  background: rgba(10, 10, 12, calc(0.08 + 0.12 * var(--t1-room-density)));
  box-shadow: 0 10px 28px rgba(0, 0, 0, calc(0.2 + 0.08 * var(--t1-room-density)));
  transform: translateY(-1px);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__thumb,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__thumb {
  display: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__identity-row,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__identity-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 0.62rem;
  min-height: 44px;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__avatar,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--gst-projected-accent) calc(13% + 13% * var(--t1-room-density)), rgba(255, 255, 255, calc(0.06 + 0.06 * var(--t1-room-density))));
  background: rgba(255, 255, 255, calc(0.03 + 0.02 * var(--t1-room-density)));
  display: grid;
  place-items: center;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__avatar-glyph,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__avatar-glyph {
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-size: 0.78rem;
  letter-spacing: 0.07em;
  color: color-mix(in srgb, var(--t1-pearl, #d6dff1) 72%, #fff);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__meta,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__meta {
  min-width: 0;
  display: grid;
  gap: 0.22rem;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__title,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__title {
  margin: 0;
  font-size: clamp(0.9rem, 0.86rem + 0.22vw, 1rem);
  line-height: 1.25;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__pill,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 0.14rem 0.42rem;
  border-radius: 999px;
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
  font-size: 0.64rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid color-mix(in srgb, var(--gst-projected-accent) 32%, rgba(255, 255, 255, 0.12));
  color: color-mix(in srgb, var(--gst-projected-accent) 62%, var(--t1-pearl, #d6dff1));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__actions,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__actions {
  gap: 0.36rem;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-btn,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-btn {
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--gst-projected-accent) 26%, rgba(255, 255, 255, 0.14));
  background: rgba(255, 255, 255, 0.045);
  color: color-mix(in srgb, var(--gst-projected-accent) 58%, var(--t1-pearl, #d6dff1));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-btn--primary,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-btn--primary {
  background: color-mix(in srgb, var(--gst-projected-accent) 18%, rgba(255, 255, 255, 0.08));
  border-color: color-mix(in srgb, var(--gst-projected-accent) 46%, rgba(255, 255, 255, 0.18));
  color: rgba(246, 250, 255, 0.96);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent),
    0 0 16px color-mix(in srgb, var(--gst-projected-accent) 16%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-btn:hover,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-btn:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: color-mix(in srgb, var(--gst-projected-accent) 44%, rgba(255, 255, 255, 0.16));
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected {
  --gst-projected-accent: var(--gw-projected-cyan, var(--t1-cyan, #00e5ff));
  gap: 0.46rem;
  min-height: 0;
  max-height: none;
  height: auto;
  padding: 0.68rem 0.78rem;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__actions {
  gap: 0.28rem;
}

/* Inviti / Archivio palco-b ? layout B: data sx ? ring centro ? corner dx ? token: styles/tokens.css --gst-inviti-* */
.gst-hero-rail .gst-preview-card--inviti,
.gst-hero-rail .gst-preview-card--palco-b,
.gst-hero-slot .gst-preview-card--inviti,
.gst-hero-slot .gst-preview-card--palco-b {
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: var(--gst-inviti-gap);
  padding: var(--gst-inviti-padding-block) var(--gst-inviti-padding-inline) calc(var(--gst-inviti-padding-block) - 0.04rem);
  min-height: var(--gst-inviti-card-h);
  max-height: var(--gst-inviti-card-h);
  height: var(--gst-inviti-card-h);
  overflow: visible;
}

.gst-hero-rail .gst-preview-card.gst-hero.gst-preview-card--inviti,
.gst-hero-rail .gst-preview-card.gst-hero.gst-preview-card--palco-b,
.gst-hero-slot .gst-preview-card.gst-hero.gst-preview-card--inviti,
.gst-hero-slot .gst-preview-card.gst-hero.gst-preview-card--palco-b {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.gst-hero-rail:has(.gst-preview-card--inviti),
.gst-hero-rail:has(.gst-preview-card--palco-b) {
  min-height: var(--gst-inviti-card-h);
}

.gst-hero-rail:has(.gst-preview-card--inviti)::before,
.gst-hero-rail:has(.gst-preview-card--palco-b)::before {
  display: none;
}

.gst-hero-slot:has(.gst-preview-card--inviti),
.gst-hero-slot:has(.gst-preview-card--palco-b) {
  max-height: var(--gst-inviti-card-h);
}

/* Carosello layout B ? solo fade, no slide */
.gst-hero-rail:has(.gst-preview-card--inviti) .gst-hero-slot,
.gst-hero-rail:has(.gst-preview-card--palco-b) .gst-hero-slot {
  transform: none;
  will-change: opacity;
  transition: opacity var(--gst-inviti-slot-fade-ms) cubic-bezier(0.22, 1, 0.36, 1);
}

.gst-hero-rail:has(.gst-preview-card--inviti) .gst-hero-slot.is-active,
.gst-hero-rail:has(.gst-preview-card--palco-b) .gst-hero-slot.is-active {
  transform: none;
}

.gst-hero-rail:has(.gst-preview-card--inviti) .gst-hero-slot.is-exit,
.gst-hero-rail:has(.gst-preview-card--inviti) .gst-hero-slot.is-enter,
.gst-hero-rail:has(.gst-preview-card--palco-b) .gst-hero-slot.is-exit,
.gst-hero-rail:has(.gst-preview-card--palco-b) .gst-hero-slot.is-enter {
  transform: none;
  opacity: 0;
}

.gst-hero-rail:has(.gst-preview-card--inviti) .gst-hero-slot.is-enter.is-active,
.gst-hero-rail:has(.gst-preview-card--palco-b) .gst-hero-slot.is-enter.is-active {
  transform: none;
  opacity: 1;
}

.gst-hero-slot.is-active .gst-preview-card.gst-hero.gst-preview-card--inviti,
.gst-hero-slot.is-active .gst-preview-card.gst-hero.gst-preview-card--palco-b {
  transform: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b {
  border: var(--t1-room-card-border);
  box-shadow: var(--t1-room-card-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti {
  --gst-palco-card-chroma: var(--t1-palco-chroma-sessions);
  --gst-projected-accent: var(--t1-palco-chroma-sessions);
  background: var(--gst-palco-card-veil-sessions), var(--gst-palco-card-base);
  border: var(--t1-room-card-border);
  box-shadow: var(--t1-room-card-shadow);
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b {
  --gst-palco-card-chroma: var(--t1-palco-chroma-vault);
  --gst-projected-accent: var(--t1-palco-chroma-vault);
  background: var(--gst-palco-card-veil-vault), var(--gst-palco-card-base);
  border: var(--t1-room-card-border);
  box-shadow: var(--t1-room-card-shadow);
}

.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b {
  --gst-palco-card-chroma: var(--t1-palco-chroma-world);
  --gst-projected-accent: var(--t1-palco-chroma-world);
  background: var(--gst-palco-card-veil-world), var(--gst-palco-card-base);
  border: var(--t1-room-card-border);
  box-shadow: var(--t1-room-card-shadow);
}

.gateway-shell--palco .gst-preview-card--palco-b:hover,
.gateway-shell--palco .gst-preview-card--inviti:hover {
  transform: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__date,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__date,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__date {
  margin: 0;
  justify-self: start;
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
  font-size: var(--gst-inviti-date-fs);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gst-inviti-date-color);
  line-height: 1.3;
  cursor: default;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__stage,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__stage,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 0;
  gap: var(--gst-inviti-stage-gap);
  padding: 0.2rem 0.2rem 0.15rem;
  border-radius: 0;
  overflow: visible;
  cursor: default;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb {
  position: absolute;
  inset: 0;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: unset;
  border: none;
  border-radius: 0;
  opacity: var(--gst-inviti-thumb-opacity);
  pointer-events: none;
  filter: contrast(1.02) saturate(0.88);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--media,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--media,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--media {
  opacity: var(--gst-inviti-thumb-opacity-media);
  border-radius: 8px;
}

/* Senza poster: niente piastra hold rail (evita rettangolo scuro nello stage) */
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb:not(.gst-preview-card__thumb--media),
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb:not(.gst-preview-card__thumb--media),
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb:not(.gst-preview-card__thumb--media) {
  display: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--hold,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--waiting,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--initials,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--revoked,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--hold,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--hold,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--waiting,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--waiting,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--initials,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--initials,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--revoked,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--revoked {
  background: none;
  border: none;
  box-shadow: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--hold::after,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--waiting::after,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb--initials::after,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--hold::after,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--hold::after,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--waiting::after,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--waiting::after,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb--initials::after,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb--initials::after {
  display: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb-glyph,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__thumb .gst-preview-card__thumb-glyph,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb-glyph,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb-glyph,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__thumb .gst-preview-card__thumb-glyph,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__thumb .gst-preview-card__thumb-glyph {
  display: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__title,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__title,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__title {
  position: relative;
  z-index: 1;
  margin: var(--gst-inviti-title-shift) 0 0;
  max-width: 100%;
  text-align: center;
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-size: var(--gst-inviti-title-fs);
  font-weight: var(--gst-inviti-title-weight);
  color: var(--gst-inviti-title-color);
  line-height: 1.22;
  letter-spacing: 0.01em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  cursor: default;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__title,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__title,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__title {
  margin-bottom: var(--gst-inviti-title-ring-gap);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__ring,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__ring,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__ring {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: var(--gst-inviti-ring-margin-block) 0;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__meta,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__meta,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__meta {
  position: relative;
  z-index: 1;
  margin: var(--gst-inviti-ring-meta-gap) 0 0;
  max-width: 100%;
  text-align: center;
  font-family: var(--gw-font-ui, 'Plus Jakarta Sans', sans-serif);
  font-size: var(--gst-inviti-meta-fs);
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: 0.02em;
  color: var(--gst-inviti-meta-color);
  cursor: default;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__footer,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__footer,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-height: var(--gst-inviti-footer-min-h);
  overflow: visible;
  position: relative;
  z-index: 3;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-card__corner,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-card__corner,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-card__corner {
  display: inline-flex;
  align-items: center;
  gap: var(--gst-inviti-corner-gap);
  overflow: visible;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .t1sa-action,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-hint-host,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .t1sa-action,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .t1sa-action,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-hint-host,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-hint-host {
  cursor: pointer;
}

/* Palco layout B — ring centrale: perimetro vetro (corner = icon bare sotto) */
.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 0;
  border: 1px solid var(--t1-palco-action-border);
  background: var(--t1-palco-action-bg);
  box-shadow: var(--t1-palco-action-shadow);
  backdrop-filter: var(--t1-palco-action-backdrop);
  -webkit-backdrop-filter: var(--t1-palco-action-backdrop);
  color: color-mix(in srgb, var(--gst-projected-accent) 72%, var(--t1-pearl, #d6dff1));
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}

/* Corner Inviti/Archivio — glyph nudo, hit ≥44px, no quadratino vetro */
.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn:not(.gst-inviti-ring-btn),
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn:not(.gst-inviti-ring-btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 0;
  width: var(--gst-inviti-icon-size);
  height: var(--gst-inviti-icon-size);
  min-width: var(--gst-inviti-icon-size);
  min-height: var(--gst-inviti-icon-size);
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 0.58;
  transition: color 0.18s ease, opacity 0.18s ease;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn {
  width: var(--gst-inviti-ring-size);
  height: var(--gst-inviti-ring-size);
  min-width: var(--gst-inviti-ring-size);
  min-height: var(--gst-inviti-ring-size);
  font-size: var(--gst-inviti-ring-size);
  border-radius: 50%;
  --t1-palco-action-border: color-mix(in srgb, var(--gst-projected-accent) 34%, transparent);
  background:
    radial-gradient(
      circle at 35% 32%,
      color-mix(in srgb, var(--gst-projected-accent) 26%, rgba(255, 255, 255, 0.1)) 0%,
      transparent 54%
    ),
    var(--t1-palco-action-bg);
  color: color-mix(in srgb, var(--gst-projected-accent) 88%, #fff);
  box-shadow:
    var(--t1-palco-action-shadow),
    0 0 28px color-mix(in srgb, var(--gst-projected-accent) 18%, transparent);
}

/* Fix 3 ? Ring glow palco-b: aggiunge base pearl per rendere visibile l'alone su chroma scuri */
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn {
  box-shadow:
    var(--t1-palco-action-shadow),
    0 0 28px color-mix(in srgb, var(--gst-projected-accent) 18%, rgba(214, 223, 241, 0.06));
}

.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn:hover,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn:focus-visible {
  box-shadow:
    var(--t1-palco-action-shadow-hover),
    0 0 34px color-mix(in srgb, var(--gst-projected-accent) 24%, rgba(214, 223, 241, 0.08));
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn .t1sa-icon,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn .t1sa-icon {
  width: calc(var(--gst-inviti-ring-glyph-ratio, 0.52) * 1em);
  height: calc(var(--gst-inviti-ring-glyph-ratio, 0.52) * 1em);
  max-width: 100%;
  max-height: 100%;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn:not(.gst-inviti-ring-btn) .t1sa-icon,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn:not(.gst-inviti-ring-btn) .t1sa-icon {
  width: var(--gst-inviti-icon-glyph-size, 22px);
  height: var(--gst-inviti-icon-glyph-size, 22px);
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn:hover,
.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn:focus-visible,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn:hover,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn:focus-visible {
  --t1-palco-action-border: color-mix(in srgb, var(--gst-projected-accent) 44%, transparent);
  background:
    radial-gradient(
      circle at 35% 32%,
      color-mix(in srgb, var(--gst-projected-accent) 32%, rgba(255, 255, 255, 0.12)) 0%,
      transparent 54%
    ),
    var(--t1-palco-action-bg-hover);
  border-color: color-mix(in srgb, var(--gst-projected-accent) 28%, transparent);
  box-shadow:
    var(--t1-palco-action-shadow-hover),
    0 0 34px color-mix(in srgb, var(--gst-projected-accent) 24%, transparent);
  color: #f4f8ff;
}

.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn--watch,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn--preview {
  color: color-mix(in srgb, var(--gst-projected-accent) 78%, #fff);
  opacity: 0.58;
}

.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn--watch:hover,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn--watch:focus-visible,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn--preview:hover,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-icon-btn--preview:focus-visible {
  color: color-mix(in srgb, var(--gst-projected-accent) 92%, #fff);
  opacity: 1;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--profile {
  color: color-mix(in srgb, var(--gw-violet, #c4b5fd) 72%, white);
  opacity: 0.58;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--profile:hover,
.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--profile:focus-visible {
  color: color-mix(in srgb, var(--gw-violet, #c4b5fd) 92%, #fff);
  opacity: 1;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--revoke {
  color: rgba(255, 100, 90, 0.94);
  opacity: 0.58;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--revoke:hover,
.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--revoke:focus-visible {
  color: rgba(255, 110, 100, 1);
  opacity: 1;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--flash-ok {
  color: var(--t1-state-ready, #67d596);
  opacity: 1;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-icon-btn--flash-err {
  color: rgba(255, 100, 90, 1);
  opacity: 1;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn .t1sa-icon--play,
.gateway-shell--palco .gst-preview-card--palco-b .t1sa-action.gst-inviti-ring-btn .t1sa-icon--play {
  margin-left: 0.04em;
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn--flash-ok {
  --t1-palco-action-border: color-mix(in srgb, var(--t1-state-ready, #67d596) 42%, transparent);
}

.gateway-shell--palco .gst-preview-card--inviti .t1sa-action.gst-inviti-ring-btn--flash-err {
  --t1-palco-action-border: color-mix(in srgb, rgba(210, 40, 40, 1) 40%, transparent);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-hint-host,
.gateway-shell--palco .gst-film--vault .gst-preview-card--palco-b .gst-inviti-hint-host,
.gateway-shell--palco .gst-film--world .gst-preview-card--palco-b .gst-inviti-hint-host {
  overflow: visible;
}

/* Hint sopra i bottoni Inviti — posizione; tipografia Palco in t1_hover_hint.css */
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-hint-host[data-t1-hint='above'] > .t1-hover-hint {
  right: auto;
  left: 50%;
  top: auto;
  bottom: calc(100% + var(--gst-inviti-hint-gap));
  transform: translateX(-50%) translateY(4px);
  z-index: 40;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-hint-host[data-t1-hint='above']:hover:not([data-hint-dismissed]) > .t1-hover-hint,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-hint-host[data-t1-hint='above']:focus-within:not([data-hint-dismissed]) > .t1-hover-hint {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-hint-host[data-t1-hint='above'][data-hint-dismissed]:hover > .t1-hover-hint,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--inviti .gst-inviti-hint-host[data-t1-hint='above'][data-hint-dismissed]:focus-within > .t1-hover-hint {
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(4px);
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film--sessions .gst-section--inbox {
  min-height: 0;
  flex: 1 1 auto;
}

/* Progetti indice: stesso mattone altezza Inviti (P1b rail, non cap 156px) */
.gateway-shell--palco .gst-film--world .gst-preview-card--projected {
  --gst-projected-accent: var(--t1-palco-channel-world, #3dcc9a);
  gap: 0.46rem;
  min-height: 0;
  max-height: none;
  height: auto;
  padding: 0.68rem 0.78rem;
}

.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__actions {
  gap: 0.28rem;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-btn--quiet-link,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-btn--quiet-link {
  text-decoration: none;
}

.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__thumb--hold,
.gateway-shell--palco .gst-film--sessions .gst-preview-card--projected .gst-preview-card__thumb--waiting,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__thumb--hold,
.gateway-shell--palco .gst-film--world .gst-preview-card--projected .gst-preview-card__thumb--waiting {
  background-image: none !important;
}

body[data-gateway-film="sessions"] .gateway-shell--palco .gst-film,
body[data-gateway-film="world"] .gateway-shell--palco .gst-film {
  background: radial-gradient(
    ellipse 92% 86% at 50% 42%,
    rgba(22, 28, 40, calc(0.16 + 0.14 * var(--t1-room-density))) 0%,
    rgba(9, 12, 20, calc(0.12 + 0.12 * var(--t1-room-density))) 38%,
    rgba(4, 6, 10, calc(0.08 + 0.1 * var(--t1-room-density))) 100%
  );
}

/* PALCO-CINE S3b ??? Archivio projected (media-first, no carbon) ? Theme-Scale */
.gateway-shell--palco .gst-film--vault .gst-preview-card--projected {
  --gst-projected-accent: var(--t1-palco-channel-vault, #7a9ec8);
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 0.62rem;
  background: var(--t1-room-surface-bg);
  border: var(--t1-room-card-border);
  box-shadow: var(--t1-room-card-shadow);
  backdrop-filter: var(--t1-room-backdrop);
  -webkit-backdrop-filter: var(--t1-room-backdrop);
  transition:
    box-shadow 0.22s ease,
    transform 0.22s ease,
    background 0.22s ease;
}

/* Archivio projected ? no scurimento card intera al passaggio mouse (solo CTA) */
.gateway-shell--palco .gst-film--vault .gst-preview-card--projected:hover {
  background: var(--t1-room-surface-bg);
  border: var(--t1-room-card-border);
  box-shadow: var(--t1-room-card-shadow);
  transform: none;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb {
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--gst-projected-accent) calc(12% + 12% * var(--t1-room-density)), rgba(255, 255, 255, calc(0.04 + 0.08 * var(--t1-room-density))));
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb--media {
  position: relative;
  filter: contrast(1.03) saturate(0.9);
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb--media::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 35%, rgba(0, 0, 0, 0.45) 100%),
    radial-gradient(ellipse 86% 74% at 50% 55%, transparent 40%, rgba(0, 0, 0, 0.24) 100%);
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb--hold,
.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb--waiting,
.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb--initials {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb--hold,
.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__thumb--waiting {
  background-image: linear-gradient(165deg, rgba(18, 22, 30, 0.92), rgba(8, 10, 16, 0.95));
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__body {
  display: grid;
  gap: 0.2rem;
  text-align: center;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__title {
  margin: 0;
  font-size: clamp(0.92rem, 0.88rem + 0.2vw, 1.02rem);
  line-height: 1.24;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__pill {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding: 0.14rem 0.42rem;
  border-radius: 999px;
  font-family: var(--gw-font-mono, 'JetBrains Mono', monospace);
  font-size: 0.64rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid color-mix(in srgb, var(--gst-projected-accent) 32%, rgba(255, 255, 255, 0.12));
  color: color-mix(in srgb, var(--gst-projected-accent) 62%, var(--t1-pearl, #d6dff1));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-preview-card__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.42rem;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-btn {
  min-height: 44px;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--gst-projected-accent) 26%, rgba(255, 255, 255, 0.14));
  background: rgba(255, 255, 255, 0.045);
  color: color-mix(in srgb, var(--gst-projected-accent) 58%, var(--t1-pearl, #d6dff1));
  box-shadow: none;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-btn--primary {
  background: color-mix(in srgb, var(--gst-projected-accent) 16%, rgba(255, 255, 255, 0.08));
  border-color: color-mix(in srgb, var(--gst-projected-accent) 44%, rgba(255, 255, 255, 0.18));
  color: rgba(246, 250, 255, 0.96);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent),
    0 0 14px color-mix(in srgb, var(--gst-projected-accent) 14%, transparent);
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-btn--play {
  min-width: 64px;
  padding-inline: 0.8rem;
  font-size: 0.72rem;
}

.gateway-shell--palco .gst-film--vault .gst-preview-card--projected .gst-btn:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: color-mix(in srgb, var(--gst-projected-accent) 44%, rgba(255, 255, 255, 0.16));
}

body[data-gateway-film="vault"] .gateway-shell--palco .gst-film {
  background: radial-gradient(
    ellipse 92% 86% at 50% 42%,
    rgba(22, 28, 40, 0.62) 0%,
    rgba(9, 12, 20, 0.56) 38%,
    rgba(4, 6, 10, 0.52) 100%
  );
}

/* REGIA V5g???V5h ??? Delta void: materiale senza cornice idle (edge ~10%, tint canale) */
body[data-gateway-film="void"] .gateway-shell--palco .gw-layout--delta .gateway-visual-card {
  border: 0.5px solid transparent;
  box-shadow: none;
  transition: all var(--t1-palco-inertia, 280ms cubic-bezier(0.16, 1, 0.3, 1));
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-visual-card--invite {
  --gw-card-accent: var(--t1-palco-delta-entry-ice-edge);
  opacity: 1;
  border: 0.5px solid transparent;
  background:
    linear-gradient(
      155deg,
      color-mix(in srgb, var(--t1-palco-delta-entry-ice-fill, #e4eef8) 22%, var(--t1-palco-delta-entry-ice) 78%) 0%,
      color-mix(in srgb, #d8e6f4 18%, var(--t1-palco-delta-entry-ice) 82%) 100%
    ),
    radial-gradient(ellipse 70% 55% at 82% 12%, color-mix(in srgb, var(--t1-palco-peak-ice) 14%, transparent) 0%, transparent 52%),
    var(--t1-palco-galaxy-ice),
    linear-gradient(
      128deg,
      color-mix(in srgb, var(--t1-palco-peak-ice) var(--t1-palco-edge-peak, 10%), transparent) 0%,
      color-mix(in srgb, var(--t1-palco-peak-ice) 5%, transparent) 38%,
      transparent 68%
    ) border-box;
  background-clip: padding-box, padding-box, padding-box, border-box;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-ice) var(--t1-palco-edge-peak, 10%), transparent),
    inset 0 -12px 28px color-mix(in srgb, var(--t1-palco-delta-entry-ice) 8%, transparent),
    0 10px 28px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(14px) saturate(1.18);
  -webkit-backdrop-filter: blur(14px) saturate(1.18);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-visual-card--invite .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--t1-palco-delta-entry-ice-muted) 32%, #1a2230) 0%,
    color-mix(in srgb, var(--t1-palco-delta-entry-ice-muted) 20%, #141c24) 48%,
    #101820 100%
  );
  opacity: 1;
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-console-icon--invite svg {
  color: color-mix(in srgb, var(--t1-palco-delta-entry-ice) 68%, #e8f0f8);
  opacity: 0.94;
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-glow-pill--invite {
  color: color-mix(in srgb, var(--t1-palco-delta-entry-ice) 78%, #e8f0f8);
  border-color: color-mix(in srgb, var(--t1-palco-delta-entry-ice-edge) 52%, transparent);
  background: color-mix(in srgb, var(--t1-palco-delta-entry-ice) 14%, rgba(0, 0, 0, 0.32));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-delta-entry-ice-highlight) 28%, transparent),
    0 0 10px color-mix(in srgb, var(--t1-palco-delta-entry-ice) 10%, transparent);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-visual-card--projects {
  --gw-card-accent: var(--t1-palco-space-cobalt-glow, #4a8ec8);
  border: 0.5px solid transparent;
  filter: brightness(1.07) saturate(1.06);
  backdrop-filter: blur(14px) saturate(1.06);
  -webkit-backdrop-filter: blur(14px) saturate(1.06);
  background:
    linear-gradient(
      155deg,
      color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 58%, rgba(2, 12, 28, 0.1)) 0%,
      color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 76%, #142848) 100%
    ),
    radial-gradient(ellipse 55% 45% at 88% 8%, color-mix(in srgb, var(--t1-palco-peak-cobalt) 16%, transparent) 0%, transparent 50%),
    var(--t1-palco-galaxy-cobalt),
    linear-gradient(
      125deg,
      color-mix(in srgb, var(--t1-palco-peak-cobalt) var(--t1-palco-edge-peak, 10%), transparent) 0%,
      color-mix(in srgb, var(--t1-palco-peak-cobalt) 5%, transparent) 40%,
      transparent 70%
    ) border-box;
  background-clip: padding-box, padding-box, padding-box, border-box;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-cobalt) var(--t1-palco-edge-peak, 10%), transparent),
    inset 0 -14px 32px color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 32%, transparent),
    0 14px 36px rgba(0, 0, 0, 0.46);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-visual-card--gallery {
  --gw-card-accent: var(--t1-palco-gallery-warm, #e0d8cc);
  border: 0.5px solid transparent;
  filter: brightness(1.06) saturate(1.02);
  backdrop-filter: blur(14px) saturate(1.05);
  -webkit-backdrop-filter: blur(14px) saturate(1.05);
  background:
    radial-gradient(
      ellipse 48% 40% at 18% 14%,
      color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 56%, transparent) 0%,
      transparent 52%
    ),
    linear-gradient(
      168deg,
      color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 22%, rgba(24, 24, 30, 0.12)) 0%,
      color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 18%, #1e1e22) 54%,
      color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 12%, #1a1a1e) 100%
    ),
    linear-gradient(
      128deg,
      color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 14%, transparent) 0%,
      color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 8%, transparent) 36%,
      transparent 70%
    ) border-box;
  background-clip: padding-box, padding-box, border-box;
  box-shadow:
    inset 0 2px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 58%, transparent),
    inset 0 -16px 34px color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 10%, transparent),
    0 14px 32px rgba(0, 0, 0, 0.44);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-console-icon--gallery svg {
  color: color-mix(in srgb, var(--t1-palco-gallery-pearl, #f4efe6) 38%, var(--t1-palco-gallery-warm, #d0c8bc));
  opacity: 0.95;
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-glow-pill--gallery {
  color: color-mix(in srgb, var(--t1-palco-gallery-pearl, #f4efe6) 28%, var(--t1-palco-gallery-warm, #d0c8bc));
  border-color: color-mix(in srgb, var(--t1-palco-gallery-rim, #d0c8bc) 54%, transparent);
  background: color-mix(in srgb, var(--t1-palco-gallery-warm, #d0c8bc) 16%, rgba(0, 0, 0, 0.32));
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-visual-card--projects .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 76%, #1e3460) 0%,
    color-mix(in srgb, var(--t1-palco-space-cobalt-glow) 18%, #101c34) 42%,
    #0a101c 100%
  );
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-console-icon--projects svg {
  color: color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 72%, #c8dcf0);
  opacity: 0.94;
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-glow-pill--projects {
  color: color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 78%, #d8e8f8);
  border-color: color-mix(in srgb, var(--t1-palco-space-rim) 52%, transparent);
  background: color-mix(in srgb, var(--t1-palco-space-night, #0a1128) 48%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-space-cobalt-glow) 18%, transparent),
    0 0 12px color-mix(in srgb, var(--t1-palco-space-cobalt-glow) 14%, transparent);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex {
  --vertex-glow-host-edge: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-edge) 58%, rgba(255, 255, 255, 0.12));
  --vertex-glow-host-inset: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-highlight) 24%, transparent);
  --vertex-glow-preview-host-inset: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-highlight) 14%, transparent);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-visual-card--pulse,
body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-visual-card {
  --gw-card-accent: var(--t1-palco-delta-vertex-gold-edge);
  border: 0.5px solid transparent;
  background:
    linear-gradient(
      155deg,
      color-mix(in srgb, #2a1c10 52%, var(--t1-palco-delta-vertex-gold-muted) 48%) 0%,
      color-mix(in srgb, #181008 64%, var(--t1-palco-delta-vertex-gold-muted) 36%) 100%
    ),
    radial-gradient(ellipse 65% 50% at 78% 10%, color-mix(in srgb, var(--t1-palco-peak-gold) 12%, transparent) 0%, transparent 50%),
    var(--t1-palco-galaxy-gold),
    linear-gradient(
      122deg,
      color-mix(in srgb, var(--t1-palco-peak-gold) var(--t1-palco-edge-peak, 10%), transparent) 0%,
      color-mix(in srgb, var(--t1-palco-peak-gold) 5%, transparent) 40%,
      transparent 70%
    ) border-box;
  background-clip: padding-box, padding-box, padding-box, border-box;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-gold) var(--t1-palco-edge-peak, 10%), transparent),
    inset 0 -12px 30px color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 10%, transparent),
    0 12px 32px rgba(0, 0, 0, 0.4);
  filter: brightness(1.1);
}

/* Vertex skeleton boot — guscio gold void come card caricata (no flash scuro pre-fetch) */
body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-visual-card--idle {
  opacity: 1;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-visual-card--idle .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold-muted) 32%, #1e1810) 0%,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold-muted) 18%, #120e0a) 48%,
    #0a0808 100%
  );
  opacity: 1;
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-glow-pill--idle {
  color: color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 72%, #f0e4d0);
  border-color: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-edge) 48%, transparent);
  background: color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 16%, rgba(0, 0, 0, 0.45));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-delta-vertex-gold-highlight) 18%, transparent),
    0 0 12px color-mix(in srgb, var(--t1-palco-delta-vertex-gold-glow) 18%, transparent);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-visual-card--elena .gateway-visual-card__thumb,
body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-visual-card--pulse .gateway-visual-card__thumb {
  background-image: linear-gradient(
    135deg,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold-muted) 32%, #1e1810) 0%,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold-muted) 18%, #120e0a) 48%,
    #0a0808 100%
  );
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-glow-pill--active {
  color: color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 88%, #f0e4d0);
  border-color: color-mix(in srgb, var(--t1-palco-delta-vertex-gold-edge) 56%, transparent);
  background: color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 20%, rgba(0, 0, 0, 0.45));
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, var(--t1-palco-delta-vertex-gold-highlight) 22%, transparent),
    0 0 16px color-mix(in srgb, var(--t1-palco-delta-vertex-gold-glow) 28%, transparent);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel__vertex .gateway-visual-card__name {
  color: color-mix(in srgb, #fff 92%, var(--t1-palco-delta-vertex-gold));
  text-shadow: 0 0 18px color-mix(in srgb, var(--t1-palco-delta-vertex-gold-glow) 22%, transparent);
}

@media (hover: hover) and (pointer: fine) {
  body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel > li:hover .gateway-console-icon--invite svg {
    color: color-mix(in srgb, var(--t1-palco-delta-entry-ice) 92%, #fff);
    opacity: 1;
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel > li:hover .gateway-visual-card--invite {
    filter: brightness(1.12);
    border-color: color-mix(in srgb, var(--t1-palco-peak-ice) 56%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-ice) 44%, transparent),
      inset 0 -12px 32px color-mix(in srgb, var(--t1-palco-delta-entry-ice) 18%, transparent),
      0 0 32px color-mix(in srgb, var(--t1-palco-peak-ice) 26%, transparent),
      0 16px 38px rgba(0, 0, 0, 0.52);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel > li:hover .gateway-visual-card--create {
    opacity: 0.98;
    filter: brightness(1.06);
    border-color: color-mix(in srgb, var(--t1-palco-peak-ice) 54%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-ice) 40%, transparent),
      inset 0 -10px 28px color-mix(in srgb, var(--t1-palco-delta-entry-ice) 14%, transparent),
      0 0 28px color-mix(in srgb, var(--t1-palco-peak-ice) 27%, transparent),
      0 16px 36px rgba(0, 0, 0, 0.48);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel > li:hover .gateway-visual-card--projects {
    filter: brightness(1.12) saturate(1.1);
    border-color: color-mix(in srgb, var(--t1-palco-peak-cobalt) 58%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-cobalt) 36%, transparent),
      inset 0 -18px 42px color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 14%, transparent),
      0 0 36px color-mix(in srgb, var(--t1-palco-peak-cobalt) 28%, transparent),
      0 0 56px color-mix(in srgb, var(--t1-palco-space-cobalt-glow, #4a8ec8) 12%, transparent),
      0 16px 38px rgba(0, 0, 0, 0.54);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel > li:hover .gateway-visual-card--gallery {
    filter: brightness(1.12) saturate(1.1);
    border-color: color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 58%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 36%, transparent),
      inset 0 -18px 42px color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 14%, transparent),
      0 0 36px color-mix(in srgb, var(--t1-palco-gallery-pearl, #f8f4ee) 28%, transparent),
      0 0 56px color-mix(in srgb, var(--t1-palco-gallery-warm, #e0d8cc) 12%, transparent),
      0 16px 38px rgba(0, 0, 0, 0.54);
  }

  body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel > li:hover .gateway-carousel__vertex .gateway-visual-card,
  body[data-gateway-film="void"] .gateway-shell--palco .gateway-carousel > li:hover .gateway-visual-card--pulse {
    filter: brightness(1.16);
    border-color: color-mix(in srgb, var(--t1-palco-peak-gold) 58%, rgba(255, 255, 255, 0.1));
    box-shadow:
      inset 0 1px 0 color-mix(in srgb, var(--t1-palco-peak-gold) 42%, transparent),
      inset 0 -14px 38px color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 18%, transparent),
      0 0 32px color-mix(in srgb, var(--t1-palco-peak-gold) 30%, transparent),
      0 0 52px color-mix(in srgb, var(--t1-palco-delta-vertex-gold-glow) 16%, transparent),
      0 16px 38px rgba(0, 0, 0, 0.52);
  }
}

/* ---------------------------------------------------------------------------
   PALCO-ATRIO-A ??? Atrio Energy (giu 2026) ? revert: search PALCO-ATRIO-A
   Sole ? Luna ? corridoio ? smog anello void (blur + noise, no forma)
   Baseline congelata: ::before 0.48 ? ::after 0.21 ? #gw-atrio-smog-noise
   PALCO-ATRIO-C v2: smog deck ??? .gst-film__body (ali laterali, gain < void, no soft-light)
   --------------------------------------------------------------------------- */

@keyframes gw-atrio-fog-drift {
  0% {
    transform: translateX(-50%) translateY(6px);
    opacity: 0.27;
  }
  50% {
    transform: translateX(calc(-50% + 1%)) translateY(calc(6px - 0.6%));
    opacity: 0.31;
  }
  100% {
    transform: translateX(calc(-50% - 0.8%)) translateY(calc(6px + 0.4%));
    opacity: 0.29;
  }
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-cinema-stack--sacred
  > .gateway-visual-row {
  position: relative;
  isolation: isolate;
  overflow: visible;
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-cinema-stack--sacred
  > .gateway-visual-row
  > .gateway-carousel {
  position: relative;
  z-index: 1;
}

/* Smog: gradienti che svaniscono + blur forte (no mask, no border-radius = no forma) */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-cinema-stack--sacred
  > .gateway-visual-row::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -8%;
  width: min(132%, 1120px);
  height: clamp(110px, 22vh, 300px);
  transform: translateX(-50%) translateY(6px);
  pointer-events: none;
  z-index: 0;
  border-radius: 0;
  background:
    radial-gradient(
      ellipse 130% 92% at 50% 108%,
      rgba(228, 236, 248, 0.096) 0%,
      rgba(212, 170, 120, 0.044) 20%,
      transparent 56%
    ),
    radial-gradient(
      ellipse 72% 58% at 22% 106%,
      rgba(176, 216, 252, 0.062) 0%,
      transparent 50%
    ),
    radial-gradient(
      ellipse 72% 58% at 78% 106%,
      rgba(212, 170, 120, 0.057) 0%,
      transparent 50%
    );
  filter: blur(46px);
  opacity: 0.48;
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-cinema-stack--sacred
  > .gateway-visual-row::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10%;
  width: min(132%, 1120px);
  height: clamp(110px, 22vh, 300px);
  transform: translateX(-50%) translateY(6px);
  pointer-events: none;
  z-index: 0;
  border-radius: 0;
  background: rgba(236, 242, 252, 0.3);
  filter: url(#gw-atrio-smog-noise) blur(40px);
  opacity: 0.21;
  mix-blend-mode: soft-light;
  animation: gw-atrio-fog-drift 38s ease-in-out infinite alternate;
}

/* Alone per-card: alpha feather + blur (VFX) ??? laterali pi? deboli */
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-visual-card:not(.gateway-visual-card--ghost)::after,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--winged
  .gateway-visual-card:not(.gateway-visual-card--ghost)::after {
  border-radius: 14px;
  filter: blur(14px);
  opacity: 0.5;
  mask-image: radial-gradient(
    ellipse 74% 72% at 50% 52%,
    #000 0%,
    rgba(0, 0, 0, 0.82) 18%,
    transparent 92%
  );
  -webkit-mask-image: radial-gradient(
    ellipse 74% 72% at 50% 52%,
    #000 0%,
    rgba(0, 0, 0, 0.82) 18%,
    transparent 92%
  );
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-carousel__vertex
  .gateway-visual-card:not(.gateway-visual-card--ghost):not(.gateway-visual-card--create)::after,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--delta
  .gateway-visual-card--pulse:not(.gateway-visual-card--ghost)::after,
body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gw-layout--winged
  .gateway-carousel__vertex
  .gateway-visual-card:not(.gateway-visual-card--ghost)::after {
  filter: blur(22px);
  opacity: 0.62;
  background: radial-gradient(
    ellipse 72% 68% at 50% 54%,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 8%, transparent) 0%,
    color-mix(in srgb, var(--t1-palco-delta-vertex-gold) 2.5%, transparent) 52%,
    transparent 88%
  );
  mask-image: radial-gradient(
    ellipse 78% 76% at 50% 50%,
    #000 0%,
    rgba(0, 0, 0, 0.7) 22%,
    transparent 94%
  );
  -webkit-mask-image: radial-gradient(
    ellipse 78% 76% at 50% 50%,
    #000 0%,
    rgba(0, 0, 0, 0.7) 22%,
    transparent 94%
  );
}

body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
  .gateway-shell--palco
  .gateway-visual-card--create:not(.gateway-visual-card--ghost)::after {
  filter: blur(18px);
  opacity: 0.58;
}

@media (prefers-reduced-motion: reduce) {
  body[data-gateway-film="void"]:not(.gateway-palco--world-focus)
    .gateway-shell--palco
    .gateway-cinema-stack--sacred
    > .gateway-visual-row::after {
    animation: none;
    filter: blur(40px);
    opacity: 0.2;
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film__body::after {
    animation: none;
    filter: blur(38px);
    opacity: 0.038;
  }

  body[data-gateway-film]:not([data-gateway-film="void"]) .gateway-shell--palco .gst-film__body::before {
    opacity: 0.09;
  }
}

.gateway-visual-card--pulse:not(.is-vertex-hover-host) .gateway-visual-card__thumb {
  opacity: 0.52;
  filter: saturate(1) contrast(1.04);
}

body[data-gateway-film="void"] .gateway-shell--palco .gateway-visual-card.is-vertex-hover-host
  > .gateway-hologram-projection.is-vertex-hover-in-card
  .gateway-hologram-projection__video {
  filter: grayscale(0) brightness(1.1) contrast(1.05) !important;
}

@media (hover: hover) and (pointer: fine) {
  .gateway-carousel > li:hover .gateway-visual-card--pulse:not(.is-vertex-hover-host) .gateway-visual-card__thumb,
  .gateway-carousel > li:focus-within .gateway-visual-card--pulse:not(.is-vertex-hover-host) .gateway-visual-card__thumb {
    opacity: 0.62;
    filter: saturate(1.08) contrast(1.06);
  }
}

/* Inviti ? modale conferma revoca (Palco, centrata) */
.gst-palco-confirm {
  --gst-palco-confirm-accent: var(--t1-palco-channel-sessions, #c49a6a);
  position: fixed;
  inset: 0;
  z-index: 10250;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(1rem, env(safe-area-inset-top)) 1.25rem max(1rem, env(safe-area-inset-bottom));
}

.gst-palco-confirm[hidden] {
  display: none !important;
}

.gst-palco-confirm__backdrop {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: color-mix(in srgb, #010308 62%, transparent);
  backdrop-filter: blur(10px) saturate(1.04);
  -webkit-backdrop-filter: blur(10px) saturate(1.04);
}

.gst-palco-confirm__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 22rem);
  padding: 1.35rem 1.25rem 1.15rem;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--gst-palco-confirm-accent) 28%, rgba(255, 255, 255, 0.08));
  background:
    radial-gradient(120% 80% at 50% -20%, color-mix(in srgb, var(--gst-palco-confirm-accent) 12%, transparent), transparent 55%),
    rgba(10, 14, 22, 0.94);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 18px 48px rgba(0, 0, 0, 0.55),
    0 0 32px color-mix(in srgb, var(--gst-palco-confirm-accent) 14%, transparent);
}

.gst-palco-confirm__title {
  margin: 0 0 0.65rem;
  font-family: var(--gw-font-tech);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gst-palco-confirm-accent) 72%, #f0f4f8);
}

.gst-palco-confirm__lead {
  margin: 0 0 1.15rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: rgba(210, 218, 228, 0.88);
}

.gst-palco-confirm__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: flex-end;
}

.gst-palco-confirm__btn {
  font-family: var(--gw-font-tech);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.7rem 1rem;
  min-height: 2.5rem;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--gst-palco-confirm-accent) 35%, transparent);
  background: color-mix(in srgb, var(--gst-palco-confirm-accent) 12%, rgba(0, 0, 0, 0.35));
  color: #f0f4f8;
  cursor: pointer;
}

.gst-palco-confirm__btn--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.14);
  color: rgba(200, 208, 220, 0.82);
}

.gst-palco-confirm__btn--ghost:hover:not(:disabled) {
  border-color: rgba(255, 255, 255, 0.28);
  color: #f0f4f8;
}

.gst-palco-confirm__btn--danger {
  border-color: color-mix(in srgb, var(--t1-red, #f87171) 42%, transparent);
  background: color-mix(in srgb, var(--t1-red, #f87171) 14%, rgba(0, 0, 0, 0.38));
  color: #fecaca;
}

.gst-palco-confirm__btn--danger:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--t1-red, #f87171) 58%, transparent);
  background: color-mix(in srgb, var(--t1-red, #f87171) 22%, rgba(0, 0, 0, 0.42));
  color: #fff;
}

.gst-palco-confirm__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.gst-preview-card__meta-line {
  margin: 0.4rem 0 0;
  font-size: 0.72rem;
  line-height: 1.45;
  color: rgba(168, 176, 190, 0.84);
}

.gateway-shell--palco .gst-film--vault .gst-preview-card__meta-line {
  color: color-mix(in srgb, var(--t1-palco-sessions-frost-bright, #d1e4ff) 42%, rgba(168, 176, 190, 0.82));
}

.gateway-shell--palco .gst-film--vault .gst-hero--vault-asset .gst-preview-card__title {
  font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
  .gst-palco-confirm__backdrop {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

