/*====================================================
GALLERY HERO
=====================================================*/

.gallery-hero{

height:70vh;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

position:relative;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/gallery/hero.jpg") center/cover;

color:#fff;

}

.gallery-hero .hero-content{

max-width:850px;

margin:auto;

position:relative;

z-index:2;

}

.gallery-hero span{

display:inline-block;

padding:10px 22px;

border-radius:30px;

background:rgba(255,255,255,.18);

margin-bottom:20px;

font-weight:600;

letter-spacing:1px;

}

.gallery-hero h1{

font-size:64px;

color:#fff;

margin-bottom:25px;

}

.gallery-hero p{

font-size:20px;

color:rgba(255,255,255,.92);

max-width:700px;

margin:auto;

}

.hero-overlay{

position:absolute;

inset:0;

background:rgba(0,0,0,.15);

}

@media(max-width:768px){

.gallery-hero{

height:60vh;

}

.gallery-hero h1{

font-size:42px;

}

.gallery-hero p{

font-size:17px;

}

}

/*====================================================
GALLERY FILTERS
=====================================================*/

.gallery-filter-section{

padding:100px 0 40px;

background:#fff;

}

.gallery-filters{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

margin-top:40px;

}

.gallery-filters button{

padding:12px 28px;

border:none;

border-radius:30px;

background:#f3f3f3;

cursor:pointer;

font-weight:600;

transition:var(--transition);

}

.gallery-filters button.active,
.gallery-filters button:hover{

background:var(--primary);

color:#fff;

}

/*====================================================
MASONRY GALLERY
=====================================================*/

.gallery-section{

padding:40px 0 110px;

background:#fff;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.gallery-item{

overflow:hidden;

border-radius:18px;

box-shadow:var(--shadow);

cursor:pointer;

transition:var(--transition);

}

.gallery-item:hover{

transform:translateY(-8px);

}

.gallery-item img{

width:100%;

height:320px;

object-fit:cover;

transition:.5s;

}

.gallery-item:hover img{

transform:scale(1.08);

}

.gallery-item:nth-child(3n){

height:520px;

}

.gallery-item:nth-child(3n) img{

height:520px;

}

@media(max-width:992px){

.gallery-grid{

grid-template-columns:repeat(2,1fr);

}

.gallery-item,
.gallery-item:nth-child(3n){

height:auto;

}

.gallery-item img,
.gallery-item:nth-child(3n) img{

height:320px;

}

}

@media(max-width:768px){

.gallery-grid{

grid-template-columns:1fr;

}

}

/*====================================================
FESTIVAL VIDEO
=====================================================*/

.festival-video{

padding:110px 0;

background:var(--sand);

}

.video-wrapper{

display:grid;

grid-template-columns:1.2fr 1fr;

gap:60px;

align-items:center;

margin-top:60px;

}

.video-thumbnail{

position:relative;

overflow:hidden;

border-radius:20px;

box-shadow:var(--shadow-lg);

}

.video-thumbnail img{

width:100%;

display:block;

}

.play-btn{

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%);

width:90px;

height:90px;

border-radius:50%;

background:var(--secondary);

display:flex;

align-items:center;

justify-content:center;

font-size:32px;

color:#222;

transition:var(--transition);

}

.play-btn:hover{

transform:translate(-50%,-50%) scale(1.1);

}

.video-content h3{

margin-bottom:20px;

}

.video-highlights{

list-style:none;

margin-top:30px;

padding:0;

}

.video-highlights li{

margin-bottom:18px;

display:flex;

align-items:center;

gap:12px;

font-weight:500;

}

.video-highlights i{

color:var(--primary);

}

@media(max-width:992px){

.video-wrapper{

grid-template-columns:1fr;

}

}

/*====================================================
FESTIVAL HIGHLIGHTS
=====================================================*/

.festival-highlights{

padding:110px 0;

background:#fff;

}

.highlights-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

margin-top:60px;

}

.highlight-card{

background:#fff;

padding:40px 30px;

text-align:center;

border-radius:20px;

box-shadow:var(--shadow);

transition:var(--transition);

border-bottom:4px solid transparent;

}

.highlight-card:hover{

transform:translateY(-10px);

border-color:var(--secondary);

box-shadow:var(--shadow-lg);

}

.highlight-icon{

width:85px;

height:85px;

margin:0 auto 25px;

border-radius:50%;

background:rgba(11,107,83,.08);

display:flex;

align-items:center;

justify-content:center;

}

.highlight-icon i{

font-size:34px;

color:var(--primary);

}

.highlight-card h3{

font-size:24px;

margin-bottom:18px;

}

.highlight-card p{

margin-bottom:0;

}

@media(max-width:992px){

.highlights-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.highlights-grid{

grid-template-columns:1fr;

}

}

/*====================================================
SOCIAL WALL
=====================================================*/

.social-wall{

padding:110px 0;

background:var(--sand);

}

.social-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

margin-top:60px;

}

.social-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:var(--shadow);

transition:var(--transition);

}

.social-card:hover{

transform:translateY(-10px);

box-shadow:var(--shadow-lg);

}

.social-card img{

width:100%;

height:260px;

object-fit:cover;

}

.social-content{

padding:30px;

}

.social-content span{

display:inline-block;

margin-bottom:15px;

color:var(--primary);

font-weight:600;

}

.social-content h3{

margin-bottom:15px;

font-size:24px;

}

.social-buttons{

margin-top:60px;

text-align:center;

}

.social-buttons .btn{

margin:10px;

}

.btn-outline-dark{

border:2px solid var(--primary);

color:var(--primary);

background:transparent;

}

.btn-outline-dark:hover{

background:var(--primary);

color:#fff;

}

@media(max-width:992px){

.social-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.social-grid{

grid-template-columns:1fr;

}

}
/*====================================================
GALLERY CTA
=====================================================*/

.gallery-cta{

padding:120px 0;

text-align:center;

background:
linear-gradient(rgba(11,107,83,.92),rgba(11,107,83,.92)),
url("../images/gallery/hero.jpg") center/cover;

color:#fff;

}

.gallery-cta span{

display:inline-block;

padding:10px 22px;

border-radius:30px;

background:rgba(255,255,255,.15);

margin-bottom:20px;

font-weight:600;

}

.gallery-cta h2{

color:#fff;

margin-bottom:25px;

}

.gallery-cta p{

max-width:760px;

margin:0 auto 35px;

font-size:18px;

color:rgba(255,255,255,.92);

}


/* =========================
PARTNERS SECTION
========================= */


.partners-section{

padding:100px 0;

}



.partners-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.partner-card{

background:white;

padding:35px 25px;

border-radius:15px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.4s;

}



.partner-card:hover{

transform:translateY(-10px);

}



.partner-card img{

height:90px;

max-width:180px;

object-fit:contain;

margin-bottom:25px;

}



.partner-placeholder{

height:90px;

width:90px;

margin:0 auto 25px;

border-radius:50%;

background:#c89b3c;

color:white;

display:flex;

align-items:center;

justify-content:center;

font-size:35px;

}



.partner-card h3{

font-size:22px;

margin-bottom:15px;

}



.partner-card p{

color:#666;

line-height:1.7;

}




@media(max-width:900px){

.partners-grid{

grid-template-columns:1fr 1fr;

}

}



@media(max-width:600px){

.partners-grid{

grid-template-columns:1fr;

}

}

/* FOOTER */


.footer{

background:#111;

color:white;

padding:70px 0 20px;

}



.footer-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:40px;

}



.footer h3,
.footer h4{

margin-bottom:20px;

}



.footer p{

color:#bbb;

line-height:1.7;

}



.footer ul{

list-style:none;

padding:0;

}



.footer ul li{

margin-bottom:10px;

}



.footer a{

color:#bbb;

text-decoration:none;

}



.footer a:hover{

color:#c89b3c;

}



.footer-bottom{

text-align:center;

border-top:1px solid #333;

margin-top:40px;

padding-top:20px;

color:#aaa;

}



@media(max-width:800px){

.footer-grid{

grid-template-columns:1fr;

}

}