/* Amrik Automobiles — ported 1:1 from the approved static design.
   CSS variable fallbacks are overridden per-site via Theme Options
   (see inc/enqueue.php amrik_generate_css_variables()). */

:root {
	--primary: #D71920;
	--dark: #111111;
	--text: #3a3a3a;
	--bd: #e7e5e2;
	--bgsoft: #f7f6f4;
}

html { scroll-behavior: smooth; }

body { -webkit-font-smoothing: antialiased; }

/* Loader */
#loader {
	position: fixed; inset: 0; z-index: 9999;
	background: var(--dark);
	display: flex; align-items: center; justify-content: center;
	transition: opacity .6s ease, visibility .6s ease;
}
#loader.loaded { opacity: 0; visibility: hidden; }
#loader .loader-mark {
	width: 40px; height: 40px; border: 2px solid rgba(255,255,255,.15);
	border-top-color: var(--primary); border-radius: 50%;
	animation: amrik-spin 0.8s linear infinite;
}
@keyframes amrik-spin { to { transform: rotate(360deg); } }

/* Header */
#site-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
	transition: background-color .4s ease, box-shadow .4s ease, padding .4s ease;
}
#site-header.scrolled {
	background: rgba(255,255,255,.97);
	box-shadow: 0 2px 24px rgba(0,0,0,.06);
}
#site-header.scrolled .nav-link,
#site-header.scrolled #header-phone { color: var(--dark); }
#site-header:not(.scrolled) .nav-link,
#site-header:not(.scrolled) #header-phone { color: #fff; }

.nav-link {
	position: relative;
	display: inline-block;
	padding-bottom: 4px;
}
.nav-link::after {
	content: '';
	position: absolute; left: 0; bottom: 0;
	width: 0; height: 2px;
	background: var(--primary);
	transition: width .3s ease;
}
.nav-link:hover::after,
.nav-link.active::after { width: 100%; }

/* Buttons */
.btn-primary {
	background: var(--primary); color: #fff;
	transition: background-color .3s ease, transform .2s ease;
}
.btn-primary:hover { background: #b9141a; }

.btn-ripple { position: relative; overflow: hidden; }
.btn-ripple .ripple {
	position: absolute; border-radius: 50%;
	background: rgba(255,255,255,.45);
	transform: scale(0);
	animation: amrik-ripple .6s ease-out;
	pointer-events: none;
}
@keyframes amrik-ripple { to { transform: scale(2.5); opacity: 0; } }

/* Reveal-on-scroll */
.reveal, .reveal-left, .reveal-right, .reveal-scale {
	opacity: 0; transition: opacity .8s ease, transform .8s ease;
	transition-delay: var(--delay, 0s);
}
.reveal { transform: translateY(24px); }
.reveal-left { transform: translateX(-32px); }
.reveal-right { transform: translateX(32px); }
.reveal-scale { transform: scale(.94); }
.reveal.in-view, .reveal-left.in-view, .reveal-right.in-view, .reveal-scale.in-view {
	opacity: 1; transform: none;
}
.stagger { transition-delay: calc(var(--i, 0) * 0.08s); }

/* Hover lift */
.hover-lift { transition: transform .35s ease, box-shadow .35s ease; }
.hover-lift:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -20px rgba(0,0,0,.15); }

/* Image zoom */
.img-zoom img { transition: transform .6s ease; }
.img-zoom:hover img { transform: scale(1.06); }

/* Hero parallax background */
.hero-bg {
	background-size: cover; background-position: center;
	will-change: transform;
}

/* Brand cell */
.brand-cell { transition: background-color .3s ease; }
.brand-cell:hover { background: var(--bgsoft); }

/* FAQ accordion */
.faq-toggle { cursor: pointer; background: none; border: none; }
.faq-item.active .faq-icon { transform: rotate(45deg); background: var(--primary); color: #fff; border-color: var(--primary); }
.faq-icon { transition: transform .3s ease, background-color .3s ease, color .3s ease; }
.faq-panel { transition: max-height .35s ease; }

/* Mobile menu */
#mobile-menu {
	position: fixed; inset: 0; z-index: 999;
	background: var(--dark);
	transform: translateX(100%);
	transition: transform .5s cubic-bezier(.77,0,.18,1);
}
#mobile-menu.open { transform: translateX(0); }
.mobile-link { color: #fff; }

#menu-btn { position: relative; z-index: 1001; }
#bar1, #bar2 { transition: transform .35s ease, opacity .35s ease; }
#menu-btn.open #bar1 { transform: translateY(4px) rotate(45deg); }
#menu-btn.open #bar2 { transform: translateY(-4px) rotate(-45deg); }

/* Lightbox */
#lightbox {
	position: fixed; inset: 0; z-index: 2000;
	background: rgba(10,10,10,.95);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; visibility: hidden;
	transition: opacity .35s ease, visibility .35s ease;
}
#lightbox.open { opacity: 1; visibility: visible; }
#lightbox img { max-width: 90vw; max-height: 85vh; object-fit: contain; }
#lightbox-close {
	position: absolute; top: 24px; right: 24px;
	width: 44px; height: 44px; color: #fff;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,.25); cursor: pointer;
}

/* Floating action buttons */
.fab {
	position: fixed; right: 24px; z-index: 500;
	width: 52px; height: 52px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 30px -10px rgba(0,0,0,.4);
	opacity: 0; visibility: hidden; transform: translateY(12px);
	transition: opacity .35s ease, visibility .35s ease, transform .35s ease, background-color .3s ease;
}
.fab.visible { opacity: 1; visibility: visible; transform: none; }
#fab-whatsapp { bottom: 172px; background: #25D366; color: #fff; }
#fab-call { bottom: 108px; background: var(--dark); color: #fff; }
#fab-top { bottom: 44px; background: var(--primary); color: #fff; }
.fab:hover { filter: brightness(1.08); }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px,1px,1px,1px);
}
