/* IRTH — base + utilities (usable inside Elementor HTML widgets too). */
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--irth-ink);
	color: var(--irth-sand);
	font-family: var(--irth-f-sans);
	font-weight: 300;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.irth-lock { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: opacity .2s ease, color .2s ease; }
h1, h2, h3, h4 { font-family: var(--irth-f-serif); font-weight: 400; color: var(--irth-cream); line-height: 1.1; margin-block: 0 .5em; }
::selection { background: var(--irth-gold); color: var(--irth-deep); }
:focus-visible { outline: 2px solid var(--irth-gold); outline-offset: 3px; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; white-space: nowrap; }
.irth-skip { position: absolute; inset-inline-start: 12px; top: -60px; z-index: 1000; background: var(--irth-gold); color: var(--irth-deep); padding: 10px 16px; font-size: 13px; transition: top .2s ease; }
.irth-skip:focus { top: 12px; }

/* Utilities */
.irth-caps { font-family: var(--irth-f-sans); font-size: 11px; font-weight: 400; letter-spacing: .28em; text-transform: uppercase; }
.irth-eyebrow { font: 400 11px/1.4 var(--irth-f-sans); letter-spacing: .28em; text-transform: uppercase; color: var(--irth-gold); }
.irth-btn { display: inline-flex; align-items: center; justify-content: center; height: 50px; padding: 0 30px; border: 0; font: 500 11px/1 var(--irth-f-sans); letter-spacing: .26em; text-transform: uppercase; cursor: pointer; transition: background .3s ease, color .3s ease, transform .3s var(--irth-ease); }
.irth-btn--cream { background: var(--irth-cream); color: var(--irth-deep); }
.irth-btn--gold { background: var(--irth-gold); color: var(--irth-deep); }
.irth-btn--gold:hover { background: var(--irth-gold-light); }
.irth-btn--ghost { border: 1px solid var(--irth-gold); color: var(--irth-cream); background: transparent; }
.irth-btn--ghost:hover { background: var(--irth-gold); color: var(--irth-deep); }
.irth-lnk { border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.irth-grain { position: relative; }
.irth-latt { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23C29B3C' stroke-opacity='0.15' stroke-width='1'%3E%3Cpath d='M60 18 L102 60 L60 102 L18 60 Z'/%3E%3Cpath d='M32 32 H88 V88 H32 Z'/%3E%3Cpath d='M0 0 L32 32 M120 0 L88 32 M0 120 L32 88 M120 120 L88 88'/%3E%3Cpath d='M60 0 V18 M60 102 V120 M0 60 H18 M102 60 H120'/%3E%3C/g%3E%3C/svg%3E"); background-size: 120px 120px; }

/* Arabic must never be letter-spaced or uppercased (breaks joining). */
html[dir="rtl"] .irth-caps,
html[dir="rtl"] .irth-eyebrow,
html[dir="rtl"] .irth-btn,
html[dir="rtl"] .irth-menu a,
html[dir="rtl"] .irth-tool__label,
html[dir="rtl"] .irth-footer__title { letter-spacing: 0; text-transform: none; }
html[dir="rtl"] body { font-weight: 400; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ---------- Arabic / RTL typography ----------
   Elementor's Kit sets Cormorant/Jost on headings and text; those have no Arabic
   glyphs, so in RTL we switch to Amiri (headings) and Cairo (body/UI). */
html[dir="rtl"] body,
html[dir="rtl"] .elementor-widget-text-editor,
html[dir="rtl"] .elementor-widget-button .elementor-button,
html[dir="rtl"] .elementor-widget-icon-list,
html[dir="rtl"] .irth-s,
html[dir="rtl"] .woocommerce { font-family: var(--irth-f-ar-body); }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4,
html[dir="rtl"] .elementor-heading-title,
html[dir="rtl"] .irth-title, html[dir="rtl"] .irth-card__title,
html[dir="rtl"] .irth-house__name, html[dir="rtl"] .product_title {
	font-family: var(--irth-f-ar-head);
	font-style: normal;
	letter-spacing: 0;
	line-height: 1.35;
}
html[dir="rtl"] .elementor-heading-title { text-transform: none; }
/* Latin numerals, prices and phone numbers stay left-to-right and readable. */
html[dir="rtl"] .price, html[dir="rtl"] .woocommerce-Price-amount, html[dir="rtl"] input[type="tel"] { unicode-bidi: plaintext; }
