/**
 * Ripart navy blue theme overrides.
 */

:root {
	--ach-primary: #003366;
	--ach-primary-dark: #002244;
	--ach-primary-light: #e8f0fa;
	--ach-accent: #1a5cff;
	--ach-gold-deep: #001a33;
	--ach-gold-glow: rgba(0, 51, 102, 0.28);
	--ach-text: #0a1628;
	--ach-text-muted: #4a5f7a;
	--ach-border: #c5d4e8;
	--ach-bg: #f5f8fc;
	--ach-bg-muted: #eaf0f8;
	--ach-shadow: 0 4px 24px rgba(0, 51, 102, 0.08);
	--ach-shadow-lg: 0 16px 48px rgba(0, 51, 102, 0.18);
}

/* Header & footer — navy instead of gold */
.ach-header {
	background: linear-gradient(180deg, #001a33 0%, #003366 100%);
	border-bottom: 1px solid rgba(26, 92, 255, 0.25);
	box-shadow: 0 8px 32px rgba(0, 26, 51, 0.35);
}

.ach-header .ach-logo,
.ach-header .ach-nav-list a {
	color: #e8f0fa;
}

.ach-header .ach-nav-list a:hover,
.ach-header .ach-nav-list .current-menu-item a {
	background: rgba(26, 92, 255, 0.2);
	color: #fff;
}

.ach-header .ach-city-btn,
.ach-header .ach-menu-toggle {
	border-color: rgba(26, 92, 255, 0.35);
	color: #e8f0fa;
}

.ach-header .ach-btn--ghost {
	border-color: rgba(26, 92, 255, 0.45);
	color: #e8f0fa;
}

.ach-header .ach-btn--ghost:hover {
	background: rgba(26, 92, 255, 0.25);
	border-color: var(--ach-accent);
}

.ach-header .ach-brand-name,
.ach-header .ach-logo__text,
.ach-footer .ach-brand-name,
.ach-footer .ach-logo__text {
	color: #e8f0fa;
}

.ach-footer {
	background: linear-gradient(180deg, #001a33 0%, #002244 100%);
	border-top: 1px solid rgba(26, 92, 255, 0.2);
}

.ach-btn--primary {
	background: linear-gradient(135deg, #003366, #1a5cff);
	border-color: #003366;
}

.ach-btn--primary:hover {
	background: linear-gradient(135deg, #002244, #003366);
}

.ach-logo__img {
	box-shadow: 0 4px 14px rgba(0, 51, 102, 0.35);
	object-fit: contain;
	object-position: center;
}

/* Story banner on services page */
.ach-story--full {
	padding: 0;
	width: 100%;
	max-width: none;
}

.ach-story--full .ach-story__frame {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.ach-story__frame {
	background: linear-gradient(135deg, #003366, #1a5cff, #003366);
}

.ach-story__viewport {
	background: linear-gradient(180deg, #001a33, #002244);
}

.ach-story__caption {
	border-color: rgba(26, 92, 255, 0.32);
}

.ach-story__step {
	background: linear-gradient(135deg, #003366, #1a5cff);
}

.ach-story__cta {
	background: linear-gradient(135deg, #003366, #1a5cff);
}

.ach-story__dot.is-active,
.ach-story__progress-bar {
	background: #1a5cff;
}

/* Services page — full row like homepage hero */
.ach-story--full .ach-story__viewport {
	width: 100%;
	height: auto;
	min-height: 314px;
	aspect-ratio: auto;
	border-radius: 0;
	background: linear-gradient(180deg, #eef2f7 0%, #e4eaf2 100%);
}

.ach-story--full .ach-story__viewport::after {
	box-shadow: inset 0 -80px 60px -20px rgba(0, 26, 51, 0.35);
}

.ach-story--full .ach-story__img {
	object-fit: contain;
	object-position: center bottom;
	image-rendering: auto;
}

.ach-story--full .ach-story__slide {
	transform: none;
}

.ach-story--full .ach-story__slide.is-active {
	transform: none;
}

.ach-story--full .ach-story__caption {
	right: clamp(20px, 5vw, 64px);
	left: auto;
	width: min(540px, calc(100% - clamp(40px, 10vw, 128px)));
}

.ach-story--full .ach-story__cta {
	left: clamp(20px, 5vw, 64px);
}

.ach-story--full .ach-story__dots {
	left: clamp(20px, 5vw, 64px);
	transform: none;
}

.ach-story--full .ach-story__nav--prev {
	right: clamp(12px, 3vw, 32px);
}

.ach-story--full .ach-story__nav--next {
	left: clamp(12px, 3vw, 32px);
}

/* Homepage Ripart hero slider */
.ach-ripart-hero {
	padding: 20px 0 8px;
}

.ach-ripart-hero--full {
	padding: 0;
	width: 100%;
	max-width: none;
}

.ach-ripart-hero--full .ach-ripart-hero__slider {
	width: 100%;
	max-width: none;
}

.ach-promo-hero--full .ach-promo-hero__ticket {
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	animation: none;
	background: transparent;
}

.ach-promo-hero--full .ach-promo-hero__ticket::before,
.ach-promo-hero--full .ach-promo-hero__ticket::after {
	display: none;
}

.ach-promo-hero--full .ach-promo-hero__glow {
	inset: 0;
	border-radius: 0;
}

.ach-promo-hero--full .ach-promo-hero__viewport {
	border-radius: 0;
	width: 100%;
}

.ach-promo-hero--full .ach-promo-hero__track {
	width: 100%;
}

.ach-promo-hero--full .ach-ripart-hero__link {
	padding-inline: clamp(20px, 5vw, 64px);
	width: 100%;
}

.ach-promo-hero--ripart .ach-promo-hero__ticket {
	min-height: 320px;
	background: linear-gradient(120deg, #1a5cff, #003366, #004c99, #1a5cff);
	background-size: 240% 240%;
	animation: ach-promo-gold-shimmer 8s linear infinite;
	box-shadow: 0 14px 36px rgba(0, 51, 102, 0.22);
}

.ach-promo-hero--ripart .ach-promo-hero__ticket::before,
.ach-promo-hero--ripart .ach-promo-hero__ticket::after {
	box-shadow: 0 0 0 2px rgba(26, 92, 255, 0.45);
}

.ach-promo-hero--ripart .ach-promo-hero__viewport {
	min-height: 314px;
}

.ach-promo-hero--ripart .ach-promo-hero__track {
	min-height: 314px;
}

.ach-ripart-hero__link {
	display: grid;
	grid-template-columns: 1fr minmax(180px, 42%);
	align-items: end;
	gap: 12px;
	height: 100%;
	padding: 28px 32px 24px;
	text-decoration: none;
	color: #fff;
}

.ach-ripart-hero__content {
	position: relative;
	z-index: 2;
	align-self: center;
}

.ach-ripart-hero__eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.ach-ripart-hero__title {
	margin: 0 0 14px;
	font-size: clamp(1.35rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.45;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.ach-ripart-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 18px;
	border-radius: 999px;
	font-size: 0.9rem;
	font-weight: 700;
	background: rgba(255, 255, 255, 0.95);
	color: #003366;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.ach-ripart-hero__media {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 100%;
	min-height: 240px;
}

.ach-ripart-hero__media img {
	max-height: 300px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.3));
}

.ach-promo-hero--ripart .ach-promo-hero__slide {
	background: linear-gradient(135deg, var(--promo-from), var(--promo-to));
}

.ach-promo-hero--ripart .ach-promo-hero__dot.is-active {
	background: #fff;
}

@media (max-width: 768px) {
	.ach-ripart-hero__link {
		grid-template-columns: 1fr;
		padding: 20px 18px 12px;
	}

	.ach-promo-hero--full .ach-ripart-hero__link {
		padding-inline: 16px;
	}

	.ach-ripart-hero__media {
		min-height: 180px;
		order: -1;
	}

	.ach-ripart-hero__media img {
		max-height: 200px;
	}

	.ach-promo-hero--ripart .ach-promo-hero__ticket,
	.ach-promo-hero--ripart .ach-promo-hero__viewport,
	.ach-promo-hero--ripart .ach-promo-hero__track {
		min-height: 380px;
	}

	.ach-story--full .ach-story__viewport {
		min-height: 380px;
	}
}

/* ── Service picker modal (انتخاب خدمت) ── */
.ach-picker__panel {
	border: 1px solid rgba(26, 92, 255, 0.22);
	box-shadow: 0 24px 56px rgba(0, 26, 51, 0.24);
}

.ach-picker__head {
	background: linear-gradient(135deg, #001a33 0%, #003366 100%);
	color: #e8f0fa;
	border-bottom: 1px solid rgba(26, 92, 255, 0.28);
}

.ach-picker__head h2 {
	color: #e8f0fa;
	font-weight: 800;
}

.ach-picker__back,
.ach-picker__close {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(26, 92, 255, 0.35);
	color: #e8f0fa;
}

.ach-picker__back:hover,
.ach-picker__close:hover {
	background: rgba(26, 92, 255, 0.22);
	border-color: var(--ach-accent);
}

.ach-picker__card:hover {
	border-color: var(--ach-accent);
	box-shadow: 0 10px 28px rgba(0, 51, 102, 0.14);
}

.ach-picker__service:hover {
	border-color: rgba(26, 92, 255, 0.45);
	background: var(--ach-primary-light);
}

.ach-picker__service-price {
	color: var(--ach-primary);
}

/* ── Golden-site remnants → navy ── */
.ach-tabs__btn.is-active,
.ach-tabs__btn:hover {
	background: linear-gradient(135deg, #003366, #1a5cff);
	border-color: var(--ach-primary);
	color: #fff;
}

.ach-expert-card__avatar {
	background: linear-gradient(135deg, #1a5cff, #003366);
	color: #e8f0fa;
}

.ach-expert-card:hover,
.ach-service-card:hover,
.ach-review-card:hover {
	border-color: rgba(26, 92, 255, 0.4);
	box-shadow: 0 10px 28px rgba(0, 51, 102, 0.12);
}

.ach-promo__inner {
	background: linear-gradient(135deg, #001a33, #003366);
	border-color: rgba(26, 92, 255, 0.35);
}

.ach-stats {
	background: linear-gradient(135deg, #001a33, #002244);
	border-color: rgba(26, 92, 255, 0.22);
}

.ach-section--cities {
	background: var(--ach-bg);
}

.ach-section__head h2 {
	color: var(--ach-primary);
}

.ach-app-badge--primary {
	background: linear-gradient(135deg, #003366, #1a5cff);
	border-color: rgba(26, 92, 255, 0.45);
	color: #e8f0fa;
}

.ach-app-badge--primary:hover {
	background: linear-gradient(135deg, #002244, #003366);
	color: #fff;
}

.ach-back-top {
	background: linear-gradient(135deg, #003366, #1a5cff);
	color: #e8f0fa;
}

.ach-pwa-install {
	background: linear-gradient(145deg, rgba(26, 92, 255, 0.12) 0%, rgba(0, 26, 51, 0.88) 100%);
	border-color: rgba(26, 92, 255, 0.35);
}

.ach-pwa-install__btn {
	background: linear-gradient(135deg, #003366, #1a5cff);
	color: #e8f0fa;
	box-shadow: 0 4px 16px rgba(0, 51, 102, 0.28);
}

.ach-pwa-install__btn:hover {
	background: linear-gradient(135deg, #1a5cff, #003366);
	color: #fff;
}

.ach-android-apps {
	background:
		linear-gradient(160deg, rgba(8, 28, 58, 0.96) 0%, rgba(0, 26, 51, 0.98) 55%, rgba(0, 40, 80, 0.94) 100%);
	border-color: rgba(90, 150, 255, 0.28);
}

.ach-android-apps__btn:hover {
	background: rgba(26, 92, 255, 0.22);
	border-color: rgba(90, 150, 255, 0.45);
}

@media (max-width: 900px) {
	.ach-header .ach-nav.is-open {
		background: #001a33;
		border-color: rgba(26, 92, 255, 0.25);
	}
}

/* ── Services search box — sync with Ripart blue theme ── */
.ach-hero__search-wrap {
	background: linear-gradient(180deg, #e4eaf2 0%, var(--ach-bg) 100%);
}

.ach-hero--compact .ach-search-box,
.ach-hero--compact .ach-search-box--premium {
	border-color: rgba(26, 92, 255, 0.22);
	box-shadow:
		0 28px 64px rgba(0, 51, 102, 0.12),
		0 10px 28px rgba(0, 0, 0, 0.05),
		inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.ach-search-box--premium {
	background:
		radial-gradient(circle at 100% 100%, rgba(26, 92, 255, 0.08) 0%, transparent 55%),
		linear-gradient(145deg, #fff 0%, #f8fbff 55%, #eef4fc 100%);
}

.ach-search-box--premium::before {
	background: linear-gradient(90deg, #003366, #1a5cff, #4d85ff, #003366);
}

.ach-search-box--premium::after {
	background: radial-gradient(circle, rgba(26, 92, 255, 0.1) 0%, transparent 70%);
}

.ach-search-box__badge {
	background: rgba(26, 92, 255, 0.1);
	border-color: rgba(26, 92, 255, 0.28);
	color: var(--ach-primary);
	box-shadow: 0 2px 8px rgba(0, 51, 102, 0.08);
}

.ach-search-form__inner {
	box-shadow:
		inset 0 1px 3px rgba(0, 0, 0, 0.04),
		0 4px 16px rgba(0, 51, 102, 0.06);
}

.ach-search-form__inner:focus-within {
	border-color: var(--ach-accent);
	box-shadow:
		0 0 0 4px var(--ach-gold-glow),
		0 8px 24px rgba(26, 92, 255, 0.12),
		inset 0 1px 3px rgba(0, 0, 0, 0.03);
}

.ach-search-form__inner.is-searching {
	border-color: rgba(26, 92, 255, 0.55);
	box-shadow:
		0 0 0 4px rgba(26, 92, 255, 0.12),
		0 8px 28px rgba(0, 51, 102, 0.1);
}

.ach-search-form input::placeholder {
	color: #7a8fa8;
}

.ach-search-form__submit {
	background: linear-gradient(135deg, #1a5cff 0%, #003366 100%);
	color: #fff;
	box-shadow:
		0 4px 16px rgba(26, 92, 255, 0.35),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.ach-search-form__submit:hover {
	filter: brightness(1.08);
	box-shadow: 0 6px 20px rgba(26, 92, 255, 0.42);
}

.ach-search-form__submit:active {
	box-shadow: 0 2px 10px rgba(26, 92, 255, 0.3);
}

.ach-search-suggest {
	border-color: rgba(26, 92, 255, 0.22);
	box-shadow:
		0 16px 40px rgba(0, 51, 102, 0.12),
		0 4px 12px rgba(0, 0, 0, 0.06);
}

.ach-search-suggest__title mark {
	background: rgba(26, 92, 255, 0.18);
}

.ach-popular-tags-block {
	border-top-color: rgba(26, 92, 255, 0.2);
}

.ach-popular-tags-wrap::before {
	background: linear-gradient(270deg, #eef4fc 20%, transparent 100%);
}

.ach-popular-tags-wrap::after {
	background: linear-gradient(90deg, #eef4fc 20%, transparent 100%);
}

.ach-popular-tags__hint {
	color: rgba(74, 95, 122, 0.55);
}

.ach-tag {
	background: linear-gradient(180deg, #fff 0%, #f5f8fc 100%);
	border-color: rgba(26, 92, 255, 0.2);
	box-shadow: 0 2px 10px rgba(0, 51, 102, 0.06);
}

.ach-tag:hover {
	background: linear-gradient(180deg, #eef4fc 0%, #e8f0fa 100%);
	border-color: rgba(26, 92, 255, 0.45);
	color: var(--ach-primary);
	box-shadow: 0 8px 20px rgba(26, 92, 255, 0.16);
}
