/**
 * Luxury Navy & Gold Footer Stylesheet
 * Matching exact design from user mockups (Desktop & Mobile)
 */

/* Main Footer Container */
.gv-luxury-footer {
	position: relative;
	background: radial-gradient(circle at 50% 10%, #08213e 0%, #051428 45%, #020913 100%);
	color: #c8d6e5;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	overflow: hidden;
	padding: 44px 0 20px;
	border-top: 1px solid rgba(229, 170, 57, 0.45);
	box-shadow: inset 0 2px 25px rgba(229, 170, 57, 0.18);
}

/* Glowing gold top & bottom arc curves via CSS */
.gv-footer-arc-top {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 48px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23d49e24' stop-opacity='0'/%3E%3Cstop offset='15%25' stop-color='%23ffd700' stop-opacity='0.6'/%3E%3Cstop offset='50%25' stop-color='%23ffffff' stop-opacity='1'/%3E%3Cstop offset='85%25' stop-color='%23ffd700' stop-opacity='0.6'/%3E%3Cstop offset='100%25' stop-color='%23d49e24' stop-opacity='0'/%3E%3C/defs%3E%3Cpath d='M0,15 Q720,55 1440,15' stroke='url(%23g)' stroke-width='2.5' fill='none'/%3E%3C/svg%3E") no-repeat center top;
	background-size: 100% 100%;
	filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.55));
	pointer-events: none;
	z-index: 1;
}

.gv-footer-arc-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 48px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g2' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='%23d49e24' stop-opacity='0'/%3E%3Cstop offset='20%25' stop-color='%23ffd700' stop-opacity='0.5'/%3E%3Cstop offset='50%25' stop-color='%23ffffff' stop-opacity='0.9'/%3E%3Cstop offset='80%25' stop-color='%23ffd700' stop-opacity='0.5'/%3E%3Cstop offset='100%25' stop-color='%23d49e24' stop-opacity='0'/%3E%3C/defs%3E%3Cpath d='M0,45 Q720,5 1440,45' stroke='url(%23g2)' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat center bottom;
	background-size: 100% 100%;
	filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.45));
	pointer-events: none;
	z-index: 1;
}

/* Decorative background candlestick chart watermark */
.gv-footer-chart-bg {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 400px;
	height: 270px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 280' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='c' x1='0' y1='0' x2='0' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23ffd700' stop-opacity='0.3'/%3E%3Cstop offset='100%25' stop-color='%23b8860b' stop-opacity='0.08'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cline x1='120' y1='130' x2='120' y2='240' stroke='%23ffd700' stroke-width='1.5' opacity='0.25'/%3E%3Crect x='114' y='150' width='12' height='65' rx='1.5' fill='url(%23c)'/%3E%3Cline x1='165' y1='110' x2='165' y2='250' stroke='%23ffd700' stroke-width='1.5' opacity='0.28'/%3E%3Crect x='159' y='130' width='12' height='90' rx='1.5' fill='url(%23c)'/%3E%3Cline x1='210' y1='90' x2='210' y2='230' stroke='%23ffd700' stroke-width='1.5' opacity='0.3'/%3E%3Crect x='204' y='105' width='12' height='75' rx='1.5' fill='url(%23c)'/%3E%3Cline x1='255' y1='70' x2='255' y2='220' stroke='%23ffd700' stroke-width='1.5' opacity='0.32'/%3E%3Crect x='249' y='85' width='12' height='110' rx='1.5' fill='url(%23c)'/%3E%3Cline x1='300' y1='50' x2='300' y2='210' stroke='%23ffd700' stroke-width='1.5' opacity='0.35'/%3E%3Crect x='294' y='65' width='12' height='120' rx='1.5' fill='url(%23c)'/%3E%3Cline x1='345' y1='35' x2='345' y2='200' stroke='%23ffd700' stroke-width='1.5' opacity='0.35'/%3E%3Crect x='339' y='50' width='12' height='130' rx='1.5' fill='url(%23c)'/%3E%3Cpath d='M90,200 L165,160 L210,135 L255,115 L300,85 L360,55' stroke='%23ffd700' stroke-width='2' opacity='0.4' stroke-dasharray='3 3'/%3E%3C/svg%3E") no-repeat right bottom;
	background-size: contain;
	pointer-events: none;
	z-index: 1;
	opacity: 0.85;
}

/* Inner Container */
.gv-luxury-footer .gv-footer-container {
	position: relative;
	z-index: 2;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Grid Layout */
.gv-luxury-footer .gv-footer-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	align-items: flex-start;
}

/* Column 1: Brand */
.gv-luxury-footer .gv-footer-col-brand {
	flex: 1 1 350px;
	max-width: 400px;
}

.gv-luxury-footer .gv-footer-brand-logo {
	margin-bottom: 16px;
}

.gv-luxury-footer .gv-footer-brand-logo a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: #ffffff;
}

.gv-luxury-footer .gv-brand-logo-img {
	max-height: 54px;
	width: auto;
	object-fit: contain;
}

.gv-luxury-footer .gv-brand-logo-text {
	display: flex;
	flex-direction: column;
}

.gv-luxury-footer .gv-brand-logo-text .gv-logo-name {
	font-size: 25px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0.5px;
	background: linear-gradient(135deg, #fff9e6 0%, #ffd066 35%, #e5aa39 70%, #b8860b 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-transform: uppercase;
}

.gv-luxury-footer .gv-brand-logo-text .gv-logo-slogan {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 1px;
	color: #e5aa39;
	text-transform: uppercase;
	margin-top: 3px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.gv-luxury-footer .gv-brand-logo-text .gv-logo-slogan::before,
.gv-luxury-footer .gv-brand-logo-text .gv-logo-slogan::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(229, 170, 57, 0.6);
}

.gv-luxury-footer .gv-footer-desc {
	font-size: 13.5px;
	line-height: 1.65;
	color: #b0c4de;
	margin: 0 0 20px 0;
	text-align: justify;
}

/* Badges */
.gv-luxury-footer .gv-footer-badges {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.gv-luxury-footer .gv-footer-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: rgba(6, 21, 39, 0.88);
	border: 1.5px solid #d49e24;
	border-radius: 9999px;
	box-shadow: 0 0 10px rgba(212, 158, 36, 0.25);
	color: #ffffff;
	font-size: 12.5px;
	font-weight: 600;
	white-space: nowrap;
	transition: all 0.2s ease;
}

.gv-luxury-footer .gv-footer-badge:hover {
	border-color: #ffd700;
	box-shadow: 0 0 14px rgba(255, 215, 0, 0.45);
	transform: translateY(-1px);
}

.gv-luxury-footer .gv-footer-badge img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	display: block;
}

/* Columns 2 & 3: Menus */
.gv-luxury-footer .gv-footer-col-menu {
	flex: 1 1 180px;
	max-width: 215px;
}

/* Column 4: Contact */
.gv-luxury-footer .gv-footer-col-contact {
	flex: 1 1 290px;
	max-width: 340px;
}

/* Section Headings */
.gv-luxury-footer .gv-footer-heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px 0;
}

.gv-luxury-footer .gv-footer-heading img {
	width: 22px;
	height: 22px;
	object-fit: contain;
	display: block;
}

.gv-luxury-footer .gv-footer-heading h3 {
	font-size: 15px;
	font-weight: 700;
	color: #ffffff;
	margin: 0;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.gv-luxury-footer .gv-heading-line {
	height: 1.5px;
	width: 100%;
	max-width: 140px;
	background: linear-gradient(90deg, #e5aa39 0%, rgba(229, 170, 57, 0.3) 70%, transparent 100%);
	margin-bottom: 14px;
}

/* Menu Links */
.gv-luxury-footer .gv-footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

.gv-luxury-footer .gv-footer-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.gv-luxury-footer .gv-footer-menu li:last-child {
	border-bottom: none;
}

.gv-luxury-footer .gv-footer-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
	color: #c8d6e5;
	font-size: 13.5px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.gv-luxury-footer .gv-footer-menu a:hover {
	color: #f7d070;
	padding-left: 4px;
}

.gv-luxury-footer .gv-footer-menu a .gv-chevron {
	color: #e5aa39;
	font-size: 16px;
	font-weight: 700;
	font-style: normal;
	transition: transform 0.2s ease;
	line-height: 1;
}

.gv-luxury-footer .gv-footer-menu a:hover .gv-chevron {
	transform: translateX(4px);
	color: #ffd700;
}

/* Contact List */
.gv-luxury-footer .gv-contact-list {
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.gv-luxury-footer .gv-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.gv-luxury-footer .gv-contact-icon {
	width: 36px;
	height: 36px;
	min-width: 36px;
	border-radius: 50%;
	border: 1.5px solid #d49e24;
	background: rgba(7, 24, 46, 0.9);
	box-shadow: 0 0 8px rgba(212, 158, 36, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
}

.gv-luxury-footer .gv-contact-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.gv-luxury-footer .gv-contact-content {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.gv-luxury-footer .gv-contact-label {
	font-size: 11.5px;
	color: #94a3b8;
	font-weight: 500;
}

.gv-luxury-footer .gv-contact-val {
	font-size: 13.5px;
	color: #ffffff;
	font-weight: 600;
	line-height: 1.45;
	text-decoration: none;
	word-break: break-word;
	transition: color 0.2s ease;
}

.gv-luxury-footer a.gv-contact-val:hover {
	color: #f7d070;
}

/* Bottom Bar */
.gv-luxury-footer .gv-footer-bottom {
	border-top: 1px solid rgba(229, 170, 57, 0.35);
	margin-top: 32px;
	padding-top: 18px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.gv-luxury-footer .gv-footer-copy {
	font-size: 12.5px;
	color: #94a3b8;
	margin: 0;
}

.gv-luxury-footer .gv-footer-slogan {
	font-size: 11.5px;
	font-weight: 700;
	color: #f1f5f9;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.gv-luxury-footer .gv-footer-slogan::before,
.gv-luxury-footer .gv-footer-slogan::after {
	content: "";
	display: inline-block;
	width: 32px;
	height: 1px;
	background: #d49e24;
}

/* =======================================================
   RESPONSIVE DESIGN: MOBILE CARD LAYOUT (MATCHING IMAGE 1)
   ======================================================= */
@media (max-width: 849px) {
	.gv-luxury-footer {
		padding: 34px 0 20px;
	}

	.gv-luxury-footer .gv-footer-grid {
		flex-direction: column;
		gap: 14px;
	}

	.gv-luxury-footer .gv-footer-col-brand,
	.gv-luxury-footer .gv-footer-col-menu,
	.gv-luxury-footer .gv-footer-col-contact {
		flex: 1 1 100%;
		max-width: 100%;
		width: 100%;
	}

	/* Center brand section on mobile */
	.gv-luxury-footer .gv-footer-col-brand {
		text-align: center;
		margin-bottom: 6px;
	}

	.gv-luxury-footer .gv-footer-brand-logo {
		display: flex;
		justify-content: center;
	}

	.gv-luxury-footer .gv-footer-desc {
		text-align: center;
		font-size: 13px;
		line-height: 1.6;
		margin-bottom: 16px;
		color: #b8c9dd;
	}

	.gv-luxury-footer .gv-footer-badges {
		justify-content: center;
		margin-bottom: 10px;
	}

	/* Boxed Cards on Mobile (Image 1) */
	.gv-luxury-footer .gv-footer-card {
		background: rgba(6, 21, 39, 0.78);
		border: 1px solid #143254;
		border-radius: 12px;
		padding: 16px 18px;
		box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
		backdrop-filter: blur(8px);
		-webkit-backdrop-filter: blur(8px);
	}

	.gv-luxury-footer .gv-heading-line {
		max-width: 100%;
	}

	.gv-luxury-footer .gv-footer-menu a {
		padding: 10px 0;
		font-size: 14px;
	}

	.gv-luxury-footer .gv-contact-item {
		align-items: center;
	}

	/* Bottom bar stacked on mobile */
	.gv-luxury-footer .gv-footer-bottom {
		flex-direction: column;
		text-align: center;
		gap: 8px;
		margin-top: 18px;
		padding-top: 14px;
	}

	.gv-luxury-footer .gv-footer-slogan {
		font-size: 11px;
	}
}

@media (max-width: 480px) {
	.gv-luxury-footer .gv-footer-badges {
		gap: 6px;
	}

	.gv-luxury-footer .gv-footer-badge {
		padding: 5px 10px;
		font-size: 11.5px;
	}

	.gv-luxury-footer .gv-footer-badge img {
		width: 16px;
		height: 16px;
	}
}
