/*
Theme Name:   Asiya Global
Theme URI:    https://asiyaglobal.com
Description:  Astra child theme for Asiya Global – mobiles, watches, sunglasses & accessories, Oman.
Author:       Asiya Global
Template:     astra
Version:      1.0.5
Text Domain:  asiya-child
*/

/* ---------- Brand tokens (from logo) ---------- */
:root {
	--asiya-red: #D30407;
	--asiya-red-dark: #A80305;
	--asiya-blue: #0039A7;
	--asiya-blue-dark: #002A7A;
	--asiya-navy: #0B1E4D;
	--asiya-hero-bg: #1A56C8; /* lighter than brand blue, still 6.5:1 with white text */
	--asiya-ink: #1A1F36;
	--asiya-muted: #6B7280;
	--asiya-bg: #F5F7FB;
	--asiya-line: #E5E9F2;
	--asiya-radius: 14px;
	--asiya-shadow: 0 8px 24px rgba(11, 30, 77, .08);
	--asiya-shadow-hover: 0 16px 40px rgba(11, 30, 77, .16);
}

body {
	font-family: "Poppins", system-ui, sans-serif;
	color: var(--asiya-ink);
}
[dir="rtl"] body,
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4 {
	font-family: "Tajawal", system-ui, sans-serif;
}
h1, h2, h3, h4, h5 { color: var(--asiya-navy); font-weight: 700; }
a { color: var(--asiya-blue); }
a:hover { color: var(--asiya-red); }

/* ---------- Buttons ---------- */
.ast-button, .button, button, input[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.elementor .elementor-button {
	background: var(--asiya-blue);
	border-color: var(--asiya-blue);
	color: #fff;
	border-radius: 999px;
	font-weight: 600;
	transition: background .2s, transform .2s, box-shadow .2s;
}
.ast-button:hover, .button:hover, button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.elementor .elementor-button:hover {
	background: var(--asiya-red);
	border-color: var(--asiya-red);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(211, 4, 7, .25);
}
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #place_order, .single_add_to_cart_button {
	background: var(--asiya-red) !important;
	border-color: var(--asiya-red) !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce #place_order:hover, .single_add_to_cart_button:hover {
	background: var(--asiya-red-dark) !important;
}
/* Elementor/Astra set their own button radius with higher specificity */
body .elementor-widget-button .elementor-button { border-radius: 999px; }
/* same border width on every button so filled and outline ones are the same height */
body .elementor-widget-button .elementor-button { border-width: 2px; border-style: solid; }
.asiya-hero .elementor-widget-wrap > .elementor-widget-button { width: auto; margin: 0 14px 12px 0; }
.asiya-btn-outline .elementor-button {
	background: transparent;
	border: 2px solid #fff;
}

/* ---------- Header ---------- */
.ast-primary-header-bar { border-bottom: 1px solid var(--asiya-line); }
.main-header-menu .menu-link { font-weight: 600; }
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .menu-link:hover { color: var(--asiya-red) !important; }
/* Astra paints this bar white with a more specific selector */
.site-header .ast-above-header.ast-above-header-bar {
	background: var(--asiya-navy);
	color: #fff;
	font-size: 13px;
}
.site-header .ast-above-header-bar .site-above-header-wrap { min-height: 38px; }
.site-header .ast-above-header-bar a { color: #fff; }
.ast-site-header-cart .count, .ast-cart-menu-wrap .count {
	background: var(--asiya-red);
	border-color: var(--asiya-red);
	color: #fff;
}

/* ---------- Product cards ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff;
	border: 1px solid var(--asiya-line);
	border-radius: var(--asiya-radius);
	padding: 16px;
	box-shadow: var(--asiya-shadow);
	transition: transform .25s, box-shadow .25s;
	text-align: center;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: var(--asiya-shadow-hover);
}
/* push the button to the card bottom so buttons line up across a row */
.woocommerce ul.products li.product .astra-shop-summary-wrap { display: flex; flex-direction: column; flex: 1; }
.woocommerce ul.products li.product .astra-shop-summary-wrap .price { margin-bottom: 12px; }
.woocommerce ul.products li.product .astra-shop-summary-wrap .button { margin-top: auto; }
.woocommerce ul.products li.product img {
	border-radius: 10px;
	background: var(--asiya-bg);
	aspect-ratio: 1 / 1;
	object-fit: contain;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px;
	font-weight: 600;
	color: var(--asiya-ink);
	min-height: 2.6em;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--asiya-blue);
	font-weight: 700;
}
.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del { color: var(--asiya-muted); font-weight: 400; }
.woocommerce span.onsale, .ast-onsale-card {
	background: var(--asiya-red) !important;
	color: #fff;
	border-radius: 999px;
	min-height: auto;
	line-height: 1;
	padding: 7px 12px;
	font-weight: 700;
}
.star-rating span::before, .woocommerce .star-rating span::before { color: #F5A623; }

/* ---------- Single product ---------- */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--asiya-red); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--asiya-red); }
.woocommerce div.product form.cart .button { border-radius: 999px; padding: 14px 32px; }

/* ---------- Category tiles ([product_categories]) ---------- */
/* centered fixed-width tiles, so 3 categories don't hug the left of a 6-column grid */
.woocommerce-js .asiya-cats ul.products[class] {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 220px));
	justify-content: center;
	gap: 24px;
}
.woocommerce-js .asiya-cats ul.products[class]::before,
.woocommerce-js .asiya-cats ul.products[class]::after { display: none; }
.woocommerce-js .asiya-cats ul.products li.product-category { width: auto; margin: 0; }
/* image was stretched taller than wide, pushing the name out of the card */
.woocommerce-js .asiya-cats ul.products li.product-category a img { height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.asiya-cats ul.products li.product-category {
	background: linear-gradient(160deg, #fff 0%, var(--asiya-bg) 100%);
	padding: 20px 12px;
}
.woocommerce-js .asiya-cats ul.products li.product-category .woocommerce-loop-category__title {
	position: static; /* Astra overlays the title on the image */
	background: none;
	padding: 0;
	font-size: 16px;
	color: var(--asiya-navy);
	margin-top: 10px;
}
.asiya-cats ul.products li.product-category h2 mark {
	background: none;
	color: var(--asiya-red);
	font-size: 13px;
}

/* ---------- Homepage sections (classes set in the Elementor template) ---------- */
.asiya-hero {
	background: var(--asiya-hero-bg);
	overflow: hidden;
}
.asiya-hero h1, .asiya-hero h2, .asiya-hero p, .asiya-hero .elementor-heading-title { color: #fff; }
/* blue button would vanish on the blue hero */
body .asiya-hero .elementor-widget-button:not(.asiya-btn-outline) .elementor-button { background: var(--asiya-red); border-color: var(--asiya-red); }
body .asiya-hero .elementor-widget-button:not(.asiya-btn-outline) .elementor-button:hover { background: var(--asiya-red-dark); border-color: var(--asiya-red-dark); }
.asiya-hero .asiya-eyebrow .elementor-heading-title {
	display: inline-block;
	background: var(--asiya-red);
	color: #fff;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.asiya-hero .asiya-hero-img img {
	filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .35));
	animation: asiya-float 6s ease-in-out infinite;
}
@keyframes asiya-float {
	50% { transform: translateY(-14px); }
}
@media (prefers-reduced-motion: reduce) {
	.asiya-hero .asiya-hero-img img { animation: none; }
}

.asiya-trust { background: #fff; border-bottom: 1px solid var(--asiya-line); }
.asiya-trust .elementor-icon { color: var(--asiya-red); }
.asiya-trust .elementor-icon-box-title { font-size: 15px; margin-bottom: 2px; }
.asiya-trust .elementor-icon-box-description { color: var(--asiya-muted); font-size: 13px; }

.asiya-section-title .elementor-heading-title { position: relative; padding-bottom: 14px; }
.asiya-section-title .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 56px;
	height: 4px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--asiya-red) 50%, var(--asiya-blue) 50%);
}

.asiya-soft { background: var(--asiya-bg); }

.asiya-promo > .elementor-widget-wrap,
.asiya-promo > .elementor-element-populated {
	border-radius: 20px;
	margin: 8px; /* gap between the two banners */
	min-height: 260px;
	transition: transform .25s;
}
.asiya-promo:hover > .elementor-widget-wrap,
.asiya-promo:hover > .elementor-element-populated { transform: scale(1.015); }
.asiya-promo-blue > .elementor-widget-wrap,
.asiya-promo-blue > .elementor-element-populated {
	background: linear-gradient(135deg, var(--asiya-blue) 0%, var(--asiya-navy) 100%);
}
.asiya-promo-red > .elementor-widget-wrap,
.asiya-promo-red > .elementor-element-populated {
	background: linear-gradient(135deg, var(--asiya-red) 0%, #7A0204 100%);
}
.asiya-promo .elementor-heading-title, .asiya-promo p { color: #fff; }
/* body + widget class: Elementor's own white button text otherwise wins */
body .asiya-promo .elementor-widget-button .elementor-button { background: #fff; color: var(--asiya-navy); border-color: #fff; }
body .asiya-promo .elementor-widget-button .elementor-button:hover { background: var(--asiya-navy); color: #fff; border-color: var(--asiya-navy); }

.asiya-cta { background: var(--asiya-blue); }
.asiya-cta .elementor-heading-title, .asiya-cta p { color: #fff; }
body .asiya-cta .elementor-widget-button .elementor-button { background: #25D366; border-color: #25D366; color: #fff; }
body .asiya-cta .elementor-widget-button .elementor-button:hover { background: #1DA851; border-color: #1DA851; }

/* ---------- Shop sidebar & breadcrumbs ---------- */
/* Astra's breadcrumb bar replaces WooCommerce's own one */
body:has(.ast-breadcrumbs-wrapper) .woocommerce-breadcrumb { display: none; }
@media (min-width: 922px) {
	.woocommerce-js.ast-left-sidebar ul.products.columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
#secondary .widget {
	background: #fff;
	border: 1px solid var(--asiya-line);
	border-radius: var(--asiya-radius);
	padding: 20px;
	margin-bottom: 20px;
}
#secondary .widget-title { font-size: 16px; margin-bottom: 12px; }
#secondary .widget ul li { padding: 4px 0; }
#secondary .widget .count { color: var(--asiya-muted); font-size: 12px; }
.widget_price_filter .ui-slider .ui-slider-range,
.widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--asiya-blue); }
.widget_price_filter .price_slider_wrapper .ui-widget-content { background-color: var(--asiya-line); }

/* ---------- Footer ---------- */
.site-footer, .site-primary-footer-wrap, .site-below-footer-wrap {
	background: var(--asiya-navy) !important;
	color: #C9D2E8;
}
.site-footer a { color: #fff; }
.site-footer a:hover { color: var(--asiya-red); }
.site-footer .widget-title { color: #fff; }
/* 4 footer columns: Astra keeps a 3-column grid in free version */
@media (min-width: 922px) {
	.site-footer .site-primary-footer-wrap[data-section] .ast-builder-grid-row.ast-builder-footer-grid-columns { grid-template-columns: 1.3fr 1fr 1fr 1.2fr; }
}
@media (min-width: 545px) and (max-width: 921px) {
	.site-footer .site-primary-footer-wrap[data-section] .ast-builder-grid-row.ast-builder-footer-grid-columns { grid-template-columns: 1fr 1fr; }
}
.site-footer .widget_nav_menu ul { list-style: none; margin: 0; }
.site-footer .widget_nav_menu li { padding: 3px 0; }
.site-footer .widget_nav_menu a { color: #C9D2E8; }
.site-footer .widget_nav_menu a:hover { color: #fff; }
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p { color: #C9D2E8; }
.site-footer .site-primary-footer-wrap[data-section],
.site-footer .site-below-footer-wrap[data-section] { border-top: 0; }
@media (max-width: 544px) {
	/* About full width, Shop + Customer Service side by side, Contact full width */
	.site-footer .site-primary-footer-wrap[data-section] .ast-builder-grid-row.ast-builder-footer-grid-columns {
		grid-template-columns: 1fr 1fr;
		gap: 28px 20px;
		padding: 0 20px;
	}
	.site-footer .site-footer-primary-section-1,
	.site-footer .site-footer-primary-section-4 { grid-column: 1 / -1; }
	.site-footer .site-footer-section,
	.site-footer .site-footer-section .ast-builder-html-element { text-align: left; justify-content: flex-start; }
	.site-footer .widget-title { font-size: 17px; }
	.site-footer .widget_nav_menu a { font-size: 14px; }
	/* WhatsApp button is enough floating UI on a phone */
	#ast-scroll-top { display: none !important; }
}

/* ---------- WhatsApp floating button ---------- */
.asiya-wa {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 999;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25D366;
	display: grid;
	place-items: center;
	box-shadow: 0 8px 24px rgba(37, 211, 102, .45);
	transition: transform .2s;
}
.asiya-wa:hover { transform: scale(1.08); }
.asiya-wa svg { width: 30px; height: 30px; fill: #fff; }
[dir="rtl"] .asiya-wa { right: auto; left: 20px; }

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
	.woocommerce ul.products li.product { padding: 10px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; min-height: 0; }
	.woocommerce ul.products li.product .price { font-size: 15px; }
	/* one-line, full-width buttons instead of big two-line pills */
	.woocommerce ul.products li.product .button {
		display: block;
		width: 100%;
		padding: 10px 6px;
		font-size: 13px;
		line-height: 1.2;
		white-space: nowrap;
		text-align: center;
	}
	.woocommerce span.onsale, .ast-onsale-card { padding: 5px 9px; font-size: 11px; }
	.asiya-wa { bottom: 80px; } /* clear Astra's mobile sticky add-to-cart */
}
@media (max-width: 544px) {
	/* hero buttons: two equal buttons side by side */
	.asiya-hero .elementor-widget-wrap > .elementor-widget-button { flex: 1 1 0; margin: 0 10px 0 0; }
	.asiya-hero .elementor-widget-wrap > .elementor-widget-button:last-of-type { margin-right: 0; }
	.asiya-hero .elementor-widget-button .elementor-button { width: 100%; padding: 14px 8px; font-size: 15px; justify-content: center; }
	/* categories: 2 per row */
	.woocommerce-js .asiya-cats ul.products[class] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
