/**
 * NavitHQ Theme — Custom styles
 * Luxurious navy/orange gradients, AOS companions, package hover,
 * testimonials carousel, button glow, RTL.
 */

:root {
	--navy: #1a365d;
	--navy-950: #03070d;
	--orange: #ff6b35;
	--header-h: 4.5rem;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Outfit', 'Cairo', system-ui, sans-serif;
	background-color: var(--navy-950);
	color: #fff;
}

html[dir='rtl'],
html[dir='rtl'] body {
	font-family: 'Cairo', 'Outfit', system-ui, sans-serif;
}

html[dir='rtl'] .font-display {
	font-family: 'Cairo', 'Outfit', system-ui, sans-serif;
}

/* Sticky header */
.navithq-header.is-scrolled .header-inner {
	background-color: rgba(3, 7, 13, 0.92);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
	border-bottom-color: rgba(255, 107, 53, 0.12);
}

/* Language switcher */
.lang-btn {
	color: rgba(255, 255, 255, 0.45);
}

.lang-btn.active {
	background-color: var(--orange);
	color: #fff;
	box-shadow: 0 2px 12px rgba(255, 107, 53, 0.35);
}

.lang-btn:not(.active):hover {
	color: #fff;
	background-color: rgba(255, 255, 255, 0.08);
}

/* Hero atmosphere */
.hero-bg-img {
	transform: scale(1.05);
	animation: heroKenBurns 22s ease-in-out infinite alternate;
}

@keyframes heroKenBurns {
	from {
		transform: scale(1.05) translate(0, 0);
	}
	to {
		transform: scale(1.12) translate(-1.5%, -1%);
	}
}

.hero-grid {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 75%);
}

.orange-flare {
	animation: flarePulse 8s ease-in-out infinite;
}

.orange-flare--delayed {
	animation-delay: 2.5s;
}

@keyframes flarePulse {
	0%,
	100% {
		opacity: 0.55;
		transform: scale(1);
	}
	50% {
		opacity: 1;
		transform: scale(1.12);
	}
}

/* Section luxury separators */
.section-lux {
	isolation: isolate;
}

/* Package card shine sweep */
.package-shine {
	background: linear-gradient(
		115deg,
		transparent 30%,
		rgba(255, 107, 53, 0.08) 45%,
		rgba(255, 255, 255, 0.06) 50%,
		rgba(255, 107, 53, 0.08) 55%,
		transparent 70%
	);
	background-size: 200% 100%;
	animation: shineSweep 4s ease-in-out infinite;
}

@keyframes shineSweep {
	0% {
		background-position: 100% 0;
	}
	100% {
		background-position: -100% 0;
	}
}

.package-card {
	will-change: transform;
}

/* Button glow pulse on hover */
.btn-glow {
	position: relative;
	overflow: hidden;
}

.btn-glow::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		120deg,
		transparent 20%,
		rgba(255, 255, 255, 0.22) 50%,
		transparent 80%
	);
	transform: translateX(-120%);
	transition: transform 0.55s ease;
}

.btn-glow:hover::after {
	transform: translateX(120%);
}

/* Service media cards */
.service-media {
	box-shadow: 0 4px 24px rgba(3, 7, 13, 0.35);
}

.service-media:hover {
	box-shadow: 0 16px 48px rgba(255, 107, 53, 0.18);
}

/* Testimonials carousel */
.testimonials-viewport {
	margin-inline: -0.5rem;
}

.testimonial-slide {
	box-sizing: border-box;
}

.carousel-dot {
	width: 8px;
	height: 8px;
	border-radius: 9999px;
	border: none;
	padding: 0;
	background: rgba(255, 255, 255, 0.25);
	cursor: pointer;
	transition:
		width 0.3s ease,
		background 0.3s ease;
}

.carousel-dot.is-active {
	width: 22px;
	background: var(--orange);
}

.carousel-btn:focus-visible {
	outline: 2px solid var(--orange);
	outline-offset: 2px;
}

/* Details table */
.details-table th,
.details-table td {
	vertical-align: middle;
}

.details-table tbody tr {
	transition: background 0.25s ease;
}

.details-table tbody tr:hover {
	background: rgba(255, 107, 53, 0.06);
}

html[dir='rtl'] .details-table {
	text-align: right;
}

/* Form */
.contact-form select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23FF6B35'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19.5 8.25l-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1rem;
	padding-inline-end: 2.5rem;
}

html[dir='rtl'] .contact-form select {
	background-position: left 0.75rem center;
}

.contact-form select option {
	background-color: #10223b;
	color: #fff;
}

.contact-feedback.is-success {
	color: #6ee7b7;
}

.contact-feedback.is-error {
	color: #fca5a5;
}

/* Logo / menu */
.navithq-header .custom-logo-link img,
.navithq-header .custom-logo {
	max-height: 40px;
	width: auto;
}

.navithq-menu li {
	list-style: none;
}

.navithq-menu a {
	text-decoration: none;
}

.mobile-menu:not([hidden]) {
	display: block;
	animation: menuDrop 0.25s ease-out;
}

@keyframes menuDrop {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

section[id] {
	scroll-margin-top: calc(var(--header-h) + 0.5rem);
}

/* AOS fine-tune for dark UI */
[data-aos] {
	pointer-events: auto;
}

/* Marquee — trusted-by infinite scroll */
.marquee-inner {
	will-change: transform;
	animation: marquee 34s linear infinite;
}

.marquee:hover .marquee-inner {
	animation-play-state: paused;
}

@keyframes marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

html[dir='rtl'] .marquee-inner {
	animation-name: marqueeRtl;
}

@keyframes marqueeRtl {
	from { transform: translateX(0); }
	to { transform: translateX(50%); }
}

/* Count-up numbers */
.count-up {
	font-variant-numeric: tabular-nums;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.hero-bg-img,
	.orange-flare,
	.package-shine,
	.mobile-menu:not([hidden]),
	.btn-glow::after,
	.marquee-inner {
		animation: none !important;
		transition: none !important;
	}

	.hero-bg-img {
		transform: none;
	}

	[data-aos] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}
