/**
 * Gaam Zarrin School — modern design overrides for Blocksy + Elementor.
 * Loaded after theme styles to normalize chaotic customizer settings.
 */

/* --------------------------------------------------------------------------
   Design tokens
   -------------------------------------------------------------------------- */
:root {
	--gaam-primary: #1e5f8a;
	--gaam-primary-dark: #164a6d;
	--gaam-primary-light: #2d7ab5;
	--gaam-accent: #f59e0b;
	--gaam-accent-hover: #d97706;
	--gaam-success: #059669;
	--gaam-surface: #ffffff;
	--gaam-surface-soft: #f1f5f9;
	--gaam-surface-muted: #e2e8f0;
	--gaam-text: #1e293b;
	--gaam-text-muted: #64748b;
	--gaam-border: #e2e8f0;
	--gaam-radius-sm: 8px;
	--gaam-radius-md: 12px;
	--gaam-radius-lg: 16px;
	--gaam-radius-xl: 24px;
	--gaam-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.06);
	--gaam-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
	--gaam-shadow-lg: 0 16px 40px rgba(15, 23, 42, 0.1);
	--gaam-font: "Vazirmatn", "Tahoma", sans-serif;

	/* Blocksy palette remap */
	--theme-palette-color-1: var(--gaam-primary);
	--theme-palette-color-2: var(--gaam-primary-light);
	--theme-palette-color-3: var(--gaam-surface);
	--theme-palette-color-4: var(--gaam-surface-soft);
	--theme-palette-color-5: var(--gaam-accent);
	--theme-palette-color-6: var(--gaam-surface-muted);
	--theme-palette-color-7: var(--gaam-text-muted);
	--theme-palette-color-8: var(--gaam-text);
	--theme-palette-color-9: #0f2744;

	--e-global-color-blocksy_palette_1: var(--gaam-primary);
	--e-global-color-blocksy_palette_2: var(--gaam-primary-light);
	--e-global-color-blocksy_palette_3: var(--gaam-surface);
	--e-global-color-blocksy_palette_4: var(--gaam-surface-soft);
	--e-global-color-blocksy_palette_5: var(--gaam-accent);
	--e-global-color-blocksy_palette_6: var(--gaam-surface-muted);
	--e-global-color-blocksy_palette_7: var(--gaam-text-muted);
	--e-global-color-blocksy_palette_8: var(--gaam-text);
	--e-global-color-blocksy_palette_9: #0f2744;

	--theme-text-color: var(--gaam-text);
	--theme-link-initial-color: var(--gaam-primary);
	--theme-link-hover-color: var(--gaam-primary-dark);
	--theme-headings-color: var(--gaam-text);
	--theme-border-color: var(--gaam-border);
	--theme-selection-text-color: #ffffff;
	--theme-selection-background-color: var(--gaam-primary);
	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-background-initial-color: var(--gaam-primary);
	--theme-button-background-hover-color: var(--gaam-primary-dark);
	--theme-button-border-radius: var(--gaam-radius-md);
	--theme-button-shadow: var(--gaam-shadow-sm);
	--theme-form-field-border-radius: var(--gaam-radius-sm);
	--theme-content-vertical-spacing: 80px;
}

/* --------------------------------------------------------------------------
   Base typography & layout
   -------------------------------------------------------------------------- */
body,
button,
input,
select,
textarea {
	font-family: var(--gaam-font) !important;
}

body {
	background-color: var(--gaam-surface-soft) !important;
	background-image: none !important;
	color: var(--gaam-text);
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title,
.elementor-heading-title {
	font-family: var(--gaam-font) !important;
	font-weight: 700 !important;
	color: var(--gaam-text) !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
}

h1 { font-size: clamp(1.75rem, 4vw, 2.5rem) !important; }
h2 { font-size: clamp(1.5rem, 3vw, 2rem) !important; }
h3 { font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important; }

a {
	transition: color 0.2s ease, opacity 0.2s ease;
}

::selection {
	background-color: var(--gaam-primary);
	color: #fff;
}

/* --------------------------------------------------------------------------
   Header — clean, professional
   -------------------------------------------------------------------------- */
[data-header*="type-1"] .ct-header,
[data-header*="type-1"] [data-row*="middle"],
[data-header*="type-1"] [data-row*="top"] {
	background-color: var(--gaam-surface) !important;
	background-image: none !important;
	box-shadow: var(--gaam-shadow-sm) !important;
	border-bottom: 1px solid var(--gaam-border) !important;
	backdrop-filter: none !important;
}

[data-header*="type-1"] [data-transparent-row="yes"][data-row*="middle"],
[data-header*="type-1"] [data-transparent-row="yes"][data-row*="top"],
[data-header*="type-1"] [data-transparent] {
	background-color: rgba(255, 255, 255, 0.95) !important;
	background-image: none !important;
}

[data-header*="type-1"] [data-sticky*="yes"] [data-row*="middle"],
[data-header*="type-1"] [data-sticky*="yes"] [data-row*="top"],
[data-header*="type-1"] [data-sticky*="yes"] {
	background-color: rgba(255, 255, 255, 0.98) !important;
	background-image: none !important;
	box-shadow: var(--gaam-shadow-md) !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a {
	color: var(--gaam-text) !important;
	font-weight: 500 !important;
	font-size: 15px !important;
	padding: 8px 0 !important;
	position: relative;
}

[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li > a:hover,
[data-header*="type-1"] .ct-header [data-id="menu"] > ul > li.current-menu-item > a {
	color: var(--gaam-primary) !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu {
	background: var(--gaam-surface) !important;
	border: 1px solid var(--gaam-border) !important;
	border-radius: var(--gaam-radius-md) !important;
	box-shadow: var(--gaam-shadow-md) !important;
	padding: 8px 0 !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu .ct-menu-link {
	color: var(--gaam-text) !important;
	font-size: 14px !important;
	padding: 10px 20px !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] .sub-menu .ct-menu-link:hover {
	color: var(--gaam-primary) !important;
	background: var(--gaam-surface-soft) !important;
}

[data-header*="type-1"] .ct-header [data-id="logo"] .site-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.3 !important;
	color: var(--gaam-primary) !important;
}

[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container {
	--logo-max-height: 72px;
}

[data-header*="type-1"] [data-id="search"] .ct-icon,
[data-header*="type-1"] [data-id="cart"] .ct-cart-item,
[data-header*="type-1"] [data-id="account"] .ct-account-item,
[data-header*="type-1"] [data-id="trigger"] .ct-icon {
	color: var(--gaam-text) !important;
}

[data-header*="type-1"] [data-id="cart"] .ct-cart-content {
	background-color: var(--gaam-surface) !important;
	border: 1px solid var(--gaam-border) !important;
	border-radius: var(--gaam-radius-md) !important;
	box-shadow: var(--gaam-shadow-lg) !important;
	color: var(--gaam-text) !important;
}

[data-header*="type-1"] #offcanvas,
[data-header*="type-1"] #search-modal {
	background-color: rgba(15, 39, 68, 0.97) !important;
}

[data-header*="type-1"] [data-id="mobile-menu"] {
	--theme-link-initial-color: #ffffff;
	--theme-link-active-color: var(--gaam-accent);
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
[data-footer*="type-1"] .ct-footer,
[data-footer*="type-1"] .ct-footer [data-row*="middle"] {
	background-color: var(--theme-palette-color-9) !important;
	background-image: none !important;
}

[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li > a {
	color: rgba(255, 255, 255, 0.85) !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	text-transform: none !important;
}

[data-footer*="type-1"] .ct-footer [data-id="menu"] > ul > li > a:hover {
	color: var(--gaam-accent) !important;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.ct-button,
button,
input[type="submit"],
.wp-block-button__link,
.ct-submit-button,
.elementor-button,
.eael-creative-button,
.eael-pricing .eael-pricing-button,
.eael-call-to-action .cta-button {
	border-radius: var(--gaam-radius-md) !important;
	font-family: var(--gaam-font) !important;
	font-weight: 600 !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.ct-button:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: var(--gaam-shadow-md) !important;
}

.elementor-button {
	border-radius: var(--gaam-radius-md) !important;
}

/* --------------------------------------------------------------------------
   Cards, blog, entries
   -------------------------------------------------------------------------- */
[data-prefix="blog"] .entry-card,
[data-prefix="categories"] .entry-card,
[data-prefix="author"] .entry-card,
[data-prefix="search"] .entry-card {
	background: var(--gaam-surface) !important;
	border: 1px solid var(--gaam-border) !important;
	border-radius: var(--gaam-radius-lg) !important;
	box-shadow: var(--gaam-shadow-sm) !important;
	overflow: hidden;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

[data-prefix="blog"] .entry-card:hover,
[data-prefix="categories"] .entry-card:hover,
[data-prefix="author"] .entry-card:hover,
[data-prefix="search"] .entry-card:hover {
	box-shadow: var(--gaam-shadow-md) !important;
	transform: translateY(-3px);
}

[data-prefix="blog"] .entry-card .entry-title,
[data-prefix="categories"] .entry-card .entry-title {
	color: var(--gaam-text) !important;
}

body[data-prefix="blog"],
body[data-prefix="search"],
body[data-prefix="author"],
body[data-prefix="single_blog_post"],
body[data-prefix="single_page"] {
	background-color: var(--gaam-surface-soft) !important;
	background-image: none !important;
}

[data-prefix="single_page"] [class*="ct-container"] > article[class*="post"] {
	border-radius: var(--gaam-radius-lg) !important;
	border: 1px solid var(--gaam-border) !important;
	box-shadow: var(--gaam-shadow-sm) !important;
}

[data-prefix="single_blog_post"] .hero-section[data-type="type-2"] {
	background-color: var(--gaam-primary) !important;
	border-radius: 0 0 var(--gaam-radius-xl) var(--gaam-radius-xl);
	min-height: 180px !important;
}

[data-prefix="single_blog_post"] .entry-header .page-title {
	color: #fff !important;
	font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
}

[data-prefix="search"] .entry-header .page-title {
	font-family: var(--gaam-font) !important;
	font-size: 1.75rem !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
}

/* --------------------------------------------------------------------------
   Elementor sections & widgets
   -------------------------------------------------------------------------- */
.elementor-section,
.elementor-widget-wrap {
	font-family: var(--gaam-font);
}

.elementor-widget-heading .elementor-heading-title {
	color: var(--gaam-text) !important;
}

.elementor-widget-text-editor {
	color: var(--gaam-text-muted);
}

.elementor-widget-icon-box .elementor-icon-box-wrapper {
	padding: 24px;
	background: var(--gaam-surface);
	border: 1px solid var(--gaam-border);
	border-radius: var(--gaam-radius-lg);
	box-shadow: var(--gaam-shadow-sm);
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
	box-shadow: var(--gaam-shadow-md);
	transform: translateY(-2px);
}

.elementor-widget-icon-box .elementor-icon {
	color: var(--gaam-primary) !important;
}

.elementor-widget-image-box .elementor-image-box-img img {
	border-radius: var(--gaam-radius-lg);
}

.elementor-widget-image-carousel .swiper-slide-image {
	border: none !important;
	border-radius: var(--gaam-radius-lg) !important;
	box-shadow: var(--gaam-shadow-sm);
}

.elementor-widget-progress .elementor-progress-wrapper {
	background-color: var(--gaam-surface-muted) !important;
	border-radius: 999px !important;
	overflow: hidden;
}

.elementor-widget-progress .elementor-progress-bar {
	background: linear-gradient(90deg, var(--gaam-primary), var(--gaam-primary-light)) !important;
	border-radius: 999px !important;
	height: 8px !important;
}

/* Essential Addons — normalize widgets */
.eael-infobox,
.eael-pricing .eael-pricing-item,
.eael-team-item,
.eael-adv-accordion .eael-accordion-list,
.eael-countdown-item > div {
	border-radius: var(--gaam-radius-lg) !important;
}

.eael-advance-tabs .eael-tabs-nav > ul li {
	border-radius: var(--gaam-radius-sm) var(--gaam-radius-sm) 0 0 !important;
}

.eael-advance-tabs .eael-tabs-nav > ul .active,
.eael-adv-accordion .eael-accordion-list .eael-accordion-header.active {
	background-color: var(--gaam-primary) !important;
}

.eael-creative-button {
	background-color: var(--gaam-primary) !important;
	border-radius: var(--gaam-radius-md) !important;
}

.eael-creative-button:hover {
	background-color: var(--gaam-primary-dark) !important;
}

.eael-countdown-digits {
	color: var(--gaam-accent) !important;
}

.eael-countdown-item > div {
	background: var(--gaam-primary) !important;
}

.eael-call-to-action {
	border-radius: var(--gaam-radius-xl) !important;
	background: linear-gradient(135deg, var(--gaam-primary) 0%, var(--gaam-primary-dark) 100%) !important;
}

.eael-call-to-action.bg-img:after {
	background: linear-gradient(135deg, rgba(30, 95, 138, 0.92), rgba(22, 74, 109, 0.92)) !important;
}

/* Hero sections with large top padding */
.elementor-element[class*="elementor-element-"] > .e-con,
.elementor-section .elementor-container {
	max-width: 1200px;
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select,
.ct-search-form input {
	border: 1px solid var(--gaam-border) !important;
	border-radius: var(--gaam-radius-sm) !important;
	background: var(--gaam-surface) !important;
	color: var(--gaam-text) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--gaam-primary) !important;
	box-shadow: 0 0 0 3px rgba(30, 95, 138, 0.15) !important;
	outline: none;
}

/* --------------------------------------------------------------------------
   Back to top & misc
   -------------------------------------------------------------------------- */
.ct-back-to-top {
	--top-button-background-color: var(--gaam-primary);
	--top-button-background-hover-color: var(--gaam-primary-dark);
	--theme-icon-color: #fff;
	border-radius: 50% !important;
	box-shadow: var(--gaam-shadow-md) !important;
}

.ct-breadcrumbs {
	text-transform: none !important;
	font-size: 13px !important;
	color: var(--gaam-text-muted) !important;
}

.ct-breadcrumbs a {
	color: var(--gaam-primary) !important;
}

.ct-sidebar {
	border-radius: var(--gaam-radius-lg);
}

aside[data-type="type-2"] {
	border: 1px solid var(--gaam-border) !important;
	box-shadow: var(--gaam-shadow-sm) !important;
}

/* WooCommerce basics */
.woocommerce ul.products li.product {
	border-radius: var(--gaam-radius-lg);
	overflow: hidden;
	border: 1px solid var(--gaam-border);
	background: var(--gaam-surface);
}

/* Smooth scroll */
html {
	scroll-behavior: smooth;
}

/* --------------------------------------------------------------------------
   Responsive polish
   -------------------------------------------------------------------------- */
@media (max-width: 999px) {
	[data-header*="type-1"] .ct-header [data-id="logo"] .site-logo-container {
		--logo-max-height: 56px;
	}

	:root {
		--theme-content-vertical-spacing: 48px;
	}
}

@media (max-width: 689px) {
	.elementor-widget-icon-box .elementor-icon-box-wrapper {
		padding: 16px;
	}

	[data-header*="type-1"] .ct-header [data-id="logo"] .site-title {
		font-size: 14px !important;
	}
}
