/*==================================================
                GOOGLE FONTS
==================================================*/

body{
    font-family:'Poppins',sans-serif;
    background:#f8f9fc;
    overflow-x:hidden;
    color:#222;
}


/*==================================================
                    HERO
==================================================*/

.gallery-hero{

    position:relative;

    min-height:560px;

    background:
    linear-gradient(rgba(7,31,73,.58),
    rgba(7,31,73,.62)),
    url("../img/gallery1.png");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    display:flex;
    align-items:center;

    overflow:hidden;
}



.hero-overlay{

    position:absolute;
    inset:0;

    background:linear-gradient(
    90deg,
    rgba(5,25,65,.68),
    rgba(5,25,65,.35),
    rgba(5,25,65,.12));

}



.hero-content{

    position:relative;
    z-index:5;

    color:#fff;
}



.small-title{

    font-family:'Cinzel',serif;

    color:#f6c343;

    font-size:55px;

    font-weight:600;

    margin-bottom:-18px;

}



.main-title{

    font-family:'Cinzel',serif;

    font-size:110px;

    color:#fff;

    line-height:1;

    font-weight:700;

}



.gold-line{

    width:280px;

    height:4px;

    background:#f6c343;

    margin:25px 0;

    border-radius:30px;

}



.hero-text{

    font-size:22px;

    max-width:520px;

    line-height:1.8;

    color:#f3f3f3;

}



.hero-camera{

    font-size:150px;

    color:#f6c343;

    opacity:.95;

    animation:float 4s ease-in-out infinite;

}



@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}


/*==================================================
          EVENT SECTION
==================================================*/

.event-gallery{

    position:relative;

    background:#fff;

    margin-top:-70px;

    z-index:10;

    border-radius:80px 80px 0 0;

    padding-top:90px;

}



.section-small{

    color:#d6a400;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}



.section-title{

    font-family:'Cinzel',serif;

    color:#082d63;

    font-size:46px;

    font-weight:700;

    margin-top:15px;

}



.section-text{

    max-width:720px;

    margin:auto;

    color:#666;

    font-size:18px;

}



/*==================================================
                EVENT CARD
==================================================*/

.event-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    transition:.45s;

    box-shadow:0 15px 35px rgba(0,0,0,.10);

    height:100%;

}



.event-card img{

    width:100%;

    height:240px;

    object-fit:cover;

    transition:.5s;

}



.event-card:hover img{

    transform:scale(1.08);

}



.event-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 60px rgba(0,0,0,.18);

}



.card-body{

    padding:28px;

}



.date{

    color:#777;

    font-size:15px;

    margin-bottom:14px;

}



.date i{

    color:#f6c343;

    margin-right:8px;

}



.card-body h4{

    font-size:28px;

    color:#082d63;

    font-weight:700;

    margin-bottom:15px;

}



.card-body p{

    color:#666;

    line-height:1.8;

    margin-bottom:25px;

}


/*==========================================
            GALLERY BUTTON
==========================================*/

.gallery-btn{

display:inline-flex;
align-items:center;
gap:10px;

padding:12px 28px;

background:#082d63;
color:#fff;

text-decoration:none;

border-radius:50px;

font-weight:600;

transition:.35s;

}

.gallery-btn:hover{

background:#f4c542;

color:#082d63;

transform:translateY(-3px);

box-shadow:0 10px 25px rgba(244,197,66,.35);

}

.gallery-btn i{

transition:.35s;

}

.gallery-btn:hover i{

transform:translateX(6px);

}



/*==========================================
            CTA SECTION
==========================================*/

.gallery-cta{

background:linear-gradient(135deg,#082d63,#0d4a94);

padding:100px 0;

}



.cta-box{

background:rgba(255,255,255,.16);

backdrop-filter:blur(15px);

padding:70px 50px;

border-radius:30px;

border:1px solid rgba(255,255,255,.25);

box-shadow:0 25px 60px rgba(0,0,0,.25);

}



.cta-box h2{

font-family:'Cinzel',serif;

font-size:46px;

color:#fff;

margin-bottom:20px;

}



.cta-box p{

font-size:18px;

line-height:1.9;

color:#eeeeee;

max-width:760px;

margin:auto;

margin-bottom:35px;

}



.cta-box .btn{

padding:15px 40px;

font-weight:600;

border-radius:50px;

font-size:18px;

background:#f4c542;

border:none;

color:#082d63;

transition:.35s;

}



.cta-box .btn:hover{

background:#fff;

transform:translateY(-5px);

}



/*==========================================
            CARD ANIMATION
==========================================*/

.event-card{

animation:fadeUp .8s ease;

}



@keyframes fadeUp{

0%{

opacity:0;

transform:translateY(40px);

}

100%{

opacity:1;

transform:translateY(0);

}

}



/*==========================================
            SCROLLBAR
==========================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#edf2f7;

}

::-webkit-scrollbar-thumb{

background:#082d63;

border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

background:#f4c542;

}



/*==========================================
            IMAGE HOVER OVERLAY
==========================================*/

.event-card{

position:relative;

overflow:hidden;

}

.event-card::before{

content:"";

position:absolute;

left:0;
top:0;

width:100%;
height:240px;

background:linear-gradient(to top,
rgba(8,45,99,.75),
rgba(0,0,0,0));

opacity:0;

transition:.4s;

z-index:1;

}

.event-card:hover::before{

opacity:1;

}

.event-card img{

position:relative;

z-index:0;

}



/*==========================================
            RESPONSIVE
==========================================*/

@media(max-width:992px){

.main-title{

font-size:80px;

}

.small-title{

font-size:40px;

}

.hero-text{

font-size:18px;

}

.hero-camera{

display:none;

}

.section-title{

font-size:36px;

}

}



@media(max-width:768px){

.gallery-hero{

min-height:460px;

text-align:center;

}

.gold-line{

margin:20px auto;

}

.main-title{

font-size:60px;

}

.small-title{

font-size:32px;

}

.hero-text{

font-size:16px;

margin:auto;

}

.section-title{

font-size:30px;

}

.event-gallery{

border-radius:40px 40px 0 0;

margin-top:-40px;

padding-top:60px;

}

.card-body h4{

font-size:24px;

}

.cta-box{

padding:45px 25px;

}

.cta-box h2{

font-size:32px;

}

.cta-box p{

font-size:16px;

}

}



@media(max-width:576px){

.main-title{

font-size:46px;

}

.small-title{

font-size:26px;

}

.hero-text{

font-size:15px;

}

.event-card img{

height:220px;

}

.gallery-btn{

width:100%;

justify-content:center;

}

.cta-box .btn{

width:100%;

}

}



/*==========================================
            PREMIUM GLOW
==========================================*/

.event-card:hover{

border:1px solid rgba(244,197,66,.4);

}

.section-title::after{

content:"";

display:block;

width:90px;

height:4px;

background:#f4c542;

margin:18px auto 0;

border-radius:20px;

}



html{

scroll-behavior:smooth;

}


/*==========================================
        GALLERY OPTIONS (Events / Photo Gallery)
==========================================*/

.gallery-options{

display:flex;
justify-content:center;
gap:24px;

margin-bottom:50px;
flex-wrap:wrap;

}

.gallery-option{

display:flex;
align-items:center;
gap:12px;

padding:20px 45px;

background:#fff;
border:2px solid #e6e9f0;
border-radius:18px;

font-family:'Poppins',sans-serif;
font-size:19px;
font-weight:600;
color:#082d63;

box-shadow:0 10px 25px rgba(0,0,0,.06);

transition:.35s;
cursor:pointer;

}

.gallery-option i{

font-size:24px;
color:#f6c343;

}

.gallery-option:hover{

transform:translateY(-4px);
box-shadow:0 15px 35px rgba(0,0,0,.10);

}

.gallery-option.active{

background:#082d63;
color:#fff;
border-color:#082d63;

box-shadow:0 15px 35px rgba(8,45,99,.25);

}

.gallery-option.active i{

color:#f6c343;

}

@media(max-width:576px){

.gallery-option{

padding:16px 26px;
font-size:16px;
flex:1 1 auto;
justify-content:center;

}

}


/*==========================================
        PHOTO TILE (photo + name only)
==========================================*/

.photo-tile-simple{

border-radius:14px;
overflow:hidden;

background:#fff;
box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.35s;

}

.photo-tile-simple:hover{

transform:translateY(-6px);
box-shadow:0 20px 40px rgba(0,0,0,.14);

}

.photo-tile-simple img{

width:100%;
height:200px;

object-fit:cover;

display:block;

cursor:zoom-in;

transition:transform .35s;

-webkit-touch-callout:none;
-webkit-user-select:none;
user-select:none;

}

.photo-tile-simple img:hover{

transform:scale(1.04);

}

.photo-tile-simple p{

margin:0;

padding:14px 10px;

text-align:center;

font-size:15px;
font-weight:600;
color:#082d63;

}


/*==========================================
        PHOTO LIGHTBOX (zoom on click)
==========================================*/

.photo-lightbox{

position:fixed;
inset:0;

background:rgba(5,10,25,.9);

display:flex;
align-items:center;
justify-content:center;

z-index:2000;

opacity:0;
visibility:hidden;

transition:opacity .3s ease;

cursor:zoom-out;

}

.photo-lightbox.active{

opacity:1;
visibility:visible;

}

.photo-lightbox img{

border-radius:12px;

box-shadow:0 20px 60px rgba(0,0,0,.5);

transform:scale(.96);

transition:transform .3s ease;

-webkit-user-select:none;
user-select:none;

pointer-events:none;

}

.photo-lightbox.active img{

transform:scale(1);

}

.photo-lightbox .lightbox-close{

position:absolute;

top:25px;
right:35px;

color:#fff;
font-size:2.4rem;
font-weight:300;
line-height:1;

cursor:pointer;

z-index:5;

}

/* Wrapper that holds the zoomed image + watermark layer together */
.lightbox-img-wrap{

position:relative;

max-width:600px;
width:70%;

display:flex;
align-items:center;
justify-content:center;

}

.lightbox-img-wrap img{

width:100%;
max-height:60vh;

object-fit:contain;

display:block;

-webkit-touch-callout:none;

}