/* ==========================================================================
   Orosteel IQ — white (compliant) informational lander
   Mobile-first, RTL (Arabic). Self-contained: no external fonts/CDN.
   Uses CSS logical properties so the layout is RTL-native.
   ========================================================================== */

/* --- Reset --------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: "Noto Kufi Arabic", "Noto Sans Arabic", "Segoe UI", Tahoma, "Dubai", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	color: #1c2733;
	background: #f4f7fb;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; padding: 0; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
a { color: #1f4e8c; text-decoration: none; }
a:hover { text-decoration: underline; }

:root {
	--blue:      #1f4e8c;
	--blue-dark: #163a6b;
	--blue-2:    #2f6fb5;
	--green:     #3f8f4e;
	--green-dark:#2f6d3c;
	--ink:       #1c2733;
	--muted:     #566472;
	--line:      #e0e8f1;
	--card:      #ffffff;
	--bg:        #f4f7fb;
	--bg-tint:   #eef4fb;
	--radius:    14px;
	--maxw:      1080px;
}

/* --- Layout helpers ------------------------------------------------------ */
.container {
	width: 100%;
	max-width: var(--maxw);
	margin-inline: auto;
	padding-inline: 18px;
}
section { padding-block: 46px; position: relative; }
.text-center { text-align: center; }

/* --- Typography ---------------------------------------------------------- */
h1 {
	font-size: 30px;
	line-height: 1.28;
	font-weight: 800;
	color: var(--ink);
	margin-block-end: 18px;
}
h1 span { color: var(--blue); }
h2 {
	font-size: 25px;
	line-height: 1.3;
	font-weight: 800;
	color: var(--ink);
	margin-block-end: 18px;
}
h2 span { color: var(--blue); }
h3 {
	font-size: 20px;
	font-weight: 700;
	color: var(--blue-dark);
	margin-block-end: 12px;
}
p { margin-block-end: 14px; }
p:last-child { margin-block-end: 0; }
.lead { font-size: 19px; color: var(--muted); }

/* --- Info bar (fixed top) ------------------------------------------------ */
.fixedtop {
	background: #163a6b;
	color: #eaf1fb;
	font-size: 13px;
	text-align: center;
	padding-block: 8px;
	line-height: 1.5;
}
.fixedtop b { color: #ffd873; }
.fixedtop .container { padding-inline: 14px; }

/* --- Header -------------------------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(255,255,255,0.96);
	backdrop-filter: saturate(150%) blur(6px);
	border-block-end: 1px solid var(--line);
}
.site-header__in {
	max-width: var(--maxw);
	margin-inline: auto;
	padding: 12px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.site-header__logo {
	font-size: 22px;
	font-weight: 800;
	color: var(--blue);
	letter-spacing: .2px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.site-header__logo::before {
	content: "";
	inline-size: 12px;
	block-size: 12px;
	border-radius: 50%;
	background: var(--green);
	display: inline-block;
}
.site-nav {
	display: none;
	gap: 20px;
	margin-inline-start: auto;
	flex-wrap: wrap;
}
.site-nav a { color: var(--muted); font-size: 15px; font-weight: 600; }
.site-nav a:hover { color: var(--blue); text-decoration: none; }
.site-header__badge {
	margin-inline-start: auto;
	background: #eaf4ec;
	color: var(--green-dark);
	border: 1px solid #cfe6d4;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 999px;
	white-space: nowrap;
}
.site-nav__cta {
	background: var(--blue);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	padding: 9px 16px;
	border-radius: 999px;
}
.site-nav__cta:hover { background: var(--blue-dark); text-decoration: none; }
@media (min-width: 900px) {
	.site-nav { display: flex; }
	.site-header__badge { margin-inline-start: 0; }
}

/* --- Buttons ------------------------------------------------------------- */
.wbtn {
	display: inline-block;
	background: var(--blue);
	color: #fff !important;
	font-weight: 700;
	font-size: 16px;
	padding: 14px 26px;
	border-radius: 999px;
	text-align: center;
	box-shadow: 0 6px 18px rgba(31,78,140,.22);
	transition: background .2s ease, transform .2s ease;
}
.wbtn:hover { background: var(--blue-dark); text-decoration: none; transform: translateY(-1px); }
.wbtn--soft {
	background: #eaf1fb;
	color: var(--blue) !important;
	box-shadow: none;
	border: 1px solid #cddcf0;
}
.wbtn--soft:hover { background: #dfeafa; }

/* --- Bullet lists -------------------------------------------------------- */
.list li {
	position: relative;
	padding-inline-start: 32px;
	margin-block-end: 14px;
	line-height: 1.55;
}
.list li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 4px;
	inline-size: 20px;
	block-size: 20px;
	border-radius: 50%;
	background: #eaf4ec url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f8f4e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center/13px no-repeat;
}
.list li span { font-weight: 700; color: var(--blue); }

/* --- Hero (s1) ----------------------------------------------------------- */
.s1 { background: linear-gradient(180deg, #eef4fb 0%, #f4f7fb 100%); padding-block: 34px 40px; }
.s1 .eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .4px;
	color: var(--green-dark);
	background: #eaf4ec;
	border: 1px solid #cfe6d4;
	padding: 6px 14px;
	border-radius: 999px;
	margin-block-end: 18px;
}
.s1 .prod {
	inline-size: 100%;
	max-width: 300px;
	margin: 6px auto 22px;
	filter: drop-shadow(0 14px 30px rgba(22,58,107,.18));
}
.hero-intro {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 20px;
	margin-block-start: 22px;
	box-shadow: 0 2px 16px rgba(22,58,107,.05);
}
.hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-block: 16px;
}
.hero-cta .wbtn { flex: 1 1 200px; }
.legal-mini {
	font-size: 12.5px;
	color: var(--muted);
	line-height: 1.5;
	margin-block-start: 6px;
}
@media (min-width: 820px) {
	.s1 .container {
		display: grid;
		grid-template-columns: 1.1fr .9fr;
		gap: 36px;
		align-items: center;
	}
	.s1 .hero-copy { grid-column: 1; }
	.s1 .prod { grid-column: 2; grid-row: 1 / span 2; max-width: 340px; margin-block: 0; }
	.s1 .hero-intro { grid-column: 1 / -1; }
	h1 { font-size: 38px; }
}

/* --- Generic content bands ---------------------------------------------- */
.band-tint { background: var(--bg-tint); }
.band-white { background: var(--card); }
.band-blue {
	background: linear-gradient(135deg, #1f4e8c 0%, #2f6fb5 100%);
	color: #eaf1fb;
}
.band-blue h2, .band-blue h3 { color: #fff; }
.band-blue h2 span { color: #ffd873; }
.band-blue .list li::before { background-color: rgba(255,255,255,.16); }

.split {
	display: grid;
	gap: 26px;
	align-items: center;
}
@media (min-width: 800px) {
	.split { grid-template-columns: 1fr 1fr; gap: 40px; }
	.split--media-start .media { order: -1; }
}
.split .media img {
	inline-size: 100%;
	max-width: 360px;
	margin-inline: auto;
	border-radius: var(--radius);
}
.quote {
	background: #fff;
	border-inline-start: 4px solid var(--green);
	border-radius: 10px;
	padding: 16px 18px;
	margin-block-end: 16px;
	box-shadow: 0 2px 12px rgba(22,58,107,.06);
	font-weight: 600;
}
.band-blue .quote { background: rgba(255,255,255,.1); border-inline-start-color: #ffd873; color: #fff; }

/* --- Cards grid (situations / benefits) ---------------------------------- */
.cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	margin-block-start: 24px;
}
.card {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 20px 16px;
	text-align: center;
	box-shadow: 0 2px 12px rgba(22,58,107,.05);
}
.card .ic {
	inline-size: 46px;
	block-size: 46px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: #eaf1fb;
	display: flex;
	align-items: center;
	justify-content: center;
}
.card .ic svg { inline-size: 24px; block-size: 24px; stroke: var(--blue); fill: none; }
.card p { font-size: 15px; margin: 0; line-height: 1.5; }
.card b { color: var(--blue-dark); }

/* --- Composition table (s8) --------------------------------------------- */
.compo { margin-block-start: 24px; overflow-x: auto; }
.compo table {
	inline-size: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: 0 2px 16px rgba(22,58,107,.07);
	min-inline-size: 520px;
}
.compo th, .compo td {
	padding: 14px 16px;
	text-align: start;
	vertical-align: top;
	border-block-end: 1px solid var(--line);
}
.compo thead th {
	background: var(--blue);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}
.compo tbody td { font-size: 15px; line-height: 1.55; }
.compo tbody td:first-child { font-weight: 700; color: var(--blue-dark); white-space: nowrap; }
.compo tbody tr:nth-child(even) td { background: #f7fafe; }
.compo tbody tr:last-child td { border-block-end: 0; }

/* --- Document / cosmetic disclaimer band --------------------------------- */
.doc-box {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
	max-width: 780px;
	margin-inline: auto;
	box-shadow: 0 2px 16px rgba(22,58,107,.05);
}
.doc-box p { font-size: 15.5px; }
.disclaimer--inline {
	font-size: 13px;
	color: var(--muted);
	background: #f4f7fb;
	border: 1px dashed #c7d6e6;
	border-radius: 10px;
	padding: 12px 14px;
	margin-block-start: 14px;
	line-height: 1.55;
}

/* --- FAQ ----------------------------------------------------------------- */
.faq-list { max-width: 820px; margin: 24px auto 0; }
.faq-item {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	margin-block-end: 12px;
	padding: 4px 6px;
	box-shadow: 0 1px 8px rgba(22,58,107,.04);
}
.faq-item summary {
	cursor: pointer;
	list-style: none;
	padding: 14px 16px;
	font-weight: 700;
	color: var(--blue-dark);
	position: relative;
	padding-inline-end: 40px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
	content: "+";
	position: absolute;
	inset-inline-end: 16px;
	inset-block-start: 12px;
	font-size: 22px;
	font-weight: 400;
	color: var(--blue);
	transition: transform .2s ease;
}
.faq-item[open] summary::after { content: "\2013"; }
.faq-item p { padding: 0 16px 16px; color: var(--muted); font-size: 15.5px; }

/* --- Contacts ------------------------------------------------------------ */
.contacts-grid {
	display: grid;
	gap: 18px;
	margin-block-start: 24px;
}
@media (min-width: 720px) { .contacts-grid { grid-template-columns: 1fr 1fr; } }
.contact-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
	box-shadow: 0 2px 12px rgba(22,58,107,.05);
}
.contact-list li { margin-block-end: 10px; font-size: 15.5px; }
.contact-list li:last-child { margin-block-end: 0; }

/* --- CTA band ------------------------------------------------------------ */
.s-cta { text-align: center; }
.s-cta .wbtn { margin-block-start: 18px; }

/* --- Cookie banner ------------------------------------------------------- */
.cookie-banner {
	position: fixed;
	inset-inline: 12px;
	inset-block-end: 12px;
	z-index: 60;
	background: #163a6b;
	color: #eaf1fb;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.cookie-banner__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	max-width: var(--maxw);
	margin-inline: auto;
}
.cookie-banner p { font-size: 13px; margin: 0; flex: 1 1 240px; line-height: 1.5; }
.cookie-banner a { color: #ffd873; text-decoration: underline; }
.cookie-banner__btn {
	background: var(--green);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 10px 20px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}
.cookie-banner__btn:hover { background: var(--green-dark); }

/* --- Doc modal (legal pages open in-page) -------------------------------- */
.doc-modal {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.doc-modal__backdrop { position: absolute; inset: 0; background: rgba(15,30,50,.55); }
.doc-modal__box {
	position: relative;
	background: #fff;
	border-radius: 14px;
	max-width: 820px;
	inline-size: 100%;
	max-block-size: 86vh;
	overflow: auto;
	padding: 26px 22px 30px;
	box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.doc-modal__close {
	position: absolute;
	inset-inline-end: 12px;
	inset-block-start: 10px;
	background: none;
	border: 0;
	font-size: 30px;
	line-height: 1;
	color: var(--muted);
	cursor: pointer;
}
.doc-modal__title { margin-block-end: 14px; font-size: 20px; color: var(--blue-dark); }
.doc-modal__body { font-size: 14.5px; line-height: 1.6; color: #2a3644; }
.doc-modal__body h1, .doc-modal__body h2, .doc-modal__body h3 { text-align: start; }
body.doc-modal-open { overflow: hidden; }

/* --- Legal strip + footer ------------------------------------------------ */
.legal-big {
	background: #eef4fb;
	color: var(--muted);
	font-size: 12.5px;
	text-align: center;
	padding: 14px 18px;
	line-height: 1.6;
	border-block-start: 1px solid var(--line);
}
footer { background: #10233d; color: #b9c8dc; }
.footer-wrap {
	max-width: 960px;
	margin-inline: auto;
	padding: 30px 20px 36px;
	text-align: center;
}
.footer-disclaimer { font-size: 12.5px; color: #93a6bf; margin-block-end: 20px; line-height: 1.65; }
.footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 26px;
}
.footer-links a { color: #cdd9ea; text-decoration: underline; font-size: 13.5px; }
.footer-links a:hover { color: #fff; }

/* --- Order form ---------------------------------------------------------- */
.order-card {
	max-width: 460px;
	margin-inline: auto;
	background: #fff;
	border: 1px solid var(--line);
	border-top: 4px solid var(--green);
	border-radius: var(--radius);
	padding: 24px 22px 22px;
	box-shadow: 0 6px 26px rgba(22,58,107,.10);
}
.order-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-block-end: 20px;
}
.order-price__old {
	color: #90a0b2;
	text-decoration: line-through;
	font-size: 19px;
	font-weight: 600;
}
.order-price__new {
	color: var(--green-dark);
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
}
.order-price__off {
	background: var(--green);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
}
.order-field { margin-block-end: 14px; }
.order-field label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--muted);
	margin-block-end: 6px;
}
.order-field input {
	inline-size: 100%;
	font: inherit;
	font-size: 17px;
	padding: 14px 16px;
	border: 1px solid #cddcf0;
	border-radius: 10px;
	background: #f7fafe;
	color: var(--ink);
}
.order-field input:focus-visible {
	outline: 2px solid var(--blue);
	outline-offset: 1px;
	background: #fff;
}
.order-field input:user-invalid { border-color: #d93025; background: #fce8e6; }
.button-submit {
	display: block;
	inline-size: 100%;
	margin-block-start: 8px;
	background: var(--green);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-size: 18px;
	font-weight: 800;
	padding: 15px 20px;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(63,143,78,.28);
	transition: background .2s ease, transform .2s ease;
}
.button-submit:hover { background: var(--green-dark); transform: translateY(-1px); }
.button-submit:disabled { opacity: .6; cursor: default; transform: none; }
.button-submit:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.order-note {
	text-align: center;
	font-size: 13.5px;
	color: var(--muted);
	margin-block: 12px 4px;
}
.order-card .legal-mini { text-align: center; margin-block-start: 14px; }
.order-card .legal-mini a { color: var(--blue); text-decoration: underline; }

/* --- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; }
}
