@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;900&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
overflow-x:hidden;

background:
linear-gradient(
rgba(0,0,0,.45),
rgba(0,0,0,.45)
),
url('darshana.jpg');

background-size:cover;
background-position:center;
background-attachment:scroll;
}

/* NAVBAR */

.navbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 50px;

background:
linear-gradient(
90deg,
rgba(35,55,35,.97),
rgba(62,92,50,.97)
);

backdrop-filter:blur(20px);

position:sticky;
top:0;
z-index:9999;

box-shadow:
0 8px 25px rgba(0,0,0,.45);

border-bottom:
2px solid rgba(255,215,0,.35);
}
.navbar::after{
content:"";
position:absolute;
bottom:0;
left:0;
width:100%;
height:1px;
background:
linear-gradient(
90deg,
transparent,
#FFD700,
transparent
);
}

.logo{
display:flex;
align-items:center;
gap:15px;

font-size:34px;
font-weight:900;

color:#FFD700;

letter-spacing:.5px;
text-shadow:0 0 12px rgba(255,215,0,.35);
}

.logo img{

width:60px;
height:60px;

border-radius:50%;

object-fit:cover;

background:white;

padding:4px;

border:2px solid #FFD700;

box-shadow:0 0 15px rgba(255,215,0,.4);

transition:.4s;

}

.logo img:hover{

transform:rotate(10deg) scale(1.08);

}

.menu a{
text-decoration:none;
color:white;
margin-left:30px;
font-size:17px;
font-weight:600;
position:relative;
padding:10px 16px;
border-radius:30px;
transition:.4s;
}

.menu a:hover{
background:
rgba(255,215,0,.15);

color:#FFD700;

box-shadow:
0 5px 15px rgba(255,215,0,.25);
}

.menu a:hover::after{

width:100%;

}

.menu a:hover{
color:#FFD700;
}

/* HERO */

.hero{
height:92vh;
background:
linear-gradient(rgba(0,0,0,0.45),
rgba(0,0,0,0.45)),
url('darshana.jpg');

background-size:cover;
background-repeat:no-repeat;
background-color:black;
background-position:center top;

display:flex;
justify-content:center;
align-items:center;
text-align:center;

padding:20px;
}

.hero-text{
color:white;
}

.hero-text h1{

font-size:68px;
font-weight:900;
letter-spacing:2px;

background:linear-gradient(
to right,
#FFD700,
#ffffff,
#FFD700
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

text-shadow:
0 0 25px rgba(255,215,0,.6);

animation:glow 2s infinite alternate;

}

.hero-text p{
font-size:24px;
margin-top:12px;
margin-bottom:22px;
color:white;
}

button{
background:#FFD700;
color:black;
padding:12px 26px;
border:none;
border-radius:35px;
font-size:16px;
font-weight:700;
cursor:pointer;
transition:0.4s;
}

button:hover{
transform:scale(1.05);
background:white;
}

/* GALLERY */

.gallery{
padding:70px 20px;
background:
linear-gradient(
135deg,
rgba(62,92,50,.95),
rgba(35,55,35,.95)
);

text-align:center;
}

.gallery h1{
color:#FFD700;
font-size:48px;
}

.price-text{
color:#eee;
font-size:18px;
}

.gallery-slider{
display:flex;
gap:20px;
overflow-x:auto;
padding:15px;
scroll-behavior:smooth;

/* Hide scrollbar */
scrollbar-width:none;
-ms-overflow-style:none;
}

.gallery-slider::-webkit-scrollbar{
display:none;
}

.gallery-slider img{
width:280px;
height:190px;
object-fit:cover;
border-radius:18px;
flex-shrink:0;
transition:0.4s;
box-shadow:0 8px 20px rgba(0,0,0,0.2);
}

.gallery-slider img:hover{
transform:scale(1.04);
}

/* AVAILABILITY */

.availability-box{

width:80%;
max-width:900px;

margin:50px auto;
padding:45px 30px;

border-radius:25px;

background:
linear-gradient(
rgba(0,0,0,0.45),
rgba(0,0,0,0.45)
),
url('banner.jpg');

background-size:cover;
background-position:center;

text-align:center;

box-shadow:
0 10px 30px rgba(0,0,0,0.3);
}

.availability-box h2{

font-size:40px;
font-weight:900;

margin-bottom:25px;

background:linear-gradient(
to right,
#FFD700,
#ffffff
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

#checkdate{

padding:15px 18px;
width:260px;

border:none;
outline:none;

border-radius:12px;

font-size:16px;
font-weight:600;
}

.availability-box button{

padding:15px 28px;

margin-left:12px;

border:none;

border-radius:12px;

background:linear-gradient(
45deg,
#FFD700,
#ff9800
);

font-size:16px;
font-weight:700;
}

#result{

margin-top:25px;

font-size:24px;
font-weight:800;

color:white;
}

/* BOOKING */

/* ================= BOOKING ================= */

/* BOOKING */

.booking{

padding:80px 40px;
text-align:center;

background:
linear-gradient(
135deg,
rgba(62,92,50,.95),
rgba(35,55,35,.95)
);

border-radius:35px;

width:90%;
max-width:1200px;

margin:70px auto;

box-shadow:
0 20px 50px rgba(0,0,0,.35);

border:2px solid rgba(255,215,0,.35);

position:relative;
overflow:visible;
}
.booking h1{

font-size:55px;

font-weight:900;

margin-bottom:20px;

color:#FFD700;

text-shadow:
0 5px 20px rgba(0,0,0,.5);

text-align:center;

width:100%;

display:block;

}.booking-subtitle{

font-size:20px;

color:white;

margin-bottom:40px;

text-align:center;
}

.booking form{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:18px;
max-width:900px;
margin:auto;
}

.field{
display:flex;
flex-direction:column;
}

.field label{

text-align:left;

font-size:15px;

font-weight:700;

color:#FFD700;

margin-bottom:8px;

}

.booking input,
.booking select{

width:100%;

padding:18px;

font-size:16px;

border:1px solid rgba(255,215,0,.4);

border-radius:15px;

outline:none;

background:
rgba(255,255,255,.12);

backdrop-filter:blur(10px);

color:white;

transition:.3s;
}
.booking input::placeholder{
color:#ddd;
}

.booking input:focus,
.booking select:focus{
border-color:#FFD700;
box-shadow:0 0 10px rgba(255,215,0,.35);
}
.booking input:hover,
.booking select:hover{

border-color:#FFD700;

}

.booking button{

grid-column:span 2;

padding:18px;

border:none;

border-radius:50px;

background:
linear-gradient(
45deg,
#FFD700,
#ffb300
);

font-size:20px;

font-weight:800;

cursor:pointer;

transition:.4s;

color:black;

letter-spacing:1px;

text-transform:uppercase;
}
.booking button:hover{

transform:
translateY(-4px)
scale(1.03);

box-shadow:
0 15px 35px rgba(255,215,0,.45);

}
.booking::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:320px;
    height:320px;
    background:radial-gradient(
        circle,
        rgba(255,215,0,.25),
        transparent 70%
    );
    border-radius:50%;
    z-index:0;
}

.booking::after{
    content:"";
    position:absolute;
    bottom:-120px;
    left:-120px;
    width:280px;
    height:280px;
    background:radial-gradient(
        circle,
        rgba(255,215,0,.18),
        transparent 70%
    );
    border-radius:50%;
    z-index:0;
}

/* PAYMENT */

.payment-box{

width:85%;
max-width:400px;

margin:40px auto;

padding:24px 20px;

text-align:center;

background:
linear-gradient(
rgba(0,0,0,0.50),
rgba(0,0,0,0.50)
),
url('darshana.jpg');

background-size:cover;
background-position:center;

border-radius:22px;

color:white;
}
.payment-box:hover{

transform:translateY(-6px);

transition:.4s;

box-shadow:0 15px 35px rgba(255,215,0,.25);

}

.payment-box h1{

font-size:30px;

margin-bottom:10px;

background:linear-gradient(
to right,
#FFD700,
#fff4b3
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.payment-box p{

font-size:14px;

line-height:1.7;

margin-top:10px;
}

.payment-box img{

width:130px;
height:130px;

object-fit:cover;

margin:18px auto;

display:block;

background:white;

padding:8px;

border-radius:15px;
}

.upi-id{

font-size:16px;
font-weight:700;

margin-top:12px;

color:#FFD700;
}

/* FOOTER */

.footer{
background:#0a0f1e;
padding:18px;
text-align:center;
color:#FFD700;
font-size:16px;
font-weight:600;
margin-top:40px;
}

/* MOBILE */

@media(max-width:768px){

.navbar{
flex-direction:column;
padding:14px;
}

.menu{
margin-top:12px;
}

.logo{
font-size:20px;
}

.logo img{
width:36px;
height:36px;
}

.hero-text h1{
font-size:38px;
}

.hero-text p{
font-size:18px;
}

.gallery-slider img{
width:240px;
height:160px;
}

.booking form{
grid-template-columns:1fr;
}

.booking button{
grid-column:span 1;
}

.availability-box{
width:92%;
padding:30px 18px;
}

.availability-box h2{
font-size:28px;
}

#checkdate{
width:100%;
margin-bottom:12px;
}

.availability-box button{
width:100%;
margin-left:0;
}

.payment-box{
width:92%;
}

}

.booking select{
cursor:pointer;
}
.booking select option{
background:#2d4b2d;
color:white;
}

.booking select optgroup{
background:#2d4b2d;
color:#FFD700;
font-weight:bold;
}
.help-btn{
position:fixed;
bottom:25px;
right:25px;
background:linear-gradient(45deg,#FFD700,#ffae00);
color:black;
padding:15px 25px;
border-radius:50px;
font-weight:700;
font-size:16px;
cursor:pointer;
z-index:99999;
box-shadow:0 10px 25px rgba(0,0,0,0.35);
transition:.3s;
}

.help-btn:hover{
transform:scale(1.08);
}

.chat-popup{
display:none;
position:fixed;
bottom:90px;
right:25px;
width:360px;
background:white;
padding:25px;
border-radius:25px;
z-index:99999;
box-shadow:0 15px 40px rgba(0,0,0,0.35);
}

.chat-popup h3{
text-align:center;
margin-bottom:20px;
color:#111;
}

.chat-popup input,
.chat-popup textarea{

width:100%;
padding:14px;
margin-bottom:12px;
border:1px solid #ddd;
border-radius:12px;
font-size:14px;
outline:none;
}

.chat-popup textarea{
height:100px;
resize:none;
}

.chat-popup button{
width:100%;
padding:14px;
border:none;
border-radius:12px;
background:linear-gradient(45deg,#FFD700,#ffae00);
font-weight:bold;
cursor:pointer;
}

.close-btn{
background:#dc2626 !important;
color:white;
margin-top:10px;
}
/* REVIEWS */

/* ================= REVIEWS ================= */

.reviews-section{

width:90%;
max-width:1200px;

margin:70px auto;
padding:80px 40px;

border-radius:35px;

background:
linear-gradient(
135deg,
rgba(62,92,50,.95),
rgba(35,55,35,.95)
);

border:2px solid rgba(255,215,0,.35);

box-shadow:
0 20px 50px rgba(0,0,0,.35);

position:relative;
overflow:hidden;

}

.reviews-section::before{

content:"";

position:absolute;

top:-150px;
right:-120px;

width:350px;
height:350px;

background:
radial-gradient(circle,
rgba(255,215,0,.18),
transparent 70%);

border-radius:50%;

}

.reviews-section h1{

font-size:50px;
font-weight:900;

color:#FFD700;

text-align:center;

margin-bottom:15px;

text-shadow:
0 0 18px rgba(255,215,0,.35);

}

.review-subtitle{

text-align:center;

color:#eee;

font-size:18px;

margin-bottom:35px;

}

.review-form{

max-width:750px;

margin:auto;

display:flex;

flex-direction:column;

gap:18px;

position:relative;

z-index:2;

}

.review-form input,
.review-form select,
.review-form textarea{

padding:18px;

border-radius:15px;

border:1px solid rgba(255,215,0,.35);

background:
rgba(255,255,255,.12);

backdrop-filter:blur(10px);

color:white;

font-size:15px;

outline:none;

transition:.3s;

}

.review-form input::placeholder,
.review-form textarea::placeholder{

color:#ddd;

}

.review-form input:focus,
.review-form textarea:focus,
.review-form select:focus{

border-color:#FFD700;

box-shadow:
0 0 15px rgba(255,215,0,.35);

}

.review-form textarea{

height:140px;

resize:none;

}

.review-form button{

width:220px;

margin:auto;

padding:16px;

border:none;

border-radius:50px;

background:
linear-gradient(
45deg,
#FFD700,
#ffb300
);

color:black;

font-size:17px;

font-weight:800;

cursor:pointer;

transition:.4s;

}

.review-form button:hover{

transform:
translateY(-3px)
scale(1.05);

box-shadow:
0 10px 25px rgba(255,215,0,.45);

}

#reviews-list{

margin-top:55px;

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:28px;

}

.review-card{

background:
rgba(255,255,255,.08);

backdrop-filter:blur(18px);

padding:28px;

border-radius:22px;

border:
1px solid rgba(255,215,0,.20);

box-shadow:
0 12px 30px rgba(0,0,0,.30);

text-align:left;

transition:.35s;

color:white;

min-height:230px;
}

.review-card:hover{

transform:
translateY(-8px);

border-color:#FFD700;

box-shadow:
0 20px 40px rgba(255,215,0,.18);

}

.review-card h3{

color:#FFD700;

font-size:20px;

margin-bottom:8px;

}

.review-card .stars{

font-size:20px;

color:#FFD700;

margin-bottom:12px;

letter-spacing:2px;

}

.review-card p{

color:#f2f2f2;

line-height:1.7;

font-size:15px;

}

.review-card small{

display:block;

margin-top:18px;

color:#bbb;

font-size:13px;

}
.review-form select option{
background:#2d4b2d;
color:white;
}
/* CONTACT PAGE */

.contact{

width:90%;
max-width:900px;

margin:80px auto;

padding:60px 40px;

background:linear-gradient(
135deg,
rgba(62,92,50,.95),
rgba(35,55,35,.95)
);

border-radius:35px;

border:2px solid rgba(255,215,0,.35);

box-shadow:0 20px 50px rgba(0,0,0,.35);

text-align:center;

}

.contact h1{

color:#FFD700;

font-size:50px;

margin-bottom:30px;

}

.contact p{

color:white;

font-size:20px;

line-height:2;

}
.contact a{
color:#FFD700;
text-decoration:none;
font-weight:700;
}

.contact a:hover{
color:white;
}

.contact strong{
color:#FFD700;
}

.contact h3{
color:white;
}
.contact a{
color:#FFD700;
font-weight:700;
text-decoration:none;
}

.contact a:hover{
color:#ffffff;
}

.contact strong,
.contact b{
color:#FFD700;
}

.contact i{
color:#FFD700;
margin-right:8px;
}
/* ===== MOBILE FIXES ===== */

@media (max-width:768px){

.hero{
height:75vh !important;
}

.hero-text h1{
font-size:42px !important;
}

.hero-text p{
font-size:17px !important;
}

.booking{
width:95% !important;
padding:45px 20px !important;
}

.booking h1{
font-size:38px !important;
}

.booking-subtitle{
font-size:16px !important;
}

.booking form{
grid-template-columns:1fr !important;
}

.booking button{
grid-column:1 !important;
width:100%;
}

.payment-box{
width:95% !important;
}

.reviews-section{
width:95% !important;
padding:45px 20px !important;
}

.reviews-section h1{
font-size:36px !important;
}

.contact{
width:95% !important;
padding:45px 20px !important;
}

.gallery h1{
font-size:36px !important;
}

.help-btn{
right:15px;
bottom:15px;
font-size:14px;
padding:12px 18px;
}

.chat-popup{
width:95%;
right:2.5%;
}

}
.menu-toggle{
display:none;
font-size:32px;
color:#FFD700;
cursor:pointer;
}

@media(max-width:768px){

.menu-toggle{
display:block;
}

.menu{
display:none;
flex-direction:column;
width:100%;
text-align:center;
margin-top:15px;
}

.menu.active{
display:flex;
}

.menu a{
margin:8px 0;
}

}