/* ==========================================================================
   Nova Cat Footer CSS
   Figma: 14-footer (1600x660 in 1920), m-footer (335x615 in 375)
   ========================================================================== */

.nc-footer {
	position: relative;
	overflow: clip;
	background: var(--nc-white);
	padding-top: clamp(60px, 5.2vw, 100px);
	padding-bottom: clamp(60px, 5.2vw, 100px);
}

/* Background Rays (Semi-ring at top) */
.nc-footer__rays {
	position: absolute;
	top: -100px;
	left: 50%;
	transform: translateX(-50%);
	width: clamp(320px, 52vw, 1000px);
	height: auto;
	pointer-events: none;
	z-index: 1;
	opacity: 0.7;
}

.nc-footer__rays img {
	width: 100%;
	height: auto;
}

/* Container */
.nc-footer__container {
	position: relative;
	z-index: 2;
}

/* Central Glass Card */
.nc-footer__card {
	position: relative;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	padding: clamp(60px, 5.2vw, 100px) clamp(20px, 3.125vw, 60px) clamp(40px, 3.125vw, 60px);
	border-radius: clamp(20px, 2.6vw, 50px);
	background: rgba(252, 254, 255, 0.4);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 4px 32px rgba(23, 15, 73, 0.06), inset 0 1px 3px rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.3);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	overflow: hidden;
}

/* Heading */
.nc-footer__heading {
	font-family: var(--nc-font);
	font-size: clamp(27px, 3.542vw, 68px);
	font-weight: 400;
	line-height: 1.1;
	color: var(--nc-navy);
	max-width: 780px;
	margin: 0 auto;
}

/* Action CTAs (WhatsApp & Email) */
.nc-footer__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(16px, 1.875vw, 36px);
	margin-top: clamp(36px, 4.167vw, 80px);
}

.nc-footer__btn {
	display: inline-flex;
	align-items: stretch;
	gap: 2px;
	border-radius: 12px;
}

.nc-footer__btn .nc-btn__label {
	min-height: 52px;
	padding: 0 36px;
	font-size: clamp(17px, 1.094vw, 21px);
	font-weight: 500;
	border-radius: var(--nc-radius-s);
}

.nc-footer__btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	min-height: 52px;
	border-radius: var(--nc-radius-s);
	flex-shrink: 0;
	transition: transform 0.25s var(--nc-ease);
}

.nc-footer__btn:hover .nc-footer__btn-icon {
	transform: scale(1.04);
}

.nc-footer__btn-icon svg {
	width: 24px;
	height: 24px;
}

/* WhatsApp button variant */
.nc-footer__btn--wa .nc-btn__label {
	background: var(--nc-navy);
	color: var(--nc-white);
	border: 1px solid var(--nc-navy);
}

.nc-footer__btn--wa .nc-footer__btn-icon {
	background: var(--nc-navy);
	border: 1px solid #170f49;
}

.nc-footer__btn--wa .nc-footer__btn-icon svg {
	width: 52px;
	height: 52px;
}

.nc-footer__btn--wa:hover .nc-btn__label {
	background: var(--nc-ink);
}

/* Email button variant */
.nc-footer__btn--email .nc-btn__label {
	background: rgba(252, 254, 255, 0.4);
	border: 1px solid var(--nc-navy);
	color: var(--nc-navy);
}

.nc-footer__btn--email .nc-footer__btn-icon {
	background: rgba(252, 254, 255, 0.4);
	border: 1px solid var(--nc-navy);
}

.nc-footer__btn--email:hover .nc-btn__label {
	background: var(--nc-cyan);
}

/* Social Links */
.nc-footer__social {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(24px, 2.6vw, 50px);
	margin-top: clamp(36px, 3.646vw, 70px);
}

.nc-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--nc-navy);
	font-family: var(--nc-font);
	font-size: clamp(16px, 1.042vw, 20px);
	font-weight: 500;
	line-height: 1.1;
	color: var(--nc-navy);
	transition: opacity 0.2s var(--nc-ease);
}

.nc-footer__social-link:hover {
	opacity: 0.75;
}

.nc-footer__social-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	transition: transform 0.2s var(--nc-ease);
}

.nc-footer__social-arrow svg {
	width: 100%;
	height: 100%;
}

.nc-footer__social-link:hover .nc-footer__social-arrow {
	transform: translate(2px, -2px);
}

[dir="rtl"] .nc-footer__social-link:hover .nc-footer__social-arrow {
	transform: translate(-2px, -2px) scaleX(-1);
}

/* Bottom Legal & Copyright Bar */
.nc-footer__meta {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: clamp(48px, 4.167vw, 80px);
	padding-top: clamp(20px, 1.562vw, 30px);
	border-top: 1px solid rgba(23, 15, 73, 0.08);
	font-family: var(--nc-font);
	font-size: clamp(14px, 1.042vw, 20px);
	font-weight: 500;
	line-height: 1.1;
	color: var(--nc-muted);
}

.nc-footer__powered strong {
	color: var(--nc-navy);
	font-weight: 600;
}

.nc-footer__copy {
	font-size: clamp(12px, 0.833vw, 16px);
}

.nc-footer__privacy a {
	color: inherit;
	transition: color 0.2s var(--nc-ease);
}

.nc-footer__privacy a:hover {
	color: var(--nc-navy);
}

/* Bottom Watermark & Cyan Gradient */
.nc-footer__watermark {
	position: absolute;
	bottom: -40px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1920px;
	pointer-events: none;
	z-index: 1;
	opacity: 0.85;
}

.nc-footer__watermark img {
	width: 100%;
	height: auto;
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 1023px) {
	.nc-footer__card {
		border-radius: 30px;
	}
}

@media (max-width: 767px) {
	.nc-footer {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.nc-footer__card {
		border-radius: 20px;
		padding: 50px 16px 30px;
		max-width: 335px;
	}

	.nc-footer__heading {
		font-size: 27px;
	}

	.nc-footer__actions {
		flex-direction: column;
		width: 100%;
		max-width: 295px;
		gap: 12px;
		margin-top: 36px;
	}

	.nc-footer__btn {
		width: 100%;
	}

	.nc-footer__btn .nc-btn__label {
		flex: 1;
		padding: 0 16px;
		font-size: 17px;
	}

	.nc-footer__social {
		flex-direction: column;
		gap: 20px;
		margin-top: 40px;
		width: 124px;
	}

	.nc-footer__social-link {
		width: 100%;
	}

	.nc-footer__meta {
		flex-direction: column;
		gap: 12px;
		text-align: center;
		margin-top: 40px;
		padding-top: 20px;
		font-size: 15px;
	}

	.nc-footer__copy {
		order: 3;
		font-size: 11px;
	}

	.nc-footer__powered {
		order: 1;
	}

	.nc-footer__privacy {
		order: 2;
	}
}
