.elementor-196 .elementor-element.elementor-element-5f065639 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-196 .elementor-element.elementor-element-5f065639:not(.elementor-motion-effects-element-type-background), .elementor-196 .elementor-element.elementor-element-5f065639 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:rgba(18,20,20,0.8);}.elementor-196 .elementor-element.elementor-element-5f065639{border-style:solid;border-width:0px 0px 1px 0px;border-color:rgba(78,68,68,0.2);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:16px 24px 16px 24px;}.elementor-196 .elementor-element.elementor-element-5f065639 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper{background-color:var( --e-global-color-4d31b8b );height:80px;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children .sub-menu{background-color:var( --e-global-color-4d31b8b );min-width:220px;}.elementor-196 .elementor-element.elementor-element-e7e7994{width:var( --container-widget-width, 100.882% );max-width:100.882%;--container-widget-width:100.882%;--container-widget-flex-grow:0;}.elementor-196 .elementor-element.elementor-element-e7e7994.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu > ul, .elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper:not(.active) .jkit-menu, .elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper:not(.active) .jkit-menu > li > a{display:flex;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu{justify-content:center;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu .menu-item .sub-menu{left:unset;top:100%;right:unset;bottom:unset;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu .menu-item .sub-menu .menu-item .sub-menu{left:100%;top:unset;right:unset;bottom:unset;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a{font-family:"Manrope", Sans-serif;font-size:20px;font-weight:normal;color:#FFFFFF;border-style:none;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a svg{fill:#FFFFFF;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu{float:right;border-style:none;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title .jkit-nav-logo img{object-fit:cover;}.elementor-196 .elementor-element.elementor-element-b2f8c98 .jeg-elementor-kit.jkit-button .jkit-button-wrapper{background-color:var( --e-global-color-409fd04 );font-family:"Bebas Neue", Sans-serif;font-size:25px;font-weight:normal;}.elementor-196 .elementor-element.elementor-element-b2f8c98.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-196 .elementor-element.elementor-element-b2f8c98 .jeg-elementor-kit.jkit-button{text-align:center;}.elementor-196 .elementor-element.elementor-element-b2f8c98 .jeg-elementor-kit.jkit-button.icon-position-before .jkit-button-wrapper i, .elementor-196 .elementor-element.elementor-element-b2f8c98 .jeg-elementor-kit.jkit-button.icon-position-before .jkit-button-wrapper svg{margin-right:5px;}.elementor-196 .elementor-element.elementor-element-b2f8c98 .jeg-elementor-kit.jkit-button.icon-position-after .jkit-button-wrapper i, .elementor-196 .elementor-element.elementor-element-b2f8c98 .jeg-elementor-kit.jkit-button.icon-position-after .jkit-button-wrapper svg{margin-left:5px;}.elementor-196 .elementor-element.elementor-element-2965540e{width:var( --container-widget-width, 100.882% );max-width:100.882%;--container-widget-width:100.882%;--container-widget-flex-grow:0;}.elementor-196 .elementor-element.elementor-element-2965540e.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu > ul, .elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper:not(.active) .jkit-menu, .elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper:not(.active) .jkit-menu > li > a{display:flex;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu{justify-content:center;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu .menu-item .sub-menu{left:unset;top:100%;right:unset;bottom:unset;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu .menu-item .sub-menu .menu-item .sub-menu{left:100%;top:unset;right:unset;bottom:unset;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper{height:80px;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a{font-family:"Manrope", Sans-serif;font-size:20px;font-weight:normal;color:#FFFFFF;border-style:none;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a svg{fill:#FFFFFF;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children .sub-menu{min-width:220px;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu{float:right;border-style:none;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title .jkit-nav-logo img{object-fit:cover;}.elementor-196 .elementor-element.elementor-element-34476149 .jeg-elementor-kit.jkit-button .jkit-button-wrapper{background-color:var( --e-global-color-409fd04 );font-family:"Bebas Neue", Sans-serif;font-size:25px;font-weight:normal;}.elementor-196 .elementor-element.elementor-element-34476149.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-196 .elementor-element.elementor-element-34476149 .jeg-elementor-kit.jkit-button{text-align:center;}.elementor-196 .elementor-element.elementor-element-34476149 .jeg-elementor-kit.jkit-button.icon-position-before .jkit-button-wrapper i, .elementor-196 .elementor-element.elementor-element-34476149 .jeg-elementor-kit.jkit-button.icon-position-before .jkit-button-wrapper svg{margin-right:5px;}.elementor-196 .elementor-element.elementor-element-34476149 .jeg-elementor-kit.jkit-button.icon-position-after .jkit-button-wrapper i, .elementor-196 .elementor-element.elementor-element-34476149 .jeg-elementor-kit.jkit-button.icon-position-after .jkit-button-wrapper svg{margin-left:5px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-196 .elementor-element.elementor-element-30e948e2{width:15%;}.elementor-196 .elementor-element.elementor-element-c55d673{width:68.664%;}.elementor-196 .elementor-element.elementor-element-d71d21c{width:16%;}}@media(max-width:1024px){.elementor-196 .elementor-element.elementor-element-e7e7994{width:var( --container-widget-width, 220.125px );max-width:220.125px;--container-widget-width:220.125px;--container-widget-flex-grow:0;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu{justify-content:center;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a{color:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a svg{fill:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu{width:100px;color:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu i{font-size:15px;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu svg{width:15px;fill:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title .jkit-nav-logo img{max-width:260px;}.elementor-196 .elementor-element.elementor-element-2965540e{width:var( --container-widget-width, 103.125px );max-width:103.125px;--container-widget-width:103.125px;--container-widget-flex-grow:0;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu{justify-content:center;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a{color:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu > li > a svg{fill:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu{width:100px;color:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu i{font-size:15px;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu svg{width:15px;fill:var( --e-global-color-primary );}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title .jkit-nav-logo img{max-width:260px;}}@media(max-width:767px){.elementor-196 .elementor-element.elementor-element-e7e7994{width:var( --container-widget-width, 118px );max-width:118px;--container-widget-width:118px;--container-widget-flex-grow:0;}.elementor-196 .elementor-element.elementor-element-e7e7994.elementor-element{--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:1;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu{justify-content:flex-end;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper{height:30px;}.elementor-196 .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title .jkit-nav-logo img{max-width:240px;}.elementor-196 .elementor-element.elementor-element-b2f8c98{width:auto;max-width:auto;}.elementor-196 .elementor-element.elementor-element-b2f8c98 .jeg-elementor-kit.jkit-button{text-align:left;}.elementor-196 .elementor-element.elementor-element-2965540e{width:var( --container-widget-width, 95.719px );max-width:95.719px;--container-widget-width:95.719px;--container-widget-flex-grow:0;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper{height:30px;}.elementor-196 .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title .jkit-nav-logo img{max-width:240px;}.elementor-196 .elementor-element.elementor-element-34476149{width:auto;max-width:auto;}.elementor-196 .elementor-element.elementor-element-34476149 .jeg-elementor-kit.jkit-button{text-align:left;}}@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu { display: block; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper { width: 100%; max-width: 360px; border-radius: 0; background-color: #f7f7f7; width: 100%; position: fixed; top: 0; left: -110%; height: 100%!important; box-shadow: 0 10px 30px 0 rgba(255,165,0,0); overflow-y: auto; overflow-x: hidden; padding-top: 0; padding-left: 0; padding-right: 0; display: flex; flex-direction: column-reverse; justify-content: flex-end; -moz-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; -webkit-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; -o-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; -ms-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper.active { left: 0; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu-container { overflow-y: hidden; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel { padding: 10px 0px 10px 0px; display: block; position: relative; z-index: 5; width: 100%; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title { display: inline-block; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-close-menu { display: block; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu { display: block; height: 100%; overflow-y: auto; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children > a i { margin-left: auto; border: 1px solid var(--jkit-border-color); border-radius: 3px; padding: 4px 15px; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children > a svg { margin-left: auto; border: 1px solid var(--jkit-border-color); border-radius: 3px; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children .sub-menu { position: inherit; box-shadow: none; background: none; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li { display: block; width: 100%; position: inherit; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li .sub-menu { display: none; max-height: 2500px; opacity: 0; visibility: hidden; transition: max-height 5s ease-out; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li .sub-menu.dropdown-open { display: block; opacity: 1; visibility: visible; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li a { display: block; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li a i { float: right; } }@media (max-width: 767px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li a svg { float: right } }@media (min-width: 768px) {.elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu-container { height: 100%; } }@media (max-width: 767px) {.admin-bar .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper { top: 32px; } }@media (max-width: 782px) {.admin-bar .elementor-element.elementor-element-e7e7994 .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper { top: 46px; } }
/* Start custom CSS for jkit_nav_menu, class: .elementor-element-e7e7994 *//* ============================================================
   IMAGINE CINEMAS — ADDITIONAL CSS (Elementor → Custom CSS panel
   or Hello Elementor child-theme stylesheet)
   Paste this into: Elementor Site Settings → Custom CSS
   (or Appearance → Customize → Additional CSS)
   ============================================================ */

/* ---- Font face declarations (also add these via Elementor
   Custom Fonts, or enqueue in functions.php) ---- */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;700&display=swap');

:root{
  --brand-red:#D52319;
  --brand-gold:#D4AF37;
  --cinema-black:#000000;
  --on-surface-variant:#d2c3c2;
}

/* ============================================================
   GLOBAL
   ============================================================ */
body{
  background-color:#000000;
  overflow-x:hidden;
  scroll-behavior:smooth;
}

/* ============================================================
   HERO
   ============================================================ */
.ec-hero-section{
  position:relative;
}
/* Cinematic top-to-bottom dark gradient overlay (recreates
   .cinematic-overlay from the source — stronger black fade
   toward the bottom than Elementor's flat overlay color allows) */
.ec-cinematic-overlay > .elementor-background-overlay{
  background:linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.8) 100%) !important;
  opacity:1 !important;
}

.ec-hero-headline .elementor-heading-title{
  text-shadow:0 0 15px rgba(213,35,25,0.0); /* base; pulse animates this */
}
/* Slow pulse animation (mirrors Tailwind's animate-pulse on h1) */
.ec-pulse .elementor-heading-title{
  animation:ec-heading-pulse 3s cubic-bezier(0.4,0,0.6,1) infinite;
}
@keyframes ec-heading-pulse{
  0%,100%{ opacity:1; }
  50%{ opacity:.7; }
}

.ec-hero-desc{ max-width:640px; margin-left:auto; margin-right:auto; }

.ec-hero-btn-row{ margin-top:24px; }

/* Button hover states (Tailwind: hover:scale-105 / hover:bg-white/10) */
.ec-btn-hover-grow .elementor-button,
.ec-btn-hover-grow.elementor-button{
  transition:transform .3s ease, box-shadow .3s ease;
  box-shadow:0 10px 25px rgba(213,35,25,0.2);
}
.ec-btn-hover-grow .elementor-button:hover,
.ec-btn-hover-grow.elementor-button:hover{
  transform:scale(1.05);
}
.ec-btn-hover-white .elementor-button,
.ec-btn-hover-white.elementor-button{
  transition:background-color .3s ease;
}
.ec-btn-hover-white .elementor-button:hover,
.ec-btn-hover-white.elementor-button:hover{
  background-color:rgba(255,255,255,0.1) !important;
}
/* Active/pressed scale (mirrors JS mousedown scale-95) */
.elementor-button:active{ transform:scale(.95); }

/* Scroll-cue bounce arrow */
.ec-scroll-bounce{
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  animation:ec-bounce 1.4s infinite;
}
@keyframes ec-bounce{
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%{ transform:translateX(-50%) translateY(-12px); }
}
.ec-icon-center{ text-align:center; }

/* ============================================================
   STATS
   ============================================================ */
.ec-stat-divider .elementor-divider-separator{
  border-top:none !important;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--brand-gold), transparent);
}

/* ============================================================
   ABOUT / VISION
   ============================================================ */
.ec-about-img-col{ position:relative; }
.ec-about-img img{
  border-radius:12px;
  box-shadow:0 25px 50px -12px rgba(0,0,0,0.7);
  border:1px solid rgba(255,255,255,0.1);
  aspect-ratio:4/5;
  object-fit:cover;
}
/* Floating "PREMIUM EVERYWHERE" badge offset bottom-left of image,
   matching Tailwind's -bottom-6 -left-6 absolute positioning */
.ec-premium-badge{
  position:absolute !important;
  left:-24px;
  bottom:-24px;
  background:var(--brand-red);
  padding:32px;
  border-radius:8px;
  line-height:1;
  z-index:2;
}
.ec-premium-badge .elementor-heading-title{ line-height:1; }
@media (max-width:768px){
  .ec-premium-badge{ display:none; } /* hidden on mobile in source (hidden md:block) */
}

/* Play button circle with hover fill (group-hover effect) */
.ec-play-circle .elementor-icon{
  width:48px; height:48px;
  border:1px solid var(--brand-red);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--brand-red);
  transition:all .3s ease;
  cursor:pointer;
}
.ec-watch-story-row{ cursor:pointer; }
.ec-watch-story-row:hover .ec-play-circle .elementor-icon{
  background:var(--brand-red);
  color:#fff;
}

/* ============================================================
   SERVICES
   ============================================================ */
.ec-service-card{
  transition:all .5s ease;
}
.ec-service-card:hover{
  border-color:rgba(213,35,25,0.5) !important;
  background-color:#1a1c1c !important;
}
/* Underline grows from 0 → 100% on card hover */
.ec-service-underline .elementor-divider-separator{
  width:0;
  border-top:none !important;
  height:4px;
  background:var(--brand-red);
  transition:width .5s ease;
  margin:0;
}
.ec-service-card:hover .ec-service-underline .elementor-divider-separator{
  width:100%;
}

/* ============================================================
   FEATURED EXPERIENCES — asymmetric grid
   Recreates: grid-cols-4 grid-rows-2, big tile col-span-2 row-span-2,
   two small tiles col-span-1, wide tile col-span-2
   ============================================================ */
.ec-featured-grid.elementor-section .elementor-container{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr);
  grid-template-rows:repeat(2, 300px);
  gap:16px;
}
@media (max-width:1024px){
  .ec-featured-grid.elementor-section .elementor-container{
    grid-template-rows:repeat(2, 260px);
  }
}
@media (max-width:767px){
  .ec-featured-grid.elementor-section .elementor-container{
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:repeat(3, 220px);
  }
}
.ec-feat-tile{
  width:100% !important;
  height:100%;
  border-radius:12px;
  overflow:hidden;
  position:relative;
}
.ec-feat-big{ grid-column:span 2; grid-row:span 2; }
.ec-feat-small{ grid-column:span 1; grid-row:span 1; }
.ec-feat-wide{ grid-column:span 2; grid-row:span 1; }
@media (max-width:767px){
  .ec-feat-big{ grid-column:span 2; grid-row:span 1; }
  .ec-feat-wide{ grid-column:span 2; grid-row:span 1; }
}
.ec-feat-tile .ec-feat-img,
.ec-feat-tile .ec-feat-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.ec-feat-tile:hover .ec-feat-img img{
  transform:scale(1.1);
}
/* Bottom gradient + badge text overlay (only present on the big tile) */
.ec-feat-big::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.95) 0%, transparent 55%);
  pointer-events:none;
  z-index:1;
}
.ec-feat-big .ec-feat-badge-text,
.ec-feat-big .ec-feat-badge-title{
  position:relative;
  z-index:2;
  padding:0 24px;
}
.ec-feat-big .ec-feat-badge-text{ margin-top:auto; }
.ec-feat-big .ec-feat-badge-title{ margin-bottom:24px; }
.ec-feat-big .elementor-widget-wrap{
  flex-direction:column;
  justify-content:flex-end;
  height:100%;
  padding:24px;
}

/* ============================================================
   UPCOMING SCREENINGS / MOVIE CARDS
   ============================================================ */
.ec-view-calendar a{
  border-bottom:1px solid var(--brand-red);
  padding-bottom:4px;
  transition:opacity .2s ease;
}
.ec-view-calendar a:hover{ opacity:.8; }

.ec-movie-card{
  position:relative;
  aspect-ratio:2/3;
  border-radius:8px;
  overflow:hidden;
  background:#1a1c1c;
  border:1px solid rgba(255,255,255,0.05);
  transition:border-color .3s ease;
}
.ec-movie-card:hover{
  border-color:rgba(213,35,25,0.5);
}
.ec-movie-card .ec-movie-img,
.ec-movie-card .ec-movie-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s ease;
  z-index:0;
}
.ec-movie-card:hover .ec-movie-img img{
  transform:scale(1.1);
}
/* Title / location / button overlay — hidden until hover,
   matching group-hover:opacity-100 behavior */
.ec-movie-card::before{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, #000 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
  opacity:0;
  transition:opacity .3s ease;
  z-index:1;
  pointer-events:none;
}
.ec-movie-card:hover::before{ opacity:1; }
.ec-movie-card .ec-movie-title,
.ec-movie-card .ec-movie-loc,
.ec-movie-card .ec-movie-btn{
  position:relative;
  z-index:2;
  opacity:0;
  transition:opacity .3s ease;
}
.ec-movie-card:hover .ec-movie-title,
.ec-movie-card:hover .ec-movie-loc,
.ec-movie-card:hover .ec-movie-btn{
  opacity:1;
}
.ec-movie-card .elementor-widget-wrap{
  position:absolute;
  inset:0;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
}
.ec-movie-title{ margin-bottom:8px; }
.ec-movie-loc{ margin-bottom:16px; color:var(--on-surface-variant); }
.ec-movie-btn .elementor-button{
  width:100%;
  border-radius:4px;
}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.ec-newsletter-row{ max-width:560px; margin:32px auto 0; }
.ec-newsletter-input{
  width:100%;
  background:var(--cinema-black);
  border:none;
  border-bottom:1px solid rgba(255,255,255,0.4);
  color:#fff;
  padding:16px;
  font-family:'Manrope', sans-serif;
  outline:none;
  transition:border-color .2s ease;
}
.ec-newsletter-input::placeholder{ color:rgba(255,255,255,0.2); }
.ec-newsletter-input:focus{ border-color:var(--brand-red); }

/* ============================================================
   CONTACT
   ============================================================ */
.ec-contact-row{ margin-bottom:24px; }
.ec-contact-form .elementor-field-group{ margin-bottom:16px; }
.ec-contact-form .elementor-field-textual{
  background:var(--cinema-black) !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,0.2) !important;
  border-radius:0 !important;
  color:#fff !important;
  padding:12px 0 !important;
  font-family:'Manrope', sans-serif;
  transition:border-color .2s ease;
}
.ec-contact-form .elementor-field-textual:focus{
  border-bottom-color:var(--brand-red) !important;
  box-shadow:none !important;
}
.ec-contact-form .elementor-field-label{
  color:var(--on-surface-variant) !important;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-weight:700;
}
.ec-contact-form .elementor-button{
  width:100%;
  background:var(--brand-red) !important;
  border-radius:8px !important;
  letter-spacing:.1em;
  font-weight:700;
}
.ec-contact-form .elementor-button:hover{
  background:rgba(213,35,25,0.9) !important;
}

/* ============================================================
   GENERIC HEADING / BODY FONT MAPPING
   (apply if global typography isn't already set in Theme Style)
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title{
  font-family:'Bebas Neue', sans-serif;
  letter-spacing:0.02em;
}
body, p, .elementor-text-editor, .elementor-button{
  font-family:'Manrope', sans-serif;
}

/* ============================================================
   ACCESSIBILITY — reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}

/* ============================================================
   HEADER (Theme Builder — Site Header template)
   ============================================================ */
.ec-header-bar{
  position:fixed;
  top:0; left:0; right:0;
  z-index:999;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 20px rgba(0,0,0,0.3);
}
.ec-logo img{
  height:40px;
  width:auto;
  object-fit:contain;
}
@media (min-width:768px){
  .ec-logo img{ height:48px; }
}

.ec-nav-row{ gap:32px; }
.ec-nav-link-wrap a.ec-nav-link{
  color:var(--on-surface-variant);
  text-transform:uppercase;
  letter-spacing:0.05em;
  font-family:'Manrope', sans-serif;
  font-size:14px;
  text-decoration:none;
  transition:color .2s ease;
  padding-bottom:4px;
  display:inline-block;
}
.ec-nav-link-wrap a.ec-nav-link:hover{
  color:#d6c2c1;
}
.ec-nav-active a.ec-nav-link{
  color:#d6c2c1;
  border-bottom:2px solid var(--brand-red);
}
/* Hide desktop nav row + CTA button below 768px, show hamburger instead */
.ec-hamburger-col{ display:none; }
.ec-header-cta{ display:inline-flex; }
@media (max-width:767px){
  .ec-nav-col-desktop{ display:none; }
  .ec-header-cta{ display:none; }
  .ec-hamburger-col{ display:flex; justify-content:flex-end; }
}
.ec-hamburger-icon{ cursor:pointer; }
.ec-header-cta .elementor-button{
  padding:8px 24px;
  transition:transform .15s ease;
}
.ec-header-cta .elementor-button:active{ transform:scale(.95); }

/* Mobile menu overlay (dim background) */
.ec-mobile-overlay{
  position:fixed; inset:0;
  z-index:998;
  background:rgba(0,0,0,0.6);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
.ec-mobile-overlay.ec-open{
  opacity:1;
  pointer-events:auto;
}
@media (min-width:768px){
  .ec-mobile-overlay{ display:none !important; }
}

/* Mobile menu drawer — slides in from right */
.ec-mobile-menu{
  position:fixed;
  top:0; right:0; bottom:0;
  z-index:999;
  width:280px;
  background:rgba(18,20,20,0.97);
  backdrop-filter:blur(16px);
  border-left:1px solid rgba(255,255,255,0.05);
  transform:translateX(100%);
  transition:transform .3s ease;
  padding:24px;
}
.ec-mobile-menu.ec-open{
  transform:translateX(0);
}
@media (min-width:768px){
  .ec-mobile-menu{ display:none !important; }
}
.ec-mobile-menu-inner{
  display:flex;
  flex-direction:column;
  height:100%;
}
.ec-mobile-close-row{ display:flex; justify-content:flex-end; margin-bottom:24px; }
.ec-mobile-close{ cursor:pointer; }
.ec-mobile-menu-links{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ec-mobile-menu-links .ec-nav-link-wrap a.ec-nav-link{
  font-size:18px;
  padding:8px 0;
}
.ec-mobile-cta{ margin-top:auto; width:100%; }
.ec-mobile-cta .elementor-button{ width:100%; justify-content:center; }

/* Push page content below the fixed header */
.elementor-location-header + main,
body.elementor-page main,
#content{
  padding-top:80px;
}

/* ============================================================
   FOOTER (Theme Builder — Site Footer template)
   ============================================================ */
.ec-footer-logo img{
  height:48px;
  width:auto;
  object-fit:contain;
  margin-bottom:16px;
}
.ec-footer-tagline{
  max-width:280px;
  margin-bottom:16px;
}
.ec-social-row{ max-width:160px; margin-top:8px; }
.ec-social-icon img{
  width:40px; height:40px;
  background:var(--brand-red);
  border-radius:8px;
  padding:10px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  transition:opacity .2s ease;
}
.ec-social-icon img:hover{ opacity:0.8; }

.ec-footer-link-item a.ec-footer-link,
.ec-footer-link-item{
  color:var(--on-surface-variant);
  text-decoration:none;
  transition:color .2s ease;
  font-size:14px;
}
.ec-footer-link-item a.ec-footer-link:hover{
  color:#ffb4a9; /* secondary token from source */
}

.ec-footer-contact-row{ margin-bottom:12px; align-items:center; }
.ec-footer-contact-text{ font-size:14px; color:var(--on-surface-variant); }

.ec-footer-copy{
  font-size:13px;
  color:var(--on-surface-variant);
  opacity:0.7;
}/* End custom CSS */
@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-hamburger-menu { display: block; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper { width: 100%; max-width: 360px; border-radius: 0; background-color: #f7f7f7; width: 100%; position: fixed; top: 0; left: -110%; height: 100%!important; box-shadow: 0 10px 30px 0 rgba(255,165,0,0); overflow-y: auto; overflow-x: hidden; padding-top: 0; padding-left: 0; padding-right: 0; display: flex; flex-direction: column-reverse; justify-content: flex-end; -moz-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; -webkit-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; -o-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; -ms-transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; transition: left .6s cubic-bezier(.6,.1,.68,.53), width .6s; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper.active { left: 0; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu-container { overflow-y: hidden; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel { padding: 10px 0px 10px 0px; display: block; position: relative; z-index: 5; width: 100%; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-nav-site-title { display: inline-block; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-nav-identity-panel .jkit-close-menu { display: block; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu { display: block; height: 100%; overflow-y: auto; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children > a i { margin-left: auto; border: 1px solid var(--jkit-border-color); border-radius: 3px; padding: 4px 15px; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children > a svg { margin-left: auto; border: 1px solid var(--jkit-border-color); border-radius: 3px; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li.menu-item-has-children .sub-menu { position: inherit; box-shadow: none; background: none; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li { display: block; width: 100%; position: inherit; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li .sub-menu { display: none; max-height: 2500px; opacity: 0; visibility: hidden; transition: max-height 5s ease-out; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li .sub-menu.dropdown-open { display: block; opacity: 1; visibility: visible; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li a { display: block; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li a i { float: right; } }@media (max-width: 1024px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu li a svg { float: right } }@media (min-width: 1025px) {.elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper .jkit-menu-container { height: 100%; } }@media (max-width: 1024px) {.admin-bar .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper { top: 32px; } }@media (max-width: 782px) {.admin-bar .elementor-element.elementor-element-2965540e .jeg-elementor-kit.jkit-nav-menu .jkit-menu-wrapper { top: 46px; } }
/* Start custom CSS for jkit_nav_menu, class: .elementor-element-2965540e *//* ============================================================
   IMAGINE CINEMAS — ADDITIONAL CSS (Elementor → Custom CSS panel
   or Hello Elementor child-theme stylesheet)
   Paste this into: Elementor Site Settings → Custom CSS
   (or Appearance → Customize → Additional CSS)
   ============================================================ */

/* ---- Font face declarations (also add these via Elementor
   Custom Fonts, or enqueue in functions.php) ---- */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;700&display=swap');

:root{
  --brand-red:#D52319;
  --brand-gold:#D4AF37;
  --cinema-black:#000000;
  --on-surface-variant:#d2c3c2;
}

/* ============================================================
   GLOBAL
   ============================================================ */
body{
  background-color:#000000;
  overflow-x:hidden;
  scroll-behavior:smooth;
}

/* ============================================================
   HERO
   ============================================================ */
.ec-hero-section{
  position:relative;
}
/* Cinematic top-to-bottom dark gradient overlay (recreates
   .cinematic-overlay from the source — stronger black fade
   toward the bottom than Elementor's flat overlay color allows) */
.ec-cinematic-overlay > .elementor-background-overlay{
  background:linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.8) 100%) !important;
  opacity:1 !important;
}

.ec-hero-headline .elementor-heading-title{
  text-shadow:0 0 15px rgba(213,35,25,0.0); /* base; pulse animates this */
}
/* Slow pulse animation (mirrors Tailwind's animate-pulse on h1) */
.ec-pulse .elementor-heading-title{
  animation:ec-heading-pulse 3s cubic-bezier(0.4,0,0.6,1) infinite;
}
@keyframes ec-heading-pulse{
  0%,100%{ opacity:1; }
  50%{ opacity:.7; }
}

.ec-hero-desc{ max-width:640px; margin-left:auto; margin-right:auto; }

.ec-hero-btn-row{ margin-top:24px; }

/* Button hover states (Tailwind: hover:scale-105 / hover:bg-white/10) */
.ec-btn-hover-grow .elementor-button,
.ec-btn-hover-grow.elementor-button{
  transition:transform .3s ease, box-shadow .3s ease;
  box-shadow:0 10px 25px rgba(213,35,25,0.2);
}
.ec-btn-hover-grow .elementor-button:hover,
.ec-btn-hover-grow.elementor-button:hover{
  transform:scale(1.05);
}
.ec-btn-hover-white .elementor-button,
.ec-btn-hover-white.elementor-button{
  transition:background-color .3s ease;
}
.ec-btn-hover-white .elementor-button:hover,
.ec-btn-hover-white.elementor-button:hover{
  background-color:rgba(255,255,255,0.1) !important;
}
/* Active/pressed scale (mirrors JS mousedown scale-95) */
.elementor-button:active{ transform:scale(.95); }

/* Scroll-cue bounce arrow */
.ec-scroll-bounce{
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  animation:ec-bounce 1.4s infinite;
}
@keyframes ec-bounce{
  0%,100%{ transform:translateX(-50%) translateY(0); }
  50%{ transform:translateX(-50%) translateY(-12px); }
}
.ec-icon-center{ text-align:center; }

/* ============================================================
   STATS
   ============================================================ */
.ec-stat-divider .elementor-divider-separator{
  border-top:none !important;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--brand-gold), transparent);
}

/* ============================================================
   ABOUT / VISION
   ============================================================ */
.ec-about-img-col{ position:relative; }
.ec-about-img img{
  border-radius:12px;
  box-shadow:0 25px 50px -12px rgba(0,0,0,0.7);
  border:1px solid rgba(255,255,255,0.1);
  aspect-ratio:4/5;
  object-fit:cover;
}
/* Floating "PREMIUM EVERYWHERE" badge offset bottom-left of image,
   matching Tailwind's -bottom-6 -left-6 absolute positioning */
.ec-premium-badge{
  position:absolute !important;
  left:-24px;
  bottom:-24px;
  background:var(--brand-red);
  padding:32px;
  border-radius:8px;
  line-height:1;
  z-index:2;
}
.ec-premium-badge .elementor-heading-title{ line-height:1; }
@media (max-width:768px){
  .ec-premium-badge{ display:none; } /* hidden on mobile in source (hidden md:block) */
}

/* Play button circle with hover fill (group-hover effect) */
.ec-play-circle .elementor-icon{
  width:48px; height:48px;
  border:1px solid var(--brand-red);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--brand-red);
  transition:all .3s ease;
  cursor:pointer;
}
.ec-watch-story-row{ cursor:pointer; }
.ec-watch-story-row:hover .ec-play-circle .elementor-icon{
  background:var(--brand-red);
  color:#fff;
}

/* ============================================================
   SERVICES
   ============================================================ */
.ec-service-card{
  transition:all .5s ease;
}
.ec-service-card:hover{
  border-color:rgba(213,35,25,0.5) !important;
  background-color:#1a1c1c !important;
}
/* Underline grows from 0 → 100% on card hover */
.ec-service-underline .elementor-divider-separator{
  width:0;
  border-top:none !important;
  height:4px;
  background:var(--brand-red);
  transition:width .5s ease;
  margin:0;
}
.ec-service-card:hover .ec-service-underline .elementor-divider-separator{
  width:100%;
}

/* ============================================================
   FEATURED EXPERIENCES — asymmetric grid
   Recreates: grid-cols-4 grid-rows-2, big tile col-span-2 row-span-2,
   two small tiles col-span-1, wide tile col-span-2
   ============================================================ */
.ec-featured-grid.elementor-section .elementor-container{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr);
  grid-template-rows:repeat(2, 300px);
  gap:16px;
}
@media (max-width:1024px){
  .ec-featured-grid.elementor-section .elementor-container{
    grid-template-rows:repeat(2, 260px);
  }
}
@media (max-width:767px){
  .ec-featured-grid.elementor-section .elementor-container{
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:repeat(3, 220px);
  }
}
.ec-feat-tile{
  width:100% !important;
  height:100%;
  border-radius:12px;
  overflow:hidden;
  position:relative;
}
.ec-feat-big{ grid-column:span 2; grid-row:span 2; }
.ec-feat-small{ grid-column:span 1; grid-row:span 1; }
.ec-feat-wide{ grid-column:span 2; grid-row:span 1; }
@media (max-width:767px){
  .ec-feat-big{ grid-column:span 2; grid-row:span 1; }
  .ec-feat-wide{ grid-column:span 2; grid-row:span 1; }
}
.ec-feat-tile .ec-feat-img,
.ec-feat-tile .ec-feat-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .7s ease;
}
.ec-feat-tile:hover .ec-feat-img img{
  transform:scale(1.1);
}
/* Bottom gradient + badge text overlay (only present on the big tile) */
.ec-feat-big::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,0.95) 0%, transparent 55%);
  pointer-events:none;
  z-index:1;
}
.ec-feat-big .ec-feat-badge-text,
.ec-feat-big .ec-feat-badge-title{
  position:relative;
  z-index:2;
  padding:0 24px;
}
.ec-feat-big .ec-feat-badge-text{ margin-top:auto; }
.ec-feat-big .ec-feat-badge-title{ margin-bottom:24px; }
.ec-feat-big .elementor-widget-wrap{
  flex-direction:column;
  justify-content:flex-end;
  height:100%;
  padding:24px;
}

/* ============================================================
   UPCOMING SCREENINGS / MOVIE CARDS
   ============================================================ */
.ec-view-calendar a{
  border-bottom:1px solid var(--brand-red);
  padding-bottom:4px;
  transition:opacity .2s ease;
}
.ec-view-calendar a:hover{ opacity:.8; }

.ec-movie-card{
  position:relative;
  aspect-ratio:2/3;
  border-radius:8px;
  overflow:hidden;
  background:#1a1c1c;
  border:1px solid rgba(255,255,255,0.05);
  transition:border-color .3s ease;
}
.ec-movie-card:hover{
  border-color:rgba(213,35,25,0.5);
}
.ec-movie-card .ec-movie-img,
.ec-movie-card .ec-movie-img img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .5s ease;
  z-index:0;
}
.ec-movie-card:hover .ec-movie-img img{
  transform:scale(1.1);
}
/* Title / location / button overlay — hidden until hover,
   matching group-hover:opacity-100 behavior */
.ec-movie-card::before{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, #000 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
  opacity:0;
  transition:opacity .3s ease;
  z-index:1;
  pointer-events:none;
}
.ec-movie-card:hover::before{ opacity:1; }
.ec-movie-card .ec-movie-title,
.ec-movie-card .ec-movie-loc,
.ec-movie-card .ec-movie-btn{
  position:relative;
  z-index:2;
  opacity:0;
  transition:opacity .3s ease;
}
.ec-movie-card:hover .ec-movie-title,
.ec-movie-card:hover .ec-movie-loc,
.ec-movie-card:hover .ec-movie-btn{
  opacity:1;
}
.ec-movie-card .elementor-widget-wrap{
  position:absolute;
  inset:0;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
}
.ec-movie-title{ margin-bottom:8px; }
.ec-movie-loc{ margin-bottom:16px; color:var(--on-surface-variant); }
.ec-movie-btn .elementor-button{
  width:100%;
  border-radius:4px;
}

/* ============================================================
   NEWSLETTER
   ============================================================ */
.ec-newsletter-row{ max-width:560px; margin:32px auto 0; }
.ec-newsletter-input{
  width:100%;
  background:var(--cinema-black);
  border:none;
  border-bottom:1px solid rgba(255,255,255,0.4);
  color:#fff;
  padding:16px;
  font-family:'Manrope', sans-serif;
  outline:none;
  transition:border-color .2s ease;
}
.ec-newsletter-input::placeholder{ color:rgba(255,255,255,0.2); }
.ec-newsletter-input:focus{ border-color:var(--brand-red); }

/* ============================================================
   CONTACT
   ============================================================ */
.ec-contact-row{ margin-bottom:24px; }
.ec-contact-form .elementor-field-group{ margin-bottom:16px; }
.ec-contact-form .elementor-field-textual{
  background:var(--cinema-black) !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,0.2) !important;
  border-radius:0 !important;
  color:#fff !important;
  padding:12px 0 !important;
  font-family:'Manrope', sans-serif;
  transition:border-color .2s ease;
}
.ec-contact-form .elementor-field-textual:focus{
  border-bottom-color:var(--brand-red) !important;
  box-shadow:none !important;
}
.ec-contact-form .elementor-field-label{
  color:var(--on-surface-variant) !important;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-weight:700;
}
.ec-contact-form .elementor-button{
  width:100%;
  background:var(--brand-red) !important;
  border-radius:8px !important;
  letter-spacing:.1em;
  font-weight:700;
}
.ec-contact-form .elementor-button:hover{
  background:rgba(213,35,25,0.9) !important;
}

/* ============================================================
   GENERIC HEADING / BODY FONT MAPPING
   (apply if global typography isn't already set in Theme Style)
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title{
  font-family:'Bebas Neue', sans-serif;
  letter-spacing:0.02em;
}
body, p, .elementor-text-editor, .elementor-button{
  font-family:'Manrope', sans-serif;
}

/* ============================================================
   ACCESSIBILITY — reduced motion
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}

/* ============================================================
   HEADER (Theme Builder — Site Header template)
   ============================================================ */
.ec-header-bar{
  position:fixed;
  top:0; left:0; right:0;
  z-index:999;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 20px rgba(0,0,0,0.3);
}
.ec-logo img{
  height:40px;
  width:auto;
  object-fit:contain;
}
@media (min-width:768px){
  .ec-logo img{ height:48px; }
}

.ec-nav-row{ gap:32px; }
.ec-nav-link-wrap a.ec-nav-link{
  color:var(--on-surface-variant);
  text-transform:uppercase;
  letter-spacing:0.05em;
  font-family:'Manrope', sans-serif;
  font-size:14px;
  text-decoration:none;
  transition:color .2s ease;
  padding-bottom:4px;
  display:inline-block;
}
.ec-nav-link-wrap a.ec-nav-link:hover{
  color:#d6c2c1;
}
.ec-nav-active a.ec-nav-link{
  color:#d6c2c1;
  border-bottom:2px solid var(--brand-red);
}
/* Hide desktop nav row + CTA button below 768px, show hamburger instead */
.ec-hamburger-col{ display:none; }
.ec-header-cta{ display:inline-flex; }
@media (max-width:767px){
  .ec-nav-col-desktop{ display:none; }
  .ec-header-cta{ display:none; }
  .ec-hamburger-col{ display:flex; justify-content:flex-end; }
}
.ec-hamburger-icon{ cursor:pointer; }
.ec-header-cta .elementor-button{
  padding:8px 24px;
  transition:transform .15s ease;
}
.ec-header-cta .elementor-button:active{ transform:scale(.95); }

/* Mobile menu overlay (dim background) */
.ec-mobile-overlay{
  position:fixed; inset:0;
  z-index:998;
  background:rgba(0,0,0,0.6);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease;
}
.ec-mobile-overlay.ec-open{
  opacity:1;
  pointer-events:auto;
}
@media (min-width:768px){
  .ec-mobile-overlay{ display:none !important; }
}

/* Mobile menu drawer — slides in from right */
.ec-mobile-menu{
  position:fixed;
  top:0; right:0; bottom:0;
  z-index:999;
  width:280px;
  background:rgba(18,20,20,0.97);
  backdrop-filter:blur(16px);
  border-left:1px solid rgba(255,255,255,0.05);
  transform:translateX(100%);
  transition:transform .3s ease;
  padding:24px;
}
.ec-mobile-menu.ec-open{
  transform:translateX(0);
}
@media (min-width:768px){
  .ec-mobile-menu{ display:none !important; }
}
.ec-mobile-menu-inner{
  display:flex;
  flex-direction:column;
  height:100%;
}
.ec-mobile-close-row{ display:flex; justify-content:flex-end; margin-bottom:24px; }
.ec-mobile-close{ cursor:pointer; }
.ec-mobile-menu-links{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.ec-mobile-menu-links .ec-nav-link-wrap a.ec-nav-link{
  font-size:18px;
  padding:8px 0;
}
.ec-mobile-cta{ margin-top:auto; width:100%; }
.ec-mobile-cta .elementor-button{ width:100%; justify-content:center; }

/* Push page content below the fixed header */
.elementor-location-header + main,
body.elementor-page main,
#content{
  padding-top:80px;
}

/* ============================================================
   FOOTER (Theme Builder — Site Footer template)
   ============================================================ */
.ec-footer-logo img{
  height:48px;
  width:auto;
  object-fit:contain;
  margin-bottom:16px;
}
.ec-footer-tagline{
  max-width:280px;
  margin-bottom:16px;
}
.ec-social-row{ max-width:160px; margin-top:8px; }
.ec-social-icon img{
  width:40px; height:40px;
  background:var(--brand-red);
  border-radius:8px;
  padding:10px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  transition:opacity .2s ease;
}
.ec-social-icon img:hover{ opacity:0.8; }

.ec-footer-link-item a.ec-footer-link,
.ec-footer-link-item{
  color:var(--on-surface-variant);
  text-decoration:none;
  transition:color .2s ease;
  font-size:14px;
}
.ec-footer-link-item a.ec-footer-link:hover{
  color:#ffb4a9; /* secondary token from source */
}

.ec-footer-contact-row{ margin-bottom:12px; align-items:center; }
.ec-footer-contact-text{ font-size:14px; color:var(--on-surface-variant); }

.ec-footer-copy{
  font-size:13px;
  color:var(--on-surface-variant);
  opacity:0.7;
}/* End custom CSS */