@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Roboto:wght@300;400;500;700&display=swap');
body { background-color: #000; color: #e0e0e0; font-family: 'Roboto', sans-serif; }

/* Navbar Styling */
.navbar { transition: background-color 0.3s ease-in-out; }
.navbar-brand img { height: 100px; transition: all 0.3s ease; }
.navbar-nav .nav-link { color: #fff; font-weight: 400; margin: 0 10px; transition: color 0.3s; }
.navbar-nav .nav-link:hover { color: #d4af37; }
.navbar-dark .navbar-toggler { border-color: rgba(255,255,255,0.2); }
.navbar.scrolled { background-color: #000 !important; box-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.nav-cta { background-color: #d4af37; color: #000 !important; font-weight: 700 !important; border-radius: 50px; padding: 8px 20px !important; }
.nav-cta:hover { color: #000 !important; background-color: #fff; }

/* Hero Section */
.hero-section {
	min-height: 100vh;
	padding-top: 120px;
	display: flex; align-items: center; justify-content: center; text-align: center;
	position: relative; overflow: hidden;
}
.hero-video { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; width: auto; height: auto; z-index: 0; transform: translate(-50%, -50%); opacity: 0.3; }
.hero-content { z-index: 1; padding: 0 15px; }
.hero-section h1 {  padding-top: 20px; font-family: 'Playfair Display', serif; font-size: 4.2rem; font-weight: 700; color: #d4af37; text-shadow: 2px 2px 8px rgba(0,0,0,0.7); }
.hero-section h2 { font-size: 1.4rem; max-width: 800px; margin: 25px auto; font-weight: 300; line-height: 1.6; }

/* CTA Grouping */
.hero-cta-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	margin-top: 40px;
}
.cta-button { background: linear-gradient(145deg, #d4af37, #b8860b); color: #000; padding: 18px 40px; font-size: 1.3rem; font-weight: 700; border-radius: 50px; text-decoration: none; transition: all 0.3s ease; box-shadow: 0px 10px 20px rgba(212, 175, 55, 0.3); border: none; display: inline-block; }
.cta-button:hover { transform: translateY(-5px) scale(1.05); box-shadow: 0px 15px 25px rgba(212, 175, 55, 0.5); }

/* === Grand Countdown Styling === */
.grand-countdown-container {
	padding: 25px;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(212, 175, 55, 0.4);
	border-radius: 20px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 10px 30px rgba(0,0,0,0.5);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.grand-countdown-container.revealed {
	opacity: 1;
	transform: translateY(0);
}
.countdown-timer {
	display: flex;
	gap: 20px;
}
.time-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	background: linear-gradient(145deg, #111, #222);
	border-radius: 15px;
	border: 1px solid rgba(212, 175, 55, 0.2);
	box-shadow: inset 0 2px 4px rgba(0,0,0,0.4), 0 5px 15px rgba(0,0,0,0.3);
	transition: all 0.3s ease;
}
.time-block:hover {
	transform: translateY(-5px);
	border-color: rgba(212, 175, 55, 0.5);
}
.time-block .number {
	font-family: 'Playfair Display', serif;
	font-size: 3.5rem;
	color: #d4af37;
	font-weight: 700;
	line-height: 1;
}
.time-block .label {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9rem;
	color: #aaa;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 5px;
}
.target-date-display {
	border-top: 1px solid rgba(212, 175, 55, 0.2);
	margin-top: 20px;
	padding-top: 15px;
	width: 100%;
	color: #ccc;
	font-size: 1rem;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.target-date-display i {
	color: #d4af37;
	margin-right: 8px;
}
#countdown-ended-message {
	display: none;
	font-family: 'Playfair Display', serif;
	font-size: 2.5rem;
	color: #d4af37;
	text-align: center;
	padding: 20px;
}

.section-padding { padding: 50px 0; }
.bg-darker { background-color: #050505; }
.section-title { font-family: 'Playfair Display', serif; color: #d4af37; text-align: center; font-size: 3rem; margin-bottom: 60px; }
.story-section p { max-width: 800px; margin: 20px auto; font-size: 1.2rem; line-height: 1.8; text-align: center; font-weight: 300; }
.story-section .promise { font-weight: 700; color: #fff; border-left: 3px solid #d4af37; padding-left: 20px; margin-top: 40px; }
.usp-card, .testimonial-card { background: #111; padding: 40px 30px; border-radius: 15px; text-align: center; border: 1px solid #333; transition: all 0.3s ease; height: 100%; }
.usp-card:hover, .testimonial-card:hover { transform: translateY(-10px); border-color: #d4af37; box-shadow: 0px 15px 30px rgba(212, 175, 55, 0.1); }
.usp-icon { font-size: 3rem; color: #d4af37; margin-bottom: 25px; }
.usp-card h3 { font-family: 'Playfair Display', serif; color: #d4af37; margin-bottom: 15px; font-size: 1.6rem; }
.who-is-this-for-list { list-style: none; padding-left: 0; text-align: center; max-width: 600px; margin: auto; }
.who-is-this-for-list li { font-size: 1.2rem; margin-bottom: 15px; }
.who-is-this-for-list i { color: #d4af37; margin-right: 15px; }
.testimonial-card p { font-style: italic; font-size: 1.1rem; }
.testimonial-card .author { font-style: normal; font-weight: 700; color: #d4af37; margin-top: 20px; display: block; }
#zf_div_yZ7_NKBgEjQ1wg4KkcF3CSfzPVNrOey1HTQRY7ri4K0 { margin: auto; }
.form-section p { max-width: 800px; margin-left: auto; margin-right: auto; font-weight: 300; font-size: 1.2rem; }

.whatsapp-float {
	position: fixed; width: 60px; height: 60px; bottom: 25px; right: 25px;
	background-color: #25D366; color: #FFF; border-radius: 50px; text-align: center;
	font-size: 30px; box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); z-index: 1000;
	display: flex; align-items: center; justify-content: center;
	transition: transform 0.3s ease; text-decoration: none;
}
.whatsapp-float:hover { transform: scale(1.1); color: #fff; text-decoration: none; }

.media-section { padding: 60px 0; background-color: #0a0a0a; }
.media-title { text-align: center; margin-bottom: 50px; font-weight: 400; color: #ccc; font-size: 1.5rem; text-transform: uppercase; letter-spacing: 3px; }
.media-logos { display: flex; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap; }
.media-logo-wrapper {
	background-color: #fff;
	border-radius: 12px;
	padding: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 220px;
	height: 110px;
	transition: all 0.3s ease-in-out;
	border: 1px solid #444;
}
.media-logo-wrapper:hover {
	transform: translateY(-8px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	border-color: #d4af37;
}
.media-logo-wrapper img {
	max-height: 60px;
	max-width: 100%;
	object-fit: contain;
}

/* Trust Seals Section */
.trust-section { border-bottom: 1px solid #222; }
.trust-seals { display: flex; justify-content: center; align-items: center; gap: 20px; flex-wrap: wrap; }

/* Privacy Page Specific */
.privacy-page-container {
	padding-top: 150px;
	padding-bottom: 100px;
	color: #ccc;
}
.privacy-page-container h1 { margin-bottom: 40px; }
.privacy-page-container h5 { color: #d4af37; margin-top: 30px; margin-bottom: 15px; }
.privacy-page-container ul { padding-left: 20px; }
.privacy-page-container li { margin-bottom: 10px; }


/* === NEW FOOTER STYLES === */
.footer {
	background: #000;
	padding: 60px 0;
	color: #999;
}
.footer h4 {
	font-family: 'Playfair Display', serif;
	color: #d4af37;
	margin-bottom: 25px;
	font-size: 1.4rem;
}
.footer p {
	color: #999;
}
.footer .footer-links li {
	margin-bottom: 12px;
}
.footer .footer-links a {
	color: #999;
	text-decoration: none;
	transition: all 0.3s ease;
}
.footer .footer-links a:hover {
	color: #fff;
	padding-left: 5px;
}
.footer .social-icon {
	color: #999;
	font-size: 1.3rem;
	margin: 0 15px 0 0;
	transition: color 0.3s ease, transform 0.3s ease;
	display: inline-block;
}
.footer .social-icon:hover {
	color: #d4af37;
	transform: translateY(-3px);
}
.footer .contact-info li {
	display: flex;
	align-items: flex-start;
	margin-bottom: 15px;
}
.footer .contact-info i {
	color: #d4af37;
	margin-right: 15px;
	margin-top: 5px;
}
.footer .contact-info a {
	color: #999;
	text-decoration: none;
}
.footer .contact-info a:hover {
	color: #fff;
}
.footer .footer-bottom-links {
	color: #888;
}

@media (max-width: 991px) {
	.navbar { background-color: #000 !important; }
	.navbar-brand img { height: 80px; }
}

@media (max-width: 768px) {
	.hero-section h1 {
		font-size: 2.8rem; }
	.hero-section h2 { font-size: 1rem; max-width: 95%;}
	.section-title { font-size: 2.5rem; }
	.navbar-brand img { height: 70px; }
	.whatsapp-float { width: 50px; height: 50px; font-size: 24px; bottom: 20px; right: 20px; }

	.grand-countdown-container {
		padding: 20px;
		width: 100%;
	}
	.countdown-timer {
		flex-wrap: wrap;
		gap: 15px;
		justify-content: center;
		width: 100%;
	}
	.time-block {
		width: calc(50% - 8px);
		height: 90px;
		border-radius: 12px;
	}
	.time-block .number { font-size: 2.5rem; }
	.time-block .label { font-size: 0.7rem; }
	.target-date-display { font-size: 0.85rem; }

	.media-section { padding: 40px 15px; }

	/* --- CORRECTED 2-COLUMN MEDIA LOGOS ON MOBILE --- */
	.media-logos {
		gap: 16px; /* A balanced gap for mobile */
	}
	.media-logos a {
		/* Target the link tag as the flex item for stability */
		flex-basis: calc(50% - 8px); /* Precisely calculates width for two columns */
		text-decoration: none;
	}
	.media-logo-wrapper {
		width: 100%; /* Make the wrapper fill the container link */
		height: 100px;
		padding: 15px;
		box-sizing: border-box; /* Ensures padding doesn't break the width calculation */
	}
	.media-logo-wrapper img {
		max-height: 50px;
	}
}


/* === Contact Us Page - Perfectionist Style === */
.page-header-contact {
	padding: 160px 0 80px 0;
	background: #050505;
	text-align: center;
}

.contact-hub-section {
	padding: 50px 0;
	background: #000;
}

.contact-hub-wrapper {
	background: linear-gradient(145deg, #111, #000);
	border: 1px solid #333;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}

.contact-form-column {
	padding: 40px;
}

.contact-details-column {
	background: #0a0a0a;
	padding: 40px;
	border-left: 1px solid #333;
}

.contact-info-group {
	display: flex;
	align-items: flex-start;
	margin-bottom: 30px;
}

.contact-info-group .icon-wrapper {
	flex-shrink: 0;
	color: #d4af37;
	font-size: 1.5rem;
	width: 50px;
	height: 50px;
	background-color: rgba(212, 175, 55, 0.05);
	border: 1px solid rgba(212, 175, 55, 0.2);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 20px;
}

.contact-info-group .details h5 {
	font-family: 'Playfair Display', serif;
	color: #d4af37;
	margin-bottom: 8px;
	font-size: 1.3rem;
}

.contact-info-group .details p,
.contact-info-group .details a {
	color: #fff;
	font-size: 1rem;
	text-decoration: none;
	line-height: 1.7;
	margin-bottom: 5px;
	display: block;
	transition: color 0.3s ease;
}

.contact-info-group .details a:hover {
	color: #fff;
}

.contact-info-group .btn-whatsapp {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background-color: #25D366;
	color: #fff;
	padding: 8px 15px;
	border-radius: 50px;
	font-weight: 500;
	font-size: 0.9rem;
	margin-top: 5px;
	margin-right: 10px;
	transition: all 0.3s ease;
}
.contact-info-group .btn-whatsapp:hover {
	background-color: #fff;
	color: #25D366;
	transform: translateY(-2px);
}

.btn-get-directions {
	display: inline-block;
	color: #d4af37;
	text-decoration: none;
	font-weight: 600;
	margin-top: 10px;
	padding-bottom: 2px;
	border-bottom: 1px solid rgba(212, 175, 55, 0.5);
	transition: all 0.3s ease;
}
.btn-get-directions:hover {
	color: #fff;
	border-bottom-color: #fff;
}
.btn-get-directions i {
	margin-left: 5px;
}

.map-section-full {
	line-height: 0; /* Removes space below iframe */
}

.map-section-full iframe {
	width: 100%; /* This makes the iframe responsive */
	height: 450px; /* Controls the height */
	border: 0;
	filter: grayscale(1) invert(0.95) contrast(0.9);
}

/* Responsive adjustments for Contact Hub */
@media (max-width: 991.98px) {
	.contact-details-column {
		border-left: none; /* Remove the vertical border on mobile */
		border-bottom: 1px solid #333; /* Add a horizontal separator */
	}
}
