*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Poppins,sans-serif;
background:#fffdf8;
}

nav{
position:fixed;
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 8%;
background:rgba(0,0,0,.3);
backdrop-filter:blur(10px);
z-index:100;
}

.logo img{
height:80px;
}

nav ul{
display:flex;
list-style:none;
gap:30px;
}

nav ul a{
text-decoration:none;
color:white;
font-weight:500;
}

.hero{
height:100vh;
background:
linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),
url("../images/hero.jpg");

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

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

.content h1{
font-family:Cinzel;
font-size:80px;
color:white;
}

.content p{
color:white;
font-size:22px;
max-width:800px;
margin:20px auto;
}

.buttons{
margin-top:40px;
}

.btn1{
background:#f59e0b;
padding:18px 40px;
color:white;
text-decoration:none;
border-radius:50px;
margin-right:20px;
}

.btn2{
border:2px solid white;
padding:18px 40px;
color:white;
text-decoration:none;
border-radius:50px;
}

.about{
padding:100px 10%;
text-align:center;
}

.about h2{
font-size:50px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:30px;
}

.about p{
font-size:20px;
line-height:35px;
}
/* Temple Section */

.temple-section,
.festival-section,
.travel-section{

padding:100px 10%;
background:#fffdf8;

}

.temple-section h2,
.festival-section h2,
.travel-section h2{

text-align:center;
font-size:55px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:60px;

}

.temple-grid,
.festival-grid,
.travel-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;

}

.card,
.festival-card,
.travel-card{

background:white;
padding:35px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.1);
transition:.4s;

}

.card:hover,
.festival-card:hover,
.travel-card:hover{

transform:translateY(-10px);
box-shadow:0 15px 40px rgba(245,158,11,.3);

}

.card h3,
.festival-card h3,
.travel-card h3{

color:#4b2e1f;
margin-bottom:20px;
font-size:28px;

}

.card p,
.festival-card p,
.travel-card p{

line-height:30px;
color:#666;

}
.content h1{
animation:fadeUp 1.2s ease;
}

.content p{
animation:fadeUp 1.8s ease;
}

.buttons{
animation:fadeUp 2.2s ease;
}

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(80px);
}

to{
opacity:1;
transform:translateY(0);
}

}
.why-section{

padding:100px 10%;
background:#faf6f0;

}

.why-section h2{

font-size:55px;
font-family:Cinzel;
text-align:center;
color:#4b2e1f;
margin-bottom:70px;

}

.why-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;

}

.why-card{

background:white;
padding:40px;
text-align:center;
border-radius:25px;
box-shadow:0 10px 30px rgba(0,0,0,.1);
transition:.5s;

}

.why-card:hover{

transform:translateY(-15px);
background:#5b3825;
color:white;

}
.counter-section{

padding:100px 10%;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;

background:linear-gradient(135deg,#c18b38,#f5c46a);

}

.counter-box{

text-align:center;
color:white;

}

.counter-box h1{

font-size:60px;

}

.counter-box p{

font-size:22px;

}
.stay-section{

padding:100px 10%;

}

.stay-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;

}

.stay-card{

background:white;
padding:40px;
border-radius:20px;
text-align:center;
box-shadow:0 15px 30px rgba(0,0,0,.1);
transition:.5s;

}

.stay-card:hover{

transform:scale(1.05);

}
/* FOOD SECTION */

.food-section{

padding:100px 10%;
background:#faf6f0;

}

.food-section h2{

text-align:center;
font-size:55px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:70px;

}

.food-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
gap:30px;

}

.food-card{

background:white;
padding:45px 35px;
border-radius:25px;
text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.5s;

position:relative;

overflow:hidden;

}

.food-card::before{

content:'';

position:absolute;

left:0;
top:0;

width:100%;
height:5px;

background:#f59e0b;

transform:scaleX(0);

transition:.5s;

}

.food-card:hover::before{

transform:scaleX(1);

}

.food-card:hover{

background:linear-gradient(135deg,#f59e0b,#ffb703);

transform:translateY(-15px);

color:white;

box-shadow:0 20px 50px rgba(245,158,11,.4);

}

.food-icon{

font-size:60px;

margin-bottom:20px;

animation:float 3s infinite ease-in-out;

}

.food-card h3{

font-size:28px;

margin-bottom:20px;

}

.food-card p{

line-height:30px;

font-size:17px;

}


/* Floating animation */

@keyframes float{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0);
}

}
/* ===========================
NEARBY ATTRACTIONS
=========================== */

.attractions-section{

padding:100px 10%;

background:#fffdf8;

}

.attractions-section h2{

text-align:center;

font-size:55px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:70px;

}

.attractions-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:35px;

}


/* CARD */

.attraction-card{

position:relative;

overflow:hidden;

border-radius:30px;

height:350px;

cursor:pointer;

box-shadow:0 20px 40px rgba(0,0,0,.1);

transition:.5s;

animation:floatCard 5s infinite ease-in-out;

}

.attraction-card:hover{

transform:translateY(-15px);

box-shadow:0 25px 60px rgba(245,158,11,.3);

}


/* IMAGE */

.attraction-card img{

width:100%;

height:100%;

object-fit:cover;

transition:.7s;

}


.attraction-card:hover img{

transform:scale(1.15);

}


/* DARK OVERLAY */

.overlay{

position:absolute;

left:0;

bottom:0;

width:100%;

padding:35px;

background:linear-gradient(transparent,rgba(0,0,0,.9));

color:white;

transition:.5s;

}


.overlay h3{

font-size:32px;

margin-bottom:15px;

font-weight:600;

}


.overlay p{

line-height:28px;

opacity:.9;

}


/* HOVER EFFECT */

.attraction-card:hover .overlay{

padding-bottom:50px;

}


/* FLOATING ANIMATION */

@keyframes floatCard{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0px);

}

}
/*=====================
PHOTO GALLERY
=====================*/

.gallery-section{
padding:120px 10%;
background:#fffdf8;
text-align:center;
}

.gallery-section h2{
font-family:Cinzel;
font-size:60px;
color:#4b2e1f;
margin-bottom:20px;
}

.gallery-sub{
max-width:850px;
margin:auto;
font-size:18px;
color:#666;
line-height:32px;
margin-bottom:60px;
}


/* Masonry Layout */

.gallery{

column-count:3;
column-gap:25px;

}


.gallery-card{

position:relative;
overflow:hidden;
border-radius:25px;
margin-bottom:25px;
cursor:pointer;

}


.gallery-card img{

width:100%;
display:block;
border-radius:25px;

transition:.8s;
filter:brightness(.9);

}


/* Hover Zoom */

.gallery-card:hover img{

transform:scale(1.05);

}


/* Overlay */

.overlay{

position:absolute;
bottom:0;
left:0;
width:100%;
padding:25px;

background:linear-gradient(transparent,rgba(0,0,0,.9));

color:white;
font-size:28px;
font-weight:600;

transform:translateY(100%);
transition:.6s;

}


.gallery-card:hover .overlay{

transform:translateY(0);

}


/* Floating Animation */

.gallery-card{

animation:floatgallery 5s ease-in-out infinite;

}

@keyframes floatgallery{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}


/* Tablet */

@media(max-width:991px){

.gallery{
column-count:2;
}

}


/* Mobile */

@media(max-width:768px){

.gallery{
column-count:1;
}

.gallery-section h2{
font-size:45px;
}

}
/*===================
EVENTS SECTION
====================*/

.events-section{

padding:120px 10%;
background:linear-gradient(135deg,#fffdf8,#fdf5e6);
text-align:center;

}

.events-section h2{

font-family:Cinzel;
font-size:60px;
color:#4b2e1f;
margin-bottom:20px;

}

.events-sub{

max-width:850px;
margin:auto;
color:#666;
font-size:18px;
line-height:32px;
margin-bottom:70px;

}


/* Grid */

.events-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:35px;

}


/* Card */

.event-card{

background:white;
padding:45px 35px;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.08);
position:relative;
overflow:hidden;

transition:.6s;

animation:floatcard 5s ease-in-out infinite;

}


/* Orange Glow */

.event-card::before{

content:"";

position:absolute;
top:-100%;
left:-100%;

width:250%;
height:250%;

background:
radial-gradient(circle,
rgba(245,158,11,.15),
transparent 70%);

transition:.8s;

}


.event-card:hover::before{

top:-50%;
left:-50%;

}


.event-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(245,158,11,.3);

}


/* Icon */

.event-icon{

width:80px;
height:80px;

background:linear-gradient(135deg,#f59e0b,#ffb84d);

border-radius:50%;

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

font-size:35px;

margin:auto;
margin-bottom:25px;

color:white;

box-shadow:0 10px 30px rgba(245,158,11,.4);

animation:pulse 2s infinite;

}


/* Heading */

.event-card h3{

font-size:30px;
color:#4b2e1f;
margin-bottom:20px;

}


/* Text */

.event-card p{

color:#666;
line-height:30px;
margin-bottom:25px;

}


/* Link */

.event-card a{

text-decoration:none;
font-weight:600;
color:#f59e0b;
transition:.4s;

}

.event-card:hover a{

letter-spacing:1px;

}


/* Floating Animation */

@keyframes floatcard{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}


/* Pulse */

@keyframes pulse{

0%{
transform:scale(1);
}

50%{
transform:scale(1.1);
}

100%{
transform:scale(1);
}

}
/*==================
GOOGLE MAP
===================*/

.map-section{

padding:120px 10%;
background:#fffdf8;
text-align:center;

}


.map-section h2{

font-family:Cinzel;
font-size:60px;
color:#4b2e1f;
margin-bottom:20px;

}


.map-sub{

max-width:800px;
margin:auto;
font-size:18px;
line-height:32px;
color:#666;
margin-bottom:60px;

}


.map-container{

overflow:hidden;
border-radius:30px;

box-shadow:
0 20px 60px rgba(0,0,0,.15);

position:relative;

animation:mapfloat 5s ease-in-out infinite;

}


.map-container iframe{

width:100%;
height:550px;
border:none;

transition:.8s;

}


.map-container:hover{

transform:translateY(-10px);

box-shadow:
0 30px 80px rgba(245,158,11,.3);

}


/* Golden Top Border */

.map-container::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:5px;

background:
linear-gradient(90deg,#f59e0b,#ffcc70);

z-index:10;

}


/* Floating Animation */

@keyframes mapfloat{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}
/*=================
FOOTER
==================*/

.footer{

background:linear-gradient(135deg,#1b1b1b,#2d2d2d);

padding:90px 10% 30px;

color:white;

position:relative;

overflow:hidden;

}


.footer-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:50px;

}


.footer-logo{

height:90px;

margin-bottom:20px;

animation:rotateLogo 8s linear infinite;

}


.footer-box h3{

font-family:Cinzel;

font-size:30px;

margin-bottom:20px;

color:#f59e0b;

}


.footer-box h4{

font-size:24px;

margin-bottom:25px;

color:#f59e0b;

}


.footer-box p{

color:#ccc;

line-height:30px;

}


.footer-box ul{

list-style:none;

}


.footer-box ul li{

margin-bottom:15px;

}


.footer-box ul li a{

text-decoration:none;

color:#ddd;

transition:.4s;

}


.footer-box ul li a:hover{

color:#f59e0b;

padding-left:10px;

}


/* Social Icons */

.social-icons{

display:flex;

gap:20px;

margin-top:20px;

}


.social-icons a{

width:55px;

height:55px;

background:rgba(255,255,255,.1);

display:flex;

justify-content:center;

align-items:center;

border-radius:50%;

font-size:22px;

color:white;

transition:.5s;

}


.social-icons a:hover{

background:#f59e0b;

transform:translateY(-10px) rotate(360deg);

}


/* Divider */

.footer hr{

margin:50px 0 30px;

border:none;

height:1px;

background:rgba(255,255,255,.1);

}


/* Copyright */

.copyright{

text-align:center;

color:#aaa;

font-size:16px;

}


/* Floating Glow */

.footer::before{

content:"";

position:absolute;

width:400px;
height:400px;

background:rgba(245,158,11,.08);

border-radius:50%;

top:-100px;
left:-100px;

filter:blur(100px);

}


.footer::after{

content:"";

position:absolute;

width:300px;
height:300px;

background:rgba(255,255,255,.05);

border-radius:50%;

bottom:-100px;
right:-100px;

filter:blur(100px);

}


/* Logo Animation */

@keyframes rotateLogo{

0%{

transform:rotateY(0deg);

}

100%{

transform:rotateY(360deg);

}

}
.about-hero{

height:60vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/hero.jpg");

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

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

text-align:center;

}


.about-hero h1{

font-family:Cinzel;
font-size:70px;
color:white;

animation:fadeDown 1s ease;

}


.about-hero p{

color:white;
font-size:22px;

margin-top:20px;

max-width:800px;

}
.history{

padding:120px 10%;

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}


.history img{

width:100%;

border-radius:30px;

box-shadow:0 20px 50px rgba(0,0,0,.2);

transition:.6s;

}


.history img:hover{

transform:scale(1.05);

}


.history h2{

font-size:55px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:30px;

}


.history p{

line-height:35px;

font-size:18px;

color:#555;

}
.importance{

padding:120px 10%;

background:#fffaf2;

}


.importance h2{

text-align:center;

font-size:55px;

font-family:Cinzel;

margin-bottom:60px;

color:#4b2e1f;

}


.importance-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}


.importance-card{

background:white;

padding:40px;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.1);

transition:.5s;

}


.importance-card:hover{

transform:translateY(-15px);

box-shadow:0 20px 60px rgba(245,158,11,.3);

}
/*====================
TIMELINE SECTION
====================*/

.timeline-section{

padding:120px 10%;
background:#fffdf8;

position:relative;

}


.timeline-section h2{

font-family:Cinzel;

font-size:60px;

text-align:center;

color:#4b2e1f;

margin-bottom:20px;

}


.timeline-sub{

text-align:center;

max-width:800px;

margin:auto;

line-height:32px;

color:#666;

margin-bottom:80px;

}


/* Main Timeline */

.timeline{

position:relative;

max-width:1200px;

margin:auto;

}


/* Center Line */

.timeline::after{

content:"";

position:absolute;

width:6px;

background:linear-gradient(#f59e0b,#ffcc70);

top:0;

bottom:0;

left:50%;

margin-left:-3px;

border-radius:20px;

}


/* Timeline Item */

.timeline-item{

padding:20px 50px;

position:relative;

width:50%;

animation:fadeUp 1s ease;

}


/* Left */

.left{

left:0;

}


/* Right */

.right{

left:50%;

}


/* Card */

.timeline-content{

background:white;

padding:35px;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.1);

transition:.6s;

position:relative;

overflow:hidden;

}


/* Glow Effect */

.timeline-content::before{

content:"";

position:absolute;

top:-100px;

left:-100px;

width:250px;

height:250px;

background:rgba(245,158,11,.1);

border-radius:50%;

filter:blur(50px);

}


/* Hover */

.timeline-content:hover{

transform:translateY(-15px);

box-shadow:0 25px 60px rgba(245,158,11,.3);

}


/* Icon */

.timeline-content span{

font-size:50px;

display:block;

margin-bottom:20px;

animation:floatIcon 3s infinite ease-in-out;

}


.timeline-content h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:20px;

}


.timeline-content p{

line-height:30px;

color:#666;

}


/* Circle */

.timeline-item::after{

content:"";

position:absolute;

width:25px;

height:25px;

background:#f59e0b;

border:5px solid white;

border-radius:50%;

top:40px;

right:-17px;

z-index:10;

box-shadow:0 0 20px rgba(245,158,11,.5);

}


.right::after{

left:-13px;

}


/* Floating Icon */

@keyframes floatIcon{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}


/* Mobile Responsive */

@media(max-width:768px){

.timeline::after{

left:20px;

}

.timeline-item{

width:100%;

padding-left:70px;

padding-right:20px;

}

.right{

left:0;

}

.timeline-item::after{

left:8px;

}

}
/*====================
COUNTER SECTION
====================*/

.counter-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fff7e6,#fffdf8);

text-align:center;

overflow:hidden;

}


.counter-section h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.counter-sub{

max-width:850px;

margin:auto;

line-height:32px;

font-size:18px;

color:#666;

margin-bottom:80px;

}


/* GRID */

.counter-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:35px;

}


/* CARD */

.counter-card{

background:white;

padding:50px 35px;

border-radius:30px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

position:relative;

overflow:hidden;

transition:.6s;

animation:floatCounter 5s infinite ease-in-out;

}


/* Glow Circle */

.counter-card::before{

content:"";

position:absolute;

width:200px;
height:200px;

background:rgba(245,158,11,.08);

border-radius:50%;

top:-100px;
right:-100px;

filter:blur(40px);

}


/* Hover */

.counter-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(245,158,11,.3);

}


/* Icon */

.counter-icon{

font-size:55px;

margin-bottom:25px;

animation:pulseIcon 2s infinite;

}


/* Number */

.counter-card h1{

font-size:65px;

color:#f59e0b;

margin-bottom:15px;

font-weight:700;

}


/* Heading */

.counter-card h3{

font-size:28px;

color:#4b2e1f;

margin-bottom:20px;

}


/* Text */

.counter-card p{

color:#666;

line-height:30px;

}


/* Floating Animation */

@keyframes floatCounter{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}


/* Pulse */

@keyframes pulseIcon{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}
/*====================
LOCATION SECTION
=====================*/

.location-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff7eb);

overflow:hidden;

}


.location-heading{

text-align:center;

margin-bottom:70px;

}


.location-heading h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.location-heading p{

max-width:800px;

margin:auto;

line-height:32px;

font-size:18px;

color:#666;

}


/* Container */

.location-container{

display:grid;

grid-template-columns:1fr 1.5fr;

gap:50px;

align-items:center;

}


/* Left Card */

.location-info{

display:flex;

flex-direction:column;

gap:30px;

}


/* Info Box */

.info-box{

background:white;

padding:30px;

border-radius:30px;

display:flex;

gap:25px;

align-items:flex-start;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.5s;

animation:floatLocation 5s infinite ease-in-out;

}


.info-box:hover{

transform:translateY(-12px);

box-shadow:
0 25px 60px rgba(245,158,11,.25);

}


.info-box span{

font-size:45px;

}


.info-box h3{

font-size:25px;

color:#4b2e1f;

margin-bottom:15px;

}


.info-box p{

color:#666;

line-height:30px;

}


/* Map */

.map-box{

overflow:hidden;

border-radius:35px;

box-shadow:
0 20px 60px rgba(0,0,0,.15);

transition:.6s;

position:relative;

}


.map-box iframe{

width:100%;

height:550px;

border:none;

}


.map-box:hover{

transform:translateY(-15px);

box-shadow:
0 30px 80px rgba(245,158,11,.3);

}


/* Golden Top Border */

.map-box::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:6px;

background:
linear-gradient(90deg,#f59e0b,#ffcc70);

z-index:10;

}


/* Floating Animation */

@keyframes floatLocation{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}


/* Mobile */

@media(max-width:991px){

.location-container{

grid-template-columns:1fr;

}

.location-heading h2{

font-size:45px;

}

}
/*====================
ABOUT GALLERY
====================*/

.gallery-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff8f0);

overflow:hidden;

}


.gallery-heading{

text-align:center;

margin-bottom:80px;

}


.gallery-heading h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.gallery-heading p{

max-width:800px;

margin:auto;

line-height:32px;

font-size:18px;

color:#666;

}


/* GRID */

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}


/* CARD */

.gallery-card{

position:relative;

overflow:hidden;

border-radius:35px;

height:350px;

cursor:pointer;

box-shadow:
0 20px 50px rgba(0,0,0,.12);

transition:.7s;

animation:floatGallery 5s infinite ease-in-out;

}


/* Large Card */

.large{

height:450px;

}


/* IMAGE */

.gallery-card img{

width:100%;

height:100%;

object-fit:cover;

transition:1s;

}


.gallery-card:hover img{

transform:scale(1.15);

}


/* OVERLAY */
.gallery-hero{
height:80vh;
background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/gallery-banner.jpg");
background-size:cover;
background-position:center;
display:flex;
justify-content:center;
align-items:center;
position:relative;
overflow:hidden;
}

.hero-overlay{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:100%;
text-align:center;
padding:0 20px;
}

.hero-overlay h1{
font-family:Cinzel;
font-size:80px;
color:white;
margin-bottom:25px;
}

.hero-overlay p{
max-width:850px;
margin:auto;
font-size:22px;
line-height:38px;
color:white;
}
.gallery-overlay{

position:absolute;

left:0;
bottom:0;

width:100%;

padding:35px;

background:
linear-gradient(transparent,rgba(0,0,0,.9));

color:white;

transform:translateY(40px);

transition:.6s;

}


.gallery-card:hover .gallery-overlay{

transform:translateY(0);

}


.gallery-overlay h3{

font-size:32px;

margin-bottom:10px;

}


.gallery-overlay p{

font-size:17px;

opacity:.9;

}


/* Hover */

.gallery-card:hover{

transform:translateY(-15px);

box-shadow:
0 30px 80px rgba(245,158,11,.3);

}


/* Floating Animation */

@keyframes floatGallery{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}


/* Mobile */

@media(max-width:768px){

.gallery-heading h2{

font-size:45px;

}

.large{

height:350px;

}

}
/*==============================
Temple Hero Section
==============================*/

.temple-hero{

height:100vh;
position:relative;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/temple1.jpg");

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

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

overflow:hidden;

animation:bgzoom 15s ease infinite alternate;

}


@keyframes bgzoom{

0%{

transform:scale(1);

}

100%{

transform:scale(1.1);

}

}


.hero-overlay{

position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,.25);

backdrop-filter:blur(1px);

}


.temple-content{

position:relative;
z-index:10;

animation:fadeUp 1.5s ease;

}


@keyframes fadeUp{

0%{

opacity:0;
transform:translateY(80px);

}

100%{

opacity:1;
transform:translateY(0);

}

}


.breadcrumb{

margin-bottom:25px;
font-size:17px;
color:white;

}

.breadcrumb a{

color:#f59e0b;
text-decoration:none;
font-weight:600;

}

.breadcrumb span{

margin:0 10px;

}


.temple-content h1{

font-family:Cinzel;
font-size:90px;
color:white;

text-shadow:
0 5px 20px rgba(0,0,0,.5);

margin-bottom:25px;

letter-spacing:2px;

}


.temple-content p{

font-size:28px;
color:#fff;

margin-bottom:50px;

font-weight:300;

}


.hero-btn{

display:inline-block;

padding:18px 45px;

background:#f59e0b;
color:white;

text-decoration:none;

border-radius:50px;

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

transition:.5s;

box-shadow:
0 10px 30px rgba(245,158,11,.4);

}


.hero-btn:hover{

transform:translateY(-8px);

background:#ffb423;

box-shadow:
0 15px 40px rgba(245,158,11,.7);

}
/*=========================
Temple Intro Section
=========================*/

.temple-intro{

padding:120px 10%;
background:#fffdf8;

}

.intro-container{

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

}

.intro-image{

overflow:hidden;
border-radius:30px;

box-shadow:0 20px 50px rgba(0,0,0,.15);

}

.intro-image img{

width:100%;
display:block;

border-radius:30px;

transition:.8s;

}

.intro-image:hover img{

transform:scale(1.08);

}

.intro-content h2{

font-size:55px;
font-family:Cinzel;
color:#4b2e1f;

margin-bottom:30px;

}

.intro-content p{

font-size:18px;
line-height:35px;
color:#666;

margin-bottom:40px;

}


.info-grid{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:25px;

}

.info-card{

background:white;

padding:25px;

border-radius:20px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.5s;

cursor:pointer;

position:relative;

overflow:hidden;

}

.info-card::before{

content:"";

position:absolute;

left:0;
top:0;

width:0;
height:100%;

background:#f59e0b;

transition:.6s;

z-index:0;

}

.info-card:hover::before{

width:100%;

}

.info-card h3,
.info-card p{

position:relative;

z-index:10;

}

.info-card h3{

font-size:22px;
color:#4b2e1f;

margin-bottom:12px;

transition:.5s;

}

.info-card p{

color:#666;

transition:.5s;

}

.info-card:hover h3,
.info-card:hover p{

color:white;

}

.info-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 50px rgba(245,158,11,.4);

}
/*=========================
Temple History Timeline
=========================*/

.history-section{

padding:120px 10%;
background:#fff8ef;

}

.history-section h2{

text-align:center;
font-size:55px;
font-family:Cinzel;
color:#4b2e1f;

margin-bottom:90px;

}


/* Center Line */

.timeline{

position:relative;
max-width:1200px;
margin:auto;

}

.timeline::after{

content:"";

position:absolute;

width:6px;

background:linear-gradient(#f59e0b,#ffcb74);

top:0;
bottom:0;
left:50%;

transform:translateX(-50%);

border-radius:20px;

}


/* Timeline Box */

.timeline-item{

position:relative;

width:50%;

padding:30px 50px;

}


.timeline-item.left{

left:0;

animation:slideLeft 1.5s ease;

}

.timeline-item.right{

left:50%;

animation:slideRight 1.5s ease;

}


/* Circle */

.timeline-item::after{

content:"";

position:absolute;

width:25px;
height:25px;

background:#f59e0b;

border:5px solid white;

top:50px;

border-radius:50%;

box-shadow:0 0 20px rgba(245,158,11,.6);

z-index:10;

}

.timeline-item.left::after{

right:-17px;

}

.timeline-item.right::after{

left:-17px;

}


/* Content */

.timeline-content{

background:white;

padding:35px;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.1);

transition:.5s;

}

.timeline-content:hover{

transform:translateY(-10px);

box-shadow:0 20px 50px rgba(245,158,11,.35);

}


.timeline-content h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:20px;

}

.timeline-content p{

color:#666;

line-height:30px;

font-size:17px;

}


/* Animation */

@keyframes slideLeft{

0%{

opacity:0;
transform:translateX(-120px);

}

100%{

opacity:1;
transform:translateX(0);

}

}

@keyframes slideRight{

0%{

opacity:0;
transform:translateX(120px);

}

100%{

opacity:1;
transform:translateX(0);

}

}
/*=====================
Temple Timings
=====================*/

.timing-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fff8ef,#fffdf8);

}

.timing-section h2{

text-align:center;

font-family:Cinzel;

font-size:55px;

color:#4b2e1f;

margin-bottom:80px;

}


/* Grid */

.timing-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:40px;

}


/* Glass Card */

.timing-card{

background:rgba(255,255,255,.2);

backdrop-filter:blur(20px);

border:1px solid rgba(255,255,255,.4);

padding:50px 40px;

border-radius:30px;

text-align:center;

box-shadow:
0 10px 30px rgba(0,0,0,.08);

transition:.6s;

position:relative;

overflow:hidden;

}


/* Orange Background Animation */

.timing-card::before{

content:"";

position:absolute;

width:0;
height:100%;

left:0;
top:0;

background:
linear-gradient(135deg,#f59e0b,#ffcc70);

transition:.6s;

z-index:-1;

}

.timing-card:hover::before{

width:100%;

}


/* Hover */

.timing-card:hover{

transform:translateY(-15px);

box-shadow:
0 20px 60px rgba(245,158,11,.4);

}


/* Icon */

.timing-icon{

font-size:55px;

margin-bottom:25px;

}


/* Title */

.timing-card h3{

font-size:32px;

color:#4b2e1f;

margin-bottom:20px;

transition:.5s;

}


/* Time */

.timing-card h4{

font-size:24px;

color:#f59e0b;

margin-bottom:25px;

transition:.5s;

}


/* Description */

.timing-card p{

font-size:17px;

line-height:30px;

color:#666;

transition:.5s;

}


/* Hover Text */

.timing-card:hover h3,
.timing-card:hover h4,
.timing-card:hover p{

color:white;

}
/*==================
Daily Schedule
===================*/

.schedule-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff7eb);

}

.schedule-section h2{

text-align:center;

font-size:55px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:100px;

}

.schedule{

position:relative;

max-width:1000px;

margin:auto;

}

.schedule::before{

content:"";

position:absolute;

left:50%;

top:0;

width:4px;

height:100%;

background:linear-gradient(#f59e0b,#ffcc70);

transform:translateX(-50%);

border-radius:10px;

}


/* Timeline Item */

.schedule-item{

position:relative;

width:50%;

padding:20px 50px;

margin-bottom:60px;

}


/* Left */

.schedule-item.left{

left:0;

text-align:right;

}


/* Right */

.schedule-item.right{

left:50%;

}


/* Dot */

.dot{

position:absolute;

width:22px;

height:22px;

background:#f59e0b;

border-radius:50%;

top:45px;

box-shadow:

0 0 20px #f59e0b,

0 0 40px #f59e0b;

animation:pulse 2s infinite;

}

.schedule-item.left .dot{

right:-11px;

}

.schedule-item.right .dot{

left:-11px;

}


/* Card */

.schedule-card{

background:white;

padding:35px;

border-radius:25px;

box-shadow:

0 10px 30px rgba(0,0,0,.08);

transition:.5s;

}

.schedule-card:hover{

transform:translateY(-10px);

box-shadow:

0 20px 50px rgba(245,158,11,.3);

}


/* Time */

.schedule-card h3{

font-size:34px;

color:#f59e0b;

margin-bottom:10px;

}


/* Title */

.schedule-card h4{

font-size:28px;

color:#4b2e1f;

margin-bottom:15px;

}


/* Text */

.schedule-card p{

color:#666;

line-height:30px;

}


/* Pulse Animation */

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.3);

}

100%{

transform:scale(1);

}

}
/*========================
SPECIAL POOJAS
=========================*/

.pooja-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff8ee);

text-align:center;

}


.pooja-section h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:20px;

}


.pooja-sub{

max-width:850px;

margin:auto;

line-height:32px;

color:#666;

font-size:18px;

margin-bottom:80px;

}


/* Grid */

.pooja-grid{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(300px,1fr));

gap:35px;

}


/* Card */

.pooja-card{

background:white;

padding:45px 35px;

border-radius:30px;

position:relative;

overflow:hidden;

box-shadow:

0 15px 40px rgba(0,0,0,.08);

transition:.6s;

animation:floatPooja 4s ease-in-out infinite;

}


/* Orange Background */

.pooja-card::before{

content:"";

position:absolute;

left:0;
top:0;

width:0;

height:100%;

background:

linear-gradient(135deg,#f59e0b,#ffcb70);

transition:.7s;

z-index:0;

}


.pooja-card:hover::before{

width:100%;

}


/* Hover */

.pooja-card:hover{

transform:translateY(-15px);

box-shadow:

0 25px 60px rgba(245,158,11,.4);

}


/* Icon */

.pooja-icon{

font-size:60px;

margin-bottom:25px;

position:relative;

z-index:10;

animation:pulseIcon 2s infinite;

}


/* Text */

.pooja-card h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:20px;

position:relative;

z-index:10;

transition:.5s;

}


.pooja-card p{

line-height:30px;

color:#666;

position:relative;

z-index:10;

transition:.5s;

}


.pooja-card:hover h3,
.pooja-card:hover p{

color:white;

}


/* Floating Animation */

@keyframes floatPooja{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}


/* Pulse Icon */

@keyframes pulseIcon{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}
/*======================
Temple Architecture
=======================*/

.architecture-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff7eb);

overflow:hidden;

}


.architecture-container{

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

}


/* Image */

.architecture-image{

overflow:hidden;

border-radius:35px;

box-shadow:
0 20px 60px rgba(0,0,0,.15);

}

.architecture-image img{

width:100%;

display:block;

transition:1s;

animation:floatImage 6s infinite ease-in-out;

}

.architecture-image:hover img{

transform:scale(1.1);

}


/* Content */

.architecture-content h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:30px;

}

.architecture-content p{

line-height:32px;

color:#666;

margin-bottom:40px;

}


/* Grid */

.architecture-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

}


/* Card */

.architecture-card{

background:white;

padding:30px;

border-radius:25px;

box-shadow:
0 10px 30px rgba(0,0,0,.08);

transition:.5s;

position:relative;

overflow:hidden;

}


/* Glow Effect */

.architecture-card::before{

content:"";

position:absolute;

left:-100px;

top:-100px;

width:200px;

height:200px;

background:
rgba(245,158,11,.08);

border-radius:50%;

filter:blur(50px);

}


.architecture-card:hover{

transform:translateY(-10px);

box-shadow:
0 20px 50px rgba(245,158,11,.3);

}


/* Icon */

.arch-icon{

font-size:45px;

margin-bottom:20px;

animation:pulseArch 2s infinite;

}


/* Heading */

.architecture-card h3{

font-size:24px;

color:#4b2e1f;

margin-bottom:15px;

}


/* Text */

.architecture-card p{

line-height:28px;

color:#666;

}


/* Animations */

@keyframes floatImage{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}

@keyframes pulseArch{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}
/*========================
Temple Significance
=========================*/

.significance-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fff8ef,#fffdf8);

text-align:center;

overflow:hidden;

}


.significance-section h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.significance-sub{

max-width:850px;

margin:auto;

line-height:32px;

font-size:18px;

color:#666;

margin-bottom:80px;

}


/* Grid */

.significance-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:35px;

}


/* Card */

.significance-card{

background:white;

padding:50px 35px;

border-radius:30px;

position:relative;

overflow:hidden;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.6s;

animation:floatSignificance 5s infinite ease-in-out;

}


/* Golden Glow */

.significance-card::before{

content:"";

position:absolute;

width:250px;
height:250px;

background:
rgba(245,158,11,.08);

border-radius:50%;

top:-100px;
right:-100px;

filter:blur(60px);

}


/* Hover */

.significance-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(245,158,11,.3);

}


/* Icon */

.significance-icon{

font-size:55px;

margin-bottom:20px;

animation:pulseSignificance 2s infinite;

}


/* Counter */

.significance-card h1{

font-size:70px;

color:#f59e0b;

margin-bottom:20px;

font-weight:700;

}


/* Title */

.significance-card h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:20px;

}


/* Text */

.significance-card p{

line-height:30px;

color:#666;

}


/* Animation */

@keyframes floatSignificance{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}


@keyframes pulseSignificance{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}
/*======================
Festival Details
======================*/

.festival-details{

padding:120px 10%;
background:linear-gradient(135deg,#fffdf8,#fff7eb);

text-align:center;

}

.festival-details h2{

font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;

}

.festival-sub{

max-width:850px;
margin:auto;
line-height:32px;
color:#666;
font-size:18px;
margin-bottom:80px;

}


/* Grid */

.festival-container{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:35px;

}


/* Card */

.festival-box{

background:white;

padding:40px;

border-radius:30px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

position:relative;

overflow:hidden;

transition:.6s;

}


/* Golden Glow */

.festival-box::before{

content:"";

position:absolute;

top:-100px;
left:-100px;

width:220px;
height:220px;

background:rgba(245,158,11,.08);

border-radius:50%;

filter:blur(60px);

}


/* Hover */

.festival-box:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(245,158,11,.35);

}


/* Icon */

.festival-icon{

font-size:55px;

margin-bottom:25px;

animation:pulseFestival 2s infinite;

}


.festival-box h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:15px;

}


.festival-box h4{

font-size:20px;

color:#f59e0b;

margin-bottom:20px;

}


.festival-box p{

line-height:30px;

color:#666;

}


/* Icon Animation */

@keyframes pulseFestival{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}
/*====================
Temple Gallery
====================*/

.temple-gallery{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff8ee);

text-align:center;

overflow:hidden;

}


.temple-gallery h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.gallery-sub{

max-width:850px;

margin:auto;

font-size:18px;

line-height:32px;

color:#666;

margin-bottom:80px;

}


/* Grid */

.gallery-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}


/* Card */

.gallery-card{

position:relative;

overflow:hidden;

border-radius:30px;

box-shadow:
0 15px 40px rgba(0,0,0,.12);

cursor:pointer;

height:350px;

transition:.6s;

}


/* Large Card */

.gallery-card.large{

height:500px;

}


/* Image */

.gallery-card img{

width:100%;

height:100%;

object-fit:cover;

transition:1s;

}


/* Zoom Effect */

.gallery-card:hover img{

transform:scale(1.15);

}


/* Overlay */

.gallery-overlay{

position:absolute;

left:0;
bottom:0;

width:100%;

padding:35px;

background:
linear-gradient(transparent,rgba(0,0,0,.9));

transform:translateY(100%);

transition:.6s;

}


.gallery-card:hover .gallery-overlay{

transform:translateY(0);

}


.gallery-overlay h3{

color:white;

font-size:30px;

font-weight:600;

}


/* Hover Shadow */

.gallery-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 70px rgba(245,158,11,.3);

}
/*=====================
Temple Rules
======================*/

.rules-section{

padding:120px 10%;

background:
linear-gradient(135deg,#f9fff9,#fffdf8);

text-align:center;

overflow:hidden;

}


.rules-section h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.rules-sub{

max-width:850px;

margin:auto;

font-size:18px;

line-height:32px;

color:#666;

margin-bottom:80px;

}


/* Grid */

.rules-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}


/* Card */

.rule-card{

background:white;

padding:45px 35px;

border-radius:30px;

position:relative;

overflow:hidden;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.6s;

animation:floatRule 5s ease-in-out infinite;

}


/* Green Glow */

.rule-card::before{

content:"";

position:absolute;

top:-100px;

right:-100px;

width:220px;

height:220px;

background:
rgba(34,197,94,.1);

border-radius:50%;

filter:blur(50px);

}


/* Hover */

.rule-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(34,197,94,.35);

}


/* Icon */

.rule-icon{

font-size:60px;

margin-bottom:25px;

animation:pulseRule 2s infinite;

}


/* Title */

.rule-card h3{

font-size:28px;

color:#4b2e1f;

margin-bottom:20px;

}


/* Text */

.rule-card p{

color:#666;

line-height:30px;

}


/* Floating Animation */

@keyframes floatRule{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}


/* Icon Pulse */

@keyframes pulseRule{

0%{

transform:scale(1);

}

50%{

transform:scale(1.15);

}

100%{

transform:scale(1);

}

}
/*====================
FAQ SECTION
====================*/

.faq-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff7ec);

text-align:center;

}


.faq-section h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.faq-sub{

max-width:850px;

margin:auto;

font-size:18px;

line-height:32px;

color:#666;

margin-bottom:80px;

}


/* Container */

.faq-container{

max-width:1000px;

margin:auto;

display:flex;

flex-direction:column;

gap:25px;

}


/* Card */

.faq-card{

background:rgba(255,255,255,.6);

backdrop-filter:blur(20px);

padding:0;

border-radius:25px;

box-shadow:
0 10px 30px rgba(0,0,0,.08);

overflow:hidden;

transition:.5s;

}


/* Hover */

.faq-card:hover{

transform:translateY(-8px);

box-shadow:
0 20px 50px rgba(245,158,11,.3);

}


/* Question */

.faq-card summary{

list-style:none;

cursor:pointer;

padding:30px;

font-size:24px;

font-weight:600;

color:#4b2e1f;

position:relative;

transition:.5s;

}


/* Remove default arrow */

.faq-card summary::-webkit-details-marker{

display:none;

}


/* Plus Icon */

.faq-card summary::after{

content:"+";

position:absolute;

right:30px;

font-size:35px;

color:#f59e0b;

transition:.5s;

}


/* Minus icon */

.faq-card[open] summary::after{

content:"−";

transform:rotate(180deg);

}


/* Answer */

.faq-card p{

padding:0 30px 30px;

line-height:32px;

font-size:17px;

color:#666;

animation:fadeFaq .5s ease;

}


/* Animation */

@keyframes fadeFaq{

0%{

opacity:0;

transform:translateY(-10px);

}

100%{

opacity:1;

transform:translateY(0);

}

}
/*=====================
Nearby Shrines
======================*/

.shrines-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff8ef);

text-align:center;

overflow:hidden;

}


.shrines-section h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.shrines-sub{

max-width:850px;

margin:auto;

font-size:18px;

line-height:32px;

color:#666;

margin-bottom:80px;

}


/* Grid */

.shrines-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:35px;

}


/* Card */

.shrine-card{

position:relative;

overflow:hidden;

border-radius:30px;

height:400px;

cursor:pointer;

box-shadow:
0 15px 40px rgba(0,0,0,.12);

transition:.6s;

}


/* Image */

.shrine-card img{

width:100%;

height:100%;

object-fit:cover;

transition:1s;

}


/* Zoom Effect */

.shrine-card:hover img{

transform:scale(1.15);

}


/* Overlay */

.shrine-overlay{

position:absolute;

bottom:0;

left:0;

width:100%;

padding:35px;

background:
linear-gradient(transparent,
rgba(0,0,0,.95));

transform:translateY(40px);

transition:.6s;

}


.shrine-card:hover .shrine-overlay{

transform:translateY(0);

}


/* Text */

.shrine-overlay h3{

font-size:28px;

color:white;

margin-bottom:15px;

}


.shrine-overlay p{

color:#ddd;

line-height:28px;

}


/* Hover */

.shrine-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 70px rgba(245,158,11,.35);

}
/*=========================
Temple Location Map
=========================*/

.temple-map-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff8ee);

}


.map-heading{

text-align:center;

margin-bottom:80px;

}


.map-heading h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.map-heading p{

max-width:800px;

margin:auto;

font-size:18px;

line-height:32px;

color:#666;

}


/* Card */

.map-card{

display:grid;

grid-template-columns:1fr 1.5fr;

gap:50px;

align-items:center;

background:white;

padding:40px;

border-radius:35px;

box-shadow:
0 20px 60px rgba(0,0,0,.12);

transition:.5s;

}


.map-card:hover{

transform:translateY(-10px);

box-shadow:
0 30px 80px rgba(245,158,11,.3);

}


/* Left Side */

.map-info h3{

font-size:35px;

color:#4b2e1f;

margin-bottom:30px;

}


.map-info p{

line-height:32px;

color:#666;

margin-bottom:25px;

font-size:18px;

}


/* Button */

.direction-btn{

display:inline-block;

padding:16px 35px;

background:#f59e0b;

color:white;

text-decoration:none;

border-radius:50px;

font-weight:600;

transition:.5s;

box-shadow:
0 10px 30px rgba(245,158,11,.3);

}


.direction-btn:hover{

transform:translateY(-8px);

background:#ffb423;

}


/* Map */

.google-map{

overflow:hidden;

border-radius:30px;

box-shadow:
0 15px 50px rgba(0,0,0,.15);

}


.google-map iframe{

width:100%;

height:500px;

border:none;

transition:.6s;

}


.google-map:hover{

box-shadow:
0 25px 70px rgba(245,158,11,.3);

}
/*========================
DIVINE CTA SECTION
========================*/

.cta-section{

position:relative;

height:80vh;

background:
linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),
url("../images/temple1.jpg");

background-size:cover;

background-position:center;

background-attachment:fixed;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

overflow:hidden;

}


/* Content */

.cta-content{

position:relative;

z-index:10;

max-width:900px;

padding:0 20px;

animation:fadeUpCTA 1.5s ease;

}


/* Heading */

.cta-content h2{

font-family:Cinzel;

font-size:70px;

color:white;

margin-bottom:30px;

line-height:90px;

text-shadow:
0 5px 20px rgba(0,0,0,.5);

}


/* Text */

.cta-content p{

font-size:22px;

line-height:38px;

color:#f5f5f5;

margin-bottom:50px;

}


/* Buttons */

.cta-buttons{

display:flex;

justify-content:center;

gap:30px;

flex-wrap:wrap;

}


/* Button 1 */

.cta-btn1{

padding:18px 40px;

background:#f59e0b;

color:white;

text-decoration:none;

border-radius:50px;

font-size:18px;

font-weight:600;

transition:.5s;

box-shadow:
0 10px 30px rgba(245,158,11,.4);

}


.cta-btn1:hover{

transform:translateY(-10px);

background:#ffb423;

box-shadow:
0 20px 50px rgba(245,158,11,.7);

}


/* Button 2 */

.cta-btn2{

padding:18px 40px;

border:2px solid white;

color:white;

text-decoration:none;

border-radius:50px;

font-size:18px;

font-weight:600;

transition:.5s;

}


.cta-btn2:hover{

background:white;

color:#4b2e1f;

transform:translateY(-10px);

}


/* Animation */

@keyframes fadeUpCTA{

0%{

opacity:0;

transform:translateY(80px);

}

100%{

opacity:1;

transform:translateY(0);

}

}
.about-hero{

height:60vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/hero.jpg");

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

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

text-align:center;

position:relative;

overflow:hidden;

}


.about-overlay{

position:absolute;

top:50%;
left:50%;

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

width:100%;

padding:0 20px;

}


.about-overlay h1{

font-family:Cinzel;
font-size:75px;

color:white;

margin-bottom:20px;

animation:fadeDown 1s ease;

}


.about-overlay p{

font-size:22px;

color:white;

max-width:850px;

margin:auto;

line-height:35px;

}
/*==========================
Festival Hero Section
==========================*/

.festival-hero{

height:80vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/festival1.jpg");

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

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

position:relative;

overflow:hidden;

animation:bgZoom 15s infinite alternate;

}


/* Dark Overlay */

.festival-overlay{

position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,.25);

backdrop-filter:blur(2px);

}


/* Content */

.festival-content{

position:relative;
text-align:center;
z-index:2;

max-width:900px;

padding:0 20px;

animation:fadeUp 1.3s ease;

}


/* Breadcrumb */

.breadcrumb{

margin-bottom:25px;

font-size:18px;

color:#f5f5f5;

}

.breadcrumb a{

color:#f59e0b;

text-decoration:none;

font-weight:600;

transition:.4s;

}

.breadcrumb a:hover{

color:white;

}

.breadcrumb span{

margin:0 8px;

}


/* Title */

.festival-content h1{

font-family:Cinzel;

font-size:85px;

color:white;

margin-bottom:25px;

letter-spacing:2px;

text-shadow:
0 0 20px rgba(255,255,255,.2);

animation:glowText 3s infinite alternate;

}


/* Subtitle */

.festival-content p{

font-size:24px;

line-height:40px;

color:#fff;

max-width:850px;

margin:auto;

font-weight:300;

}


/* Title Glow Animation */

@keyframes glowText{

from{

text-shadow:
0 0 15px rgba(255,255,255,.2);

}

to{

text-shadow:
0 0 30px rgba(245,158,11,.8);

}

}


/* Fade Up */

@keyframes fadeUp{

from{

opacity:0;
transform:translateY(70px);

}

to{

opacity:1;
transform:translateY(0);

}

}


/* Background Zoom */

@keyframes bgZoom{

from{

background-size:100%;

}

to{

background-size:110%;

}

}
/*======================
Festival Introduction
======================*/

.festival-intro{

padding:120px 10%;

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

background:#fffdf8;

}


/* Image */

.intro-image{

position:relative;

overflow:hidden;

border-radius:30px;

box-shadow:0 20px 50px rgba(0,0,0,.15);

}

.intro-image img{

width:100%;

display:block;

transition:.8s;

}

.intro-image:hover img{

transform:scale(1.08);

}


.image-overlay{

position:absolute;

bottom:0;

width:100%;

padding:30px;

background:linear-gradient(transparent,rgba(0,0,0,.8));

}

.image-overlay h3{

color:white;

font-size:35px;

font-family:Cinzel;

}


/* Right Content */

.intro-content h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:30px;

position:relative;

}

.intro-content h2::after{

content:"";

position:absolute;

left:0;

bottom:-15px;

width:100px;

height:4px;

background:#f59e0b;

border-radius:20px;

}


.intro-content p{

font-size:19px;

line-height:38px;

color:#666;

margin-top:40px;

margin-bottom:50px;

}


/* Cards */

.intro-cards{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

}


.intro-card{

background:white;

padding:30px;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.5s;

cursor:pointer;

position:relative;

overflow:hidden;

}


.intro-card::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:100%;

background:linear-gradient(90deg,
transparent,
rgba(245,158,11,.15),
transparent);

transition:.8s;

}

.intro-card:hover::before{

left:100%;

}


.intro-card:hover{

transform:translateY(-12px);

box-shadow:0 20px 50px rgba(245,158,11,.3);

}


.intro-card span{

font-size:45px;

display:block;

margin-bottom:15px;

}


.intro-card h3{

font-size:24px;

color:#4b2e1f;

margin-bottom:15px;

}


.intro-card p{

font-size:15px;

line-height:28px;

color:#777;

margin:0;

}
/*=========================
ANNUAL FESTIVALS
=========================*/

.annual-festivals{

padding:120px 10%;

background:#fffdf8;

}


.section-title{

text-align:center;

margin-bottom:80px;

}

.section-title h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}

.section-title p{

font-size:18px;

color:#666;

max-width:800px;

margin:auto;

line-height:35px;

}


/* Grid */

.festival-highlight-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(350px,1fr));

gap:40px;

}


/* Cards */

.festival-highlight-card{

background:white;

padding:40px;

border-radius:30px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

position:relative;

overflow:hidden;

transition:.5s;

cursor:pointer;

}


.festival-highlight-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:linear-gradient(to right,#f59e0b,#ffcb74);

}


.festival-highlight-card:hover{

transform:translateY(-15px);

box-shadow:0 20px 50px rgba(245,158,11,.25);

}


.festival-icon{

width:80px;

height:80px;

background:#fff3d7;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:38px;

margin-bottom:25px;

transition:.5s;

}


.festival-highlight-card:hover .festival-icon{

transform:rotate(360deg);

background:#f59e0b;

}


.festival-highlight-card h3{

font-size:34px;

color:#4b2e1f;

margin-bottom:10px;

}


.festival-highlight-card h4{

font-size:18px;

color:#f59e0b;

margin-bottom:30px;

}


.festival-info p{

line-height:32px;

color:#666;

margin-bottom:20px;

}


/* Shine effect */

.festival-highlight-card::after{

content:"";

position:absolute;

top:-100%;

left:-100%;

width:200%;

height:200%;

background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,.4),
transparent);

transform:rotate(25deg);

transition:1s;

}


.festival-highlight-card:hover::after{

top:100%;

left:100%;

}
/*====================
MONTHLY FESTIVAL CALENDAR
====================*/

.festival-calendar{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff7ed);

overflow:hidden;

}


.calendar-heading{

text-align:center;

margin-bottom:100px;

}


.calendar-heading h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.calendar-heading p{

max-width:850px;

margin:auto;

font-size:18px;

line-height:35px;

color:#666;

}


/* Timeline */

.calendar-timeline{

position:relative;

max-width:1200px;

margin:auto;

}


.calendar-timeline::before{

content:"";

position:absolute;

left:50%;

top:0;

width:5px;

height:100%;

background:
linear-gradient(#f59e0b,#ffcb74);

transform:translateX(-50%);

border-radius:20px;

}


/* Item */

.calendar-item{

position:relative;

width:50%;

padding:20px 50px;

margin-bottom:70px;

}


.calendar-item.left{

left:0;

}

.calendar-item.right{

left:50%;

}


/* Dot */

.calendar-item::after{

content:"";

position:absolute;

width:25px;

height:25px;

background:#f59e0b;

border:5px solid white;

top:50px;

border-radius:50%;

box-shadow:

0 0 15px rgba(245,158,11,.7),

0 0 30px rgba(245,158,11,.4);

}


.calendar-item.left::after{

right:-17px;

}

.calendar-item.right::after{

left:-17px;

}


/* Card */

.calendar-content{

background:white;

padding:35px;

border-radius:30px;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.5s;

}


.calendar-content:hover{

transform:translateY(-10px);

box-shadow:
0 20px 50px rgba(245,158,11,.25);

}


/* Text */

.calendar-content h3{

font-size:35px;

color:#4b2e1f;

margin-bottom:20px;

font-family:Cinzel;

}


.calendar-content h4{

font-size:22px;

color:#f59e0b;

margin-bottom:15px;

}


.calendar-content p{

line-height:30px;

color:#666;

}


/* Floating Animation */

.calendar-content{

animation:floatCalendar 4s ease-in-out infinite;

}

@keyframes floatCalendar{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}
/*=========================
SPECIAL POOJAS
=========================*/

.special-poojas{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff8ef);

text-align:center;

overflow:hidden;

}


.pooja-heading{

margin-bottom:80px;

}

.pooja-heading h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}

.pooja-heading p{

max-width:850px;

margin:auto;

line-height:35px;

font-size:18px;

color:#666;

}


/* Grid */

.pooja-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:35px;

}


/* Card */

.pooja-box{

background:white;

padding:45px 35px;

border-radius:30px;

position:relative;

overflow:hidden;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.5s;

cursor:pointer;

}


/* Glow Circle */

.pooja-box::before{

content:"";

position:absolute;

top:-100px;

right:-100px;

width:220px;

height:220px;

background:
rgba(245,158,11,.08);

border-radius:50%;

filter:blur(50px);

}


/* Hover */

.pooja-box:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(245,158,11,.35);

}


/* Icon */

.pooja-icon{

width:90px;

height:90px;

margin:auto;

border-radius:50%;

background:#fff4dc;

display:flex;

justify-content:center;

align-items:center;

font-size:40px;

margin-bottom:25px;

transition:.6s;

}


/* Rotate Icon */

.pooja-box:hover .pooja-icon{

background:#f59e0b;

transform:rotate(360deg);

}


/* Title */

.pooja-box h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:20px;

}


/* Text */

.pooja-box p{

line-height:30px;

color:#666;

}


/* Shine Effect */

.pooja-box::after{

content:"";

position:absolute;

top:-100%;

left:-100%;

width:200%;

height:200%;

background:
linear-gradient(
120deg,
transparent,
rgba(255,255,255,.4),
transparent);

transform:rotate(25deg);

transition:1s;

}

.pooja-box:hover::after{

top:100%;

left:100%;

}
/*========================
FESTIVAL GALLERY
========================*/

.festival-gallery{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff8ef);

overflow:hidden;

}


.gallery-title{

text-align:center;

margin-bottom:80px;

}


.gallery-title h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.gallery-title p{

max-width:850px;

margin:auto;

font-size:18px;

line-height:35px;

color:#666;

}


/* Grid */

.festival-gallery-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}


/* Card */

.festival-gallery-card{

position:relative;

overflow:hidden;

border-radius:30px;

height:350px;

cursor:pointer;

box-shadow:
0 15px 40px rgba(0,0,0,.12);

transition:.6s;

}


/* Large Card */

.festival-gallery-card.large{

height:500px;

}


/* Image */

.festival-gallery-card img{

width:100%;

height:100%;

object-fit:cover;

transition:1s;

}


/* Zoom */

.festival-gallery-card:hover img{

transform:scale(1.15);

}


/* Overlay */

.festival-gallery-overlay{

position:absolute;

left:0;
bottom:0;

width:100%;

padding:35px;

background:
linear-gradient(
transparent,
rgba(0,0,0,.95));

transform:translateY(60px);

transition:.6s;

}


.festival-gallery-card:hover .festival-gallery-overlay{

transform:translateY(0);

}


/* Text */

.festival-gallery-overlay h3{

font-size:30px;

color:white;

margin-bottom:15px;

}


.festival-gallery-overlay p{

color:#ddd;

line-height:28px;

}


/* Hover */

.festival-gallery-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 70px rgba(245,158,11,.35);

}


/* Floating Animation */

.festival-gallery-card{

animation:galleryFloat 5s ease-in-out infinite;

}

@keyframes galleryFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}
/* Festival Schedule */

.festival-schedule{
padding:120px 10%;
background:#fffdf8;
}

.festival-schedule h2{
text-align:center;
font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;
}

.schedule-sub{
text-align:center;
font-size:20px;
color:#666;
max-width:850px;
margin:auto;
margin-bottom:80px;
line-height:35px;
}

.schedule-timeline{
position:relative;
max-width:850px;
margin:auto;
}

.schedule-timeline::before{
content:"";
position:absolute;
left:50%;
top:0;
width:4px;
height:100%;
transform:translateX(-50%);
background:linear-gradient(#f59e0b,#ff7b00);
border-radius:10px;
box-shadow:0 0 20px orange;
}

.schedule-item{
position:relative;
width:50%;
padding:25px 50px;
animation:fadeUp 1s ease;
}

.schedule-item:nth-child(odd){
left:0;
text-align:right;
}

.schedule-item:nth-child(even){
left:50%;
}

.schedule-dot{
position:absolute;
top:45px;
right:-12px;
width:25px;
height:25px;
background:#f59e0b;
border-radius:50%;
border:5px solid white;
box-shadow:0 0 20px orange;
z-index:10;
}

.schedule-item:nth-child(even) .schedule-dot{
left:-12px;
}

.schedule-card{
background:white;
padding:30px;
border-radius:25px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
transition:.5s;
}

.schedule-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 50px rgba(245,158,11,.4);
}

.schedule-card h3{
font-size:34px;
color:#f59e0b;
margin-bottom:10px;
}

.schedule-card h4{
font-size:28px;
color:#4b2e1f;
margin-bottom:15px;
}

.schedule-card p{
line-height:30px;
color:#666;
}


/* Animation */

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(50px);
}
to{
opacity:1;
transform:translateY(0);
}
}


/* Mobile */

@media(max-width:768px){

.schedule-timeline::before{
left:20px;
}

.schedule-item{
width:100%;
left:0 !important;
padding-left:60px;
text-align:left !important;
}

.schedule-dot{
left:8px !important;
right:auto;
}

}
/* Festival Statistics */

.festival-stats{
padding:120px 10%;
background:linear-gradient(to bottom,#fffdf8,#fff8ec);
text-align:center;
}

.festival-stats h2{
font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;
}

.stats-sub{
max-width:850px;
margin:auto;
font-size:20px;
line-height:35px;
color:#666;
margin-bottom:70px;
}

.stats-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:35px;
}

.stat-card{
background:white;
padding:45px 35px;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.08);
transition:.5s;
position:relative;
overflow:hidden;
}

.stat-card::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:100%;
height:100%;
background:linear-gradient(
90deg,
transparent,
rgba(255,255,255,.5),
transparent
);
transition:.8s;
}

.stat-card:hover::before{
left:100%;
}

.stat-card:hover{
transform:translateY(-15px);
box-shadow:0 20px 50px rgba(245,158,11,.35);
}

.stat-icon{
font-size:50px;
margin-bottom:25px;
animation:floatIcon 3s infinite ease-in-out;
}

.stat-card h1{
font-size:60px;
color:#f59e0b;
margin-bottom:15px;
font-weight:700;
}

.stat-card h3{
font-size:30px;
color:#4b2e1f;
margin-bottom:20px;
}

.stat-card p{
font-size:17px;
line-height:30px;
color:#666;
}


/* Floating Animation */

@keyframes floatIcon{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0);
}

}


/* Mobile */

@media(max-width:768px){

.festival-stats h2{
font-size:45px;
}

.stat-card h1{
font-size:45px;
}

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

}
/* Festival Guidelines */

.festival-guidelines{
padding:120px 10%;
background:#fffdf8;
text-align:center;
}

.festival-guidelines h2{
font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;
}

.guide-sub{
max-width:850px;
margin:auto;
font-size:20px;
line-height:35px;
color:#666;
margin-bottom:70px;
}

.guide-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:35px;
}

.guide-card{
background:rgba(255,255,255,.9);
backdrop-filter:blur(10px);
padding:40px 35px;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.08);
transition:.5s;
position:relative;
overflow:hidden;
}

.guide-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:0;
height:100%;
background:linear-gradient(
135deg,
rgba(34,197,94,.1),
rgba(16,185,129,.15)
);
transition:.5s;
}

.guide-card:hover::before{
width:100%;
}

.guide-card:hover{
transform:translateY(-15px);
box-shadow:0 20px 50px rgba(34,197,94,.25);
}

.guide-icon{
font-size:55px;
margin-bottom:25px;
animation:floatGuide 3s infinite ease-in-out;
}

.guide-card h3{
font-size:28px;
color:#4b2e1f;
margin-bottom:20px;
}

.guide-card p{
font-size:17px;
line-height:30px;
color:#666;
position:relative;
z-index:2;
}


/* Floating Animation */

@keyframes floatGuide{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0);
}

}


/* Mobile */

@media(max-width:768px){

.festival-guidelines h2{
font-size:45px;
}

.guide-card{
padding:35px 25px;
}

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

}
/* ==========================
Upcoming Events
========================== */

.events-section{
padding:120px 10%;
background:linear-gradient(to bottom,#fffdf8,#fff7eb);
text-align:center;
}

.events-section h2{
font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;
}

.events-sub{
max-width:850px;
margin:auto;
font-size:20px;
line-height:35px;
color:#666;
margin-bottom:70px;
}

.events-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:40px;
}

.event-card{
position:relative;
background:white;
padding:45px 35px;
border-radius:30px;
overflow:hidden;
box-shadow:0 15px 40px rgba(0,0,0,.08);
transition:.5s;
}

.event-card:hover{
transform:translateY(-15px);
box-shadow:0 20px 50px rgba(245,158,11,.35);
}

.event-card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:5px;
background:linear-gradient(90deg,#f59e0b,#ff7b00);
}

.event-badge{
position:absolute;
top:20px;
right:-30px;
background:#f59e0b;
color:white;
padding:8px 40px;
font-size:14px;
transform:rotate(45deg);
font-weight:600;
}

.event-icon{
font-size:60px;
margin-bottom:25px;
animation:floatEvent 3s infinite ease-in-out;
}

.event-card h3{
font-size:32px;
color:#4b2e1f;
margin-bottom:20px;
}

.event-date{
display:inline-block;
padding:12px 25px;
background:#fff3d8;
color:#f59e0b;
font-weight:600;
border-radius:50px;
margin-bottom:25px;
}

.event-card p{
font-size:17px;
line-height:32px;
color:#666;
}


/* Floating Animation */

@keyframes floatEvent{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0px);
}

}


/* Responsive */

@media(max-width:768px){

.events-section h2{
font-size:45px;
}

.event-card h3{
font-size:26px;
}

}
/*=========================
Festival Map
==========================*/

.festival-map{

padding:120px 10%;

background:
linear-gradient(135deg,#fffdf8,#fff7eb);

}


.map-title{

text-align:center;

margin-bottom:80px;

}


.map-title h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:20px;

}


.map-title p{

max-width:850px;

margin:auto;

font-size:18px;

line-height:35px;

color:#666;

}


/* Container */

.festival-map-container{

display:grid;

grid-template-columns:1fr 1.3fr;

gap:50px;

align-items:center;

}


/* Left Card */

.map-info-card{

background:white;

padding:45px;

border-radius:30px;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.5s;

}


.map-info-card:hover{

transform:translateY(-10px);

box-shadow:
0 20px 50px rgba(245,158,11,.25);

}


/* Info */

.info-item{

display:flex;

gap:20px;

margin-bottom:35px;

}


.info-icon{

width:70px;

height:70px;

background:#fff3d8;

border-radius:50%;

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

color:#f59e0b;

}


.info-item h3{

font-size:28px;

color:#4b2e1f;

margin-bottom:10px;

}


.info-item p{

line-height:30px;

color:#666;

}


/* Button */

.direction-btn{

display:inline-block;

padding:18px 40px;

background:#f59e0b;

color:white;

text-decoration:none;

border-radius:50px;

font-size:18px;

font-weight:600;

transition:.5s;

box-shadow:
0 10px 30px rgba(245,158,11,.3);

}


.direction-btn:hover{

transform:translateY(-8px);

background:#ffb52a;

}


/* Map */

.festival-map-box{

overflow:hidden;

border-radius:35px;

box-shadow:
0 20px 60px rgba(0,0,0,.15);

transition:.5s;

}


.festival-map-box:hover{

transform:translateY(-10px);

box-shadow:
0 25px 70px rgba(245,158,11,.3);

}


.festival-map-box iframe{

width:100%;

height:550px;

border:none;

}
/*======================
Festival FAQ
======================*/

.festival-faq{

padding:120px 10%;

background:#fffdf8;

text-align:center;

}

.festival-faq h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}

.faq-sub{

max-width:800px;

margin:auto;

line-height:35px;

font-size:18px;

color:#666;

margin-bottom:70px;

}


.faq-container{

max-width:1000px;

margin:auto;

display:flex;

flex-direction:column;

gap:25px;

}


.faq-box{

background:white;

border-radius:25px;

padding:0;

box-shadow:0 15px 40px rgba(0,0,0,.08);

overflow:hidden;

transition:.5s;

}


.faq-box:hover{

transform:translateY(-8px);

box-shadow:0 20px 50px rgba(245,158,11,.25);

}


.faq-box summary{

padding:30px;

font-size:24px;

font-weight:600;

cursor:pointer;

list-style:none;

color:#4b2e1f;

}


.faq-box p{

padding:0 30px 30px;

line-height:30px;

color:#666;

animation:fadeFaq .5s ease;

}


@keyframes fadeFaq{

from{

opacity:0;

transform:translateY(-15px);

}

to{

opacity:1;

transform:translateY(0);

}

}
/*=========================
Festival CTA
=========================*/

.festival-cta{

height:80vh;

background:

linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),

url("../images/festival1.jpg");

background-size:cover;

background-position:center;

background-attachment:fixed;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

padding:0 10%;

overflow:hidden;

}


.festival-cta-content{

max-width:900px;

animation:fadeCTA 1.2s ease;

}


.festival-cta-content h2{

font-family:Cinzel;

font-size:70px;

line-height:90px;

color:white;

margin-bottom:30px;

}


.festival-cta-content p{

font-size:22px;

line-height:38px;

color:#f5f5f5;

margin-bottom:50px;

}


.festival-cta-buttons{

display:flex;

justify-content:center;

gap:30px;

flex-wrap:wrap;

}


/* Button 1 */

.festival-btn1{

padding:18px 40px;

background:#f59e0b;

color:white;

text-decoration:none;

border-radius:50px;

font-size:18px;

font-weight:600;

transition:.5s;

box-shadow:

0 10px 30px rgba(245,158,11,.4);

}


.festival-btn1:hover{

transform:translateY(-10px);

background:#ffb423;

box-shadow:

0 20px 50px rgba(245,158,11,.7);

}


/* Button 2 */

.festival-btn2{

padding:18px 40px;

border:2px solid white;

color:white;

text-decoration:none;

border-radius:50px;

font-size:18px;

font-weight:600;

transition:.5s;

}


.festival-btn2:hover{

background:white;

color:#4b2e1f;

transform:translateY(-10px);

}


/* Animation */

@keyframes fadeCTA{

from{

opacity:0;

transform:translateY(80px);

}

to{

opacity:1;

transform:translateY(0);

}

}


/* Mobile */

@media(max-width:768px){

.festival-cta{

height:70vh;

}

.festival-cta-content h2{

font-size:42px;

line-height:60px;

}

.festival-cta-content p{

font-size:18px;

line-height:32px;

}

}
/*==========================
Travel Hero
==========================*/

.travel-hero{

height:85vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/river.jpg");

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

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

position:relative;

animation:bgZoom 15s infinite alternate;

}


.travel-content{

text-align:center;

max-width:900px;

position:relative;

z-index:10;

animation:fadeTravel 1.5s ease;

}


.travel-content h1{

font-size:90px;

font-family:Cinzel;

color:white;

margin-bottom:25px;

}


.travel-content p{

font-size:24px;

line-height:40px;

color:white;

}


.breadcrumb{

margin-bottom:25px;

color:white;

font-size:18px;

}

.breadcrumb a{

color:#f59e0b;

text-decoration:none;

}

@keyframes bgZoom{

from{

background-size:100%;

}

to{

background-size:110%;

}

}


@keyframes fadeTravel{

from{

opacity:0;

transform:translateY(80px);

}

to{

opacity:1;

transform:translateY(0);

}

}
/*====================
How To Reach
====================*/

.reach-section{

padding:120px 10%;

background:#fffdf8;

text-align:center;

}


.reach-section h2{

font-family:Cinzel;

font-size:60px;

color:#4b2e1f;

margin-bottom:20px;

}


.reach-sub{

font-size:18px;

color:#666;

margin-bottom:80px;

}


.reach-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:40px;

}


.reach-card{

background:white;

padding:50px;

border-radius:30px;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.5s;

position:relative;

overflow:hidden;

}


.reach-card::before{

content:"";

position:absolute;

top:-100px;

right:-100px;

width:200px;

height:200px;

background:
rgba(245,158,11,.08);

border-radius:50%;

filter:blur(50px);

}


.reach-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(245,158,11,.35);

}


.reach-icon{

font-size:60px;

margin-bottom:30px;

}


.reach-card h3{

font-size:32px;

color:#4b2e1f;

margin-bottom:25px;

}


.reach-card p{

line-height:35px;

color:#666;

font-size:18px;

}
/*====================
Distance Cards
====================*/

.distance-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fff8ef,#fffdf8);

text-align:center;

}


.distance-section h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:20px;

}


.distance-sub{

font-size:18px;

color:#666;

margin-bottom:80px;

}


.distance-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(230px,1fr));

gap:35px;

}


.distance-card{

background:white;

padding:45px;

border-radius:30px;

box-shadow:
0 15px 40px rgba(0,0,0,.08);

transition:.5s;

animation:floatDistance 4s infinite ease-in-out;

}


.distance-card:hover{

transform:translateY(-15px);

box-shadow:
0 25px 60px rgba(245,158,11,.3);

}


.distance-card h1{

font-size:60px;

color:#f59e0b;

margin-bottom:20px;

}


.distance-card h3{

font-size:30px;

color:#4b2e1f;

}


@keyframes floatDistance{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-10px);

}

100%{

transform:translateY(0);

}

}
/* Railway Section */

.railway-section{

padding:120px 10%;
background:#fffdf8;

}

.railway-section h2{

text-align:center;
font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;

}

.railway-sub{

text-align:center;
max-width:800px;
margin:auto;
color:#666;
line-height:35px;
margin-bottom:80px;

}

.railway-container{

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

}

.railway-image img{

width:100%;
border-radius:30px;

box-shadow:0 20px 50px rgba(0,0,0,.15);

}

.railway-info{

background:rgba(255,255,255,.6);

backdrop-filter:blur(20px);

padding:50px;

border-radius:30px;

box-shadow:0 15px 40px rgba(0,0,0,.1);

}

.railway-box{

display:flex;
gap:20px;
margin-top:30px;

}

.railway-box span{

font-size:40px;

}

.railway-box h4{

color:#4b2e1f;
margin-bottom:10px;

}
/* Bus Section */

.bus-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fff8ef,#fffdf8);

text-align:center;

}

.bus-section h2{

font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;

}

.bus-sub{

color:#666;
margin-bottom:80px;

}

.bus-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:35px;

}

.bus-card{

background:white;

padding:45px;

border-radius:30px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.5s;

}

.bus-card:hover{

transform:translateY(-15px);

box-shadow:0 25px 60px rgba(245,158,11,.3);

}

.bus-icon{

font-size:55px;

margin-bottom:25px;

}

.bus-card h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:20px;

}

.bus-card p{

line-height:30px;

color:#666;

}
/* Travel Map */

.travel-map{

padding:120px 10%;

background:#fffdf8;

}

.travel-map h2{

text-align:center;

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:20px;

}

.map-sub{

text-align:center;

margin-bottom:80px;

color:#666;

}

.map-container{

display:grid;

grid-template-columns:1fr 1.5fr;

gap:50px;

align-items:center;

}

.map-address{

background:white;

padding:50px;

border-radius:30px;

box-shadow:
0 20px 60px rgba(0,0,0,.1);

}

.map-address h3{

font-size:35px;

color:#4b2e1f;

margin-bottom:25px;

}

.map-address p{

line-height:35px;

color:#666;

margin-bottom:40px;

}

.direction-btn{

display:inline-block;

padding:18px 40px;

background:#f59e0b;

color:white;

text-decoration:none;

border-radius:50px;

font-weight:600;

transition:.5s;

box-shadow:
0 10px 30px rgba(245,158,11,.4);

}

.direction-btn:hover{

transform:translateY(-10px);

background:#ffb423;

}

.map-box{

overflow:hidden;

border-radius:35px;

box-shadow:
0 25px 70px rgba(245,158,11,.25);

}

.map-box iframe{

width:100%;

height:550px;

border:none;

}
.stay-section{

padding:120px 10%;
background:#fffdf8;
text-align:center;

}

.stay-section h2{

font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;

}

.stay-sub{

margin-bottom:70px;
color:#666;

}

.stay-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:35px;

}

.stay-card{

background:white;
border-radius:30px;
overflow:hidden;
box-shadow:0 15px 40px rgba(0,0,0,.08);
transition:.5s;

}

.stay-card:hover{

transform:translateY(-15px);

}

.stay-card img{

width:100%;
height:250px;
object-fit:cover;
transition:.7s;

}

.stay-card:hover img{

transform:scale(1.1);

}

.stay-content{

padding:30px;

}

.stay-content h3{

color:#4b2e1f;

}

.stay-content h4{

color:#f59e0b;
margin:15px 0;

}
.food-section{

padding:120px 10%;

background:
linear-gradient(135deg,#fff8ef,#fffdf8);

text-align:center;

}

.food-section h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:20px;

}

.food-sub{

margin-bottom:80px;

color:#666;

}

.food-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:35px;

}

.food-card{

background:white;

padding:50px;

border-radius:30px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.5s;

}

.food-card:hover{

transform:translateY(-15px);

box-shadow:0 20px 50px rgba(245,158,11,.3);

}

.food-icon{

font-size:55px;

margin-bottom:25px;

}

.food-card h3{

font-size:30px;

color:#4b2e1f;

margin-bottom:20px;

}

.food-card p{

line-height:35px;

color:#666;

}
.attractions-section{

padding:120px 10%;
background:#fffdf8;
text-align:center;

}

.attractions-section h2{

font-size:60px;
font-family:Cinzel;
color:#4b2e1f;
margin-bottom:20px;

}

.attractions-sub{

margin-bottom:80px;
color:#666;

}

.attractions-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:35px;

}

.attraction-card{

position:relative;

overflow:hidden;

border-radius:30px;

box-shadow:0 15px 40px rgba(0,0,0,.1);

}

.attraction-card img{

width:100%;
height:350px;
object-fit:cover;

transition:.7s;

}

.attraction-card:hover img{

transform:scale(1.1);

}

.attraction-overlay{

position:absolute;

bottom:0;
left:0;

width:100%;

background:linear-gradient(transparent,rgba(0,0,0,.8));

padding:30px;

color:white;

}
.tips-section{

padding:120px 10%;
background:#f9fff9;
text-align:center;

}

.tips-section h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:80px;

}

.tips-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.tip-card{

background:white;

padding:45px;

border-radius:25px;

font-size:25px;

font-weight:600;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.5s;

}

.tip-card:hover{

background:#28a745;

color:white;

transform:translateY(-12px);

}
.travel-faq{

padding:120px 10%;

background:#fffdf8;

text-align:center;

}

.travel-faq h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:80px;

}

.faq-container{

max-width:900px;

margin:auto;

display:flex;

flex-direction:column;

gap:25px;

}

.faq-box{

background:rgba(255,255,255,.4);

backdrop-filter:blur(20px);

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

padding:25px;

text-align:left;

}

.faq-box summary{

font-size:24px;

font-weight:600;

cursor:pointer;

color:#4b2e1f;

}

.faq-box p{

margin-top:20px;

line-height:30px;

color:#666;

}
.emergency-section{

padding:120px 10%;

background:#fff8ef;

text-align:center;

}

.emergency-section h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:80px;

}

.emergency-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:30px;

}

.emergency-card{

background:#f59e0b;

padding:50px;

border-radius:25px;

color:white;

transition:.5s;

}

.emergency-card:hover{

transform:translateY(-15px);

box-shadow:0 20px 50px rgba(245,158,11,.5);

}
/*=====================
Gallery Hero
=====================*/

.gallery-hero{

height:85vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/festival1.jpg");

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

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

animation:bgzoom 15s infinite alternate;

}

.gallery-overlay{

max-width:900px;

animation:fadeup 1.5s ease;

}

.gallery-overlay h1{

font-size:90px;

font-family:Cinzel;

color:white;

margin-bottom:25px;

}

.gallery-overlay p{

font-size:24px;

color:white;

line-height:40px;

}

.breadcrumb{

margin-bottom:30px;

font-size:18px;

color:white;

}

.breadcrumb a{

color:#f59e0b;

text-decoration:none;

}

@keyframes bgzoom{

from{

background-size:100%;

}

to{

background-size:110%;

}

}

@keyframes fadeup{

from{

opacity:0;

transform:translateY(80px);

}

to{

opacity:1;

transform:translateY(0);

}

}
/*=====================
Gallery Intro
=====================*/

.gallery-intro{

padding:120px 10%;

display:grid;

grid-template-columns:1fr 1fr;

gap:70px;

align-items:center;

background:#fffdf8;

}

.gallery-left h2{

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:30px;

}

.gallery-left p{

font-size:19px;

line-height:40px;

color:#666;

}

.gallery-right img{

width:100%;

border-radius:30px;

box-shadow:0 20px 50px rgba(0,0,0,.15);

transition:.7s;

animation:floating 5s infinite;

}

.gallery-right img:hover{

transform:scale(1.05);

}

@keyframes floating{

50%{

transform:translateY(-15px);

}

}
/*=====================
Category Buttons
=====================*/

.category-section{

padding:100px 10%;

text-align:center;

background:white;

}

.category-section h2{

font-size:55px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:50px;

}

.category-buttons{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:20px;

}

.category-buttons button{

padding:18px 40px;

border:none;

background:white;

font-size:18px;

border-radius:50px;

cursor:pointer;

box-shadow:0 10px 30px rgba(0,0,0,.1);

transition:.5s;

}

.category-buttons button:hover{

background:#f59e0b;

color:white;

box-shadow:0 15px 40px rgba(245,158,11,.4);

}

.active-btn{

background:#f59e0b!important;

color:white;

}
/*=====================
Temple Gallery
=====================*/

.temple-gallery{

padding:120px 10%;

background:#fffdf8;

}

.temple-gallery h2{

text-align:center;

font-size:60px;

font-family:Cinzel;

color:#4b2e1f;

margin-bottom:20px;

}

.gallery-sub{

text-align:center;

margin-bottom:80px;

color:#666;

font-size:18px;

}

.masonry-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,1fr));

gap:30px;

}

.gallery-card{

position:relative;

overflow:hidden;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.1);

}

.gallery-card img{

width:100%;

height:350px;

object-fit:cover;

transition:.7s;

}

.gallery-card:hover img{

transform:scale(1.1);

}

.gallery-text{

position:absolute;

bottom:0;

width:100%;

padding:25px;

background:
linear-gradient(transparent,rgba(0,0,0,.8));

}

.gallery-text h3{

color:white;

font-size:28px;

}
.card-overlay{
position:absolute;
left:0;
bottom:0;
width:100%;
padding:35px;
background:linear-gradient(transparent,rgba(0,0,0,.9));
transform:translateY(100%);
transition:.6s;
}

.gallery-card:hover .card-overlay{
transform:translateY(0);
}

.card-overlay h3{
color:white;
font-size:30px;
}
/*===================
CAUVERY GALLERY
===================*/

.river-gallery{
padding:120px 10%;
background:linear-gradient(135deg,#fffdf8,#f5fbff);
}

.river-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:35px;
}

.river-card{
position:relative;
overflow:hidden;
border-radius:30px;
height:350px;
cursor:pointer;
box-shadow:0 15px 40px rgba(0,0,0,.12);
transition:.6s;
}

.river-card img{
width:100%;
height:100%;
object-fit:cover;
transition:1s;
}

.river-card:hover img{
transform:scale(1.15);
}

.river-overlay{
position:absolute;
bottom:0;
left:0;
width:100%;
padding:35px;
background:linear-gradient(transparent,rgba(0,0,0,.9));
}

.river-overlay h3{
color:white;
font-size:30px;
}

.river-card:hover{
transform:translateY(-15px);
box-shadow:0 25px 70px rgba(245,158,11,.3);
}
/*==================
TOWN GALLERY
==================*/

.town-gallery{
padding:120px 10%;
background:#fffdf8;
}

.town-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:35px;
}

.town-card{
position:relative;
overflow:hidden;
border-radius:30px;
height:350px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
transition:.6s;
}

.town-card img{
width:100%;
height:100%;
object-fit:cover;
transition:1s;
}

.town-card:hover img{
transform:scale(1.15);
}

.town-overlay{
position:absolute;
bottom:0;
width:100%;
padding:35px;
background:linear-gradient(transparent,rgba(0,0,0,.9));
}

.town-overlay h3{
color:white;
font-size:30px;
}

.town-card:hover{
transform:translateY(-15px);
}
/*==================
EVENTS GALLERY
==================*/

.events-gallery{
padding:120px 10%;
background:linear-gradient(135deg,#fff8ef,#fffdf8);
}

.events-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:35px;
}

.event-photo{
position:relative;
overflow:hidden;
height:350px;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
transition:.6s;
}

.event-photo img{
width:100%;
height:100%;
object-fit:cover;
transition:1s;
}

.event-photo:hover img{
transform:scale(1.15);
}

.event-overlay{
position:absolute;
bottom:0;
width:100%;
padding:35px;
background:linear-gradient(transparent,rgba(0,0,0,.9));
}

.event-overlay h3{
color:white;
font-size:30px;
}

.event-photo:hover{
transform:translateY(-15px);
box-shadow:0 25px 70px rgba(245,158,11,.3);
}
/*===================
MASONRY GALLERY
====================*/

.masonry-section{
padding:120px 10%;
background:#fffdf8;
}

.masonry-gallery{
column-count:3;
column-gap:25px;
}

.masonry-card{
overflow:hidden;
border-radius:30px;
margin-bottom:25px;
cursor:pointer;
box-shadow:0 15px 40px rgba(0,0,0,.1);
animation:floatGallery 5s infinite ease-in-out;
}

.masonry-card img{
width:100%;
display:block;
transition:1s;
}

.masonry-card:hover img{
transform:scale(1.1);
}

.masonry-card:hover{
box-shadow:0 25px 70px rgba(245,158,11,.3);
}

@keyframes floatGallery{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-10px);
}

100%{
transform:translateY(0);
}

}

@media(max-width:991px){

.masonry-gallery{
column-count:2;
}

}

@media(max-width:768px){

.masonry-gallery{
column-count:1;
}

}
/*====================
LIGHTBOX
=====================*/

.lightbox{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.95);

display:none;

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

z-index:9999;

}

.lightbox-img{

max-width:80%;
max-height:80%;

border-radius:20px;

box-shadow:0 20px 80px rgba(255,255,255,.15);

}

.close-btn{

position:absolute;

top:30px;
right:50px;

font-size:60px;

color:white;

cursor:pointer;

}

.caption{

position:absolute;

bottom:40px;

color:white;

font-size:25px;

}

.prev-btn,
.next-btn{

position:absolute;

top:50%;

transform:translateY(-50%);

font-size:50px;

border:none;

background:none;

color:white;

cursor:pointer;

}

.prev-btn{

left:50px;

}

.next-btn{

right:50px;

}
.contact-hero{
height:70vh;
background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url(images/contact-banner.jpg);
background-size:cover;
background-position:center;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:0 10%;
}

.contact-overlay h1{
font-size:80px;
font-family:Cinzel;
color:white;
margin-bottom:25px;
}

.contact-overlay p{
max-width:900px;
color:white;
font-size:24px;
line-height:40px;
}
.contact-cards{
padding:100px 10%;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.contact-card{
background:white;
padding:40px;
border-radius:30px;
box-shadow:0 10px 40px rgba(0,0,0,.1);
transition:.5s;
}

.contact-card:hover{
transform:translateY(-15px);
box-shadow:0 25px 70px rgba(245,158,11,.3);
}

.contact-card h3{
color:#9b5c0d;
margin-bottom:20px;
font-size:28px;
}

.contact-card p{
font-size:18px;
line-height:35px;
}
.enquiry-section{
padding:100px 10%;
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
}

.enquiry-left h2{
font-size:60px;
font-family:Cinzel;
color:#4e2d17;
margin-bottom:25px;
}

.enquiry-left p{
font-size:22px;
line-height:40px;
}

.enquiry-form input,
.enquiry-form textarea{
width:100%;
padding:22px;
border:none;
background:#f5f5f5;
border-radius:20px;
margin-bottom:20px;
font-size:18px;
}

.enquiry-form textarea{
height:180px;
resize:none;
}

.enquiry-form button{
padding:20px 60px;
background:#f59e0b;
border:none;
color:white;
font-size:20px;
border-radius:50px;
cursor:pointer;
transition:.5s;
}

.enquiry-form button:hover{
background:#4e2d17;
}
.timing-section{
padding:100px 10%;
background:#fffdf8;
text-align:center;
}

.timing-section h2{
font-size:65px;
font-family:Cinzel;
color:#4e2d17;
margin-bottom:70px;
}

.timing-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(400px,1fr));
gap:40px;
}

.timing-card{
padding:50px;
background:white;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
}

.timing-card h3{
font-size:35px;
color:#f59e0b;
margin-bottom:30px;
}

.timing-card p{
font-size:20px;
line-height:45px;
}
.deities-section{
padding:100px 10%;
}

.deities-section h2{
font-size:65px;
font-family:Cinzel;
text-align:center;
color:#4e2d17;
margin-bottom:60px;
}

.deities-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.deity-card{
background:white;
padding:35px;
border-radius:25px;
text-align:center;
font-size:22px;
box-shadow:0 10px 35px rgba(0,0,0,.1);
transition:.5s;
}

.deity-card:hover{
transform:translateY(-15px);
background:#f59e0b;
color:white;
}
.abhishekam-section{
padding:100px 10%;
background:#fffdf8;
}

.abhishekam-section h2{
text-align:center;
font-size:60px;
font-family:Cinzel;
margin-bottom:70px;
color:#4e2d17;
}

.abhishekam-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.ab-card{
background:white;
padding:40px;
text-align:center;
border-radius:25px;
font-size:22px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
transition:.5s;
}

.ab-card:hover{
background:#f59e0b;
color:white;
transform:translateY(-15px);
}
.pariharam-section{
padding:120px 10%;
background:#fffdf8;
}

.pariharam-section h2{
text-align:center;
font-size:60px;
font-family:Cinzel;
color:#4e2d17;
margin-bottom:70px;
}

.pariharam-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:35px;
}

.pariharam-card{
background:white;
padding:50px;
text-align:center;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
transition:.5s;
font-size:50px;
}

.pariharam-card h3{
font-size:24px;
margin-top:20px;
}

.pariharam-card:hover{
transform:translateY(-15px);
background:#f59e0b;
color:white;
}
.attraction-section{
padding:120px 10%;
}

.attraction-section h2{
text-align:center;
font-size:60px;
font-family:Cinzel;
color:#4e2d17;
margin-bottom:70px;
}

.attraction-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.attraction-card{
background:white;
padding:40px;
border-radius:25px;
font-size:24px;
text-align:center;
box-shadow:0 15px 40px rgba(0,0,0,.1);
transition:.5s;
}

.attraction-card:hover{
background:#f59e0b;
color:white;
transform:translateY(-10px);
}
.attraction-section{
padding:100px 10%;
background:#fffdf8;
}

.attraction-section h2{
text-align:center;
font-size:60px;
font-family:Cinzel;
color:#4e2d17;
margin-bottom:60px;
}

.attraction-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.attraction-card{
background:white;
padding:40px 30px;
border-radius:25px;
box-shadow:0 10px 35px rgba(0,0,0,.08);
text-align:center;
transition:.5s;
}

.attraction-card:hover{
transform:translateY(-10px);
box-shadow:0 20px 50px rgba(245,158,11,.25);
}

.icon{
font-size:50px;
margin-bottom:20px;
}

.attraction-card h3{
font-size:30px;
color:#4e2d17;
margin-bottom:15px;
}

.attraction-card p{
font-size:17px;
line-height:30px;
color:#666;
}
.map-section{
padding:120px 10%;
}

.map-section h2{
text-align:center;
font-size:60px;
font-family:Cinzel;
margin-bottom:60px;
color:#4e2d17;
}

.map-box{
overflow:hidden;
border-radius:30px;
box-shadow:0 20px 60px rgba(0,0,0,.15);
}
.faq-section{
padding:120px 10%;
background:#fffdf8;
}

.faq-section h2{
text-align:center;
font-size:60px;
font-family:Cinzel;
margin-bottom:70px;
color:#4e2d17;
}

.faq-box{
max-width:1000px;
margin:auto;
}

.faq-box h3{
background:white;
padding:25px;
border-radius:20px;
margin-bottom:10px;
color:#f59e0b;
box-shadow:0 10px 30px rgba(0,0,0,.1);
}

.faq-box p{
padding:20px 30px;
font-size:20px;
line-height:35px;
}
.quick-section{
padding:100px 10%;
}

.quick-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

.quick-card{
padding:50px;
text-align:center;
font-size:28px;
background:white;
border-radius:30px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
transition:.5s;
cursor:pointer;
}

.quick-card:hover{
background:#f59e0b;
color:white;
transform:translateY(-15px);
}
.contact-cta{
padding:150px 10%;
text-align:center;

background:
linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
url(images/footer-bg.jpg);

background-size:cover;
background-position:center;
}

.contact-cta h2{
font-size:70px;
font-family:Cinzel;
color:white;
margin-bottom:30px;
}

.contact-cta p{
max-width:900px;
margin:auto;
font-size:24px;
line-height:45px;
color:white;
margin-bottom:50px;
}

.cta-buttons{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
}

.cta-buttons a{
padding:20px 50px;
background:#f59e0b;
color:white;
text-decoration:none;
border-radius:50px;
font-size:20px;
transition:.5s;
}

.cta-buttons a:hover{
background:white;
color:#4e2d17;
}