/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Cemboo CSS */

#cembooClientJoinNowButton {
  visibility: visible !important;
  position: relative !important;
  left: 0 !important;
  z-index: 5 !important;
  pointer-events: all !important;
}
#cembooClientJoinNowButton button.amplify-button {
  background-color: #f1ad3d !important;
  color: #141414 !important;
  border: 1px solid #f1ad3d !important;
  border-radius: 0 !important;
  transition: all 0.3s ease-out;
}
#cembooClientJoinNowButton button.amplify-button:hover,
#cembooClientJoinNowButton button.amplify-button:focus {
  background-color: #f1ad3d !important;
  color: #141414 !important;
  border: 1px solid #f1ad3d !important;
  transition: all 0.3s ease-out;
}
#cembooClientJoinNowButton {
  display: none !important;
}
.watch-label{
  background-color: #161a29 !important;
  color: #ffffff !important;
}
/* ==========================================================================
   ABUNDANCE STUDIOS — GLOBAL UTILITIES
   ========================================================================== */

/* fonts and styles for Slider */

@font-face{
    font-family: 'Gotham-Bold';
    src: url('../fonts/Gotham-Bold.woff2');
}
@font-face{
    font-family: 'Gotham-Book';
    src: url('../fonts/Gotham-Book.woff2');
}
@font-face{
    font-family: 'Gotham-Light';
    src: url('../fonts/Gotham-Light.woff2');
}
@font-face{
    font-family: 'Gotham-Thin';
    src: url('../fonts/Gotham-Thin.woff2');
}
/* keep the whole thing centered */
.film-title-thin,
.film-title-bold{
  display:inline;
}

/* your fonts */
.film-title-thin{ font-family: "Gotham-Thin", Gotham, sans-serif; }
.film-title-bold{ font-family: "Gotham-Bold", Gotham, sans-serif; }

/* hide thin part when blank */
.film-title-thin:empty{ display:none; }

/* only add the space when thin exists */
.film-title-thin:not(:empty)::after{ content:" "; }

/* Full-bleed helper (use on any section that must hit viewport edges) */
.ads-fullbleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

/* Gold gradient (reusable token) */
:root{
  --ab-gold-stops-headline: #938574 0%, #e5c88a 4%, #e9ddc4 8%, #eacf91 18%, #938574 65%;
    --ab-gold-stops-menu:#938574 0%,#f1d291 91%,#fdf3df 96%,#ffe29e 100%;
}

/* Gold gradient text (apply to any element you want gold text on) */
.ads-gold{
  background: linear-gradient(180deg, var(--ab-gold-stops-headline));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* Gold gradient BACKGROUND helpers (angle variants) */
.ads-gold-bg--44{ background: linear-gradient(-44deg, var(--ab-gold-stops)) !important; }
.ads-gold-bg--76{ background: linear-gradient(-76deg, var(--ab-gold-stops)) !important; }


/* ==========================================================================
   ABUNDANCE STUDIOS — STICKY NAV DECOR (if you use it later)
   ========================================================================== */

.ads-sticky-header{ position: relative; }

.ads-nav-core{
  position: relative;
  height: 90px;
  z-index: 3;
}

/* Decorative top slant (left lower) */
.ads-nav-top{
  position: absolute;
  left: 0; right: 0;
  top: -40px;
  height: 40px;
  z-index: 2;
  pointer-events: none;

  clip-path: polygon(
    0 var(--slant-nav-top),
    100% 0,
    100% 100%,
    0 100%
  );
}

/* Decorative bottom slant (left lower) — overlaps slider */
.ads-nav-bottom{
  position: absolute;
  left: 0; right: 0;
  bottom: -70px;
  height: 70px;
  z-index: 2;
  pointer-events: none;

  clip-path: polygon(
    0 var(--slant-nav-bottom),
    100% 0,
    100% 100%,
    0 100%
  );
}


/* ==========================================================================
   ABUNDANCE SHORTCODE BUTTON (PNG circle system)
   ========================================================================== */

.ab-btn{
  position:relative;
  display:inline-block;
  text-decoration:none;
  line-height:1;
}

.ab-btn__circle{
  position:absolute;
  left:24px;
  top:50%;
  transform:translateY(-50%);
  width:66px;
  height:66px;
  z-index:2;
}

.ab-btn__img{
  width:66px;
  height:66px;
  display:block;
}

.ab-btn__rect{
  background: var(--ab-btn-bg, #000);
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  padding: 14px 34px 14px 114px;
  display:inline-flex;
  align-items:center;
}

.ab-btn__text{
  color:#fff;
  font-family:Gotham, sans-serif;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:16px;
}


/* ==========================================================================
   ABUNDANCE MENU (FINAL)
   - Hamburger: always gold gradient
   - Desktop menu text: always gold gradient
   - Pointer underline: only hover + active
   ========================================================================== */

/* ===== ABUNDANCE TOP NAV ONLY (scoped) ===== */

.ab-topnav .elementor-menu-toggle{ color: transparent; }
.ab-topnav .elementor-menu-toggle svg path{ fill: url(#abGold); }

.ab-topnav .elementor-nav-menu--main .elementor-item{
  font-weight:700;
  transition: all .25s ease;

  background: linear-gradient(-44deg, var(--ab-gold-stops-menu));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  color:transparent;
}

/* Pointer underline: only hover + active */
.ab-topnav .elementor-nav-menu--main .elementor-item::after{
  opacity: 0;
}
.ab-topnav .elementor-nav-menu--main .elementor-item:hover::after,
.ab-topnav .elementor-nav-menu--main .elementor-item.elementor-item-active::after{
  opacity: 1 !important;
  height: 2px !important;
  background: linear-gradient(-44deg, var(--ab-gold-stops-menu)) !important;
}

/* ==========================================================================
   EDITOR QUALITY OF LIFE
   ========================================================================== */

/* Hide global header while editing pages in Elementor */
/* body.elementor-editor-active .elementor-location-header,
.home .elementor-location-header{
  display: none !important;
} */
.hero-gold-img{
  position: absolute;
  left: 0;
  /* bottom: -1px; */
  width: 100%;
  line-height: 0;
  z-index: 5;
}

.hero-gold-img img{
  width: 100%;
  height: auto;     /* critical: keep aspect ratio */
  display: block;
}

.hero-black-img{
  position: absolute;
  left: 0;
  /* bottom: -1px; */
  width: 100%;
  line-height: 0;
  z-index: 6;
}

.hero-black-img img{
  width: 100%;
  height: auto;   /* keep aspect ratio */
  display: block;
}

.hero-blue-img{
  position:absolute;
  left:0;
  /* bottom:-1px; */
  width:100% !important;
  line-height:0;
  z-index:7;
}

.hero-blue-img img{
  width:100%;
  height:auto;
  display:block;
}

.films-blue-img{
  position:absolute;
  left:0;
  /* bottom:-1px; */
  width:100% !important;
  line-height:0;
  z-index:7;
}

.films-blue-img img{
  width:100%;
  height:auto;
  display:block;
}
.films-black-bottom-img{
  position:absolute;
  left:0;
  /* bottom:-1px; */
  width:100% !important;
  line-height:0;
  z-index:7;
}

.films-black-bottom-img img{
  width:100%;
  height:auto;
  display:block;
}
.impact-black-top-img{
  position:absolute;
  left:0;
  bottom:-1px;
  width:100% !important;
  line-height:0;
  z-index:7;
}

.impact-black-top-img img{
  width:100%;
  height:auto;
  display:block;
}

.impact-black-bottom-img{
  position:absolute;
  left:0;
  bottom:-1px;
  width:100% !important;
  line-height:0;
  z-index:6;
}

.impact-black-bottom-img img{
  width:100%;
  height:auto;
  display:block;
}

.impact-gold-bottom-img{
  position:absolute;
  left:0;
  bottom:-1px;
  width:100% !important;
  line-height:0;
  z-index:5;
}

.impact-gold-bottom-img img{
  width:100%;
  height:auto;
  display:block;
}

.awards-gold-bottom-img{
  position:absolute;
  left:0;
  bottom:-5px;
  width:100% !important;
  line-height:0;
  z-index:6;
}

.awards-gold-bottom-img img{
  width:100%;
  height:auto;
  display:block;
}
.awards-black-bottom-img{
  position:absolute;
  left:0;
  bottom:-1px;
  width:100% !important;
  line-height:0;
  z-index:7;
}

.awards-black-bottom-img img{
  width:100%;
  height:auto;
  display:block;
}

.nick-gold-bottom-img{
  position:absolute;
  left:0;
  width:100% !important;
  height: 35px !important;
  max-height: 35px !important;
  overflow: hidden !important;
  line-height:0 !important;
  z-index:0;
}

.nick-gold-bottom-img img{
  width:100% !important;
  height: 35px !important;
  max-height: 35px !important;
  display:block !important;
  object-fit: fill !important;
}
.nick-blue-bottom-img{
  position:absolute;
  left:0;
  width:100% !important;
  height: 35px !important;
  max-height: 35px !important;
  overflow: hidden !important;
  line-height:0 !important;
  z-index:1;
}

.nick-blue-bottom-img img{
  width:100% !important;
  height: 35px !important;
  max-height: 35px !important;
  display:block !important;
  object-fit: fill !important;
}

.footer-black-bottom-img{
  position:absolute;
  left:0;
  width:100% !important;
  height: 37px !important;
  max-height: 37px !important;
  overflow: hidden !important;
  line-height:0 !important;
  z-index:1;
}

.footer-black-bottom-img img{
  width:100% !important;
  height: 37px !important;
  max-height: 37px !important;
  display:block !important;
  object-fit: fill !important;
}

/* Pinned video background (plays, but doesn't shift on scroll) */
.impact-video-layer{
  /* position: sticky; */
  top: 0;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}
.impact-content-layer{
  position: relative;
  z-index: 5;
  background: transparent !important;
}

html{
  scroll-behavior: auto !important;
}

/* Hide header and footer on home page */

body.home header#site-header{
  display: none !important;
}

body.home #site-footer{
  display:none !important;
}

.footer-safezone{
  max-width: 1600px;
  margin-inline: auto !important;
}

.trailer-wrap{ position:relative; padding-top:56.25%; }
#trailer-iframe{ position:absolute; inset:0; width:100%; height:100%; }

/* Force Elementor video lightbox to 16:9 regardless of poster ratio */

.dialog-lightbox-widget.video .dialog-widget-content,
.dialog-lightbox-widget.video .elementor-video-container {
    width: 90vw !important;
    max-width: 1200px !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
}

.dialog-lightbox-widget.video iframe {
    width: 100% !important;
    height: 100% !important;
}

/* Elementor lightbox: force Vimeo/YouTube player to 16:9 */
.dialog-lightbox-widget.video #player,
.elementor-lightbox #player {
  width: min(90vw, 1200px) !important;
  height: calc(min(90vw, 1200px) * 9 / 16) !important;
  max-width: none !important;
}

.dialog-lightbox-widget.video iframe,
.elementor-lightbox iframe {
  width: 100% !important;
  height: 100% !important;
}

/* Contact Us button color */
/* Gravity Forms submit button styling */
#gform_submit_button_1.gform_button.button{
  background-color: #938574;
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  border: none;
}

#gform_submit_button_1.gform_button.button:hover{
  background-color: #eacf91;
  color: #000000;
}
.bg-shift-south{
    background-position: center 44% !important;
}

/* make sure My Screening Room banner sits “behind” */
.as-screening-hero {
  position: relative;
}

.as-screening-hero__header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
}

.as-banner {
  position: relative;
  z-index: 1;
}

.as-banner img {
  display: block;
  width: 100%;
  height: auto;
}
/* Hide the main theme's header on My Screening Room */
/* Hide the global Elementor header on screening room pages only */
body:has(.as-screening-room) header.elementor-location-header {
  display: none !important;
}