/* Ensigna Tours V8.9.1 · MOTION & EXPERIENCE
   Movimiento premium, opt-in audio ambiental y profundidad visual.
   Respeta prefers-reduced-motion y evita animaciones que bloqueen compra. */
:root{
  --e891-motion-fast:180ms;
  --e891-motion:520ms;
  --e891-motion-slow:6.8s;
  --e891-ease:cubic-bezier(.2,.78,.2,1);
}

/* Entrada progresiva de secciones y componentes */
.ensigna-motion-reveal{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.985);
  transition:opacity var(--e891-motion) var(--e891-ease),transform var(--e891-motion) var(--e891-ease);
  will-change:opacity,transform;
}
.ensigna-motion-reveal.is-visible{opacity:1;transform:none}
.ensigna-motion-reveal[data-motion-delay="1"]{transition-delay:70ms}
.ensigna-motion-reveal[data-motion-delay="2"]{transition-delay:140ms}
.ensigna-motion-reveal[data-motion-delay="3"]{transition-delay:210ms}
.ensigna-motion-reveal[data-motion-delay="4"]{transition-delay:280ms}

/* Tarjetas con elevación, tilt y brillo sin romper layout */
.ensigna-motion-card{
  --e891-rx:0deg;
  --e891-ry:0deg;
  --e891-lift:0px;
  transform:perspective(1000px) rotateX(var(--e891-rx)) rotateY(var(--e891-ry)) translate3d(0,var(--e891-lift),0);
  transform-style:preserve-3d;
  transition:transform 260ms var(--e891-ease),box-shadow 260ms ease,border-color 260ms ease;
  will-change:transform;
  position:relative;
  isolation:isolate;
}
.ensigna-motion-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(115deg,transparent 15%,rgba(255,255,255,.34) 43%,transparent 67%);
  transform:translateX(-120%);
  transition:opacity .25s ease;
  z-index:3;
}
@media (hover:hover) and (pointer:fine){
  .ensigna-motion-card:hover{
    --e891-lift:-8px;
    box-shadow:0 26px 66px rgba(15,24,70,.18),0 0 0 1px rgba(83,57,225,.12)!important;
  }
  .ensigna-motion-card:hover::after{opacity:.62;animation:e891-shine 1.05s var(--e891-ease) both}
}
@keyframes e891-shine{to{transform:translateX(120%)}}

/* Galería: flotación alternada y zoom fotográfico cinematográfico */
.galeria-card.ensigna-motion-card,
.galeria-preview-item.ensigna-motion-card,
.galeria-viaje-card.ensigna-motion-card{
  animation:e891-float var(--e891-motion-slow) ease-in-out infinite;
}
.galeria-card:nth-child(2n).ensigna-motion-card,
.galeria-preview-item:nth-child(2n).ensigna-motion-card{animation-delay:-2.1s}
.galeria-card:nth-child(3n).ensigna-motion-card,
.galeria-preview-item:nth-child(3n).ensigna-motion-card{animation-delay:-4.3s}
@keyframes e891-float{
  0%,100%{translate:0 0}
  50%{translate:0 -5px}
}
.galeria-card img,
.galeria-preview-item img,
.galeria-viaje-card img,
.ensigna-trip-grid .card img{
  transition:transform 900ms var(--e891-ease),filter 500ms ease;
  will-change:transform;
}
@media (hover:hover) and (pointer:fine){
  .galeria-card:hover img,
  .galeria-preview-item:hover img,
  .galeria-viaje-card:hover img,
  .ensigna-trip-grid .card:hover img{transform:scale(1.045);filter:saturate(1.05) contrast(1.02)}
}

/* CTA vivos, sin distraer de RESERVAR */
.ensigna-sales-reserve,
.ensigna-sales-sticky button,
body[data-ensigna-user-type="public"] .btn-primary,
body[data-ensigna-user-type="client"] .btn-primary{
  position:relative;
  overflow:hidden;
}
.ensigna-sales-reserve::before,
.ensigna-sales-sticky button::before{
  content:"";
  position:absolute;
  inset:-45% -20%;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 48%,transparent 60%);
  transform:translateX(-100%) rotate(4deg);
  animation:e891-cta-glint 5.2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes e891-cta-glint{0%,68%{transform:translateX(-115%) rotate(4deg)}82%,100%{transform:translateX(115%) rotate(4deg)}}

/* Hero y fondo: respiración sutil */
body[data-ensigna-user-type="public"]::before{
  animation:e891-grid-drift 24s linear infinite;
}
@keyframes e891-grid-drift{0%{background-position:0 0,0 0,0 0}100%{background-position:34px 34px,-34px 34px,17px 17px}}

/* Modales con entrada cinematográfica */
.modal-personalizado.ensigna-modal-open .modal-contenido{
  animation:e891-modal-in 360ms var(--e891-ease) both;
  transform-origin:50% 18%;
}
@keyframes e891-modal-in{from{opacity:0;transform:translate3d(0,20px,0) scale(.975)}to{opacity:1;transform:none}}

/* Audio ambiental opt-in */
.ensigna-ambient-toggle{
  position:fixed;
  right:18px;
  bottom:88px;
  z-index:1055;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(74,58,190,.18);
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#171d33;
  padding:9px 13px;
  box-shadow:0 14px 38px rgba(9,20,55,.16),inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter:blur(16px) saturate(150%);
  font:700 12px/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.ensigna-ambient-toggle:hover{transform:translateY(-3px);box-shadow:0 18px 46px rgba(9,20,55,.21)}
.ensigna-ambient-toggle .e891-audio-icon{font-size:16px}
.ensigna-ambient-toggle.is-playing{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#3212ca,#6b43ff 64%,#14aee9);
}
.ensigna-ambient-toggle.is-playing .e891-audio-icon{animation:e891-note 1.4s ease-in-out infinite}
@keyframes e891-note{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-5deg)}}

/* Administración: movimiento más sobrio */
body[data-ensigna-user-type="admin"] .ensigna-motion-card,
body[data-ensigna-user-type="operacion"] .ensigna-motion-card,
body[data-ensigna-user-type="coordinador"] .ensigna-motion-card{transform:none}
@media (hover:hover) and (pointer:fine){
  body[data-ensigna-user-type="admin"] .admin-card:hover,
  body[data-ensigna-user-type="admin"] .v72-stat:hover,
  body[data-ensigna-user-type="admin"] .metric-card:hover,
  body[data-ensigna-user-type="operacion"] .op-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 48px rgba(16,24,60,.12)!important;
  }
  body[data-ensigna-user-type="admin"] .admin-table tbody tr,
  body[data-ensigna-user-type="admin"] .v72-table tbody tr{transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
  body[data-ensigna-user-type="admin"] .admin-table tbody tr:hover,
  body[data-ensigna-user-type="admin"] .v72-table tbody tr:hover{transform:translateX(3px);box-shadow:-3px 0 0 rgba(76,47,228,.55)}
}

/* Móvil: movimiento ligero y sin tilt */
@media (max-width:767.98px){
  .ensigna-motion-card{transform:none!important}
  .galeria-card.ensigna-motion-card,.galeria-preview-item.ensigna-motion-card,.galeria-viaje-card.ensigna-motion-card{animation-duration:8.5s}
  .ensigna-ambient-toggle{right:12px;bottom:78px;padding:9px 11px}
  .ensigna-ambient-toggle .e891-audio-label{display:none}
}

/* Accesibilidad y ahorro de recursos */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .ensigna-motion-reveal{opacity:1!important;transform:none!important}
  .ensigna-ambient-toggle{display:none!important}
}
