/*
Theme Name: Community Television Child
Theme URI: https://blueastral.com/
Description: Child theme for Community Television.
Author: Blue Astral Themes
Author URI: https://blueastral.com/
Template: community
Version: 1.0.0
Text Domain: community-child
*/

/* Add child theme custom CSS below */

    @font-face {
    font-family: 'Modern No. 20';
    font-style: normal;
    font-weight: normal;
    src: local('Modern No. 20'), url('../community-child/fonts/MOD20.woff') format('woff');
    }


.hero-banner .dslc-modules-section-wrapper{ width: 100%;  }
.full-height-section {min-height: 100vh;}
.hero-banner .banner-text-block {}
.hero-banner .banner-text-block p { margin: 0px; padding: 0px;}
.hero-banner {align-items: flex-end !important;}
.hero-banner .dslc-modules-section-wrapper { padding: 50px ;}
.header-fixed {
    position: fixed;
    background: #000000;
    background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgb(0 0 0 / 0%) 100%); !important;
    box-shadow: none !important;
    background-color: rgb(255 255 255 / 0%) !important;
    box-shadow: none !important;
    border: 0px !important;
    padding: 10px;
}

.header-fixed.sticky {
	background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgb(0 0 0 / 38%) 100%);
}


header .site-title a {
    display: flex;
    font-size: 28px;
    color: #ffffff;
}

header.sticky {
    background-color: rgb(255, 255, 255) !important;
    /* box-shadow: rgba(0, 0, 0, .05) 0 6px 24px 0, rgba(0, 0, 0, .08) 0 0 0 1px !important; */
    background-color: rgb(255 255 255 / 0%) !important;
}

.synopsis-section {}

.synopsis-section::after {content: "";width:100%;height: 800px;background: url(images/synopsis-ladies-v2.webp) no-repeat center bottom;position: absolute;bottom: 0;left: 0;z-index: 0;background-size: contain;}
.dslc-modules-section-wrapper { z-index: 1;}
.synopsis-section .title {}

.synopsis-section .title h3 {
    font-size: 9em !important;
    /* font-weight: bold !important; */
    text-transform: uppercase;
    letter-spacing: 8px;
    color:#ffffff;
/*     -webkit-text-stroke: 2px #ffffff; */
    font-weight: 300;
    letter-spacing: 0.25em;
    margin-bottom: 45px !important;
    display: block;
    font-family: 'Modern No. 20' !important;
}

.synopsis-section .title h5 { 
    text-transform: uppercase;
}

.synopsis-section .blockquote {
    border-left: 3px solid #ffffff;
    background-color: #fcf8e738;
    padding-left: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: linear-gradient(
91deg, rgba(0, 0, 0, 1) 0%, rgb(0 0 0 / 0%) 100%);
    color: #ffffff;
}


.blockquote-image-style {
    border: 2px solid #faf6e8 !important;
    border-radius: 15px;
    overflow: hidden;
    /* box-shadow: 9px 9px 0 #c1986b; */
}

.main-navigation li a { color: #ffffff;}

.hero-banner::after {content: "";width:100%;height: 500px;background: url(images/banner-base-bg.png) no-repeat left bottom;position: absolute;bottom: 0;left: 0;z-index: 0;}

.hero-banner .dslc-modules-section-wrapper { z-index: 1;}


.gallery-section {}
.gallery-section .title h4{}
.owl-item .dslc-slider-item { display: flex;
    justify-content: center;
    flex-direction: column;}
.owl-item img { margin: 0px auto !important; }

/* =====================================================
   HER SONG CAROUSEL
   ===================================================== */

.hersong-carousel-wrap {
    position: relative;

    width: 100%;
    max-width: 100%;

    margin-left: auto;
    margin-right: auto;
}


/*
 * Make sure Owl remains inside wrapper
 */
.hersong-carousel-wrap .dslc-slider {
    position: relative;
    width: 100%;
}


/* =====================================================
   NAVIGATION
   ===================================================== */

.hersong-carousel-nav {
    position: absolute;

    top: 50%;
    left: 0;

    width: 100%;

    transform: translateY(-50%);

    z-index: 100;

    pointer-events: none;
}


/* =====================================================
   BUTTON
   ===================================================== */

.hersong-carousel-nav button {

    position: absolute;

    top: 50%;

    width: 55px;
    height: 50px;

    padding: 0;
    margin: 0;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;
    outline: none !important;

    transform: translateY(-50%);

    cursor: pointer;

    pointer-events: auto;

    opacity: 1;

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}


/* =====================================================
   ARROW LINE
   ===================================================== */

.hersong-carousel-nav button span {

    position: absolute;

    top: 50%;

    width: 46px;
    height: 2px;

    background: #d5a768;

    transform: translateY(-50%);

    display: block;
}


/* =====================================================
   LEFT
   ===================================================== */

.hersong-carousel-nav .hersong-prev {left: -55px;}


.hersong-carousel-nav .hersong-prev span {

    left: 4px;

}


/* Left arrow head */

.hersong-carousel-nav .hersong-prev span::before {

    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 14px;
    height: 14px;

    border-left: 2px solid #d5a768;
    border-bottom: 2px solid #d5a768;

    transform:
        translateY(-50%)
        rotate(45deg);

    transform-origin: center;

}


/* =====================================================
   RIGHT
   ===================================================== */

.hersong-carousel-nav .hersong-next {right: -55px;}


.hersong-carousel-nav .hersong-next span {

    right: 4px;

}


/* Right arrow head */

.hersong-carousel-nav .hersong-next span::after {

    content: "";

    position: absolute;

    right: 0;
    top: 50%;

    width: 14px;
    height: 14px;

    border-right: 2px solid #d5a768;
    border-top: 2px solid #d5a768;

    transform:
        translateY(-50%)
        rotate(45deg);

    transform-origin: center;

}


/* =====================================================
   HOVER
   ===================================================== */

.hersong-carousel-nav button:hover {

    opacity: 0.65;

}


.hersong-carousel-nav button:focus,
.hersong-carousel-nav button:active {

    background: transparent !important;

    outline: none !important;
    box-shadow: none !important;

}


/* =====================================================
   TABLET
   ===================================================== */

@media screen and (max-width: 1200px) {

    .hersong-carousel-nav .hersong-prev {
        left: -55px;
    }

    .hersong-carousel-nav .hersong-next {
        right: -55px;
    }

}


/* =====================================================
   SMALL TABLET
   ===================================================== */

@media screen and (max-width: 991px) {

    /*
     * Put arrows slightly inside the image
     * because there isn't enough outside space.
     */

    .hersong-carousel-nav .hersong-prev {
        left: 15px;
    }

    .hersong-carousel-nav .hersong-next {
        right: 15px;
    }


    /*
     * Optional subtle background so arrows
     * remain visible over bright photos.
     */

    .hersong-carousel-nav button {

        width: 48px;
        height: 48px;

        background: rgba(0, 0, 0, 0.20) !important;

    }


    .hersong-carousel-nav button span {

        width: 34px;

    }


    .hersong-carousel-nav .hersong-prev span {
        left: 7px;
    }


    .hersong-carousel-nav .hersong-next span {
        right: 7px;
    }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media screen and (max-width: 767px) {

    .hersong-carousel-nav .hersong-prev {
        left: 8px;
    }

    .hersong-carousel-nav .hersong-next {
        right: 8px;
    }


    .hersong-carousel-nav button {

        width: 42px;
        height: 42px;

    }


    .hersong-carousel-nav button span {

        width: 28px;
        height: 2px;

    }


    .hersong-carousel-nav .hersong-prev span {
        left: 7px;
    }


    .hersong-carousel-nav .hersong-next span {
        right: 7px;
    }


    .hersong-carousel-nav .hersong-prev span::before,
    .hersong-carousel-nav .hersong-next span::after {

        width: 10px;
        height: 10px;

    }

}


/* =====================================================
   VERY SMALL MOBILE
   ===================================================== */

@media screen and (max-width: 480px) {

    .hersong-carousel-nav .hersong-prev {
        left: -14px;
    }

    .hersong-carousel-nav .hersong-next {
        right: -14px;
    }


    .hersong-carousel-nav button {

        width: 38px;
        height: 38px;

    }


    .hersong-carousel-nav button span {

        width: 25px;

    }

}

/* ==================================================
           PLAY BUTTON
        ================================================== */

        .vimeo-popup-trigger {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90px;
            height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            background: transparent;
            border: none;
            text-decoration: none;
            cursor: pointer;
            z-index: 10;
            transition:
                transform 0.3s ease,
                opacity 0.3s ease;
            flex-direction: column;
            font-size: 16px;
            font-weight: 700;
            text-transform: uppercase;
            color: #ffffff !important;
            line-height: 1.5em;
        }

        .vimeo-popup-trigger span { margin-left: -10px;} 


        /* Play SVG */

        .video-play-icon {
            display: block;

            width: 55px;
            height: 75px;

            overflow: visible;
        }


        /* Triangle */

        .video-play-icon path {
            fill: transparent;
            stroke: #ffffff;
            stroke-width: 3.8;
            stroke-linejoin: miter;
            stroke-linecap: square;
            transition:
                fill 0.3s ease,
                stroke 0.3s ease;
                 fill: rgba(248, 242, 242, 0.08);
        }


        /* Play hover */

        .vimeo-popup-trigger:hover {
            transform:
                translate(-50%, -50%)
                scale(1.20);
        }


        .vimeo-popup-trigger:hover .video-play-icon path {
            fill: rgba(255, 255, 255, 0.08);
        }


/* Popup */
.video-popup {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.video-popup.active {
    display: flex;
}

/* Dark background */
.video-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.85);
    cursor: pointer;
}

/* Popup content */
.video-popup-content {
    position: relative;
    width: 100%;
    max-width: 1000px;
    z-index: 2;
}

/* Responsive 16:9 video */
.video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
}

.video-wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Close button */
.video-popup-close {
    position: absolute;
    right: -10px;
    top: -50px;
    width: 42px !important;
    height: 42px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 42px !important;
    line-height: 1;
    cursor: pointer;
    z-index: 3;
    background-color: #5890e500 !important;
}

body.video-popup-open {
    overflow: hidden;
}




@media (max-width: 767px) {
    .vimeo-popup-trigger {
        width: 65px;
        height: 65px;
    }

    .video-popup-close {
        right: 0;
        top: -45px;
    }
}


.footer-section {}

.footer-section .title h4 {
    font-size: 19em !important;
    font-weight: 400 !important;
/*     text-transform: uppercase; */
    letter-spacing: 8px;
    line-height: 1em !important;
 font-family: 'Modern No. 20' !important;
    }


  .footer-section  ul.menu {
    max-width: 970px;
    margin: 0px auto !important;
    padding: 0px !important;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
    .footer-section  ul.menu li {
    width: 44%;
    margin-left: 0px !important;
    text-align: center;
    margin: 0 25px;
}
    .footer-section  ul.menu li a {
    display: block !important;
    text-align: center;
    padding: 15px 10px !important;
    border: 1px solid #ffffff;
    margin-bottom: 25px;
    color: #ffffff !important;
    border-radius: 6px !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgb(0 0 0 / 0%) 100%);
    font-size: 17px !important;
}

.footer-section  ul.menu li a:hover {
    background-color: #ffffff;
    background: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(255 255 255) 100%);
    color: #000000 !important;
}

.footer-section  ul.dslc-social a.dslc-social-icon {background: #40bde600 !important;}


.press-content .dslc-post {
    border: 2px solid #fff;
    border-radius: 15px !important;
    padding: 15px;
    width: 31%;
    margin: 1%;
}
.press-content .dslc-cpt-post-title h2 {
    height: 104px;
    overflow: hidden;
}
@media screen and (max-width: 1140px){
	.hero-banner .dslc-modules-section-wrapper {
    padding: 50px 20px;
}
	.synopsis-section .title h3 {
    font-size: 7em !important;
    margin-right: 0px !important;
    margin-bottom: 30px !important;
}
	.press-content .dslc-post {
    width: 45%;
    margin: 2%;
}
	.footer-section .title h4 {
    font-size: 14em !important;
}
	.main-navigation li {
    font-size: 16px;
}
}
@media screen and (max-width: 767px) {
 .synopsis-section .title h3 {
    font-size: 4.5em !important;
/*     -webkit-text-stroke: 3px #ffffff; */
    letter-spacing: 0.2em;
    margin-bottom: 15px !important;
}
	.hero-banner .dslc-modules-section-wrapper {
    padding: 15px 20px;
}
	.press-content .dslc-post{
		width: 100%;
	}
	.press-content div.dslc-post-thumb {
    width: 100%;
    margin: 0;
}
	.press-content .dslc-cpt-post-title h2 {
    height: 100%;
}
	.footer-section .title h4 {
    font-size: 5em !important;
    letter-spacing: 5px;
}
	#menu_close_icon {
    top: 11px;
    right: 9px;
    border-radius: 5px;
}

	.press-content .dslc-post {
    margin: 0% 0% 20px;
}
	.full-height-section {
    min-height: 100vh;
    /* background-size: cover  !important; */
    /* background-position-x: -665px !important; */
}
@media (max-width: 1024px) {
    .primary-header-menu-container li {

        border-bottom: 1px solid #eeeeee29;
    }
}

.gallery-section { min-height: auto !important;}

.hero-banner {background: url(images/hero-banner-mobile.webp) !important;background-size: cover !important;background-position-x: 40% !important;}
#trailer-section {/* background: url(images/video-mobile-bg.webp) !important; */background-size: cover !important;background-position-x: 69% !important;}

.synopsis-section {  height: auto !important; padding-bottom: 310px !important;}


.synopsis-section::after {
    content: "";
    width: 100%;
    height: 410px;
    background: url(images/synopsis-ladies-v2.webp) no-repeat center bottom;
    position: absolute;
    bottom: -10px;
    left: 0;
    z-index: 0;
    background-size: contain;
}
.footer-section ul.menu li {
    width: 90%;
    margin-left: 0px !important;
    text-align: center;
    margin: 0 0px;
}
.footer-section ul.menu li a { margin-bottom:10px;}
}


.cast-section-block .dslc-modules-section-inner {width: 100% !important;}

/* =========================
   MAIN SECTION
========================= */

.cast-section-block .dslc-modules-section-wrapper { width: 100%; height: 100vh;}
.cast-section-block .dslc-modules-section-inner {width: 100% !important;}

.cast-section {
    position: relative;
    width: 100%;
    min-height: 720px;
    height: 100vh;
    overflow: hidden;
    color: #fff;
}


/* =========================
   BACKGROUNDS

   We use two layers so images
   can cross-fade smoothly.
========================= */

.cast-bg {
    position: absolute;
    inset: 0;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    transition: opacity 0.6s ease;
}

.cast-bg-one {
    z-index: 0;
    opacity: 1;
}

.cast-bg-two {
    z-index: 0;
    opacity: 0;
}


/* =========================
   DARK CINEMATIC OVERLAY
========================= */

.cast-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.58) 0%,
            rgba(0, 0, 0, 0.12) 48%,
            rgba(0, 0, 0, 0.48) 100%
        );

    pointer-events: none;
}


/* =========================
   TOP TEXT
========================= */

.cast-heading {
    position: absolute;
    z-index: 3;

    top: 52px;
    left: 40px;
}

.cast-small-title {
    display: block;
    margin-bottom: 14px;
    color: #d9bca5;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 5px;
}

.cast-heading h1 {
    /* font-family: "Playfair Display" !important; */ !important;
    font-size: clamp(26px, 2.5vw, 44px) !important;
    /* font-weight: 400 !important; */
    padding: 0px !important;
    margin: 25px 0px 0px 0px !important;
    font-family: 'Modern No. 20' !important;
}


/* =========================
   LARGE ACTIVE NAME
========================= */

.active-name {
    position: absolute;
    z-index: 3;
    left: 40px;
    bottom: 60px;
    padding: 25px 20px;
    border-left: 4px solid #fff;
    font-size: clamp(19px, 2vw, 29px);
    font-weight: 700;
    letter-spacing: 4px;
    background: linear-gradient(91deg, rgba(0, 0, 0, 1) 0%, rgb(0 0 0 / 0%) 100%);
    color: #ffffff;
}


/* =========================
   SLIDER AREA
========================= */

.cast-bottom {
    position: absolute;
    z-index: 4;

    right: 25px;
    bottom: 25px;

    width: min(680px, 60vw);
}

.see-all {
    margin-bottom: 14px;
    text-align: right;
    font-size: 14px;
	margin-right:15px;
}

.see-all b {
    margin-right: 8px;
    font-size: 24px; 
	font-weight:bold
}

.see-all a { color:#ffffff !important; font-weight:bold}


/* =========================
   THUMBNAIL LIST
========================= */

.cast-list {
    display: flex;
    gap: 28px;

    overflow-x: auto;

    padding: 4px 4px 12px;

    scroll-behavior: smooth;
    scrollbar-width: none;
}

.cast-list::-webkit-scrollbar {
    display: none;
}


/* =========================
   CAST CARD
========================= */

.cast-card {
    flex: 0 0 145px;
    padding: 0 !important;
    border: 0;
    background: transparent !important;
    color: #fff;
    cursor: pointer;
    text-align: center;
}

.cast-photo {
    position: relative;

    width: 145px;
    height: 125px;

    overflow: hidden;

    border: 2px solid rgba(255,255,255,.4);
    border-radius: 11px;

    transition:
        border-color .3s ease,
        transform .3s ease;
}

.cast-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    filter: grayscale(100%);

    transition:
        filter .35s ease,
        transform .5s ease;
}

.cast-card:hover .cast-photo {
    transform: translateY(-4px);
}

.cast-card:hover img {
    transform: scale(1.06);
}


/* name */

.cast-card h3 {
    margin-top: 10px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 1px;
    padding: 0px !important;
    margin: 10px 0px 0px 0px!important;
    text-align: center!important;
}


/* =========================
   ACTIVE CARD
========================= */

.cast-card.active .cast-photo {
    border-color: #f1d69c;
}

.cast-card.active .cast-photo img {
    filter: grayscale(0);
}

.cast-card::after {
    content: "";

    display: block;

    width: 0;
    height: 4px;

    margin: 17px auto 0;

    background: #d2a46c;
    border-radius: 20px;

    transition: width .3s ease;
}

.cast-card.active::after {
    width: 90px;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1000px) {

    .cast-bottom {
        left: 25px;
        right: 0;

        width: auto;
    }

    .active-name {
        bottom: 235px;
    }
}


@media (max-width: 600px) {

    .cast-section {
        height: 100svh;
        min-height: 680px;
    }

    .cast-heading {
        top: 30px;
        left: 20px;
    }

    .cast-small-title {
        font-size: 19px;
        letter-spacing: 2px;
    }

    .active-name {
        left: 20px;
        bottom: 215px;

        padding-left: 12px;

        font-size: 18px;
        letter-spacing: 3px;
    }

    .cast-bottom {
        left: 20px;
        bottom: 15px;
    }

    .see-all {
        padding-right: 20px;
    }

    .cast-list {
        gap: 15px;
        padding-right: 20px;
    }

    .cast-card {
        flex-basis: 115px;
    }

    .cast-photo {
        width: 115px;
        height: 100px;
    }

    .cast-card h3 {
        font-size: 12px;
    }
}

/* =========================================================
   HER SONG — CONTACT SECTION
   Designed to continue the existing dark cinematic theme
   ========================================================= */

.hs-contact-section {
    --cream: #f1eee6;
    --white: #f7f7f4;
    --muted: #aaa9a4;
    --green: #18b777;
    --green-soft: #66d7a8;
    --border: rgba(222, 229, 224, 0.48);
    --dark: #050807;

    position: relative;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 24px 45px;

    color: var(--cream);
    font-family: inherit;
    box-sizing: border-box;
}

.hs-contact-section *,
.hs-contact-section *::before,
.hs-contact-section *::after {
    box-sizing: border-box;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.hs-contact-heading {
    max-width: 760px;
    margin: 0 auto 26px;
    text-align: center;
}

.hs-contact-title-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    margin-bottom: 11px;
}

.hs-contact-title-row::before,
.hs-contact-title-row::after {
    content: "";
    width: 150px;
    max-width: 20vw;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(39, 189, 126, 0.8)
    );
}

.hs-contact-title-row::after {
    background: linear-gradient(
        90deg,
        rgba(39, 189, 126, 0.8),
        transparent
    );
}

.hs-contact-kicker {
    white-space: nowrap;
    color: #d6d6d1;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 7px;
    text-transform: uppercase;
}


/* MAIN TEXT */

.hs-contact-heading h2 {
    margin: 0 0 5px;
    color: var(--cream)  !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 2vw, 23px)  !important;
    font-weight: 400  !important;
    line-height: 1.35  !important;
    text-align: center !important;
}

.hs-contact-heading h2 em {font-style: normal;
    font-family: 'Modern No. 20' !important;
    font-size: 26px;
}

.hs-contact-heading p {
    margin: 0;
    color: var(--muted);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 14px;
    line-height: 1.5 !important;
    text-align: center !important;
}


/* =========================================================
   CARDS GRID
   ========================================================= */

.hs-contact-grid {
    position: relative;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 38px;
}


/* CENTER DIVIDER */

.hs-contact-grid::before {
    content: "";

    position: absolute;
    z-index: 4;

    top: 50%;
    left: 50%;

    width: 1px;
    height: 105px;

    transform: translate(-50%, -50%);

    background: linear-gradient(
        to bottom,
        transparent,
        rgba(34, 194, 128, 0.8),
        transparent
    );
}

.hs-contact-grid::after {
    content: "";

    position: absolute;
    z-index: 5;

    top: 50%;
    left: 50%;

    width: 5px;
    height: 5px;

    transform: translate(-50%, -50%);

    border-radius: 50%;

    background: #3bf3a5;

    box-shadow:
        0 0 5px #36e99d,
        0 0 12px rgba(54, 233, 157, .8);
}


/* =========================================================
   CONTACT CARD
   ========================================================= */

.hs-contact-card {
    position: relative;
    overflow: hidden;

    min-height: 212px;
    padding: 25px 27px;

    border: 1px solid var(--border);
    border-radius: 10px;

    background:
        radial-gradient(
            circle at 15% 30%,
            rgba(0, 103, 63, .22),
            transparent 37%
        ),
        linear-gradient(
            120deg,
            rgba(7, 14, 11, .98),
            rgba(3, 5, 4, .97)
        );

    box-shadow:
        inset 0 0 40px rgba(0,0,0,.25),
        0 8px 35px rgba(0,0,0,.16);

    transition:
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.hs-contact-card:hover {
    transform: translateY(-3px);

    border-color: rgba(67, 213, 150, .7);

    box-shadow:
        inset 0 0 45px rgba(10, 90, 57, .12),
        0 12px 38px rgba(0,0,0,.25);
}


/* Decorative cinematic glow */

.hs-contact-card::after {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    right: -85px;
    bottom: -110px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(22, 124, 78, .18),
            rgba(5, 15, 10, .06) 45%,
            transparent 70%
        );

    pointer-events: none;
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.hs-card-inner {
    position: relative;
    z-index: 2;

    display: flex;
    gap: 22px;
}


/* ICON */

.hs-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    border: 1px solid rgba(62, 213, 149, .42);
    border-radius: 50%;

    color: #fff;

    background:
        radial-gradient(
            circle,
            rgba(19, 137, 86, .55),
            rgba(5, 29, 20, .82)
        );

    box-shadow:
        0 0 20px rgba(17, 164, 99, .15);
}

.hs-icon svg {
    width: 27px;
    height: 27px;
}


/* CONTENT */

.hs-card-content {
    flex: 1;
    min-width: 0;
}

.hs-label {
    display: block;

    margin: 3px 0 5px;

    color: #aaa9a4;

    font-size: 10px;
    font-weight: 600;

    letter-spacing: 3px;
    text-transform: uppercase;
}

.hs-card-content h3 {
    margin: 0 0 13px;
    color: var(--cream);
    font-size: 28px !important;
    font-weight: 400;
    line-height: 1.15;
    padding: 0px !important;
    margin: 0px !important;
    font-family: "Poppins" !important;
}

.hs-card-description {
    max-width: 310px;
    margin: 0 0 19px;
    color: #b5b5b0;
    font-size: 15px !important;
    line-height: 1.6;
    padding: 20px 0px !important;
    margin: 0px !important;
}


/* =========================================================
   INSTAGRAM BUTTON
   ========================================================= */

.hs-instagram-button {
    display: flex;
    align-items: center;

    width: 100%;
    max-width: 275px;

    padding: 11px 15px;

    border: 1px solid #1bd58b;
    border-radius: 8px;

    color: var(--cream) !important;

    background:
        linear-gradient(
            90deg,
            rgba(8, 87, 57, .62),
            rgba(3, 21, 14, .38)
        );

    text-decoration: none !important;

    transition:
        background .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

.hs-instagram-button:hover {
    transform: translateY(-1px);

    background:
        linear-gradient(
            90deg,
            rgba(12, 118, 75, .75),
            rgba(4, 38, 24, .6)
        );

    box-shadow:
        0 0 20px rgba(22, 207, 132, .14);
}

.hs-instagram-button svg {
    width: 23px;
    height: 23px;

    margin-right: 15px;
}

.hs-instagram-button strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    font-weight: 600;
}

.hs-instagram-arrow {
    margin-left: auto;

    color: #fff;

    font-size: 24px;
    font-weight: 300;
    line-height: 1;
}


/* =========================================================
   PRESS INFORMATION
   ========================================================= */

.hs-press-name {
    margin-bottom: 15px;
    margin-top: 15px;
}

.hs-press-name strong {
    display: block;

    margin-bottom: 2px;

    color: var(--cream);

    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
}

.hs-press-name span {
    color: #aaa9a4;
    font-size: 13px;
}


/* DETAILS */

.hs-press-details {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.hs-detail {
    display: flex;
    align-items: center;
    gap: 11px;
    width: fit-content;
    max-width: 100%;
    color: #d6d5d0 !important;
    font-size: 14px;
    line-height: 1.3;
    text-decoration: none !important;
    transition: color .2s ease;
}

.hs-detail:hover {
    color: #55dda7 !important;
}

.hs-detail svg {
    flex: 0 0 17px;

    width: 17px;
    height: 17px;

    color: #17c983;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .hs-contact-section {
        padding-left: 20px;
        padding-right: 20px;
    }

    .hs-contact-grid {
        gap: 22px;
    }

    .hs-contact-card {
        padding: 23px 20px;
    }

    .hs-card-inner {
        gap: 16px;
    }

    .hs-icon {
        flex-basis: 50px;

        width: 50px;
        height: 50px;
    }

    .hs-icon svg {
        width: 23px;
        height: 23px;
    }

    .hs-card-content h3 {
        font-size: 24px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    .hs-contact-section {
        padding: 25px 15px 40px;
    }

    .hs-contact-heading {
        margin-bottom: 23px;
    }

    .hs-contact-title-row {
        gap: 11px;
    }

    .hs-contact-title-row::before,
    .hs-contact-title-row::after {
        width: 55px;
    }

    .hs-contact-kicker {
        font-size: 10px;
        letter-spacing: 4px;
    }

    .hs-contact-heading h2 {
        padding: 0 10px;
        font-size: 18px;
    }

    .hs-contact-heading p {
        padding: 0 10px;
        font-size: 13px;
    }


    /* stack cards */

    .hs-contact-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .hs-contact-grid::before,
    .hs-contact-grid::after {
        display: none;
    }

    .hs-contact-card {
        min-height: 0;
        padding: 24px 20px;
    }

    .hs-card-inner {
        gap: 15px;
    }

    .hs-card-content h3 {
        font-size: 24px;
    }

    .hs-instagram-button {
        max-width: 100%;
    }
}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 440px) {

    .hs-card-inner {
        display: block;
    }

    .hs-icon {
        width: 48px;
        height: 48px;

        margin-bottom: 14px;
    }

    .hs-card-content h3 {
        font-size: 23px;
    }

    .hs-card-description {
        max-width: 100%;
    }

    .hs-detail {
        overflow-wrap: anywhere;
    }
}


.inner-page-banner {
    min-height: 65vh;
}
.inner-page-banner::after {
    content: "";
    width: 100%;
    height: 500px;
    background: url(images/banner-base-bg.png) no-repeat left bottom;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}
.title-block {}
/* .inner_page_banner .dslc-bg-video .dslc-bg-video-overlay {opacity: 0.50 !important;  background: linear-gradient(360deg, rgb(0 0 0) 0%, rgb(0 0 0 / 0%) 49%, rgb(0 0 0 / 0%) 100%) !important;} */
.inner-page-banner .title-block h1 {font-family: 'Modern No. 20' !important;margin: 0px 0px 10px 0px !important;font-size: 5em !important;display: block;line-height: 1.1em !important;position: relative;padding-bottom: 20px;}
.inner-page-banner .title-block h1::after {background-color: #ffffff;width: 138px;height: 3px;border-radius:10px;content: "";position: absolute;bottom: 10px;left: 0;}

.inner-page-banner .title-block h4 {
    width: 100%;
    margin: 0px !important;
    text-transform: u;
}
.inner-page-banner .title-block p {
    padding: 0px !important;
    margin: 0px !important;
    color: #d3d3d3 !important;
}



/* ================================
   SCREENING CARD
================================ */

.screening-card {
    position: relative;
    width: 100%;
    max-width: 850px;
    min-height: 440px;
    padding: 50px;
    box-sizing: border-box;
    overflow: hidden;
    /* background:
        linear-gradient(
            90deg,
            rgba(7, 8, 9, 0.99) 0%,
            rgba(7, 8, 9, 0.97) 55%,
            rgba(7, 8, 9, 0.78) 100%
        ),
        url('YOUR-MAP-IMAGE-URL.jpg') right center / auto 100% no-repeat; */
    color: #ffffff;
    /* font-family: Arial, Helvetica, sans-serif; */
}


/* ================================
   NUMBER
================================ */

.screening-card .laemmle-tour-number {
    position: absolute;
    top: 44px;
    left: 20px;
    margin: 0;
    font-family: 'Modern No. 20' !important;
    font-size: 68px;
    line-height: 1;
    font-weight: 400;
    color: #777777;
    display: none;
}


/* ================================
   LOCATION LABEL
================================ */

.screening-card .laemmle-tour-location {
    margin: 0 0 10px;
    color: #c1986b;
    /* font-family: Arial, Helvetica, sans-serif; */
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
}


/* ================================
   TITLE
================================ */

.screening-card .laemmle-tour-title {
    margin: 0 0 16px !important;
    padding: 0;
    color: #ffffff;
    font-family: 'Modern No. 20' !important;
    font-size: 38px !important;
    line-height: 1.15 !important;
    font-weight: 400;
}


/* ================================
   INFO ROW
================================ */

.screening-card .laemmle-tour-info {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 12px 0;
    color: #eeeeee;
    /* font-family: Arial, Helvetica, sans-serif; */
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
}


/* ================================
   SVG ICONS
================================ */

.screening-card .laemmle-tour-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 19px;
    height: 19px;
    flex: 0 0 19px;

    color: #c1986b;
}

.screening-card .laemmle-tour-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}


/* ================================
   DIVIDER
================================ */

.screening-card .laemmle-tour-divider {
    width: 20px;
    height: 1px;

    margin: 22px 0;

    background: #777777;
}


/* ================================
   DESCRIPTION
================================ */

.screening-card .laemmle-tour-description {
    max-width: 410px;
    margin: 0 0 25px !important;
    padding: 0;
    color: #d8d8d8;
    font-size: 15px !important;
    line-height: 1.55 !important;
}


/* ================================
   BUTTON
================================ */

.screening-card .laemmle-tour-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 17px 30px;
    background: #c1986b;
    color: #ffffff !important;
    /* font-family: Arial, Helvetica, sans-serif; */
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    border: 0;
    transition:
        background-color 0.25s ease,
        transform 0.25s ease;
}

.screening-card .laemmle-tour-button:hover {
    background: #aa8056;
    color: #ffffff !important;
    transform: translateY(-2px);
}


/* ================================
   BUTTON ARROW
================================ */

.screening-card .laemmle-tour-arrow {
    display: inline-flex;
    align-items: center;
}

.screening-card .laemmle-tour-arrow svg {
    display: block;
    width: 17px;
    height: 17px;
}




/* ================================
   Festivals
================================ */

.out_fastive {
	padding-left:0 !important;
}

.match_festivals h2, .match_festivals h3 {
    font-family: 'Modern No. 20' !important;
}
.match_festivals .date_fastive {
    margin: 0 0 10px;
    color: #c1986b;
}

.out_fastive .dslc-modules-section-wrapper {
    z-index: 9;
}

.out_fastive .match_festivals {
    z-index: 9;
}

.out_fastive .dslc-modules-section-wrapper::after {
	    content: '';
    background-image: linear-gradient(90deg, #00000000 0%, #000000 36%);
    position: absolute;
    right: 0;
    height: 100%;
    top: 0;
    width: 80%;
    z-index: 1;
}
.right_fastive_img_after img {
	display:none !important;
}



/* ================================
   Cast and Crew
================================ */

.main_cast_crew .dslc-modules-section-wrapper {
    display: flex;
    align-content: stretch;
	}	
	
.main_cast_crew .cast_top_box {
        margin-bottom:25px !important;
}

.main_cast_crew .cast_top_box .dslc-module-front {
	height:100%;
}

.main_cast_crew .cast_top_box .dslc-module-front .dslc-html-module-content {
	height:100%;
}


.cast_top_box .dslc-html-module-content {
	display: flex;
    border:1px solid rgba(214, 166, 93, 0.22);
	align-items: flex-start;
    border-radius: 15px !important;
	overflow:hidden !important;
	background: radial-gradient(circle at 0% 100%, rgba(183, 120, 46, 0.07), transparent 27%), linear-gradient(115deg, #17140f 0%, #0d0c09 45%, #12100c 100%);
	transition: .3s all ease;
	
}
.cast_top_box .dslc-html-module-content:hover {
	border-color:rgb(214 166 93 / 77%);	
}
.cast_top_box .dslc-html-module-content:hover img {
	transform: scale(1.1);
}

.cast_top_box .label_name {
	font-size:55px;
	color: #c47675 !important;
}


.cast_top_box h2 {
    font-family: 'Modern No. 20' !important;
}
 .cast_top_box h2 br {
        display:none;
}
.cast_top_box .label_name {
    font-family: 'Modern No. 20' !important;
}

.cast_top_box .short_name_cast {
    font-family: 'Modern No. 20' !important;
    color:#c1986b !important;
    font-size: 22px;
    margin:20px 0 6px 0;
}

.cast_top_box .top_cast_content {
	padding: 0px 40px 0 40px !important;
    width: 63%;
}

.cast_top_box img {
    width: 50%;
	transition: .4s all ease;
}

.cast_top_box .bio_button svg{
    stroke: #c47675 !important;
}
.cast_top_box .bio_button:hover svg{
    stroke: #ffffff !important;
}
.cast_top_box .bio_button {
        display: flex;
    color: #fff;
    align-items: center;
    gap: 4px;
	font-size: 17px;
	color: #c47675 !important;
}
.cast_top_box .bio_button:hover {
	color: #ffffff !important;
}
.cast_top_box .bio_button .laemmle-tour-arrow {
    color: #c47675 !important;
    width: 20px !important;
    display: block;
	height: 20px;
}


.bottom_cast_box .dslc-html-module-content {
    flex-direction: column;
}
.bottom_cast_box .top_cast_content {
    padding:32px 30px 32px 32px !important;
    width: 100%;
}
.bottom_cast_box img {
    width: 100%;
}
.bottom_cast_box .short_name_cast {
    margin: 18px 0 14px 0;
}


/* Parent Class */
.cast_top_box .social-links {
    list-style: none !important;
    padding: 0;
    margin:0 !important;
    display: flex;
    gap: 15px; /* Icons ke beech ka distance */
    align-items: center;
}
.cast_top_box .social-links li {
    margin:0 !important;
}

/* Link styling */
.cast_top_box .social-links a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Icon container styling */
.cast_top_box .laemmle-tour-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;  /* Container width */
    height: 28px; /* Container height */
    border-radius: 50%;
    color: #ffffff; /* White color */
    transition: all 0.3s ease; /* Smooth animation */
}

/* SVG Icon sizing & white color */
.cast_top_box .laemmle-tour-arrow svg {
    width: 22px;
    height: 22px;
    stroke: #ffffff; /* White color stroke */
}

/* Hover Effect */
.cast_top_box .social-links a:hover .laemmle-tour-arrow {
    opacity: 0.8;
    transform: translateY(-2px); /* Slight lift effect */
}




.table_cast_crewdata .dslc-modules-section-wrapper {
    margin: 0;
    width: 100%;
}

/* =========================================
   FULL CAST - SCOPED PARENT
   Parent: .cast_foetabe_design
========================================= */

.cast_foetabe_design .cast-section {
  --gold: #c1986b;
  --gold-light: #c1986b;
  --text: #f4f4f4;
  --muted-line: rgba(255, 255, 255, 0.18);
  --panel-border: rgba(232, 173, 67, 0.22);
	height: auto;
        min-height: auto;
}

.cast_foetabe_design .cast-card::after {
    display: none;
}


/* Main Card */

.cast_foetabe_design .cast-card {
  width: min(100%, 1000px);
    margin: 0 auto;
    padding: 32px 34px 38px !important;
    box-sizing: border-box;
    border: 1px solid var(--panel-border);
    border-radius: 22px;
	cursor:auto;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}


/* ================================
   HEADER
================================ */

.cast_foetabe_design .cast-header {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
}


/* Icon */

.cast_foetabe_design .cast-icon {
  width: 74px;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
}

.cast_foetabe_design .cast-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* Title */

.cast_foetabe_design .cast-title span {
  display: block;
  margin-bottom: 2px;
  color: var(--gold-light);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 7px;
}

.cast_foetabe_design .cast-title h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: -2px;
}


/* Gold Line */

.cast_foetabe_design .cast-header-line {
  height:1px;
  margin-left: 8px;

  background: linear-gradient(
    90deg,
    var(--gold),
    var(--gold-light)
  );

  opacity: 0.95;
}


/* ================================
   CAST LIST
================================ */

.cast_foetabe_design .cast-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}


/* Individual Row */

.cast_foetabe_design .cast-row {
  min-height: 38px;
  text-align: left;

  display: grid;
  grid-template-columns: 190px 1fr;
  align-items: center;

  padding: 4px 18px;

  border-radius: 7px;
  box-sizing: border-box;

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}


/* Alternating Rows */

.cast_foetabe_design .cast-row:nth-child(odd) {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.035),
    rgba(255, 255, 255, 0.055)
  );
}


/* Hover */

.cast_foetabe_design .cast-row:hover {
  background: rgba(232, 173, 67, 0.07);
  transform: translateX(3px);
}


/* Character */

.cast_foetabe_design .character {
  position: relative;
  padding-right: 20px;

  color: var(--gold);

  font-size: 16px;
  font-weight: 600;
}


/* Divider */

.cast_foetabe_design .character::after {
  content: "";

  position: absolute;
  top: 50%;
  right: 0;

  width: 1px;
  height: 22px;

  background: var(--muted-line);

  transform: translateY(-50%);
}


/* Actor */

.cast_foetabe_design .actor {
  padding-left: 46px;

  color: #e8e8e8;

  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
}


/* ================================
   TABLET
================================ */

@media (max-width: 768px) {

  .cast_foetabe_design .cast-section {
    padding: 40px 18px;
  }

  .cast_foetabe_design .cast-card {
    padding: 26px 22px 30px !important;
    border-radius: 18px;
  }

  .cast_foetabe_design .cast-header {
    grid-template-columns: auto auto 1fr;
    gap: 15px;
    margin-bottom: 24px;
  }

  .cast_foetabe_design .cast-icon {
    width: 58px;
    height: 58px;
  }

  .cast_foetabe_design .cast-title span {
    font-size: 12px;
    letter-spacing: 5px;
  }

  .cast_foetabe_design .cast-title h2 {
    font-size: 44px;
  }

  .cast_foetabe_design .cast-row {
    grid-template-columns: 160px 1fr;
    padding: 5px 14px;
  }

  .cast_foetabe_design .character,
  .cast_foetabe_design .actor {
    font-size: 15px;
  }

  .cast_foetabe_design .actor {
    padding-left: 28px;
  }
}


/* ================================
   MOBILE
================================ */

@media (max-width: 520px) {

  .cast_foetabe_design .cast-section {
    padding: 25px 12px;
  }

  .cast_foetabe_design .cast-card {
    padding: 22px 14px 24px !important;
    border-radius: 16px;
  }

  .cast_foetabe_design .cast-header {
    grid-template-columns: 48px auto 1fr;
    gap: 12px;
  }

  .cast_foetabe_design .cast-icon {
    width: 48px;
    height: 48px;
  }

  .cast_foetabe_design .cast-title span {
    font-size: 10px;
    letter-spacing: 4px;
  }

  .cast_foetabe_design .cast-title h2 {
    font-size: 36px;
    letter-spacing: -1px;
  }

  .cast_foetabe_design .cast-header-line {
    margin-left: 2px;
  }


  /* Stack Character + Actor */

  .cast_foetabe_design .cast-row {
    grid-template-columns: 1fr;
    padding: 10px 12px;
    gap: 3px;
  }

  .cast_foetabe_design .character {
    padding-right: 0;
    font-size: 14px;
  }

  .cast_foetabe_design .character::after {
    display: none;
  }

  .cast_foetabe_design .actor {
    padding-left: 0;
    font-size: 15px;
  }
}


/* ================================
   VERY SMALL SCREENS
================================ */

@media (max-width: 360px) {

  .cast_foetabe_design .cast-header {
    grid-template-columns: 42px auto;
  }

  .cast_foetabe_design .cast-icon {
    width: 42px;
    height: 42px;
  }

  .cast_foetabe_design .cast-header-line {
    display: none;
  }

  .cast_foetabe_design .cast-title h2 {
    font-size: 32px;
  }
}


/* =========================================
   FULL CREW - SCOPED PARENT
   Parent: .crew_foetabe_design
========================================= */

.crew_foetabe_design .crew-section {
  --gold: #c1986b;
  --gold-light: #c1986b;
  --text: #f4f4f4;
  --muted-line: rgba(255, 255, 255, 0.18);
  --panel-border: rgba(232, 173, 67, 0.22);
}


/* =====================================
   CARD
===================================== */

.crew_foetabe_design .crew-card {
  width: min(100%, 1000px);
  margin: 0 auto;
  padding: 32px 34px 38px;
  box-sizing: border-box;
  border: 1px solid var(--panel-border);
  border-radius: 22px;

  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.025);
}


/* =====================================
   HEADER
===================================== */

.crew_foetabe_design .crew-header {
  display: grid;

  grid-template-columns:
    auto
    auto
    minmax(80px, 1fr);

  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
}


/* Camera Icon */

.crew_foetabe_design .crew-icon {
  width: 74px;
  height: 74px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--gold);
}

.crew_foetabe_design .crew-icon svg {
  width: 100%;
  height: 100%;

  fill: none;
  stroke: currentColor;

  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* =====================================
   TITLE
===================================== */

.crew_foetabe_design .crew-title span {
  display: block;

  margin-bottom: 2px;

  color: var(--gold-light);

  font-size: 15px;
  font-weight: 600;

  letter-spacing: 7px;
}

.crew_foetabe_design .crew-title h2 {
  margin: 0;

  color: #fff;

  font-size: clamp(42px, 5vw, 64px);
  font-weight: 900;

  line-height: 0.95;
  letter-spacing: -2px;
}


/* Header Line */

.crew_foetabe_design .crew-header-line {
  height:1px;
  margin-left: 8px;

  background: linear-gradient(
    90deg,
    var(--gold),
    var(--gold-light)
  );

  opacity: 0.95;
}


/* =====================================
   CREW LIST
===================================== */

.crew_foetabe_design .crew-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}


/* Individual Crew Row */

.crew_foetabe_design .crew-row {
  min-height: 38px;

  display: grid;

  /*
     Left = job title
     Right = name(s)
  */
  grid-template-columns:
    minmax(220px, 32%)
    minmax(0, 1fr);

  align-items: center;

  padding: 5px 18px;

  box-sizing: border-box;
  border-radius: 7px;

  transition:
    background 0.25s ease,
    transform 0.25s ease;
}


/* Alternating Background */

.crew_foetabe_design .crew-row:nth-child(odd) {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.035),
    rgba(255, 255, 255, 0.055)
  );
}


/* Hover */

.crew_foetabe_design .crew-row:hover {
  background: rgba(232, 173, 67, 0.07);
  transform: translateX(3px);
}


/* =====================================
   ROLE
===================================== */

.crew_foetabe_design .crew-role {
  position: relative;

  padding-right: 22px;

  color: var(--gold);

  font-size: 15px;
  font-weight: 600;

  line-height: 1.35;
}


/* Vertical Divider */

.crew_foetabe_design .crew-role::after {
  content: "";

  position: absolute;

  top: 50%;
  right: 0;

  width: 1px;
  height: 24px;

  background: var(--muted-line);

  transform: translateY(-50%);
}


/* =====================================
   NAME
===================================== */

.crew_foetabe_design .crew-name {
  min-width: 0;

  padding-left: 34px;

  color: #e8e8e8;

  font-size: 15px;
  font-weight: 400;

  line-height: 1.4;

  overflow-wrap: anywhere;
}


/* =====================================
   TABLET
===================================== */

@media (max-width: 768px) {

  .crew_foetabe_design .crew-section {
    padding: 40px 18px;
  }

  .crew_foetabe_design .crew-card {
    padding: 26px 22px 30px;
    border-radius: 18px;
  }


  /* Header */

  .crew_foetabe_design .crew-header {
    grid-template-columns:
      auto
      auto
      1fr;

    gap: 15px;
    margin-bottom: 24px;
  }

  .crew_foetabe_design .crew-icon {
    width: 58px;
    height: 58px;
  }

  .crew_foetabe_design .crew-title span {
    font-size: 12px;
    letter-spacing: 5px;
  }

  .crew_foetabe_design .crew-title h2 {
    font-size: 44px;
  }


  /* Rows */

  .crew_foetabe_design .crew-row {
    grid-template-columns:
      minmax(180px, 38%)
      minmax(0, 1fr);

    padding: 6px 14px;
  }

  .crew_foetabe_design .crew-role,
  .crew_foetabe_design .crew-name {
    font-size: 14px;
  }

  .crew_foetabe_design .crew-name {
    padding-left: 25px;
  }
}


/* =====================================
   MOBILE
===================================== */

@media (max-width: 520px) {

  .crew_foetabe_design .crew-section {
    padding: 25px 12px;
  }

  .crew_foetabe_design .crew-card {
    padding: 22px 14px 24px;
    border-radius: 16px;
  }


  /* Header */

  .crew_foetabe_design .crew-header {
    grid-template-columns:
      48px
      auto
      1fr;

    gap: 12px;
  }

  .crew_foetabe_design .crew-icon {
    width: 48px;
    height: 48px;
  }

  .crew_foetabe_design .crew-title span {
    font-size: 10px;
    letter-spacing: 4px;
  }

  .crew_foetabe_design .crew-title h2 {
    font-size: 36px;
    letter-spacing: -1px;
  }

  .crew_foetabe_design .crew-header-line {
    margin-left: 2px;
  }


  /* Stack Role + Name */

  .crew_foetabe_design .crew-row {
    grid-template-columns: 1fr;

    gap: 4px;

    padding: 10px 12px;
  }

  .crew_foetabe_design .crew-role {
    padding-right: 0;
    font-size: 14px;
  }

  .crew_foetabe_design .crew-role::after {
    display: none;
  }

  .crew_foetabe_design .crew-name {
    padding-left: 0;

    font-size: 14px;
    line-height: 1.45;
  }
}


/* =====================================
   VERY SMALL MOBILE
===================================== */

@media (max-width: 360px) {

  .crew_foetabe_design .crew-header {
    grid-template-columns:
      42px
      auto;
  }

  .crew_foetabe_design .crew-icon {
    width: 42px;
    height: 42px;
  }

  .crew_foetabe_design .crew-header-line {
    display: none;
  }

  .crew_foetabe_design .crew-title h2 {
    font-size: 32px;
  }
}





	

@media (max-width:1480px) {
	
	.hersong-carousel-nav .hersong-prev {
    left: -32px;
}
	.hersong-carousel-nav .hersong-next {
    right: -32px;
}
	
	.press_from .dslc-html-module-content {
    font-size: 32px !important;
		    line-height: 44px;
}
	
.screnning-home-section .title-block h3 {
    font-size: 3em !important;
}
.screnning-home-section .title-block h4 {
    font-size: 18px !important;
}
	
	.out_fastive {
    background-position:left -23% center !important;
}
	
	.hs-review .hs-quote {
    font-size: clamp(22px, 2.35vw, 25px) !important;
}
	
.out_fastive .dslc-modules-section-wrapper::after {
    background-image: linear-gradient(90deg, #00000000 0%, #000000 42%);
}
	
.hersong-press-component .hersong-press-card {
    height: 500px;
}
	
	.hersong-press-component .hersong-press-title a {
    font-size: 17px;
}
	
	.inner-page-banner .title-block h1 {
    font-size: 3.5em !important;
}
.footer-section .title h4 {
    font-size: 15em !important;
}	
	
.hersong-press-component .hersong-press-image {
    height:280px;
}
	
.footer-section .title h4 {
    font-size: 15em !important;
}
	
.footer-section ul.menu li {
    width: 39%;
}
    .cast_top_box img {
        width: 44%;
        border-radius: 18px;
    }
.bottom_cast_box img {
    width: 100%;
}
	    
.cast_top_box .top_cast_content {
    padding: 0px 30px 0 30px !important;
}
	
.cast_top_box .bio_button {
    font-size: 12px !important;
}
	
.cast_top_box .label_name {
    font-size: 40px;
}
	
.cast_top_box p {
            margin-top: 10px !important;
        margin-bottom: 10px !important;
        margin-right: 0 !important;
        line-height: 21px !important;
        font-size: 14px !important;
}
	
.cast_top_box .short_name_cast {
    font-size: 16px !important;
    margin:17px 0 8px 0 !important;
}
.cast_top_box h2 {
    font-size: 32px !important;
    line-height: 35px !important;
}
.bottom_cast_box h2 {
        font-size: 22px !important;
        line-height: 29px !important;
    }
	.bottom_cast_box .top_cast_content {
        padding: 20px 15px 16px 18px !important;
    }
	    .bottom_cast_box .short_name_cast {
        margin: 8px 0 5px 0 !important;
    }
.match_festivals p {
    font-size:15px !important;
    line-height:21px !important;
}
.match_festivals h3 {
    font-size: 19px !important;
        margin: 8px 0 0 0 !important;
        line-height: 22px !important;
}
.match_festivals h2 {
    font-size:38px !important;
	margin:18px 0 0 0 !important;
}
.match_festivals .official_logo img {
    max-width:75% !important;
}
	
}


@media (max-width:1400px) {
	
    .hersong-press-component .hersong-press-card {
        height: 420px;
    }
	
	.hersong-press-component .hersong-press-author {
    font-size: 13px;
}
	
}



/* ================================
   TABLET
================================ */
@media (max-width:1360px) {
	
	.out_fastive {
        background-position: left -30% center !important;
    }
	
.screening-section .dslc-modules-area { background-size: 38% !important;}
	
	 .cast_top_box .top_cast_content {
        padding: 0px 30px 0 9px !important;
    }
	
	.cast_top_box .dslc-html-module-content {
    padding:15px !important;
}

}
@media (max-width:1300px) {
	
	   .out_fastive {
        background-position: left -35% center !important;
    }
	
    .cast_top_box h2 {
        font-size: 28px !important;
        line-height: 30px !important;
    }
	
 }


@media (max-width:1230px) {
	
	   .out_fastive {
        background-position: left -45% center !important;
		   padding-right: 0 !important;
    }
	
}	

@media (max-width:1160px) {
	
.out_fastive {
        background-position: left -80% center !important;
 }
	
}	


@media (max-width:1090px) {
	.out_fastive {
        background-position: left -290% center !important;
 }
	
}


@media (max-width:1024px) {
.cast_top_box img {
        border-radius:0;
    }
 }



@media (max-width:1000px) {
	
	    .out_fastive {
        background-size: cover !important;
			background-position: center !important;
    }
	
.out_fastive {
    padding-right: 0 !important;
}
    .out_fastive .dslc-modules-section-wrapper::after {
        background-image: linear-gradient(90deg, #00000000 0%, #000000fc 83%);
    }
	
}

@media (max-width: 767px) {
	.screening-card {
    padding: 50px 50px 30px 0px;
  }  
		
.screnning-home-section .title-block h4 {
    margin-left: 0 !important;
}
	
	.right_fastive_img_after img {
    display: block !important;
}
	
	.footer-section ul.menu li {
        width: 42%;
    }
	
	    .footer-section .title h4 {
        font-size:8em !important;
    }
	
    .cast_top_box .dslc-html-module-content {
        align-items: flex-start;
        flex-direction: row;
        display: flex;
        gap: 30px;
    }
	
	    .bottom_cast_box .dslc-html-module-content {
        align-items: flex-start;
			flex-direction: column;
    }
	
	
.match_festivals {
	padding:6% 4% 2% 4% !important;
}
.out_fastive {
	padding:0 !important;
}
    .out_fastive .dslc-modules-section-wrapper::after {
        display:none !important;
    }
	.out_fastive {
            background-image: none !important;
}
.right_fastive_img_after img !important{
	display:block;
}
.right_fastive_img_after .dslc-image::after {
	display:none !important;
}
	
	
}


	
@media (max-width: 700px) {
	
    .screening-card {
        min-height: auto;
        padding: 45px 30px 45px 05px;
        background-position: right center;
    }

    .screening-card .laemmle-tour-number {
        top: 45px;
        left: 20px;
        font-size: 38px;
    }
    

    .screening-card .laemmle-tour-location {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .screening-card .laemmle-tour-title {
        font-size: 31px;
    }

    .screening-card .laemmle-tour-info {
        font-size: 14px;
    }

    .screening-card .laemmle-tour-description {
        font-size: 14px;
    }
}


/* ================================
   MOBILE
================================ */

@media (max-width:500px) {
	
	   .hersong-press-component .hersong-press-image {
        height: 360px !important;
    }
	
	    .hersong-press-component .hersong-press-card {
        height: auto;
    }
	
	.footer-section ul.menu li {
        width: 48%;
    }
	
	    .footer-section .title h4 {
        font-size: 5em !important;
    }
	
	.inner-page-banner .title-block h1 {
        font-size: 2.5em !important;
    }
	
.cast_top_box .dslc-html-module-content {
        flex-direction: column-reverse;
        padding: 23px 17px !important;
    }
	
	  .cast_top_box .top_cast_content {
        padding:0 !important;
        width: 100%;
    }
	       .cast_top_box img {
        width: 100%;
        border-radius: 15px;
    }

    .screening-card {
        padding:32px 22px 32px 0;

        background:
            linear-gradient(
                rgba(7, 8, 9, 0.94),
                rgba(7, 8, 9, 0.94)
            ),
            url('YOUR-MAP-IMAGE-URL.jpg')
            center / cover no-repeat;
    }

    .screening-card .laemmle-tour-number {
        position: static;
        margin-bottom: 16px;
        font-size: 34px;
    }

    .screening-card .laemmle-tour-location {
        font-size: 10px;
    }

    .screening-card .laemmle-tour-title {
        margin-bottom: 22px;
        font-size: 28px;
    }

    .screening-card .laemmle-tour-info {
        align-items: flex-start;
        gap: 10px;
        font-size: 13px;
    }

    .screening-card .laemmle-tour-icon {
        margin-top: 1px;
        width: 18px;
        height: 18px;
        flex-basis: 18px;
    }

    .screening-card .laemmle-tour-description {
        font-size: 13px;
    }

    .screening-card .laemmle-tour-button {
        padding: 15px 22px;
        font-size: 11px;
    }
}


.screening-section { border-bottom: 1px solid #eeeeee54 !important;}
.screening-section .screen-block {}
.screening-section .screen-block .dslc-image {transform: translateY(0px); transition: all .2s;}
.screening-section:hover .screen-block .dslc-image {transform: translateY(-2px);}
.screening-section .screen-block .dslc-image {
    /* max-width: 1000px; */
    /* border-radius: 16px; */
    /* overflow: hidden; */
    /* background: #ffffff; */
    /* box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15), 0 8px 20px rgba(0, 0, 0, 0.08); */
    /* border: 2px solid #eeeeee2e; */
    /* border-radius: 15px !important; */
    } 



.screening-section .screen-block .dslc-image img {box-shadow: 0 0px 0px 1px #d6b07187 !important;transition: all .2s;}
.screening-section:hover .screen-block .dslc-image img {box-shadow: 0 2px 0px 12px #d6b071 !important; transition: all .2s;}




.screening-section:hover .screening-card::after { opacity: 1; transition: all .2s;}
.screening-section .screening-card::after {
    content: "";
    width: 60%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: linear-gradient(
49deg, rgb(33 33 33) 0%, rgb(0 0 0 / 0%) 70%);
    opacity: 0;
} 

/* .screening-section .dslc-modules-section-wrapper:before {
    content: "";
    opacity: .2;
    pointer-events: none;
    z-index: 2;
    border-style: solid;
    border-width: 5px;
    border-image-source: linear-gradient(60deg, #009cff80, #c82fff80);
    border-image-slice: 1;
    transition: opacity .4s ease-out;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    box-shadow: inset 0 0 4rem #0000004d;
}

.screening-section:hover .dslc-modules-section-wrapper:before {
        opacity: 1;
    } */




.screnning-home-section {}
.screnning-home-section .title-block h4 {
    color: #c1986b;
    font-size: 22px !important;
    font-weight: 700 !important;
    font-family: "Poppins" !important;
    font-style: normal;
    line-height: 29px;
    margin-top: 15px;
    margin-bottom: 15px;
    margin-left: 15px;
    margin-right: 15px;
    text-align: center;
    }

    .screnning-home-section .title-block h3 {
    font-size: 5em !important;
    /* font-weight: bold !important; */
    letter-spacing: 0px;
    color:#ffffff;
    /*     -webkit-text-stroke: 2px #ffffff; */
    font-weight: 300;
    margin-bottom: 45px !important;
    display: block;
    font-family: 'Modern No. 20' !important;
    line-height: 1.1em !important;
		margin-left:0 !important;
    }

@media (max-width: 767px) {
    .screnning-home-section .title-block h3 {
        font-size: 4em !important;
        margin-left: 0 !important;
    }
}

