@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Montserrat:wght@400;600&display=swap');

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

h1,
h2,
h3,
h4 {
margin-top: 30px;
color:#0078d7;
}

body {background: #f3f4f6;font-family: 'Montserrat', sans-serif;color: #fff;line-height: 1.6;min-height: 100vh;padding: auto 5px auto 5px;}

strong {
font-weight: bolder;
color: #d90000;
}

p {
color: #333;
margin-bottom: 10px;
font-size: 16px;
}

a {
text-decoration: none;
color: #d90000;
}

/* Reset & base */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}


.custom-header {

position: fixed;

top: 0;

width: 100%;

background: #000000;

box-shadow: 0 2px 10px rgba(0,0,0,0.1);

padding: 10px 0;

z-index: 1000;
}



.custom-header .container {

max-width: 1200px;

margin: 0 auto;

display: flex;

flex-wrap: wrap;

align-items: center;

justify-content: center; /* center items */

padding: 0 20px;

}



.logo {

flex: 0 0 auto;

margin-right: auto;

}



.logo img {
max-height: 60px;
width:140px

}


.navbar {
  display: flex;
  gap: 20px;
}

.navbar a {
  color: white;
  text-decoration: none;
  padding: 8px 12px;
  transition: background 0.3s;
}

.navbar a:hover {
  background-color: #555;
  border-radius: 4px;
}

.menu-icon {
  font-size: 26px;
  display: none;
  cursor: pointer;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .navbar {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 60px;
    right: 0;
    background-color: #333;
    width: 100%;
    text-align: right;
    padding: 10px 20px;
  }

  .navbar.active {
    display: flex;
  }

  .menu-icon {
    display: block;
  }
}

.search-form {

display: flex;

flex: 1 1 50px;

max-width: 600px;

background: white;

border-radius: 40px;

overflow: hidden;

box-shadow: 0 3px 6px rgba(0,0,0,0.1);

justify-content: center;

}



.search-form select {

flex: 1;

border: none;

padding: 10px 15px;

font-size: 16px;

background: #ddd;

outline: none;

}



.search-form button {

background: black;

color: white;

border: none;

padding: 10px 20px;

font-weight: bold;

cursor: pointer;

}


.hidden {
position: relative;
background-size: cover;
height: 600px;
color: #ffdce4;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;

box-shadow: inset 0 0 100px #15131c80;
max-width: 100vw;
overflow: hidden;
}

..location-boxed {
background: linear-gradient(to right, #1c1c2c, #111118);
color: #fff;
padding: 60px 20px;
font-family: 'Segoe UI', sans-serif;
}

.location-inner {
max-width: 1200px;
margin: auto;
text-align: center;
}

.location-title {
font-size: 28px;
margin-bottom: 40px;
color: #facc15;
letter-spacing: 1px;
}

.city-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 16px;
justify-items: center;
margin-bottom: 40px;
}

.city-grid a {display: block;background-color: #0e0000;color: #ccc;padding: 10px 15px;border-radius: 10px;text-decoration: none;font-size: 14px;box-shadow: 0 2px 6px rgba(0,0,0,0.2);transition: all 0.3s ease;width: 100%;text-align: center;}

.city-grid a:hover {
background-color: #facc15;
color: #111;
box-shadow: 0 4px 12px rgba(255, 222, 89, 0.4);
transform: translateY(-3px);
}


.footer {
background-color: #a50860;
color: #ffcce1;
padding: 18px 20px;
font-size: 0.9rem;
letter-spacing: 0.5px;

}

/* Floating buttons base styling */
.floating-buttons {
position: fixed;
bottom: 20px;
left: 2%;
display: flex;
flex-direction: column;
gap: 15px;
z-index: 10000;
/* Ensure on top */
}

.float-btn {
background-color: #25a3d36b;
/* WhatsApp green */
color: white;
width: 50px;
height: 50px;
border-radius: 50%;

line-height: 50px;
font-size: 24px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
transition: background-color 0.3s ease;
display: inline-flex;
justify-content: center;
align-items: center;
text-decoration: none;
}

/* Different bg colors for call button */
.float-btn.call {
background-color: rgb(156 16 16 / 47%);
}


/* Responsive for mobile */
@media (max-width: 768px) {
.floating-buttons {
bottom: 15px;
right: 5%;
gap: 12px;
}

.float-btn {
width: 45px;
height: 45px;
font-size: 22px;
line-height: 45px;
}
}

/* Responsive */
@media (max-width: 768px) {

section.reviews {
margin: 20px;
padding: 20px;
}
}

.faq-container {
max-width: 1140px;
margin: 0 auto;
}

.faq-container h3 {
text-align:center;
}
.faq-item {
background-color: #fff;
margin-bottom: 10px;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.faq-header {
padding: 15px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
background-color: #000000;
color: white;
border: none;
width: 100%;
text-align: left;
border-radius: 5px;
}

.faq-header:hover {
background-color: #0056b3;
}

.faq-answer {
padding: 15px;
background-color: #020202;
display: none;
font-size: 16px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}

.active .faq-answer {
display: block;
}

/* Mobile friendly font scaling */
@media (max-width: 600px) {

.faq-question {
font-size: 1.1rem;
}

.faq-answer {
font-size: 1rem;
}
}

.video-section {
width: 100%;
color: #ffffff;
margin-top: 50px;
}


.main-section {
max-width: 1140px;
margin: 50px auto 70px auto;
color: #333;
}

.main-section h1 {
font-family: 'Noto Sans', sans-serif;
font-size: 1.3 rem;
margin-bottom: 30px;
padding-bottom: 10px;


}

.main-section h2 {
    font-family: 'Montserrat';
    font-size: 30px;
     padding-bottom: 10px;

}

.main-section h3 {
font-family: 'Montserrat', serif;
font-size: 1.3rem;
margin-bottom: 10px;
padding-bottom: 10px;

}

.main-section h4 {
font-family: 'Playfair Display', serif;
font-size: 0.95rem;
margin-bottom: 30px;
padding-bottom: 10px;

}

.gallery {
text-align: center;
padding: 0px 0;
}

.gallery-title {
font-size: 2em;
margin-bottom: 30px;
color: #333;
}

.gallery-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
padding: 0 20px;
}

.gallery-item {
overflow: hidden;
border-radius: 8px;
}

.gallery-item img {
width: 100%;
height: auto;
transition: transform 0.3s ease;
}

.gallery-item:hover img {
transform: scale(1.1);
}

/* Shared Section Layout */
.content-image-section {
max-width: 1140px;
margin: 10px auto 10px auto;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
background-color: #fff;
border-bottom: 1px solid #eee;
}


.content-image-section.reverse {flex-direction: unset;background: #041030;}

.content-left {
flex: 3;
min-width: 300px;
padding: 20px;

}

.content-left h2 {font-size: 1.7em;margin-bottom: 15px;color: #fffcfc;}

.content-left p {font-size: 16px;color: #fff;margin-bottom: 25px;}

.buttons {
display: flex;
gap: 15px;
flex-wrap: wrap;
float: right;
}

.btn {
text-decoration: none;
padding: 10px 20px;
color: #fff;
border-radius: 5px;
font-weight: bold;
display: inline-flex;
align-items: center;
gap: 8px;
transition: background-color 0.3s ease;
}

.whatsapp-btn {
background-color: #25D366;
}

.call-btn {
background-color: #007BFF;
}

.btn:hover {
opacity: 0.9;
}

.image-right {
flex: 1;
min-width: 300px;
padding: 5px;
text-align: center;
}

.image-right img {
max-width: 100%;
height: auto;
border-radius: 10px;
}

/* Responsive */
@media (max-width: 768px) {
.content-image-section,
.content-image-section.reverse {flex-direction: column;text-align: center;background: #0e0d0d;color: aqua;}

.buttons {
justify-content: center;
}
}


.price-table {
width: 100%;
margin-bottom: 2.618em;
border-collapse: collapse;
border-spacing: 0;
}

.price-table th, .price-table td {
border: 1px solid #fff;
color: #fff;
padding: 10px;
font-weight: 700;
text-align: left;
background-color: darkred;
}

.list-info-pop{
margin: 0 auto;
border: 3px solid #ffc629;
color: #fff;
background: #97138d;
border-top: none;
}


.price-table {
width: 100%;
margin-bottom: 2.618em;
border-collapse: collapse;
border-spacing: 0;
}

.price-table th, .price-table td {border: 1px solid #fff;color: #fff;padding: 10px;font-weight: 700;text-align: left;background-color: #000000;}
.reviews-container {
max-width: 800px;
margin: auto;
}

.review {
background-color: #121212;
border-radius: 8px;
padding: 20px;
margin-bottom: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
text-align:center;
}

.review h3 {
margin-top: 0;
color: #fff;
}

.review p {
color: #fff;
}

.review .rating {
color: #f39c12;
}


/* Base Footer Styling */
.footer {
background-color: #000000;
color: #fff;
padding: 40px 20px 20px;
font-family: Arial, sans-serif;
}

.footer-content {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width: 1200px;
margin: auto;
}

.footer-section {
flex: 1 1 250px;
margin: 15px;
}

.footer-section h3 {
color: #f1c40f;
margin-bottom: 15px;
font-size: 18px;
}

.footer-section p,
.footer-section li {
font-size: 14px;
color: #ccc;
}

.footer-section ul {
list-style: none;
padding: 0;
}

.footer-section ul li {
margin-bottom: 8px;
}

.footer-section ul li a {
color: #ccc;
text-decoration: none;
}

.footer-section ul li a:hover {
color: #fff;
text-decoration: underline;
}

/* Footer Bottom */
.footer-bottom {
text-align: center;
border-top: 1px solid #444;
margin-top: 30px;
padding-top: 15px;
font-size: 13px;
color: #aaa;
}

/* ✅ Responsive Design */
@media (max-width: 768px) {
.footer-content {
flex-direction: column;
align-items: flex-start;
}

.footer-section {
width: 100%;
margin: 10px 0;
}
}


.action-btn {
flex: 1;
padding: 10px 0;
border-radius: 8px;
font-weight: 700;
font-size: 1.1rem;
color: white;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
cursor: pointer;
box-shadow: 0 0 18px rgb(54 14 22);
transition: background-color 0.3s ease;
text-decoration: none;
}

.action-btn i {
font-size: 1.4rem;
}

.action-btn.call {
background-color: #5a123b;
}

.action-btn.call:hover,
.action-btn.call:focus {
background-color: #363d5e;
}

.action-btn.whatsapp {
background-color: #2e292c87;
}

.action-btn.whatsapp:hover,
.action-btn.whatsapp:focus {
background-color: #54450f;
}

/* Mobile Responsiveness */

@media (max-width: 768px) {
.main-container {
grid-template-columns: 1fr 1fr;
}

.main img {
height: 220px;
}
}

@media (max-width: 440px) {
.main-container {
grid-template-columns: 1fr;
}

.main img {
height: 300px;
}

.star-rating {
font-size: 1rem;
}

.action-btn {
font-size: 1rem;
padding: 8px 0;
}
}


.mobile-section {
max-width: 100%;
margin: 0px auto 50px auto;
color: #ffc0d1;

}

/* Accessibility helper */

/* Responsive Font Scaling */

/* Mobile responsiveness: stack vertically */


.hidden {
width: 100%;
margin-top: 100px;
}

.mobile-hidden {
display: none
}

@media (max-width:499px) {
.mobile-hidden {
display: block
}

.hidden {
display: none
}
}


@media (max-device-width: 600px) {
section {
text-align: center;
padding: 0 10px;
}
.mobile-section {
padding: 0 0;
}
.reviews {
display: none;
}
}
}