﻿
/*  Cairo FESTIVAL LANDING PAGE */

/* --- Global reset --- */
section {
    background: none;
    margin: 0;
    float: none;
}

.cairoFestivalLandingPage {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #FFFFFF;
}

.content {
    padding: 0 !important;
}

.content-wrap {
    width: 100% !important
}
/* Intro section */

.introSection {
    background-image: url("../Images/CairoFestival/CairoFestivalIntro.webp");
    background-position: center;
    background-size: auto 100%;
    width: 100%;
    height: calc(100vh - 50px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 50px;
    font-size: 54px;
    line-height: 120px;
    color: #fff;
    font-family: 'DroidKufiBold';
    position: relative;
}

.introSection div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.introSection svg {
   position: absolute;
   bottom: 20px;
   z-index: 2;
}

.floating-animation {
    animation: moveUpDown 1s ease-in-out infinite alternate;
    position: absolute;
    bottom: 20px;
    z-index: 2;
}

@keyframes moveUpDown {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-8px);
    }
}

.introSection .masrawy {
        color: #e03322;
    }

/* NEWS SECTION */
.cairoFestivalLandingPage .newsCairoFestival .pattern01 {
    height: auto;
    display: flex;
    width: 100%;
    padding: 50px 300px 30px;
    overflow: hidden;
}

.cairoFestivalLandingPage .newsCairoFestival {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-image: url("../Images/CairoFestival/news.webp");
    background-repeat: no-repeat;
    background-size: 100% auto;
    padding-bottom: 50px;
    background-position: bottom;
}


/* Shared Pattern Styles */
.cairoFestivalLandingPage .pattern01 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 80%;
    margin: 0 auto;
}

.cairoFestivalLandingPage .pattern01 .ttl {
        border: none;
        background: none;
        float: none;
}

.cairoFestivalLandingPage .pattern01 .ttl h3 {
            display: block;
            color: #111;
            font-size: 42px;
            font-family: DroidKufiBold, Arial;
            text-align: center;
            background: none;
            float: none;
            padding: 0;
            line-height: 50px;
}

.cairoFestivalLandingPage .pattern01 .allItems ul {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        list-style: none;
        padding: 0;
        margin: 0;
}

    /* Card styling */
    .cairoFestivalLandingPage .pattern01 .allItems li.newsCairoFestival {
        background: #fff;
        border-radius: 8px;
        border: 1px solid #E8E8E8;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start
    }

    .cairoFestivalLandingPage .pattern01 .allItems li.newsCairoFestival:hover {
            transform: translateY(-4px);
    }

.pattern01 ul li .secName {
    display: none
}

.cairoFestivalLandingPage .pattern01 .allItems .item img {
    width: 100%;
    height: 167px;
    display: block;
}

/* Description area */
.cairoFestivalLandingPage .pattern01 .allItems .desc {
    padding: 12px 10px;
}

.cairoFestivalLandingPage .pattern01 .allItems .desc h2 {
        font-size: 15px;
        font-family: 'DroidKufiLight';
        color: #111;
        line-height: 24px;
}

.pattern01 li.arts .item:hover a h2,
.pattern01 li.arts .item:hover .desc h2 {
    color: #C5A561 !important;
}

.moreBtn {
    display: block;
    width: 230px;
    height: 60px;
    border-radius: 8px;
    background: #C5A561;
    color: #111111;
    font-size: 18px;
    line-height: 60px;
}

.pattern01 ul li .item .imageCntnr {
    position: relative;
    overflow: hidden;
    padding-bottom: 56.25%;
    width: 100%;
    border-radius: 8px 8px 0 0;
}

.pattern01 ul li .item img:not(article.details.divVideoStep.ivbsThumbWrapper > img) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 auto !important;
    width: 100%;
    height: auto;
    transition: none;
}

.pattern01 ul li {
    border-radius: 8px;
    border: 1px solid #E8E8E8;
    background: #FFF;
}

.pattern01 ul li .item {
   display: flex;
   flex-direction: column;
   justify-content: center;
}

/* Reset & layout normalization */
.cairoFestivalStarsMain,
.sliderLayout,
.carousel-cell,
.flickity-viewport,
.flickity-slider {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/*  Main container */
.cairoFestivalStarsMain {
    background-image: url("../Images/CairoFestival/celebrity.webp");
    background-position: center;
    background-size: cover;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 396px;
    width: 100%;
    padding: 50px 300px;
    overflow: hidden;
    position: relative;
}

/*  Inner wrapper (centers the slider) */
.cairoFestivalStars {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 100%;
    margin: 0 auto;
    z-index: 1;
    max-width: 1250px;
}

.cairoFestivalStars h2 {
        color: #111;
        text-align: center;
        font-size: 42px;
        line-height: 50px;
        font-family: 'DroidKufiBold';
        z-index: 1;
}

/* Slider base */
.sliderLayout.carousel {
    width: 100%;
    position: relative;
    direction: rtl; /* for button positioning */
}

/* Center cells & prevent overflow */
.carousel-cell {
    box-sizing: border-box;
    padding: 8px;
    width: 250px;
}

/* Center Flickity cells if fewer exist */
.flickity-slider {
    display: flex;
    justify-content: center;
    direction: rtl;
}

/* Image */
.elGounaStarsImg {
    display: block;
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #E8E8E8;
}

/* Text */
.elGounaStarsText {
    color: #000;
    text-align: center;
    font-size: 15px;
    margin-top: 10px;
    font-family: 'DroidKufiLight';
    line-height: 1.6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Flickity buttons - fully visible & aligned inside slider */
.sliderLayout .flickity-prev-next-button {
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: #C5A561 !important;
    border-radius: 30px;
    border: none;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    transition: background 0.3s ease;
    position: absolute;
    z-index: 2;
}

/*    .sliderLayout .flickity-prev-next-button:hover {
        background: #b08d02 !important;
    }*/

    /* Position inside slider edges */
    .sliderLayout .flickity-prev-next-button.previous {
        left: -26px !important;
    }

    .sliderLayout .flickity-prev-next-button.next {
        right: -26px !important;
    }

.sliderLayout .flickity-viewport {
    overflow: hidden;
    direction: rtl;
}
/* Arrow icons */
.sliderLayout .flickity-prev-next-button .flickity-button-icon {
    fill: #111111 !important;
    width: 60%;
    height: 60%;
    top: 20%;
    left: 20%;
}

/* Static layout when less than 5 items */
.sliderLayout.no-slider {
    display: grid;
    width: 100%;
    gap: 16px;
    justify-content: center;
    grid-template-columns: repeat(5, 1fr);
    z-index: 1; /* Default: 5 columns */
}

    /* Ensure cells fill grid properly */
    .sliderLayout.no-slider .carousel-cell {
        width: 100%;
        max-width: 100%;
    }




/* viedos section */
.cairoFestivalLandingPage .videos {
    background-image: url("../Images/CairoFestival/videos.webp");
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 50px
}

.cairoFestivalLandingPage .videos .patternViedo1 {
        height: auto;
        display: flex;
        width: 100%;
        padding: 50px 300px 30px;
        overflow: hidden;
    }

.patternViedo1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 100%;
    margin: 0 auto;
}

    .patternViedo1 ul li .secName {
        display: none
    }

.cairoFestivalLandingPage .videos .patternViedo1 .ttl h3 {
    display: block;
    color: #fff;
    font-size: 42px;
    font-family: 'DroidKufiBold';
    text-align: center;
    background: none;
    float: none;
    padding: 0;
    line-height: 50px;
}

.cairoFestivalLandingPage .patternViedo1 .ttl {
    border: none;
    background: none;
    float: none;
}

.cairoFestivalLandingPage .patternViedo1 .ttl h3 {
        display: block;
        color: #111;
        font-size: 42px;
        font-family: DroidKufiBold, Arial;
        text-align: center;
        background: none;
        float: none;
        padding: 0;
        line-height: 50px;
}

.patternViedo1 .allItems {
    width: 100%;
}

    .patternViedo1 .allItems ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }

        .patternViedo1 .allItems ul li .item .imageCntnr {
            border-radius: 8px;
        }


        .patternViedo1 .allItems ul li:first-child {
            grid-column: 1 / 2;
            grid-row: 1/5;
            height: 100%;
            border: 1px solid #333;
            border-radius: 8px
        }

            .patternViedo1 .allItems ul li:first-child .item {
                display: block;
                position: relative;
                height: 100%;
            }

                .patternViedo1 .allItems ul li:first-child .item .desc {
                    position: absolute;
                    bottom: 16px;
                    left: 16px;
                    right: 16px;
                    z-index: 1;
                }

                    .patternViedo1 .allItems ul li:first-child .item .desc h2 {
                        color: #fff;
                        margin: 0;
                        font-size: 22px;
                        line-height: 2;
                        font-family: 'DroidKufiLight';
                    }

                .patternViedo1 .allItems ul li:first-child .item .imageCntnr {
                    position: relative;
                    overflow: hidden;
                    padding-bottom: 56.25%;
                    width: 100%;
                    height: 100%;
                    display: block;
                }

                    .patternViedo1 .allItems ul li:first-child .item .imageCntnr:before {
                        content: '';
                        background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
                        width: 100%;
                        height: 80%;
                        position: absolute;
                        bottom: 0;
                        right: 0;
                        z-index: 1;
                    }

.patternViedo1 li.news .item:hover a h2,
.patternViedo1 li.news .item:hover .desc h2 {
    color: #C5A561 !important;
}

.patternViedo1 .allItems ul li:first-child img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #333;
    position: absolute;
}
/* Right side smaller items */
.patternViedo1 .allItems ul li:not(:first-child) {
    grid-column: 2 / 3;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    border-radius: 8px;
    border: 1px solid #333;
    background: rgba(255, 255, 255, 0.06);
    transition: all 0.3s ease;
    overflow: hidden;
    height: 120px;
}


    .patternViedo1 .allItems ul li:not(:first-child) .item {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 12px;
        width: 100%;
        height: 100%;
    }

        .patternViedo1 .allItems ul li:not(:first-child) .item .imageCntnr {
            position: relative;
            width: 198px;
            border-radius: 0 8px 8px 0;
            height: 100%;
        }

        .patternViedo1 .allItems ul li:not(:first-child) .item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 0 8px 8px 0;
            position: relative;
        }

.patternViedo1 .allItems ul li:first-child .item .imageCntnr:after {
    width: 63px;
    height: 80px
}

.patternViedo1 .allItems ul li .item .imageCntnr:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 38px;
    background: url("../Images/Elgouna/play-video.svg") no-repeat center center;
    background-size: contain;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 2;
}


.patternViedo1 .allItems ul li:not(:first-child) .desc {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

    .patternViedo1 .allItems ul li:not(:first-child) .desc h2 {
        margin: 0;
        line-height: 1.4;
        color: #FFF;
        font-family: 'DroidKufiLight';
        font-size: 15px;
        font-style: normal;
    }

    .patternViedo1 .allItems ul li:not(:first-child) .desc .secName {
        display: none;
    }

/* Responsive layout */
@media screen and (min-width: 1360px) and (max-width: 1680px) {
    .cairoFestivalLandingPage .newsCairoFestival .pattern01, .cairoFestivalLandingPage .videos .patternViedo1 {
        padding: 50px 180px 30px
    }

    .cairoFestivalStarsMain {
        padding: 50px 180px
    }

    .cairoFestivalLandingPage .pattern01 .ttl h3,
    .cairoFestivalStars h2 {
        font-size: 38px;
    }

    .cairoFestivalLandingPage .videos {
        background-size: unset;
    }

    .introSection{font-size: 44px;
    line-height: 72px;}

    .introSection img{
      width: 400px;
    height: auto;
    }
}

@media screen and (min-width: 1280px) and (max-width: 1359px) {
    .cairoFestivalLandingPage .newsCairoFestival .pattern01,
    .cairoFestivalLandingPage .videos .patternViedo1 {
        padding: 50px 100px 30px
    }

    .cairoFestivalStarsMain {
        padding: 50px 100px
    }

    .introSection {
        gap: 30px;
        font-size: 40px;
        line-height: 50px;
    }

    .cairoFestivalLandingPage .pattern01 .ttl h3,
    .cairoFestivalStars h2 {
        font-size: 38px;
    }

    .cairoFestivalLandingPage .videos {
        background-size: auto 100%;
    }


}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
    .cairoFestivalLandingPage .newsCairoFestival .pattern01,
    .cairoFestivalLandingPage .videos .patternViedo1 {
        padding: 50px 20px 30px
    }

    .cairoFestivalStarsMain {
        padding: 50px 40px
    }

    .cairoFestivalLandingPage .pattern01 .ttl h3,
    .cairoFestivalStars h2 {
        font-size: 35px;
    }

    .carousel-cell {
        width: 200px
    }

    .cairoFestivalLandingPage .videos {
        background-size: auto 100%;
    }
}

/* Medium screens (≤ 1024px): 3 columns */
@media (max-width: 1025px) {
    .sliderLayout.no-slider {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }
}

@media screen and (min-width: 320px) and (max-width: 1023px) {
    .introSection {
        gap: 30px;
        height:calc(100vh - 160px);
        line-height: 60px;
        background-image: url("../Images/CairoFestival/CairoFestivalIntroMobile.webp");
    }

        .introSection div {
                 font-size: 36px;
                 line-height:60px
           
        }

        .introSection .festivalNameTwo {
            font-size: 36px;
           
        }
        .introSection div p:last-child{font-size:32px}
        .introSection .on {
            font-size: 32px;
           
        }
        .floating-animation{bottom:40px}
        .introSection .masrawy {
            font-size: 32px;
            
        }

        .introSection .logo{
            width:150px;
            height:20px;
        }

    .cairoFestivalLandingPage .newsCairoFestival {
        background: #ffffff;
    }

    .cairoFestivalLandingPage .newsCairoFestival .pattern01 {
        padding: 20px;
    }

    .cairoFestivalStarsMain {
        padding: 20px;
        background-image: url("../Images/CairoFestival/celebrityMobile.webp")
    }

    .cairoFestivalLandingPage .pattern01 .ttl h3 {
        font-size: 30px;
    }

    .cairoFestivalLandingPage .pattern01 .allItems .item img {
        height: 190px;
    }

    .patternViedo1 .allItems ul {
        grid-template-columns: 1fr;
    }


        .patternViedo1 .allItems ul li:first-child {
            grid-column: 1 / -1;
            grid-row: auto;
            width: 100%;
            height: auto;
            padding: 0;
        }


        .patternViedo1 .allItems ul li:not(:first-child) {
            grid-column: 1 / -1;
            width: 100%;
            height: 132px;
        }

            .patternViedo1 .allItems ul li:not(:first-child) .item {
                flex-direction: row;
            }

            .patternViedo1 .allItems ul li:not(:first-child) .desc h2 {
                font-size: 14px
            }

    .cairoFestivalStarsMain {
        padding: 40px 30px;
    }

    .carousel-cell {
        width: calc(33.333% - 12px);
    }

    .flickity-prev-next-button {
        width: 40px;
        height: 40px;
    }

        .flickity-prev-next-button.previous {
            left: 5px !important;
        }

        .flickity-prev-next-button.next {
            right: 5px !important;
        }

    .cairoFestivalStarsMain {
        padding: 40px 30px;
    }


        .cairoFestivalStarsMain .flickity-prev-next-button.previous {
            left: 10px !important;
        }

        .cairoFestivalStarsMain .flickity-prev-next-button.next {
            right: 10px !important;
        }

        .cairoFestivalStarsMain .flickity-prev-next-button {
            width: 50px;
            height: 50px;
        }

    .cairoFestivalLandingPage .pattern01 .allItems ul {
        grid-template-columns: repeat(3, 1fr); /* 3 cards */
    }

    .cairoFestivalLandingPage .videos .patternViedo1 {
        padding: 20px;
    }

    .cairoFestivalLandingPage .videos {
        background-image: url("../Images/CairoFestival/videosMobile.webp");
        background-repeat: no-repeat;
        background-size: cover;
    }

    .patternViedo1 .allItems ul li:not(:first-child) .item .imageCntnr {
        width: 132px;
    }

    .patternViedo1 .allItems ul li:first-child .item .desc h2 {
        font-size: 20px;
        line-height: 1.6;
    }

    .cairoFestivalLandingPage .videos .patternViedo1 .ttl h3 {
        font-size: 30px;
    }
}



@media (max-width: 900px) {


    .cairoFestivalStarsMain {
        padding: 30px 16px;
        max-height: 465px
    }


    .cairoFestivalLandingPage .pattern01 .allItems ul {
        grid-template-columns: repeat(2, 1fr); /* 2 cards */
    }

    .patternViedo1 .allItems ul li:first-child {
        height: 360px
    }
}

@media (max-width: 600px) {
    .content-wrap {
        padding: 68px 0 0;
    }

    .carousel-cell {
        width: 100%;
        max-width: 300px
    }

    .cairoFestivalStarsMain {
        height: auto;
        padding: 24px 12px;
    }

    .cairoFestivalStars {
        max-width: 325px;
        max-height: 414px;
        overflow: hidden
    }

    .sliderLayout.carousel {
        max-width: 300px
    }

    .cairoFestivalStarsMain .flickity-prev-next-button.previous {
        left: -12px !important;
    }

    .cairoFestivalLandingPage  .pattern01 .allItems ul {
        grid-template-columns: 1fr; /* 1 card */
    }

    .cairoFestivalStarsMain .flickity-prev-next-button.next {
        right: -12px !important;
    }

    .cairoFestivalStars h2 {
        font-size: 30px
    }

    .moreBtn {
        width: calc(100% - 40px);
        height: 50px;
        line-height: 50px;
        font-size: 16px
    }

    .patternViedo1 .allItems ul li:first-child .item .imageCntnr:after {
        width: 45px;
        height: 56px
    }


    .patternViedo1 .allItems ul li .item .imageCntnr:after {
        width: 24px;
        height: 30px
    }
}
