/* Ensigna Tours V8.9.4 — Client Experience Premium */
:root{
  --e894-violet:#3f18dc;
  --e894-violet-2:#7455ff;
  --e894-cyan:#12c7f4;
  --e894-orange:#ff7a16;
  --e894-green:#10b86c;
  --e894-ink:#111a35;
  --e894-muted:#62718d;
  --e894-glass:rgba(255,255,255,.84);
  --e894-line:rgba(77,64,169,.14);
  --e894-shadow:0 24px 70px rgba(23,30,80,.14);
  --e894-glow:0 20px 60px rgba(63,24,220,.18);
}

/* Ambient layer — public and client. */
body[data-ensigna-user-type="client"],body[data-ensigna-user-type="public"]{
  position:relative;
  isolation:isolate;
}
body[data-ensigna-user-type="client"]::before,
body[data-ensigna-user-type="client"]::after,
body[data-ensigna-user-type="public"]::before,
body[data-ensigna-user-type="public"]::after{
  content:"";position:fixed;z-index:-3;pointer-events:none;border-radius:50%;filter:blur(28px);opacity:.34;
  width:32vw;height:32vw;min-width:250px;min-height:250px;
}
body[data-ensigna-user-type="client"]::before,body[data-ensigna-user-type="public"]::before{
  top:12vh;left:-12vw;background:radial-gradient(circle,rgba(81,52,255,.5),rgba(18,199,244,.06) 58%,transparent 72%);animation:v894-orbit-a 16s ease-in-out infinite alternate;
}
body[data-ensigna-user-type="client"]::after,body[data-ensigna-user-type="public"]::after{
  right:-10vw;bottom:5vh;background:radial-gradient(circle,rgba(18,199,244,.45),rgba(255,122,22,.05) 55%,transparent 72%);animation:v894-orbit-b 19s ease-in-out infinite alternate;
}
@keyframes v894-orbit-a{to{transform:translate3d(9vw,10vh,0) scale(1.14)}}
@keyframes v894-orbit-b{to{transform:translate3d(-10vw,-8vh,0) scale(.88)}}

/* Client portal: make it the flagship experience. */
body.v4-page[data-ensigna-user-type="client"]{
  background:
    linear-gradient(rgba(71,66,136,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(71,66,136,.035) 1px,transparent 1px),
    radial-gradient(circle at 8% 15%,rgba(18,199,244,.12),transparent 24rem),
    radial-gradient(circle at 92% 28%,rgba(87,52,242,.12),transparent 30rem),#f8faff!important;
  background-size:38px 38px,38px 38px,auto,auto,auto!important;
}
body.v4-page[data-ensigna-user-type="client"] .v4-header{
  background:rgba(250,252,255,.82)!important;border-bottom:1px solid rgba(73,61,170,.12)!important;
  box-shadow:0 8px 35px rgba(33,38,90,.06);backdrop-filter:blur(22px) saturate(150%);
}
body.v4-page[data-ensigna-user-type="client"] .v4-hero{
  position:relative;overflow:hidden;min-height:230px;display:grid;align-items:center;
  background:linear-gradient(120deg,#151047 0%,#3517b8 43%,#147fd4 76%,#0fbaaf 130%)!important;
  box-shadow:inset 0 -1px rgba(255,255,255,.12);
}
body.v4-page[data-ensigna-user-type="client"] .v4-hero::before{
  content:"";position:absolute;inset:-60%;background:conic-gradient(from 40deg,transparent,rgba(255,255,255,.13),transparent 14%,transparent 45%,rgba(18,199,244,.16),transparent 58%);animation:v894-hero-spin 22s linear infinite;
}
body.v4-page[data-ensigna-user-type="client"] .v4-hero::after{
  content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--e894-x,75%) var(--e894-y,35%),rgba(255,255,255,.20),transparent 14rem);transition:.25s ease;
}
body.v4-page[data-ensigna-user-type="client"] .v4-hero .v4-container{position:relative;z-index:2}
body.v4-page[data-ensigna-user-type="client"] .v4-hero h1{letter-spacing:-.055em;text-shadow:0 10px 30px rgba(0,0,0,.24)}
body.v4-page[data-ensigna-user-type="client"] .v4-hero p{max-width:760px;color:rgba(255,255,255,.82)!important}
@keyframes v894-hero-spin{to{transform:rotate(360deg)}}

body.v4-page[data-ensigna-user-type="client"] .v4-card,
body.v4-page[data-ensigna-user-type="client"] .v8-club-card,
body.v4-page[data-ensigna-user-type="client"] .v892-community-panel{
  position:relative;border:1px solid rgba(77,64,169,.13)!important;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(249,250,255,.78))!important;
  box-shadow:var(--e894-shadow)!important;backdrop-filter:blur(18px) saturate(130%);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s ease,border-color .35s ease;
}
body.v4-page[data-ensigna-user-type="client"] .v4-card::before,
body.v4-page[data-ensigna-user-type="client"] .v8-club-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(125deg,rgba(112,78,255,.26),transparent 25%,transparent 70%,rgba(18,199,244,.24));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
body.v4-page[data-ensigna-user-type="client"] .v4-card.v894-inview:hover,
body.v4-page[data-ensigna-user-type="client"] .v8-club-card.v894-inview:hover{transform:translateY(-4px);box-shadow:0 32px 85px rgba(38,34,110,.18)!important}

/* Club Ensigna: progress, badges and game layer. */
#clubEnsignaPanel{overflow:hidden!important}
#clubEnsignaPanel::after{content:"";position:absolute;right:-120px;top:-120px;width:330px;height:330px;border-radius:50%;background:conic-gradient(from 10deg,rgba(63,24,220,.11),rgba(18,199,244,.12),transparent,rgba(255,122,22,.08));filter:blur(4px);animation:v894-club-orbit 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes v894-club-orbit{to{transform:translate(-70px,80px) rotate(35deg) scale(1.12)}}
#clubEnsignaPanel>*{position:relative;z-index:1}
.v8-metrics .v8-metric{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff,#f4f6ff)!important;border:1px solid rgba(70,58,170,.12)!important;box-shadow:0 10px 30px rgba(33,38,90,.06)}
.v8-metrics .v8-metric::after{content:"";position:absolute;left:-70%;top:0;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:skewX(-18deg);animation:v894-metric-shine 7s ease-in-out infinite}
@keyframes v894-metric-shine{0%,70%{left:-70%}85%,100%{left:130%}}
.v894-achievement-drawer{position:relative;border:1px solid rgba(70,58,170,.12);border-radius:18px;padding:12px 14px;background:rgba(247,248,255,.78)}
.v894-achievement-drawer>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#251878;list-style:none}.v894-achievement-drawer>summary::-webkit-details-marker{display:none}
.v894-achievement-drawer>summary span{color:#8290a7;font-size:.78rem;font-weight:700}
.v894-achievement-title{margin:17px 0 9px;color:var(--e894-ink);font-size:.93rem}
.v8-badge-item.v894-badge-unlocked{grid-template-columns:auto 1fr;align-items:center;padding:14px;background:linear-gradient(135deg,#fff,#f7f5ff)!important;box-shadow:0 12px 30px rgba(38,30,110,.06);overflow:hidden;position:relative}
.v894-badge-orb{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#efeaff,#e9fbff);font-size:1.25rem;box-shadow:inset 0 0 0 1px rgba(63,24,220,.08)}
.v894-badge-catalog-wrap{margin-top:14px;border-top:1px dashed rgba(70,58,170,.16);padding-top:12px}.v894-badge-catalog-wrap>summary{cursor:pointer;color:var(--e894-violet);font-weight:900}
.v894-badge-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.v894-badge-guide{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;border-radius:16px;border:1px solid rgba(70,58,170,.12);background:#fff;transition:.25s ease}.v894-badge-guide>span{font-size:1.45rem}.v894-badge-guide strong,.v894-badge-guide small{display:block}.v894-badge-guide small{color:#75839b;margin-top:3px}.v894-badge-guide b{font-size:.58rem;letter-spacing:.08em;color:#8a96ab}.v894-badge-guide.is-unlocked{background:linear-gradient(135deg,#f2eeff,#ebfffa);border-color:rgba(16,184,108,.22)}.v894-badge-guide.is-unlocked b{color:#098a50}.v894-badge-guide.is-locked{filter:saturate(.65)}

/* Bingo: clear purpose, one reservation = one board. */
.v894-bingo{padding:22px!important;border:0!important;border-radius:24px;background:linear-gradient(145deg,#1d0e69,#3112a4 56%,#113c8a)!important;color:#fff;box-shadow:0 25px 70px rgba(44,20,135,.25);overflow:hidden;position:relative}
.v894-bingo::before{content:"";position:absolute;inset:-40% 40% 30% -35%;background:radial-gradient(circle,rgba(18,199,244,.24),transparent 55%);animation:v894-bingo-orbit 9s ease-in-out infinite alternate}.v894-bingo>*{position:relative;z-index:1}@keyframes v894-bingo-orbit{to{transform:translate(25%,22%) scale(1.2)}}
.v894-bingo .v4-kicker,.v894-bingo h3,.v894-bingo h4,.v894-bingo p,.v894-bingo small{color:#fff!important}.v894-bingo .v8-id{background:rgba(255,255,255,.13)!important;color:#fff!important;border-color:rgba(255,255,255,.25)!important}
.v894-bingo-purpose{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin:16px 0;padding:15px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(9px)}
.v894-bingo-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(18,199,244,.16));box-shadow:0 12px 25px rgba(0,0,0,.14)}
.v894-bingo-purpose strong{color:#fff;font-size:1.02rem}.v894-bingo-purpose p{margin:4px 0 9px!important;color:rgba(255,255,255,.76)!important;font-size:.84rem}.v894-bingo-reward{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff;color:#2b1695;font-size:.72rem;font-weight:950}
.v894-bingo-how{margin:10px 0 14px;border:1px solid rgba(255,255,255,.13);border-radius:15px;padding:10px 13px;background:rgba(0,0,0,.09)}.v894-bingo-how summary{cursor:pointer;color:#fff;font-weight:900}.v894-bingo-how ol{margin:10px 0 2px;padding-left:20px;color:rgba(255,255,255,.82);font-size:.83rem}
.v894-bingo-progress{margin:12px 0 15px}.v894-bingo-progress>span{display:block;font-weight:900;color:#fff;margin-bottom:7px;font-size:.78rem}.v894-bingo-progress>div{height:8px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}.v894-bingo-progress i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#1de7c3,#44d1ff,#fff);box-shadow:0 0 18px rgba(68,209,255,.55);transition:width .8s cubic-bezier(.2,.8,.2,1)}
.v894-bingo-card{margin-top:8px!important}.v894-bingo .v8-bingo-grid{gap:10px}.v894-bingo .v8-bingo-cell{position:relative;overflow:hidden;min-height:92px;border:1px solid rgba(255,255,255,.17)!important;background:rgba(255,255,255,.96)!important;color:#201844!important;font-weight:750;border-radius:16px!important;box-shadow:0 10px 26px rgba(0,0,0,.12);transition:transform .23s ease,box-shadow .23s ease,background .23s ease}.v894-bingo .v8-bingo-cell>span{display:block;color:#684af3;font-size:.85rem;margin-bottom:5px}.v894-bingo .v8-bingo-cell:hover:not(:disabled){transform:translateY(-4px) scale(1.015);box-shadow:0 16px 34px rgba(0,0,0,.2)}.v894-bingo .v8-bingo-cell.is-complete{background:linear-gradient(145deg,#dcfff3,#fff)!important;border-color:#42ddb0!important;color:#086846!important}.v894-bingo .v8-bingo-cell.is-complete>span{color:#0d9c6e}.v894-bingo-review-note,.v894-bingo-win{margin-top:13px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.11);color:#fff;font-weight:800}.v894-bingo-win{background:linear-gradient(135deg,rgba(16,184,108,.28),rgba(18,199,244,.18))}

/* Community / Live: correct dark text and make panels breathe. */
body[data-ensigna-user-type="client"] .v892-community-section-head strong,
body[data-ensigna-user-type="client"] .v892-chat-bubble,
body[data-ensigna-user-type="client"] .v892-chat-bubble p,
body[data-ensigna-user-type="client"] .v892-community-moments,
body[data-ensigna-user-type="client"] .v8-live-item{color:var(--e894-ink)!important}
body[data-ensigna-user-type="client"] .v892-community-layout{align-items:stretch}.v892-community-chat,.v892-community-moments{box-shadow:0 18px 46px rgba(27,33,82,.09)!important}
.v892-community-moments .v8-live-item img,.v8-memory-item img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease;animation:v894-media-breathe 9s ease-in-out infinite alternate}.v892-community-moments .v8-live-item:hover img,.v8-memory-item:hover img{transform:scale(1.045) rotate(.35deg)}
@keyframes v894-media-breathe{to{transform:scale(1.025) translateY(-3px)}}

/* Public travel media and gallery: visible but elegant continuous motion. */
body[data-ensigna-user-type="public"] #carouselTestimonials.ensigna-fixed-trips .card-span,
body[data-ensigna-user-type="public"] .galeria-preview-item{transform-style:preserve-3d;will-change:transform;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
body[data-ensigna-user-type="public"] #carouselTestimonials.ensigna-fixed-trips .card-span:nth-child(3n+1),
body[data-ensigna-user-type="public"] .galeria-preview-item:nth-child(3n+1){animation:v894-card-float-a 7.5s ease-in-out infinite alternate}
body[data-ensigna-user-type="public"] #carouselTestimonials.ensigna-fixed-trips .card-span:nth-child(3n+2),
body[data-ensigna-user-type="public"] .galeria-preview-item:nth-child(3n+2){animation:v894-card-float-b 9s ease-in-out infinite alternate}
body[data-ensigna-user-type="public"] #carouselTestimonials.ensigna-fixed-trips .card-span:nth-child(3n),
body[data-ensigna-user-type="public"] .galeria-preview-item:nth-child(3n){animation:v894-card-float-c 8.2s ease-in-out infinite alternate}
@keyframes v894-card-float-a{to{transform:translate3d(0,-7px,0) rotateX(.35deg) rotateY(-.4deg)}}
@keyframes v894-card-float-b{to{transform:translate3d(0,6px,0) rotateX(-.3deg) rotateY(.45deg)}}
@keyframes v894-card-float-c{to{transform:translate3d(0,-5px,0) rotateZ(.12deg)}}
body[data-ensigna-user-type="public"] #carouselTestimonials.ensigna-fixed-trips .card-span>img:first-child,
body[data-ensigna-user-type="public"] .galeria-preview-item>img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .7s ease;will-change:transform}
body[data-ensigna-user-type="public"] #carouselTestimonials.ensigna-fixed-trips .card-span:hover>img:first-child,
body[data-ensigna-user-type="public"] .galeria-preview-item:hover>img{transform:scale(1.045);filter:saturate(1.08) contrast(1.02)}

/* Public testimonials. */
.v894-testimonials{position:relative;overflow:hidden;padding:82px 0 88px;background:radial-gradient(circle at 12% 30%,rgba(63,24,220,.12),transparent 23rem),radial-gradient(circle at 90% 70%,rgba(18,199,244,.13),transparent 25rem),linear-gradient(180deg,#fbfcff,#f3f6ff)}
.v894-testimonials::before{content:"";position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(60,52,130,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(60,52,130,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent)}
.v894-testimonials .container{position:relative;z-index:1}.v894-testimonials-head{display:flex;justify-content:space-between;gap:26px;align-items:flex-end;margin-bottom:30px}.v894-testimonials-head h2{margin:7px 0 8px;color:#11172c;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em;max-width:780px}.v894-testimonials-head p{margin:0;color:#68768d;max-width:650px}.v894-kicker{font-size:.67rem;font-weight:950;letter-spacing:.18em;color:#4b24df}.v894-testimonial-controls{display:flex;gap:8px}.v894-testimonial-controls button{width:44px;height:44px;border-radius:15px;border:1px solid rgba(63,24,220,.12);background:rgba(255,255,255,.85);color:#4018dc;font-size:1.15rem;font-weight:900;box-shadow:0 10px 28px rgba(39,31,101,.08);transition:.25s ease}.v894-testimonial-controls button:hover{transform:translateY(-3px);background:#4018dc;color:#fff}
.v894-testimonial-viewport{overflow:hidden;padding:12px 3px 24px}.v894-testimonial-track{display:flex;gap:18px;transition:transform .65s cubic-bezier(.2,.8,.2,1);will-change:transform}.v894-testimonial-card{flex:0 0 min(390px,calc(100vw - 48px));min-height:250px;padding:25px;border-radius:24px;border:1px solid rgba(73,61,170,.12);background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,248,255,.88));box-shadow:0 22px 58px rgba(24,31,81,.11);position:relative;overflow:hidden;animation:v894-testimonial-float 7s ease-in-out infinite alternate}.v894-testimonial-card:nth-child(even){animation-delay:-3s}.v894-testimonial-card::after{content:'“';position:absolute;right:18px;bottom:-35px;font-size:9rem;line-height:1;color:rgba(63,24,220,.06);font-family:Georgia,serif}.v894-testimonial-stars{color:#ff8a19;letter-spacing:.09em;font-size:.9rem}.v894-testimonial-card p{position:relative;z-index:1;color:#2d3852;font-size:1rem;line-height:1.7;margin:16px 0 25px}.v894-testimonial-person{display:flex;justify-content:space-between;gap:12px;align-items:end}.v894-testimonial-person strong{display:block;color:#171e37}.v894-testimonial-person small{display:block;color:#78849a;margin-top:3px}.v894-testimonial-rating{padding:7px 9px;border-radius:999px;background:#fff4e7;color:#bb5a05;font-weight:900;font-size:.72rem}.v894-testimonial-card.is-loading{opacity:.65}
@keyframes v894-testimonial-float{to{transform:translateY(-6px)}}

/* In-view reveal used by JS. */
.v894-motion-target{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.v894-motion-target.v894-inview{opacity:1;transform:none}

@media(max-width:760px){
  body.v4-page[data-ensigna-user-type="client"] .v4-hero{min-height:190px;padding:34px 0!important}
  .v894-badge-catalog{grid-template-columns:1fr}.v894-badge-guide{grid-template-columns:auto 1fr}.v894-badge-guide>b{grid-column:2}
  .v894-bingo{padding:16px!important}.v894-bingo-purpose{grid-template-columns:1fr}.v894-bingo-icon{width:46px;height:46px}.v894-bingo .v8-bingo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v894-bingo .v8-bingo-cell{min-height:86px;font-size:.78rem}
  .v894-testimonials{padding:58px 0}.v894-testimonials-head{align-items:flex-start;flex-direction:column}.v894-testimonials-head h2{font-size:2rem}.v894-testimonial-controls{align-self:flex-end}.v894-testimonial-card{flex-basis:calc(100vw - 44px);min-height:230px;padding:20px}
}
@media(max-width:420px){.v894-bingo .v8-bingo-grid{grid-template-columns:1fr 1fr}.v894-bingo .v8-bingo-cell{min-height:80px;padding:7px}.v894-achievement-drawer>summary span{display:none}}

@media(prefers-reduced-motion:reduce){
  body[data-ensigna-user-type]::before,body[data-ensigna-user-type]::after,.v4-hero::before,#clubEnsignaPanel::after,.v8-metric::after,.v894-bingo::before,.v894-testimonial-card,#carouselTestimonials.ensigna-fixed-trips .card-span,.galeria-preview-item,.v8-live-item img{animation:none!important}
  .v894-motion-target{opacity:1!important;transform:none!important;transition:none!important}
}

/* V8.9.4 responsive hardening for Comunidad. */
.v892-community-moments .v8-live-feed{grid-template-columns:1fr!important;width:100%}.v892-community-moments .v4-empty{width:100%!important;min-height:150px;display:grid;place-items:center;padding:20px!important}.v892-chat-composer textarea{width:100%!important;min-height:72px!important;color:#172039!important;background:#fff!important}.v892-chat-stream{color:#172039!important}.v892-community-moments form input,.v892-community-moments form textarea{color:#172039!important;background:#fff!important}
