/* Self-hosted fonts. The bundled files are distributed under the SIL OFL. */
@font-face {
	font-family: "Alexandria";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/alexandria-arabic.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
	font-family: "Alexandria";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/alexandria-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--hamam-heading: #16231b;
	--hamam-text: #374151;
	--hamam-muted: #4b5563;
	--hamam-green: #2e7d42;
	--hamam-green-hover: #246735;
	--hamam-green-light: #79d68b;
	--hamam-dark: #252525;
	--hamam-focus: #79d68b;
}

/* The theme currently forces Cairo/Asap on individual tags. Language-scoped
   selectors keep Arabic and English consistent without touching icon fonts. */
html[dir="rtl"] body,
html[dir="rtl"] body :where(p, a, li, span:not([class*="icon"]):not([class^="fa"]):not([class*=" fa-"]), label, input, textarea, select, button, blockquote, figcaption, h1, h2, h3, h4, h5, h6),
html[dir="rtl"] body :where(.icon-box__heading, .icon-box__content, .elementor-icon-list-text, .slide-subheading) {
	font-family: "Alexandria", Arial, sans-serif !important;
	letter-spacing: 0 !important;
}

html[lang^="en"] body,
html[lang^="en"] body :where(p, a, li, span:not([class*="icon"]):not([class^="fa"]):not([class*=" fa-"]), label, input, textarea, select, button, blockquote, figcaption, h1, h2, h3, h4, h5, h6),
html[lang^="en"] body :where(.icon-box__heading, .icon-box__content, .elementor-icon-list-text, .slide-subheading) {
	font-family: "Inter", Arial, sans-serif !important;
}

body {
	color: var(--hamam-text);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

html[dir="rtl"] body {
	line-height: 1.85;
}

h1,
h2,
h3,
h4,
h5,
h6,
.custom-heading__title,
.site-content .icon-box__heading,
.featured-page__title,
.latest-news__title,
.page-header .page-title,
.theme-slider .slide-heading,
.call-to-action__title {
	color: var(--hamam-heading);
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

.site-content p,
.site-content .icon-box__content,
.featured-page__content,
.post-inner .entry-content,
.elementor-widget-text-editor {
	line-height: 1.85;
}

.site-content .icon-box__content,
.featured-page__content,
.latest-news__description,
.post-inner .entry-content {
	color: var(--hamam-muted);
}

.site-content .icon-box__content {
	font-size: 16px !important;
}

.header-navigation ul > li > a,
.header-navigation .sub-menu > li > a,
.btn,
.header-button a,
input[type="submit"],
button[type="submit"] {
	font-weight: 600 !important;
}

@media (min-width: 992px) {
	.header-navigation > ul > li > a,
	.sticky-header .header-navigation > ul > li:not(.current-menu-item):not(.current_page_parent):not(:hover) > a {
		color: #d1d5db !important;
		font-size: 16px !important;
	}
}

a.btn,
.header-button a,
input[type="submit"],
button[type="submit"],
.wp-block-search .wp-block-search__button {
	color: #fff !important;
	background-color: var(--hamam-green) !important;
	text-shadow: none !important;
}

a.btn:hover,
.header-button a:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.wp-block-search .wp-block-search__button:hover {
	color: #fff !important;
	background-color: var(--hamam-green-hover) !important;
}

.theme-slider .slide-image::before {
	z-index: 1;
	background: rgba(4, 20, 12, 0.44) !important;
}

.theme-slider .slide-captions {
	z-index: 2;
}

.theme-slider .slide-heading {
	color: #fff !important;
	font-size: clamp(34px, 4vw, 56px) !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55) !important;
}

.theme-slider .slide-subheading {
	color: var(--hamam-green-light) !important;
	font-size: clamp(20px, 2vw, 25px) !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
	text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7) !important;
}

.page-header .page-title {
	color: #fff !important;
	font-size: clamp(34px, 4vw, 52px) !important;
}

.footer-main,
.footer-main p,
.footer-bottom,
.footer-bottom p {
	color: #c3c7cc !important;
}

.footer-main a:not(.btn),
.footer-bottom a {
	color: #e1e4e7 !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--hamam-focus) !important;
	outline-offset: 3px;
}

@media (max-width: 767px) {
	body {
		font-size: 16px !important;
	}

	.header-middle .container {
		width: 100%;
		max-width: 100%;
		padding-right: 15px;
		padding-left: 15px;
	}

	.header-logo {
		direction: ltr;
		justify-content: flex-end;
		flex: 1 1 auto;
		min-width: 0;
		margin-right: auto;
		margin-left: 10px;
	}

	.header-logo .logo__image {
		display: block;
		flex: 0 0 145px;
		width: 145px;
		max-width: 145px;
	}

	.logo__image img {
		width: 145px !important;
		max-width: 100%;
		height: auto;
	}

	.theme-slider .slide-captions {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 24px !important;
		padding-left: 24px !important;
		box-sizing: border-box;
	}

	.theme-slider .slide-heading {
		margin-bottom: 8px;
		font-size: clamp(25px, 7.5vw, 32px) !important;
	}

	.theme-slider .slide-subheading {
		font-size: 18px !important;
	}

	.theme-slider .btn {
		min-height: 46px;
		padding: 12px 17px;
		font-size: 15px !important;
	}

	/* The four home information cards become one clear column on small phones. */
	.home .elementor-element-85290af > .elementor-container > .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
	}

	.home .elementor-element-85290af,
	.home .elementor-element-85290af > .elementor-container {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.home .elementor-element-85290af .elementor-column,
	.home .elementor-element-85290af .elementor-widget-wrap,
	.home .elementor-element-85290af .elementor-widget,
	.home .elementor-element-85290af .elementor-widget-container,
	.home .elementor-element-85290af .icon-box {
		min-width: 0;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.home .elementor-element-85290af .icon-box {
		width: 100% !important;
		padding: 30px 24px;
		border-radius: 2px !important;
	}

	.home .elementor-element-85290af .icon-box__content {
		width: 100%;
		overflow-wrap: anywhere;
	}

	.custom-heading__title,
	.call-to-action__title {
		font-size: clamp(28px, 8vw, 36px) !important;
	}
}

@media (max-width: 420px) {
	.theme-slider .slide-captions {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	.theme-slider .slide-buttons {
		display: flex;
		justify-content: center;
		gap: 8px;
	}

	.theme-slider .slide-buttons .btn {
		margin: 0 !important;
	}
}
