/*
 * Sanad production stabilization layer.
 *
 * This file is intentionally loaded after the historical theme stylesheet.
 * Keep new final layout fixes here so future maintenance does not require
 * hunting through old emergency deployment overrides.
 */

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

.site-header,
.site-header__inner {
	box-sizing: border-box;
}

.site-header {
	background: #fff;
	border-bottom: 1px solid rgba(7, 85, 54, .1);
}

.brand img,
.sanad-hero img,
.site-footer img {
	max-width: 100%;
	height: auto;
}

.sanad-lang-ar {
	direction: rtl;
}

.sanad-lang-fr,
.sanad-lang-en {
	direction: ltr;
}

.sanad-lang-fr .entry-content,
.sanad-lang-en .entry-content,
.sanad-lang-fr .entry-content p,
.sanad-lang-en .entry-content p,
.sanad-lang-fr .entry-content li,
.sanad-lang-en .entry-content li,
.sanad-lang-fr .entry-content label,
.sanad-lang-en .entry-content label,
.sanad-lang-fr .entry-content input,
.sanad-lang-en .entry-content input,
.sanad-lang-fr .entry-content textarea,
.sanad-lang-en .entry-content textarea,
.sanad-lang-fr .entry-content select,
.sanad-lang-en .entry-content select {
	direction: ltr;
	text-align: left;
}

.sanad-section__header,
.sanad-section__header h1,
.sanad-section__header h2,
.sanad-section__header p {
	text-align: center;
}

.sanad-lang-fr .sanad-check-list li,
.sanad-lang-en .sanad-check-list li,
.sanad-lang-fr .sanad-support-list li,
.sanad-lang-en .sanad-support-list li {
	padding-left: 1.25rem;
	padding-right: 0;
}

.sanad-lang-fr .sanad-check-list li::before,
.sanad-lang-en .sanad-check-list li::before,
.sanad-lang-fr .sanad-support-list li::before,
.sanad-lang-en .sanad-support-list li::before {
	left: 0;
	right: auto;
	width: .45rem;
	height: .45rem;
	border-radius: 50%;
	background: var(--sanad-gold);
	border: 0;
}

.sanad-whatsapp-float,
.sanad-scroll-top {
	z-index: 80;
}

.sanad-whatsapp-float {
	bottom: 7.5rem;
}

.sanad-scroll-top {
	bottom: 3.6rem;
}

@media (min-width: 1100px) {
	.site-header__inner {
		width: 100%;
		max-width: none;
		padding-inline: clamp(2rem, 4vw, 5rem);
		display: grid;
		grid-template-columns: minmax(280px, 520px) minmax(0, 1fr);
		align-items: center;
		gap: clamp(1.5rem, 3vw, 4rem);
	}

	.sanad-lang-ar .site-header__inner {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 520px);
	}

	.sanad-lang-ar .brand {
		grid-column: 2;
		justify-self: end;
	}

	.sanad-lang-ar .primary-nav,
	.sanad-lang-ar .header-actions {
		justify-self: end;
	}

	.sanad-lang-fr .brand,
	.sanad-lang-en .brand {
		grid-column: 1;
		justify-self: start;
	}

	.sanad-lang-fr .primary-nav,
	.sanad-lang-en .primary-nav,
	.sanad-lang-fr .header-actions,
	.sanad-lang-en .header-actions {
		justify-self: start;
	}

	.brand__horizontal {
		width: min(520px, 31vw);
		max-height: 150px;
		object-fit: contain;
	}

	.primary-nav ul {
		display: flex;
		align-items: center;
		gap: clamp(.55rem, 1vw, 1rem);
		flex-wrap: nowrap;
		white-space: nowrap;
	}
}

@media (max-width: 1099px) {
	.site-header__inner {
		width: 100%;
		min-height: 112px;
		padding: .75rem 1rem;
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr) 52px;
		align-items: center;
		gap: .75rem;
		direction: ltr;
	}

	.site-header .menu-toggle {
		grid-column: 1;
		justify-self: start;
		width: 64px;
		height: 64px;
	}

	.site-header .brand {
		grid-column: 2;
		justify-self: center;
		width: 100%;
		max-width: min(330px, 58vw);
		display: flex;
		justify-content: center;
		overflow: hidden;
	}

	.site-header .brand__horizontal,
	.site-header .custom-logo {
		display: block;
		width: min(330px, 58vw);
		max-height: 92px;
		object-fit: contain;
	}

	.site-header .brand__icon {
		display: none;
	}

	.language-switcher {
		grid-column: 3;
		justify-self: end;
	}

	.primary-nav {
		position: absolute;
		inset-inline: 1rem;
		top: calc(100% + .5rem);
		z-index: 90;
		display: none;
		max-height: calc(100vh - 140px);
		overflow: auto;
		padding: .85rem;
		background: #fff;
		border: 1px solid rgba(7, 85, 54, .12);
		border-radius: 18px;
		box-shadow: 0 24px 55px rgba(7, 85, 54, .18);
	}

	.primary-nav.is-open {
		display: block;
	}

	.primary-nav ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: .2rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.primary-nav a {
		display: block;
		padding: .75rem .9rem;
		border-radius: 12px;
		text-decoration: none;
		font-weight: 800;
	}
}

@media (max-width: 782px) {
	.sanad-topbar__inner {
		min-height: 42px;
		padding: .32rem .75rem;
		font-size: .74rem;
		line-height: 1.25;
		text-align: center;
	}

	.site-header__inner {
		min-height: 104px;
		grid-template-columns: 66px minmax(0, 1fr) 48px;
	}

	.site-header .menu-toggle {
		width: 60px;
		height: 60px;
	}

	.site-header .brand,
	.site-header .brand__horizontal,
	.site-header .custom-logo {
		max-width: min(300px, 60vw);
		width: min(300px, 60vw);
	}

	.sanad-hero {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: clamp(1.5rem, 5vw, 2.3rem) 1.25rem 7rem;
		gap: 1.2rem;
	}

	.sanad-hero__visual {
		order: -1;
		width: 100%;
		max-width: 230px;
		min-height: 0;
		margin: .25rem auto .8rem;
		display: flex;
		justify-content: center;
	}

	.sanad-hero__seal,
	.sanad-orbit {
		display: none;
	}

	.sanad-hero__logo {
		position: static;
		width: min(215px, 52vw);
		max-width: min(215px, 52vw);
		height: auto;
		margin: 0 auto;
		transform: none;
	}

	.sanad-hero .sanad-kicker {
		max-width: calc(100vw - 2rem);
		padding: .58rem .85rem;
		font-size: .86rem;
		line-height: 1.35;
	}

	.sanad-hero h1 {
		max-width: 11ch;
		margin: .45rem auto;
		font-size: clamp(1.85rem, 8.6vw, 2.65rem);
		line-height: 1.12;
		text-align: center;
	}

	.sanad-lang-fr .sanad-hero h1,
	.sanad-lang-en .sanad-hero h1 {
		max-width: 12ch;
	}

	.sanad-hero p {
		max-width: 34rem;
		margin-inline: auto;
		font-size: .98rem;
		line-height: 1.62;
		text-align: center;
	}

	.sanad-hero .sanad-actions {
		justify-content: center;
		flex-wrap: wrap;
		gap: .8rem;
	}

	.sanad-whatsapp-float {
		bottom: 8.7rem;
		inset-inline-end: 1.35rem;
	}

	.sanad-scroll-top {
		bottom: 5.55rem;
		inset-inline-end: 1.35rem;
	}

	.sanad-mobile-bottom-nav {
		z-index: 75;
	}
}

@media (max-width: 420px) {
	.site-header__inner {
		min-height: 96px;
		grid-template-columns: 60px minmax(0, 1fr) 44px;
		padding-inline: .85rem;
		gap: .6rem;
	}

	.site-header .menu-toggle {
		width: 56px;
		height: 56px;
	}

	.site-header .brand,
	.site-header .brand__horizontal,
	.site-header .custom-logo {
		width: min(275px, 58vw);
		max-width: min(275px, 58vw);
		max-height: 82px;
	}

	.sanad-hero__logo {
		width: min(205px, 56vw);
		max-width: min(205px, 56vw);
	}

	.sanad-hero h1 {
		font-size: clamp(1.75rem, 8.2vw, 2.35rem);
	}
}
