*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	direction: rtl;
	overflow-x: clip;
}

body {
	width: 100%;
	min-width: 0;
	margin: 0;
	background: var(--eh-paper);
	color: var(--eh-ink);
	font-family: var(--eh-font-body);
	text-align: right;
}

body.rtl,
button,
input,
select,
textarea {
	font-family: var(--eh-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--eh-ink);
	font-family: var(--eh-font-heading);
}

a {
	color: var(--eh-red);
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--eh-red) 65%, white);
	outline-offset: 3px;
}

.elementor,
.elementor-location-header,
.elementor-location-footer,
.woocommerce,
.woocommerce-page {
	width: 100%;
	max-width: none;
}

img {
	max-width: 100%;
	height: auto;
}

.eh-main { width:100%; max-width:1280px; margin-inline:auto; float:none; padding-inline:24px; }
.eh-main > .elementor { width:100%; }
.eh-main .elementor-widget-shortcode { width:100%; min-width:0; }
.eh-header-fallback { display:flex; align-items:center; justify-content:space-between; padding:16px 5%; background:#fff; border-bottom:2px solid var(--eh-red); }
.eh-header-cart { position:relative; }
.eh-cart-count { display:inline-grid; place-items:center; min-width:22px; height:22px; margin-inline-start:8px; padding:0 5px; border-radius:999px; background:var(--eh-red); color:#fff; font-size:12px; font-weight:800; line-height:1; }
.eh-site-header > .elementor > .e-con { max-width:1440px; margin-inline:auto; }
.eh-site-footer { padding:28px clamp(16px,4vw,64px); }
.eh-site-footer > .elementor { max-width:1240px; margin-inline:auto; }
.eh-page-content,.eh-fallback-content { max-width:1240px; padding:32px 20px; margin:auto; }
.eh-product-image { width:100%; max-height:600px; object-fit:contain; }
.eh-main { --eh-page-space:32px; padding-block:32px; }
.eh-main h1 { line-height:1.35; }
.eh-main :where(h2,h3) { line-height:1.55; }
.eh-main p { line-height:1.9; }
.eh-main :where(.elementor-widget-shortcode,.elementor-widget-heading) { min-width:0; }
.eh-main .elementor > main { width:100%; }
.eh-main .elementor > main > section {
	background: var(--eh-surface);
	border: 1px solid var(--eh-border);
	border-top: 3px solid var(--eh-red);
	border-radius: 18px;
	box-shadow: var(--eh-shadow);
	margin-bottom: 36px;
	padding: clamp(28px, 4vw, 52px);
}
/* Atomic page data occasionally applies a card effect to text itself. Keep the
 * surface on the parent card, so Arabic letterforms never carry clipped arcs. */
.eh-main :where(h1,h2,h3,h4,h5,h6,p,span) {
	border: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
.eh-main :where(.elementor-widget-heading,.elementor-widget-text-editor) { min-width:0; }
.eh-main > .elementor > .e-con,
.eh-main > .elementor > .elementor { 
	max-width:1180px;
	margin-inline:auto;
}
.eh-main > .elementor > .e-con:has(.elementor-widget-heading),
.eh-main > .elementor > .elementor:has(.elementor-widget-heading) {
	padding: clamp(24px, 4vw, 52px);
	background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(246,239,231,.94));
	border: 1px solid var(--eh-red);
	border-inline-start: 5px solid var(--eh-ink);
	border-radius: 18px;
	box-shadow: 0 14px 32px rgba(16,25,35,.14), 5px 5px 0 rgba(16,25,35,.85);
	margin-block: 24px;
}
.eh-main :where(.elementor-widget-heading) h1,
.eh-main :where(.elementor-widget-heading) h2,
.eh-main :where(.elementor-widget-heading) h3 { padding: 0; margin: 0; }
.eh-site-footer .elementor > .e-con { box-shadow: var(--eh-shadow); }
@media(max-width:1199px) { .eh-main { --eh-page-space:24px; padding-inline:20px; } }
@media(max-width:767px) { .eh-main { --eh-page-space:16px; padding-inline:12px; } }
.eh-site-header .elementor-widget-image img { max-height:94px; object-fit:contain; }
.eh-site-footer .elementor-widget-image img { max-height:100px; object-fit:contain; }
.eh-site-header .elementor-button { padding:10px; }
@media(max-width:767px) {
 .eh-site-header .elementor-button { font-size:13px; padding:8px 4px; }
 .eh-site-header .elementor > .e-con { padding:12px; }
 .eh-main .e-con { min-width:0; }
}

.elementor-location-footer {
	padding: 24px clamp(14px, 3vw, 36px);
	background: var(--eh-paper);
}

.elementor-location-footer > .elementor,
.elementor-location-footer > .e-con,
.elementor-location-footer .eh-footer-card {
	max-width: 1240px;
	margin-inline: auto;
	padding: clamp(20px, 3vw, 36px);
	background: #fff;
	color: var(--eh-ink);
	border: 1px solid var(--eh-red);
	border-bottom: 5px solid var(--eh-ink);
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(16, 25, 35, 0.08);
}

.elementor-location-footer a { color: var(--eh-ink); }
.elementor-location-footer a:hover { color: var(--eh-red); }
.elementor-location-footer img { max-height: 88px; width: auto; }
