/* ═══════════════════════════════════════════════════════════
   آپاتیت — Page polish for existing Elementor builds
   Targets generated page IDs from uploads/elementor/css
   Safe: colors / fonts / soft visuals — no layout reflow
═══════════════════════════════════════════════════════════ */

/* Shared page surface */
body.apatite-theme .elementor {
	font-family: var(--ap-font, "Vazirmatn", system-ui, sans-serif);
}

/* ── Kit is handled in functions.php + post-717.css ── */

/* Header / site chrome (post 704) — title must stay dark on white header */
body.apatite-theme .elementor-704 {
	font-family: var(--ap-font, "Vazirmatn", system-ui, sans-serif);
}

body.apatite-theme .elementor-704 .elementor-heading-title,
body.apatite-theme .elementor-704 .elementor-widget-theme-site-title .elementor-heading-title,
body.apatite-theme .elementor-704 .elementor-widget-theme-site-title a,
body.apatite-theme .elementor-location-header .elementor-widget-theme-site-title .elementor-heading-title,
body.apatite-theme .elementor-location-header .elementor-widget-theme-site-title a,
body.apatite-theme .elementor-location-header .elementor-heading-title {
	color: #4c1d95 !important;
	-webkit-text-fill-color: #4c1d95 !important;
	opacity: 1 !important;
}

body.apatite-theme .elementor-704 .elementor-nav-menu--main .elementor-item,
body.apatite-theme .elementor-704 .elementor-nav-menu .elementor-item {
	font-weight: 600;
	transition: color 0.2s ease, opacity 0.2s ease;
}

body.apatite-theme .elementor-704 .elementor-nav-menu--main .elementor-item:hover {
	color: #e8d48b !important;
}

/* Keep active indicator size under control (Blocksy/Elementor clash) */
body.apatite-theme header#header .menu > li > a,
body.apatite-theme .elementor-704 .elementor-item {
	line-height: normal;
}

body.apatite-theme header#header .menu > li.current-menu-item > a,
body.apatite-theme header#header .menu > li.current_page_item > a {
	/* never invent a tall background box */
	background: transparent !important;
	box-shadow: none !important;
}

/* ══════════════════════════════════
   Home / landing (post 710 — largest)
══════════════════════════════════ */
body.apatite-theme .elementor-710 .elementor-heading-title {
	font-family: var(--ap-font, "Vazirmatn", system-ui, sans-serif) !important;
	font-weight: 800;
}

body.apatite-theme .elementor-710 .elementor-button {
	font-family: var(--ap-font, "Vazirmatn", system-ui, sans-serif) !important;
	font-weight: 700 !important;
	border-radius: 14px !important;
	transition: filter 0.2s ease, box-shadow 0.2s ease !important;
}

body.apatite-theme .elementor-710 .elementor-button:hover {
	filter: brightness(1.06);
	box-shadow: 0 12px 28px rgba(124, 58, 237, 0.32);
}

/* Countdown labels alignment fix */
body.apatite-theme .elementor-710 .elementor-countdown-wrapper,
body.apatite-theme .elementor-countdown-wrapper {
	display: flex;
	justify-content: center;
	gap: clamp(10px, 2vw, 22px);
}

body.apatite-theme .elementor-countdown-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 64px;
}

body.apatite-theme .elementor-countdown-digits {
	color: #c9a227 !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em;
	line-height: 1.1;
	text-align: center;
}

body.apatite-theme .elementor-countdown-label {
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	margin-top: 6px;
	text-align: center;
	width: 100%;
}

/* On light backgrounds, countdown labels need dark text */
body.apatite-theme .elementor-section:not(.elementor-section-colored) .elementor-countdown-label,
body.apatite-theme .e-con .elementor-countdown-label {
	color: #4b476b !important;
}

/* Soften harsh grey shop-like blocks inside 710 */
body.apatite-theme .elementor-710 .elementor-widget-heading .elementor-heading-title {
	color: inherit;
}

body.apatite-theme .elementor-710 .elementor-icon-box-title,
body.apatite-theme .elementor-710 .elementor-image-box-title {
	font-weight: 800 !important;
	color: #1e1b4b;
}

body.apatite-theme .elementor-710 .elementor-icon-box-description,
body.apatite-theme .elementor-710 .elementor-image-box-description {
	color: #4b476b;
	line-height: 1.8;
}

/* Price / CTA gold accents */
body.apatite-theme .elementor-710 .elementor-widget-woocommerce-products .price,
body.apatite-theme .elementor-710 .price {
	color: #6d28d9 !important;
	font-weight: 800;
}

body.apatite-theme .elementor-710 .add_to_cart_button,
body.apatite-theme .elementor-710 .ajax_add_to_cart {
	background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
	border: none !important;
	border-radius: 12px !important;
	color: #fff !important;
	font-weight: 700 !important;
}

/* ══════════════════════════════════
   Intro / about style pages (706, 1353)
══════════════════════════════════ */
body.apatite-theme .elementor-706 .elementor-heading-title,
body.apatite-theme .elementor-1353 .elementor-heading-title {
	font-family: var(--ap-font, "Vazirmatn", system-ui, sans-serif) !important;
	font-weight: 800;
}

body.apatite-theme .elementor-706 .elementor-button,
body.apatite-theme .elementor-1353 .elementor-button {
	border-radius: 14px !important;
	font-weight: 700 !important;
}

/* Card-like containers: soft glass without changing grid */
body.apatite-theme .elementor-1353 .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.apatite-theme .elementor-706 .elementor-widget-icon-box .elementor-icon-box-wrapper {
	transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body.apatite-theme .elementor-1353 .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
body.apatite-theme .elementor-706 .elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
	transform: translateY(-3px);
	box-shadow: 0 14px 36px rgba(109, 40, 217, 0.12);
}

/* Dark purple bands → richer brand gradient (only solid purple-ish sections) */
body.apatite-theme .elementor-1353 .elementor-section.elementor-section-boxed[style*="background"],
body.apatite-theme .elementor-710 .elementor-top-section:first-of-type {
	/* leave Elementor backgrounds; only polish overlay if none */
}

/* ══════════════════════════════════
   Pre-register / campaign (1386)
══════════════════════════════════ */
body.apatite-theme .elementor-1386 .elementor-heading-title {
	font-family: var(--ap-font, "Vazirmatn", system-ui, sans-serif) !important;
	font-weight: 800;
}

body.apatite-theme .elementor-1386 .elementor-button {
	background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
	border-radius: 14px !important;
	font-weight: 700 !important;
	box-shadow: 0 10px 26px rgba(124, 58, 237, 0.3);
}

body.apatite-theme .elementor-1386 .elementor-button:hover {
	filter: brightness(1.05);
}

body.apatite-theme .elementor-1386 .elementor-field-group input,
body.apatite-theme .elementor-1386 .elementor-field-group textarea {
	border-radius: 12px !important;
	border-color: #ddd6fe !important;
}

/* ══════════════════════════════════
   Small utility pages (1306, 1331)
══════════════════════════════════ */
body.apatite-theme .elementor-1306,
body.apatite-theme .elementor-1331 {
	font-family: var(--ap-font, "Vazirmatn", system-ui, sans-serif);
}

body.apatite-theme .elementor-1306 .elementor-button,
body.apatite-theme .elementor-1331 .elementor-button {
	border-radius: 12px !important;
	font-weight: 700 !important;
}

/* ══════════════════════════════════
   Global Elementor form / star / divider accents
══════════════════════════════════ */
body.apatite-theme .elementor-star-rating i:before {
	color: #c9a227 !important;
}

body.apatite-theme .elementor-widget-divider .elementor-divider-separator {
	border-color: rgba(201, 162, 39, 0.45);
}

/* Images: soft radius consistent with kit */
body.apatite-theme .elementor img {
	transition: box-shadow 0.25s ease;
}

body.apatite-theme .elementor-widget-image:hover img {
	box-shadow: 0 12px 32px rgba(109, 40, 217, 0.12);
}

/* Reduce accidental huge white gaps under sticky/transparent headers:
   do not invent spacing — only neutralize broken active menu overflow */
body.apatite-theme header#header .menu > li > a:before,
body.apatite-theme header#header .menu > li > a:after {
	max-height: 100%;
}

@media (max-width: 767px) {
	body.apatite-theme .elementor-countdown-item {
		min-width: 52px;
	}

	body.apatite-theme .elementor-countdown-label {
		font-size: 0.68rem !important;
	}
}
