.evs-showcase{position:relative;width:100%;height:760px;overflow:hidden;background:#000;isolation:isolate;color:#fff}
.evs-background{position:absolute;inset:0;z-index:1;overflow:hidden}
.evs-main-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02);opacity:1;transition:opacity .42s ease,transform 1s ease}
.evs-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.08) 0%,rgba(0,0,0,.04) 42%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.88) 100%);opacity:.42;pointer-events:none}
.evs-heading{position:absolute;z-index:5;top:55px;left:50%;transform:translateX(-50%);font-size:28px;font-weight:700;text-align:center;pointer-events:none;text-shadow:0 3px 20px rgba(0,0,0,.35)}

/* ===== CINEMATIC CENTER CAROUSEL ===== */
.evs-selector{position:absolute;z-index:10;left:0;right:0;bottom:28px;height:190px;width:100%;display:block;pointer-events:none}
.evs-card{--evs-x:0;--evs-scale:.86;position:absolute;left:50%;top:35px;display:block;padding:0;margin:0;border:0;background:none;color:inherit;width:190px;height:115px;border-radius:16px;overflow:hidden;cursor:pointer;pointer-events:auto;opacity:0;transform:translateX(calc(-50% + var(--evs-x))) scale(var(--evs-scale));box-shadow:0 15px 40px rgba(0,0,0,.38);transition:transform .58s cubic-bezier(.22,.61,.36,1),opacity .45s ease,filter .45s ease,box-shadow .45s ease;will-change:transform,opacity}
.evs-card.is-pos-0{--evs-x:0px;--evs-scale:1;opacity:1;z-index:20;width:270px;height:160px;top:0;border-radius:18px;box-shadow:0 25px 70px rgba(0,0,0,.62)}
.evs-card.is-pos-1{--evs-x:230px;--evs-scale:.88;opacity:.86;z-index:15}
.evs-card.is-pos--1{--evs-x:-230px;--evs-scale:.88;opacity:.86;z-index:15}
.evs-card.is-pos-2{--evs-x:430px;--evs-scale:.78;opacity:.60;z-index:10}
.evs-card.is-pos--2{--evs-x:-430px;--evs-scale:.78;opacity:.60;z-index:10}
.evs-card.is-pos-3,.evs-card.is-pos--3,.evs-card.is-pos-4,.evs-card.is-pos--4{opacity:0;pointer-events:none;z-index:1}
.evs-card:hover{filter:brightness(1.08)}
.evs-card.is-pos-0:hover{transform:translateX(-50%) scale(1.025)}
.evs-card-image{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#111}
.evs-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .45s ease}
.evs-card:hover img{transform:scale(1.055)}
.evs-card-gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,0) 68%);pointer-events:none}
.evs-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);transition:transform .3s ease,background .3s ease}
.evs-play i{display:block;width:0;height:0;margin-left:3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #111}
.evs-card:hover .evs-play{transform:translate(-50%,-50%) scale(1.1)}
.evs-card.is-pos-0 .evs-play{width:50px;height:50px}
.evs-card-title{position:absolute;left:14px;right:14px;bottom:11px;text-align:center;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 10px rgba(0,0,0,.9)}
.evs-empty{padding:30px;background:#111;color:#fff;text-align:center;border-radius:12px}

@media(max-width:1200px){
 .evs-card.is-pos-1{--evs-x:205px}.evs-card.is-pos--1{--evs-x:-205px}
 .evs-card.is-pos-2{--evs-x:380px}.evs-card.is-pos--2{--evs-x:-380px}
}
@media(max-width:900px){
 .evs-card.is-pos-1{--evs-x:180px}.evs-card.is-pos--1{--evs-x:-180px}
 .evs-card.is-pos-2{--evs-x:325px}.evs-card.is-pos--2{--evs-x:-325px}
 .evs-card.is-pos-2,.evs-card.is-pos--2{opacity:.35}
}

/* ===== MOBILE ===== */
@media(max-width:767px){
 .evs-showcase{height:600px}
 .evs-heading{top:35px;font-size:20px}
 .evs-selector{left:0;right:0;bottom:16px;height:128px;width:100%;display:flex;align-items:flex-end;gap:12px;padding:0 18px 4px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;pointer-events:auto}
 .evs-selector::-webkit-scrollbar{display:none}
 .evs-card,.evs-card.is-pos-0,.evs-card.is-pos-1,.evs-card.is-pos--1,.evs-card.is-pos-2,.evs-card.is-pos--2{position:relative;left:auto;top:auto;transform:none;flex:0 0 135px;width:135px;height:85px;opacity:.72;z-index:1;border-radius:13px;pointer-events:auto;box-shadow:0 12px 30px rgba(0,0,0,.35)}
 .evs-card.is-pos-0{flex-basis:165px;width:165px;height:105px;opacity:1;z-index:3;box-shadow:0 18px 42px rgba(0,0,0,.55)}
 .evs-card-title{font-size:11px}
 .evs-card.is-pos-0 .evs-play{width:42px;height:42px}
}
@media(max-width:480px){
 .evs-showcase{height:530px}
 .evs-card,.evs-card.is-pos-0,.evs-card.is-pos-1,.evs-card.is-pos--1,.evs-card.is-pos-2,.evs-card.is-pos--2{flex-basis:120px;width:120px;height:75px}
 .evs-card.is-pos-0{flex-basis:150px;width:150px;height:95px}
}

/* ===== ACTIVE VIDEO CAPTION ===== */
.evs-active-caption{position:absolute;z-index:6;inset:0;display:flex;align-items:center;justify-content:center;padding:40px 7%;pointer-events:none;opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}
.evs-active-caption.evs-caption-visible{opacity:1;visibility:visible}
.evs-caption-inner{--evs-caption-x:0px;--evs-caption-y:0px;max-width:900px;display:flex;flex-direction:column;align-items:inherit;gap:12px;transform:translate(var(--evs-caption-x),var(--evs-caption-y));}
.evs-active-caption-title{font-size:46px;font-weight:800;line-height:1.12;color:#fff;text-align:inherit;text-shadow:0 5px 35px rgba(0,0,0,.75),0 1px 2px rgba(0,0,0,.7);direction:rtl;}
.evs-active-caption-text{--evs-caption-x:0px;--evs-caption-y:0px;max-width:900px;font-size:38px;font-weight:800;line-height:1.25;color:#fff;text-align:center;text-shadow:0 5px 35px rgba(0,0,0,.75),0 1px 2px rgba(0,0,0,.7);direction:rtl;white-space:pre-line}
.evs-active-caption.evs-caption-bottom{align-items:flex-end;padding-bottom:210px}
.evs-active-caption.evs-caption-top{align-items:flex-start;padding-top:120px}
.evs-active-caption.evs-caption-center{align-items:center}

/* animation variants */
.evs-caption-fade-up.evs-animate .evs-caption-inner{opacity:0;transform:translate(var(--evs-caption-x),calc(var(--evs-caption-y) + 28px));filter:blur(5px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1),filter .7s ease}
.evs-caption-fade-up.evs-caption-visible .evs-caption-inner{opacity:1;transform:translate(var(--evs-caption-x),var(--evs-caption-y));filter:blur(0)}
.evs-caption-fade.evs-animate .evs-caption-inner{opacity:0;transition:opacity .75s ease}
.evs-caption-fade.evs-caption-visible .evs-caption-inner{opacity:1}
.evs-caption-zoom.evs-animate .evs-caption-inner{opacity:0;transform:translate(var(--evs-caption-x),var(--evs-caption-y)) scale(.82);filter:blur(6px);transition:opacity .65s ease,transform .75s cubic-bezier(.16,1,.3,1),filter .65s ease}
.evs-caption-zoom.evs-caption-visible .evs-caption-inner{opacity:1;transform:translate(var(--evs-caption-x),var(--evs-caption-y)) scale(1);filter:blur(0)}
.evs-caption-blur.evs-animate .evs-caption-inner{opacity:0;filter:blur(16px);transform:translate(var(--evs-caption-x),var(--evs-caption-y)) scale(1.04);transition:opacity .7s ease,filter .8s ease,transform .8s ease}
.evs-caption-blur.evs-caption-visible .evs-caption-inner{opacity:1;filter:blur(0);transform:translate(var(--evs-caption-x),var(--evs-caption-y)) scale(1)}

@media(max-width:767px){
 .evs-active-caption{padding:30px 24px 170px}
 .evs-active-caption.evs-caption-bottom{padding-bottom:155px}
 .evs-active-caption.evs-caption-top{padding-top:90px}
 .evs-active-caption-text{font-size:26px!important;max-width:92%}
}

/* Explicit caption alignment - ensures Elementor CHOOSE control works */
.evs-active-caption.evs-align-right .evs-active-caption-text{text-align:right !important;}
.evs-active-caption.evs-align-center .evs-active-caption-text{text-align:center !important;}
.evs-active-caption.evs-align-left .evs-active-caption-text{text-align:left !important;}

.evs-active-caption.evs-align-right .evs-caption-inner,.evs-active-caption.evs-align-right .evs-active-caption-title,.evs-active-caption.evs-align-right .evs-active-caption-text{text-align:right !important;}
.evs-active-caption.evs-align-center .evs-caption-inner,.evs-active-caption.evs-align-center .evs-active-caption-title,.evs-active-caption.evs-align-center .evs-active-caption-text{text-align:center !important;}
.evs-active-caption.evs-align-left .evs-caption-inner,.evs-active-caption.evs-align-left .evs-active-caption-title,.evs-active-caption.evs-align-left .evs-active-caption-text{text-align:left !important;}
@media (max-width:767px){.evs-active-caption-title{font-size:32px}.evs-caption-inner{gap:8px;max-width:92%}}

/* v1.3.3 caption reliability */
.evs-active-caption.evs-caption-visible{opacity:1 !important;visibility:visible !important;}
.evs-active-caption.evs-caption-visible .evs-caption-inner{visibility:visible;}
.evs-active-caption-title:empty,.evs-active-caption-text:empty{display:none;}
.evs-caption-inner{width:100%;}

/* v1.3.4 caption fallback and rich text support */
.evs-active-caption.evs-caption-visible { opacity:1 !important; visibility:visible !important; }
.evs-active-caption-text { direction:rtl; }
.evs-active-caption-text p { margin:0 0 .35em; }
.evs-active-caption-text p:last-child { margin-bottom:0; }
.evs-active-caption-text a { color:inherit; }

/* v1.3.5 reliable caption: always visible; animation is opt-in */
.evs-active-caption{opacity:1 !important;visibility:visible !important;}
.evs-caption-inner{opacity:1;visibility:visible;}
.evs-active-caption.evs-animate .evs-caption-inner{opacity:0;}
.evs-active-caption.evs-animate.evs-caption-visible .evs-caption-inner{opacity:1;}


/* v1.3.6 HARD CAPTION VISIBILITY FIX */
.evs-showcase .evs-active-caption{
  position:absolute !important;
  inset:0 !important;
  z-index:100 !important;
  display:flex !important;
  width:100% !important;
  height:100% !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}
.evs-showcase .evs-caption-inner{
  position:relative !important;
  z-index:101 !important;
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:900px !important;
  opacity:1 !important;
  visibility:visible !important;
}
.evs-showcase .evs-active-caption-title{
  display:block !important;
  position:relative !important;
  z-index:102 !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:46px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-shadow:0 4px 25px rgba(0,0,0,.9) !important;
}
.evs-showcase .evs-active-caption-text{
  display:block !important;
  position:relative !important;
  z-index:102 !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  font-size:24px !important;
  font-weight:500 !important;
  line-height:1.7 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.95) !important;
}
.evs-showcase .evs-active-caption-text p{display:block !important;color:inherit !important;opacity:1 !important;margin:0 0 8px !important;}
.evs-showcase .evs-active-caption-text p:last-child{margin-bottom:0 !important;}
.evs-showcase .evs-active-caption-title:empty,.evs-showcase .evs-active-caption-text:empty{display:none !important;}
@media(max-width:767px){
 .evs-showcase .evs-active-caption-title{font-size:30px !important}
 .evs-showcase .evs-active-caption-text{font-size:18px !important}
}


/* v1.3.7 - caption position controls apply to the complete title + text block */
.evs-showcase .evs-caption-inner{
  transform:translate(var(--evs-caption-x,0px),var(--evs-caption-y,0px)) !important;
  transform-origin:center center !important;
  will-change:transform;
}
.evs-showcase .evs-active-caption-title,
.evs-showcase .evs-active-caption-text{
  transform:none !important;
}

/* =========================================================
 * v1.4.1 - Precise X/Y position
 * X/Y are the exact center point of the title + text block.
 * 0% = left/top, 50% = center, 100% = right/bottom.
 * ========================================================= */
.evs-showcase .evs-active-caption{
  inset:0 !important;
  padding:0 !important;
  align-items:stretch !important;
  justify-content:stretch !important;
}

.evs-showcase .evs-caption-inner{
  position:absolute !important;
  left:50%;
  top:50%;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  max-width:900px !important;
  box-sizing:border-box !important;
  transform:translate(-50%,-50%) !important;
  transform-origin:center center !important;
  will-change:transform,left,top;
}

/* Elementor writes the actual X/Y into left/top through its generated styles. */
.evs-showcase .evs-caption-inner{
  --evs-x-position:50%;
  --evs-y-position:50%;
  left:var(--evs-x-position) !important;
  top:var(--evs-y-position) !important;
}

.evs-showcase .evs-active-caption-title,
.evs-showcase .evs-active-caption-text{
  transform:none !important;
}

/* Animation offsets are applied after the position calculation. */
.evs-showcase .evs-caption-fade-up.evs-animate .evs-caption-inner{
  opacity:0;
  transform:translate(-50%,calc(-50% + 28px)) !important;
  filter:blur(5px);
}
.evs-showcase .evs-caption-fade-up.evs-caption-visible .evs-caption-inner{
  opacity:1;
  transform:translate(-50%,-50%) !important;
  filter:blur(0);
}
.evs-showcase .evs-caption-fade.evs-animate .evs-caption-inner{
  opacity:0;
  transform:translate(-50%,-50%) !important;
}
.evs-showcase .evs-caption-fade.evs-caption-visible .evs-caption-inner{
  opacity:1;
  transform:translate(-50%,-50%) !important;
}
.evs-showcase .evs-caption-zoom.evs-animate .evs-caption-inner{
  opacity:0;
  transform:translate(-50%,-50%) scale(.82) !important;
  filter:blur(6px);
}
.evs-showcase .evs-caption-zoom.evs-caption-visible .evs-caption-inner{
  opacity:1;
  transform:translate(-50%,-50%) scale(1) !important;
  filter:blur(0);
}
.evs-showcase .evs-caption-blur.evs-animate .evs-caption-inner{
  opacity:0;
  transform:translate(-50%,-50%) scale(1.04) !important;
  filter:blur(16px);
}
.evs-showcase .evs-caption-blur.evs-caption-visible .evs-caption-inner{
  opacity:1;
  transform:translate(-50%,-50%) scale(1) !important;
  filter:blur(0);
}

@media(max-width:767px){
  .evs-showcase .evs-caption-inner{max-width:92% !important;}
}
