/* BUILD 1.0.2 — 2026-08-13 · سيرني للنقل البري */
/* =====================================================================
   180D BASE — the invariant layer.
   Extracted from the ten delivered plugins (Fulaz, ENGR FIX, Boscoo,
   SANA, SAT, LJS1, Super Mentality, KFSH-J, Lolita, Auto-Gate).
   Every one of them contained this layer, modulo the prefix.

   HOW TO USE: replace every sirni with the project prefix (kfshj, sat,
   boscoo…). Never edit this file's rules to fix a component — add a
   component rule instead. This layer is the contract that survives the
   HTML → Elementor conversion untouched.
   ===================================================================== */

/* ---------------------------------------------------------------------
   0. TOKENS — fill in per project. See references/tokens.md.
   Keep the NAMES exactly; only the VALUES change per project.
   --------------------------------------------------------------------- */
:root {
	/* surfaces */
	--sirni-bg:          #0B0B0B;
	--sirni-bg-deep:     #151515;
	--sirni-fg:          #F8F6F0;
	--sirni-card:        #151515;
	--sirni-card-fg:     #F8F6F0;
	--sirni-muted:       #1C1B18;
	--sirni-muted-fg:    #B8B2A4;
	--sirni-border:      rgba(201,162,77,.18);

	/* brand */
	--sirni-primary:     #C9A24D;
	--sirni-primary-fg:  #0B0B0B;
	--sirni-primary-glow:#E7C873;
	--sirni-accent:      #D4AF37;
	--sirni-accent-fg:   #0B0B0B;

	/* type */
	--sirni-font:         "Almarai", "Cairo", system-ui, "Segoe UI", Tahoma, sans-serif;
	--sirni-font-display: "Alexandria", "Almarai", system-ui, sans-serif;
	--sirni-font-script:  "Aref Ruqaa", "Amiri", serif;

	/* geometry */
	--sirni-radius:      1.125rem;
	--sirni-radius-lg:   1.75rem;
	--sirni-max:         80rem;   /* container */
	--sirni-max-narrow:  64rem;
	--sirni-pad:         1rem;    /* container gutter, mobile */
	--sirni-pad-lg:      2rem;    /* container gutter, ≥768 */

	/* elevation */
	--sirni-shadow-sm:   0 1px 3px rgba(0,0,0,.35);
	--sirni-shadow-md:   0 5px 12px -4px rgba(201,162,77,.25);
	--sirni-shadow-card: 0 18px 40px -16px rgba(0,0,0,.55);
	--sirni-shadow-glow: 0 0 45px rgba(201,162,77,.22);

	/* gradients — copy angles + stops verbatim from the design */
	--sirni-gradient-primary: linear-gradient(110deg, #C9A24D 8%, #E7C873 96%);
	--sirni-gradient-accent:  linear-gradient(110deg, #A8842F, #D4AF37 55%, #E7C873);

	--sirni-transition:  all .3s cubic-bezier(.4, 0, .2, 1);
}

/* ---------------------------------------------------------------------
   1. HORIZONTAL-SCROLL DEFENSE — mandatory, nine layers.
   This block shipped in 10/10 projects. Do not trim it.
   --------------------------------------------------------------------- */
[class^="sirni-"], [class*=" sirni-"],
[class^="sirni-"] *, [class*=" sirni-"] *,
[class^="sirni-"] *::before, [class*=" sirni-"] *::before,
[class^="sirni-"] *::after,  [class*=" sirni-"] *::after { box-sizing: border-box; }

/* 1b — section-level clip. Add every top-level wrapper class here. */
.sirni-section, .sirni-hero, .sirni-page-hero, .sirni-header, .sirni-footer,
.sirni-cta-banner, .sirni-contact, .sirni-marquee {
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
}

/* 1c — grid/flex children must be allowed to shrink below intrinsic width */
[class^="sirni-"][class*="-grid"] > *,
[class^="sirni-"][class*="-row"]  > *,
.sirni-form-row > *, .sirni-form-field { min-width: 0; max-width: 100%; }

/* 1d — media */
[class^="sirni-"] img,    [class*=" sirni-"] img,
[class^="sirni-"] svg,    [class*=" sirni-"] svg,
[class^="sirni-"] video,  [class*=" sirni-"] video,
[class^="sirni-"] iframe, [class*=" sirni-"] iframe { max-width: 100%; }
[class^="sirni-"] img, [class^="sirni-"] iframe { height: auto; }

/* 1e — form controls */
[class^="sirni-"] input, [class^="sirni-"] textarea,
[class^="sirni-"] select, [class^="sirni-"] button { max-width: 100%; }
[class^="sirni-"] input[type="text"],  [class^="sirni-"] input[type="email"],
[class^="sirni-"] input[type="tel"],   [class^="sirni-"] input[type="number"],
[class^="sirni-"] textarea, [class^="sirni-"] select { width: 100%; }

/* 1f — long unbroken strings (emails, phones, URLs) */
[class^="sirni-"] p, [class^="sirni-"] a, [class^="sirni-"] span,
[class^="sirni-"] li, [class^="sirni-"] dd { overflow-wrap: anywhere; word-break: break-word; }

/* 1g — honeypot (spam trap, never visible, never pushes layout) */
.sirni-honeypot {
	position: absolute !important; left: -10000px !important;
	width: 1px !important; height: 1px !important; overflow: hidden !important;
}

/* ---------------------------------------------------------------------
   2. TYPOGRAPHY BASELINE
   Arabic needs a taller line-height than Latin — this is not optional.
   --------------------------------------------------------------------- */
[class^="sirni-"], [class*=" sirni-"] { font-family: var(--sirni-font); }

[class^="sirni-"] h1, [class^="sirni-"] h2,
[class^="sirni-"] h3, [class^="sirni-"] h4,
[class^="sirni-"][class*="-title"],
[class^="sirni-"][class*="-headline"] {
	font-family: var(--sirni-font-display);
	line-height: 1.25;
	margin: 0;
}

[class^="sirni-"] p, [class^="sirni-"] li,
[class^="sirni-"][class*="-desc"] { line-height: 1.75; }

body.rtl      [class^="sirni-"] p, body.rtl      [class^="sirni-"] li,
html[lang^="ar"] [class^="sirni-"] p, html[lang^="ar"] [class^="sirni-"] li,
body.rtl      [class^="sirni-"][class*="-desc"],
html[lang^="ar"] [class^="sirni-"][class*="-desc"] { line-height: 1.9; }

/* Latin runs inside RTL (phone numbers, emails, prices) */
.sirni-ltr, [dir="ltr"] { direction: ltr; unicode-bidi: embed; }

/* ---------------------------------------------------------------------
   3. LAYOUT PRIMITIVES
   --------------------------------------------------------------------- */
.sirni-container {
	width: 100%;
	max-width: var(--sirni-max);
	margin-inline: auto;
	padding-inline: var(--sirni-pad);
}
.sirni-container-narrow { max-width: var(--sirni-max-narrow); }
@media (min-width: 768px) { .sirni-container { padding-inline: var(--sirni-pad-lg); } }

.sirni-section { position: relative; padding-block: 4rem; background: var(--sirni-bg); }
@media (min-width: 768px) { .sirni-section { padding-block: 6rem; } }

/* Responsive grid helper — mobile 1col, tablet 2, desktop N.
   Use .sirni-cols-2/3/4 on the same element. */
.sirni-grid { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) {
	.sirni-cols-2, .sirni-cols-3, .sirni-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.sirni-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sirni-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------------------------------------------------------------------
   4. SECTION-HEAD RHYTHM
   Doubled class = specificity 0,2,0, which beats Elementor's
   `h1..h6 { margin: 0 }` reset. This was the #1 round-two complaint
   before it was single-sourced. Never set head spacing per component.
   --------------------------------------------------------------------- */
.sirni-section-head.sirni-section-head { margin-bottom: 3rem; }
.sirni-section-head.sirni-section-head .sirni-eyebrow {
	display: block;
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--sirni-accent);
}
.sirni-section-head.sirni-section-head .sirni-section-title { margin: 0 0 1rem; }
.sirni-section-head.sirni-section-head .sirni-head-rule {
	display: block; width: 6rem; height: 0.25rem;
	margin: 0 auto 1.25rem; border-radius: 999px;
	background: var(--sirni-gradient-accent);
}
.sirni-section-head.sirni-section-head .sirni-section-desc {
	margin: 0 auto; max-width: 40rem; color: var(--sirni-muted-fg);
}
.sirni-align-center { text-align: center; }
.sirni-align-center h1, .sirni-align-center h2, .sirni-align-center h3,
.sirni-align-center p,  .sirni-align-center span { text-align: center; }
.sirni-align-start .sirni-head-rule { margin-inline: 0; }

/* ---------------------------------------------------------------------
   5. ICON CONTAINER — SIZE AND LAYOUT ONLY.
   Colour is declared PER COMPONENT against its own chip background.
   This selector is 0,2,0 and silently beat per-component colours in
   three builds, shipping invisible icons. Never add `color` here.
   --------------------------------------------------------------------- */
[class^="sirni-"][class*="-icon"],
[class*=" sirni-"][class*="-icon"] {
	display: inline-flex; align-items: center; justify-content: center;
	flex-shrink: 0; line-height: 1;
}
[class^="sirni-"][class*="-icon"] svg,
[class*=" sirni-"][class*="-icon"] svg {
	width: 1.5rem; height: 1.5rem; display: block;
	color: inherit; fill: none; stroke: currentColor;
}
[class^="sirni-"][class*="-icon"] i,
[class*=" sirni-"][class*="-icon"] i { font-size: 1.1rem; color: inherit; line-height: 1; }

/* Icon chip — the recurring "coloured square behind an icon" pattern.
   Set the colour on the chip; the icon inherits it. */
.sirni-icon-chip {
	width: 3.5rem; height: 3.5rem;
	border-radius: var(--sirni-radius);
	background: var(--sirni-gradient-accent);
	color: var(--sirni-primary-fg);              /* ← per-component override */
	box-shadow: var(--sirni-shadow-md);
	transition: var(--sirni-transition);
}

/* ---------------------------------------------------------------------
   6. BUTTON SYSTEM — three-layer defense against theme resets.
   Layer 1 (here): shape. Layer 2: element+class selectors with
   !important on colour. Layer 3: descendant colour lock.
   --------------------------------------------------------------------- */
.sirni-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	font-family: var(--sirni-font); font-weight: 700; font-size: 1rem; line-height: 1.2;
	padding: 0.85rem 2rem;
	border-radius: 9999px;
	border: 0; cursor: pointer; text-decoration: none; white-space: nowrap;
	transition: var(--sirni-transition);
}
a.sirni-btn.sirni-btn-primary, a.sirni-btn.sirni-btn-primary:link,
a.sirni-btn.sirni-btn-primary:visited, button.sirni-btn.sirni-btn-primary,
.sirni-btn.sirni-btn-primary[class] {
	background: var(--sirni-gradient-primary) !important;
	color: var(--sirni-primary-fg) !important;
	text-decoration: none !important;
	box-shadow: var(--sirni-shadow-md);
}
a.sirni-btn.sirni-btn-primary:hover, button.sirni-btn.sirni-btn-primary:hover,
.sirni-btn.sirni-btn-primary[class]:hover {
	color: var(--sirni-primary-fg) !important;
	transform: translateY(-2px);
	box-shadow: var(--sirni-shadow-glow);
}
.sirni-btn.sirni-btn-primary * { color: var(--sirni-primary-fg) !important; }

a.sirni-btn.sirni-btn-outline, button.sirni-btn.sirni-btn-outline,
.sirni-btn.sirni-btn-outline[class] {
	background: transparent !important;
	color: var(--sirni-fg) !important;
	border: 1px solid var(--sirni-border) !important;
}
a.sirni-btn.sirni-btn-outline:hover, .sirni-btn.sirni-btn-outline[class]:hover {
	border-color: var(--sirni-accent) !important;
	color: var(--sirni-accent) !important;
}
.sirni-btn-block { width: 100%; }

/* ---------------------------------------------------------------------
   7. CARD
   --------------------------------------------------------------------- */
.sirni-card {
	position: relative;
	display: flex; flex-direction: column; gap: 1rem;
	padding: 1.75rem;
	border-radius: var(--sirni-radius-lg);
	border: 1px solid var(--sirni-border);
	background: var(--sirni-card);
	color: var(--sirni-card-fg);
	box-shadow: var(--sirni-shadow-card);
	transition: var(--sirni-transition);
	height: 100%;
}
.sirni-card:hover { transform: translateY(-6px); box-shadow: var(--sirni-shadow-glow); }
.sirni-card-title { font-size: 1.25rem; font-weight: 700; margin: 0; }
.sirni-card-desc  { color: var(--sirni-muted-fg); margin: 0; }

/* ---------------------------------------------------------------------
   8. FORM
   --------------------------------------------------------------------- */
.sirni-form-row { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .sirni-form-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } }
.sirni-form-field { margin-bottom: 1.25rem; }
.sirni-form-field label {
	display: block; margin-bottom: 0.5rem;
	font-size: 0.75rem; font-weight: 600;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--sirni-muted-fg);
}
.sirni-form-field input, .sirni-form-field textarea, .sirni-form-field select {
	width: 100%; max-width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid var(--sirni-border);
	border-radius: var(--sirni-radius);
	background: var(--sirni-card);
	color: var(--sirni-fg);
	font: inherit; font-size: 0.9375rem;
	transition: border-color .3s;
}
.sirni-form-field textarea { min-height: 8rem; resize: vertical; }
.sirni-form-field :is(input, textarea, select):focus {
	outline: 0; border-color: var(--sirni-accent);
}
/* Native <select> popup is painted by the OS. On dark themes the option
   text renders white-on-white without these two lines. */
.sirni-form-field select {
	-webkit-appearance: none; appearance: none;
	/* dark themes only: color-scheme: dark; background-color: <solid dark>; */
}
.sirni-form-notice { display: none; margin-top: 1rem; padding: 0.9rem 1.1rem; border-radius: var(--sirni-radius); font-size: 0.9rem; }
.sirni-form-notice.is-ok   { display: block; background: rgba(22,163,74,.12); color: #16A34A; }
.sirni-form-notice.is-err  { display: block; background: rgba(220,38,38,.12); color: #DC2626; }

/* 8b — FORM-SECTION CONTAINMENT (v7.1 layer 9).
   The contact section is where horizontal scroll came back three times. */
.sirni-contact, .sirni-contact * { min-width: 0; }
.sirni-contact { overflow-x: clip; }

/* ---------------------------------------------------------------------
   9. MOTION — see references/motion.md for the full keyframe set.
   --------------------------------------------------------------------- */
@keyframes sirni-fade-up   { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes sirni-fade-in   { from { opacity: 0; } to { opacity: 1; } }
@keyframes sirni-slide-l   { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: none; } }
@keyframes sirni-slide-r   { from { opacity: 0; transform: translateX(60px); }  to { opacity: 1; transform: none; } }
@keyframes sirni-float     { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes sirni-marquee   { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.sirni-anim-fade  { animation: sirni-fade-up .7s cubic-bezier(.2,.8,.2,1) both; }
.sirni-anim-left  { animation: sirni-slide-l .75s cubic-bezier(.2,.8,.2,1) both; }
.sirni-anim-right { animation: sirni-slide-r .75s cubic-bezier(.2,.8,.2,1) both; }
.sirni-anim-float { animation: sirni-float 4s ease-in-out infinite; }

/* Scroll reveal — JS adds .is-visible. NEVER apply .sirni-reveal to
   dynamic content (filtered grids, AJAX lists, WooCommerce archives):
   re-rendered nodes never receive .is-visible and stay invisible. */
.sirni-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.sirni-reveal.is-visible { opacity: 1; transform: none; }

/* Editor preview + reduced motion — force final state so the canvas is
   never blank while an animation delay is pending. */
.elementor-editor-active [class*="sirni-anim-"],
.elementor-editor-active .sirni-reveal,
body.elementor-editor-preview [class*="sirni-anim-"],
body.elementor-editor-preview .sirni-reveal {
	opacity: 1 !important; transform: none !important; animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
	[class*="sirni-anim-"], .sirni-reveal {
		opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important;
	}
}

/* ---------------------------------------------------------------------
   10. MOBILE PERFORMANCE BUDGET
   Blur/backdrop-filter and large shadows repaint every scroll frame.
   --------------------------------------------------------------------- */
@media (max-width: 767px) {
	[class^="sirni-"] { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
	.sirni-anim-float { animation: none !important; }
	.sirni-card { box-shadow: 0 4px 12px -6px rgba(0,0,0,.35) !important; }
}

/* ---------------------------------------------------------------------
   11. WORDPRESS/ELEMENTOR NEUTRALISATION
   Keep this block even in the HTML build — it is dead weight in the
   browser and load-bearing after conversion.
   --------------------------------------------------------------------- */
.elementor-widget-container > [class^="sirni-"] { width: 100%; }
[class^="sirni-"] a { text-decoration: none; }
[class^="sirni-"] ul, [class^="sirni-"] ol { list-style: none; margin: 0; padding: 0; }

/* ---------------------------------------------------------------------
   12. IMAGE SLOTS
   Class B (factual: projects, gallery, real products) ships as a visible
   placeholder that reserves the final dimensions, so nothing reflows when
   the client uploads the real image in WordPress.
   See references/imagery.md.
   --------------------------------------------------------------------- */
.sirni-media { position: relative; overflow: hidden; border-radius: var(--sirni-radius-lg); }
.sirni-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.sirni-media:hover img { transform: scale(1.05); }

.sirni-placeholder {
	display: grid; place-items: center; min-height: 12rem;
	border: 1px dashed var(--sirni-border);
	border-radius: var(--sirni-radius-lg);
	background:
		repeating-linear-gradient(45deg, var(--sirni-muted) 0 12px, transparent 12px 24px),
		var(--sirni-bg-deep);
}
.sirni-placeholder-label {
	font-size: .8rem; letter-spacing: .15em; color: var(--sirni-muted-fg);
}

/* =====================================================================
   COMPONENTS — سيرني للنقل البري · dark-canvas black/gold luxury
   Section order mirrors the page. Never interleave.
   ===================================================================== */

/* ---------------------------------------------------------------------
   20. RTL SCOPE + CANVAS
   --------------------------------------------------------------------- */
.sirni-section, .sirni-header, .sirni-footer, .sirni-hero {
	direction: rtl;
	text-align: right;
}
.sirni-section { position: relative; padding-block: 6rem; background: var(--sirni-bg); color: var(--sirni-fg); }
@media (max-width: 767px) { .sirni-section { padding-block: 4rem; } }

/* light-section skin */
.sirni-section--light { background: #F8F6F0; color: #1E1B14; }
.sirni-section--white { background: #FFFFFF; color: #1E1B14; }
.sirni-section--deep  { background: var(--sirni-bg-deep); }
.sirni-section--light .sirni-section-desc,
.sirni-section--white .sirni-section-desc { color: #6B675E; }

/* faint eight-point star lattice (logo motif) */
.sirni-pattern::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23C9A24D' stroke-width='1'%3E%3Cpath d='M48 8 58 38 88 48 58 58 48 88 38 58 8 48 38 38Z'/%3E%3Cpath d='M48 24 55 41 72 48 55 55 48 72 41 55 24 48 41 41Z'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 96px 96px;
}
.sirni-section--light.sirni-pattern::before,
.sirni-section--white.sirni-pattern::before { opacity: .07; }

/* ---------------------------------------------------------------------
   21. TYPE HELPERS — script accent + display titles + star separator
   --------------------------------------------------------------------- */
.sirni-script {
	font-family: var(--sirni-font-script);
	font-weight: 400;
	color: var(--sirni-primary);
	line-height: 1.4;
}
.sirni-section-head.sirni-section-head .sirni-eyebrow {
	font-family: var(--sirni-font-script);
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sirni-primary);
	margin-bottom: -0.4rem;
	position: relative; z-index: 1;
}
.sirni-section-head.sirni-section-head .sirni-section-title {
	font-family: var(--sirni-font-display);
	font-weight: 300;
	font-size: clamp(2rem, 4.6vw, 3.4rem);
	line-height: 1.25;
	letter-spacing: 0;
}
.sirni-section--light .sirni-section-title,
.sirni-section--white .sirni-section-title { color: #1E1B14; }
.sirni-section-head.sirni-section-head .sirni-head-rule {
	width: auto; height: auto; background: none; border-radius: 0;
	display: flex; align-items: center; justify-content: center; gap: .65rem;
	color: var(--sirni-primary); font-size: .8rem;
	margin-block: .35rem 1.1rem;
}
.sirni-align-start .sirni-head-rule { justify-content: flex-start; }
.sirni-section-head.sirni-section-head .sirni-head-rule::before,
.sirni-section-head.sirni-section-head .sirni-head-rule::after {
	content: ""; width: 3.25rem; height: 1px;
	background: linear-gradient(90deg, transparent, var(--sirni-primary));
}
.sirni-section-head.sirni-section-head .sirni-head-rule::after {
	background: linear-gradient(90deg, var(--sirni-primary), transparent);
}
.sirni-star { display: inline-block; line-height: 1; }
.sirni-star svg { width: .85em; height: .85em; display: block; fill: currentColor; }

/* ---------------------------------------------------------------------
   22. BUTTONS
   --------------------------------------------------------------------- */
.sirni-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
	padding: .95rem 1.9rem;
	border-radius: var(--sirni-radius);
	font-family: var(--sirni-font);
	font-size: .95rem; font-weight: 700;
	line-height: 1;
	border: 1px solid transparent;
	cursor: pointer;
	transition: var(--sirni-transition);
	white-space: nowrap;
}
.sirni-btn svg { width: 1.15em; height: 1.15em; flex: none; }
.sirni-btn-primary {
	background: var(--sirni-gradient-primary);
	color: var(--sirni-primary-fg);
	box-shadow: 0 5px 14px rgba(201,162,77,.28);
}
.sirni-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(201,162,77,.38); }
.sirni-btn-outline {
	background: transparent;
	color: var(--sirni-primary-glow);
	border-color: rgba(231,200,115,.45);
}
.sirni-btn-outline:hover { border-color: var(--sirni-primary); background: rgba(201,162,77,.1); transform: translateY(-2px); }
.sirni-btn-dark {
	background: #0B0B0B; color: var(--sirni-primary-glow);
	box-shadow: 0 8px 20px -8px rgba(11,11,11,.55);
}
.sirni-btn-dark:hover { transform: translateY(-2px); color: #F3DFA8; }
.sirni-btn-block { width: 100%; }

/* ---------------------------------------------------------------------
   23. HEADER
   --------------------------------------------------------------------- */
.sirni-header {
	position: fixed; inset-inline: 0; top: 0; z-index: 90;
	padding-block: .9rem;
	background: linear-gradient(to bottom, rgba(11,11,11,.72), rgba(11,11,11,0));
	transition: background .35s ease, box-shadow .35s ease, padding .35s ease;
}
.sirni-header.is-scrolled {
	background: rgba(11,11,11,.92);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 1px 0 rgba(201,162,77,.22), 0 12px 30px -18px rgba(0,0,0,.7);
	padding-block: .55rem;
}
.sirni-header-inner { display: flex; align-items: center; gap: 2rem; }
.sirni-logo { display: inline-flex; align-items: center; flex: none; }
.sirni-logo img { height: 3.6rem; width: auto; display: block; }
.sirni-header.is-scrolled .sirni-logo img { height: 3rem; }
.sirni-nav { display: flex; align-items: center; gap: 1.9rem; margin-inline-start: auto; }
.sirni-nav-link {
	position: relative; color: #EDE8DC; font-size: .95rem; font-weight: 400;
	padding-block: .35rem; transition: color .25s ease;
}
.sirni-nav-link::after {
	content: ""; position: absolute; inset-inline-start: 0; bottom: 0;
	width: 100%; height: 1px; background: var(--sirni-gradient-primary);
	transform: scaleX(0); transform-origin: center; transition: transform .3s ease;
}
.sirni-nav-link:hover, .sirni-nav-link.is-active { color: var(--sirni-primary-glow); }
.sirni-nav-link:hover::after, .sirni-nav-link.is-active::after { transform: scaleX(1); }
.sirni-header-cta { flex: none; }
.sirni-burger {
	display: none; flex-direction: column; gap: 5px;
	background: none; border: 0; padding: .5rem; cursor: pointer;
	margin-inline-start: auto;
}
.sirni-burger span { width: 24px; height: 2px; background: var(--sirni-primary-glow); border-radius: 2px; transition: var(--sirni-transition); }
.sirni-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sirni-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.sirni-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.sirni-mobile-menu {
	position: fixed; inset-inline: 0; top: 0; z-index: 89;
	padding: 6rem 1.5rem 2.5rem;
	background: rgba(11,11,11,.98);
	border-bottom: 1px solid rgba(201,162,77,.25);
	display: none; flex-direction: column; gap: .35rem;
	direction: rtl; text-align: right;
}
.sirni-mobile-menu.is-open { display: flex; }
.sirni-mobile-link {
	color: #EDE8DC; font-size: 1.15rem; padding: .8rem .25rem;
	border-bottom: 1px solid rgba(201,162,77,.12);
}
.sirni-mobile-link:hover { color: var(--sirni-primary-glow); }
.sirni-mobile-menu .sirni-btn { margin-top: 1.25rem; }
@media (max-width: 1023px) {
	.sirni-nav, .sirni-header-cta { display: none; }
	.sirni-burger { display: flex; }
	.sirni-logo img { height: 3rem; }
}

/* ---------------------------------------------------------------------
   24. HERO
   --------------------------------------------------------------------- */
.sirni-hero {
	position: relative; min-height: 100svh;
	display: flex; align-items: center;
	padding-block: 9rem 5rem;
	background: var(--sirni-bg);
	overflow: hidden;
}
.sirni-hero-media, .sirni-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.sirni-hero-media img { object-fit: cover; object-position: center; }
.sirni-hero-scrim { position: absolute; inset: 0; pointer-events: none;
	background:
		linear-gradient(to left, rgba(11,11,11,.92) 8%, rgba(11,11,11,.55) 45%, rgba(11,11,11,.25) 75%),
		linear-gradient(to top, rgba(11,11,11,1) 0%, rgba(11,11,11,0) 32%),
		linear-gradient(to bottom, rgba(11,11,11,.55), rgba(11,11,11,0) 30%);
}
.sirni-hero-body { position: relative; z-index: 1; }
.sirni-hero-kicker {
	display: flex; align-items: center; gap: .8rem;
	font-family: var(--sirni-font-script);
	font-size: clamp(1.6rem, 3vw, 2.3rem);
	color: var(--sirni-primary-glow);
	margin-bottom: .4rem;
}
.sirni-hero-kicker .sirni-star { color: var(--sirni-primary); font-size: 1.1rem; }
.sirni-hero-title {
	margin: 0 0 1.4rem;
	font-family: var(--sirni-font-display);
	font-weight: 800;
	font-size: clamp(2.3rem, 6vw, 4.1rem);
	line-height: 1.22;
	color: #FDFCF8;
	max-width: 17ch;
	text-shadow: 0 4px 30px rgba(0,0,0,.45);
}
.sirni-hero-title em { font-style: normal; color: transparent; background: var(--sirni-gradient-primary); -webkit-background-clip: text; background-clip: text; }
.sirni-hero-sub {
	max-width: 36rem; margin: 0 0 2.2rem;
	color: #D9D3C5; font-size: 1.06rem; font-weight: 300;
}
.sirni-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 3rem; }

/* glass quick-booking bar */
.sirni-book {
	max-width: 46rem;
	background: rgba(21,21,21,.66);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(231,200,115,.28);
	border-radius: var(--sirni-radius-lg);
	padding: 1.1rem 1.4rem;
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto;
	align-items: center; gap: 1.1rem;
	box-shadow: var(--sirni-shadow-card);
}
.sirni-book-field { display: grid; gap: .15rem; min-width: 0; }
.sirni-book-label { font-size: .78rem; color: #B8B2A4; display: flex; align-items: center; gap: .4rem; }
.sirni-book-label svg { width: .95rem; height: .95rem; color: var(--sirni-primary); flex: none; }
.sirni-book-select {
	appearance: none; -webkit-appearance: none;
	background: transparent; border: 0; color: #FDFCF8;
	font-family: var(--sirni-font); font-size: 1.02rem; font-weight: 700;
	padding: 0; cursor: pointer;
	color-scheme: dark;
}
.sirni-book-select:focus { outline: none; color: var(--sirni-primary-glow); }
.sirni-book-select option { background-color: #151515; color: #F8F6F0; }
.sirni-book-sep { width: 1px; height: 2.6rem; background: rgba(231,200,115,.22); }
.sirni-book-send {
	width: 3.9rem; height: 3.9rem; flex: none;
	border: 0; border-radius: var(--sirni-radius);
	background: var(--sirni-gradient-primary);
	color: var(--sirni-primary-fg);
	display: grid; place-items: center; cursor: pointer;
	box-shadow: 0 5px 14px rgba(201,162,77,.32);
	transition: var(--sirni-transition);
}
.sirni-book-send svg { width: 1.5rem; height: 1.5rem; }
.sirni-book-send:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 10px 24px rgba(201,162,77,.42); }
@media (max-width: 767px) {
	.sirni-hero { padding-top: 7.5rem; }
	.sirni-book { grid-template-columns: 1fr; gap: .9rem; background: rgba(11,11,11,.82); }
	.sirni-book-sep { width: 100%; height: 1px; }
	.sirni-book-send { width: 100%; height: 3.4rem; }
}

/* ---------------------------------------------------------------------
   25. FLEET MOSAIC — السيارات (premium bottom-anchored layout)
   --------------------------------------------------------------------- */
.sirni-fleet-grid {
	display: grid; gap: 1.4rem;
	grid-template-columns: 1.03fr .485fr .485fr;
	grid-template-areas:
		"big s1 s2"
		"big wide wide";
	grid-auto-rows: 19rem;
}
.sirni-fleet-card {
	position: relative; overflow: hidden;
	border-radius: .9rem;
	isolation: isolate;
	border: 1px solid rgba(201,162,77,.28);
	box-shadow: 0 18px 40px -22px rgba(0,0,0,.8);
	transition: var(--sirni-transition);
}
.sirni-fleet-card:hover {
	border-color: rgba(231,200,115,.65);
	transform: translateY(-5px);
	box-shadow: 0 26px 52px -22px rgba(201,162,77,.28);
}
.sirni-fleet-card--big  { grid-area: big; }
.sirni-fleet-card--s1   { grid-area: s1; }
.sirni-fleet-card--s2   { grid-area: s2; }
.sirni-fleet-card--wide { grid-area: wide; }
.sirni-fleet-card img {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; object-position: center 68%;
	z-index: -2;
	transition: transform .8s ease;
}
.sirni-fleet-card--big img { object-position: center 55%; }
.sirni-fleet-card::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(to top, rgba(7,6,4,.94) 0%, rgba(7,6,4,.55) 30%, rgba(7,6,4,.08) 60%, rgba(7,6,4,0) 75%);
	transition: opacity .4s ease;
}
.sirni-fleet-card::before {
	content: ""; position: absolute; inset: .55rem; z-index: 1;
	border: 1px solid rgba(231,200,115,.18);
	border-radius: .55rem;
	pointer-events: none;
	transition: border-color .4s ease;
}
.sirni-fleet-card:hover::before { border-color: rgba(231,200,115,.4); }
.sirni-fleet-card:hover img { transform: scale(1.05); }
.sirni-fleet-count {
	position: absolute; top: 1.1rem; inset-inline-start: 1.1rem; z-index: 2;
	display: inline-flex; align-items: center; gap: .45rem;
	background: rgba(11,9,5,.72);
	border: 1px solid rgba(231,200,115,.4);
	color: var(--sirni-primary-glow);
	font-size: .78rem; font-weight: 700;
	padding: .4rem .85rem; border-radius: 999px;
	backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.sirni-fleet-count svg { width: .85rem; height: .85rem; }
.sirni-fleet-body {
	position: absolute; inset-inline: 0; bottom: 0; z-index: 2;
	padding: 1.6rem 1.7rem 1.5rem;
	display: grid; justify-items: start; gap: .3rem;
	text-align: start;
}
.sirni-fleet-name {
	margin: 0;
	font-family: var(--sirni-font-script);
	font-weight: 400;
	font-size: clamp(1.7rem, 2.4vw, 2.2rem);
	color: #FDFCF8;
	text-shadow: 0 3px 22px rgba(0,0,0,.7);
	line-height: 1.3;
}
.sirni-fleet-line { margin: 0 0 .75rem; color: #D9D3C5; font-size: .92rem; font-weight: 300; max-width: 30rem; }
.sirni-fleet-actions { display: flex; align-items: center; gap: 1.1rem; }
.sirni-fleet-card .sirni-btn { padding: .72rem 1.4rem; font-size: .86rem; }
.sirni-fleet-more {
	display: inline-flex; align-items: center; gap: .45rem;
	color: var(--sirni-primary-glow); font-size: .88rem; font-weight: 700;
	transition: gap .25s ease, color .25s ease;
}
.sirni-fleet-more svg { width: 1rem; height: 1rem; transform: scaleX(-1); }
.sirni-fleet-more:hover { color: #F3DFA8; gap: .75rem; }
@media (max-width: 1023px) {
	.sirni-fleet-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "big big" "s1 s2" "wide wide";
		grid-auto-rows: 17rem;
	}
	.sirni-fleet-grid .sirni-fleet-card--big { min-height: 21rem; }
}
@media (max-width: 639px) {
	.sirni-fleet-grid { grid-template-columns: 1fr; grid-template-areas: "big" "s1" "s2" "wide"; grid-auto-rows: 16rem; }
	.sirni-fleet-body { padding: 1.2rem 1.2rem 1.1rem; }
}

/* ---------------------------------------------------------------------
   26. ABOUT SPLIT — من نحن
   --------------------------------------------------------------------- */
.sirni-about-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 4rem; align-items: center; }
.sirni-about-media { position: relative; }
.sirni-about-media .sirni-media { border-radius: var(--sirni-radius-lg); box-shadow: 0 24px 50px -22px rgba(30,27,20,.45); aspect-ratio: 4/4.6; }
.sirni-about-media::before {
	content: ""; position: absolute;
	inset-block: 1.4rem -1.4rem; inset-inline: -1.4rem 1.4rem;
	border: 1px solid var(--sirni-primary);
	border-radius: var(--sirni-radius-lg);
	pointer-events: none;
}
.sirni-about-media .sirni-star {
	position: absolute; inset-inline-start: -2.1rem; bottom: -2.1rem;
	color: var(--sirni-primary); font-size: 1.4rem; background: #F8F6F0; padding: .4rem;
}
.sirni-about-text .sirni-section-head { margin-bottom: 1.5rem; }
.sirni-about-text p { margin: 0 0 1.1rem; color: #55503F; font-size: 1.02rem; }
.sirni-about-list {
	display: grid; grid-template-columns: 1fr 1fr; gap: .85rem 2rem;
	margin: 1.6rem 0 2.2rem !important;
}
.sirni-about-list li { display: flex; align-items: center; gap: .6rem; color: #1E1B14; font-weight: 700; font-size: .98rem; }
.sirni-about-list .sirni-star { color: var(--sirni-primary); flex: none; }
.sirni-about-actions { display: flex; flex-wrap: wrap; gap: 1rem; }
@media (max-width: 1023px) {
	.sirni-about-grid { grid-template-columns: 1fr; gap: 3rem; }
	.sirni-about-media { order: 2; margin-inline: 1.4rem 0; max-width: 30rem; }
}

/* ---------------------------------------------------------------------
   27. WHY GRID — لماذا سيرني
   --------------------------------------------------------------------- */
.sirni-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.sirni-why-card {
	background: #FAF5EA;
	border: 1px solid rgba(201,162,77,.16);
	border-radius: .625rem;
	padding: 2.6rem 1.9rem;
	text-align: center;
	display: grid; justify-items: center; gap: 1rem;
	height: 100%;
	transition: var(--sirni-transition);
	transition-delay: calc(var(--i, 0) * 80ms);
}
.sirni-why-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -18px rgba(120,95,40,.35); }
.sirni-why-icon {
	width: 4.2rem; height: 4.2rem; border-radius: 50%;
	display: grid; place-items: center;
	background: rgba(201,162,77,.13);
	color: #A8842F;
	border: 1px solid rgba(201,162,77,.3);
}
.sirni-why-icon svg { width: 1.9rem; height: 1.9rem; }
.sirni-why-title { margin: 0; font-family: var(--sirni-font-display); font-size: 1.25rem; font-weight: 600; color: #1E1B14; }
.sirni-why-desc { margin: 0; color: #6B675E; font-size: .95rem; }
.sirni-why-card--active {
	background: var(--sirni-gradient-primary);
	border-color: transparent;
	box-shadow: 0 18px 38px -14px rgba(201,162,77,.55);
}
.sirni-why-card--active .sirni-why-icon { background: rgba(11,11,11,.14); color: #0B0B0B; border-color: rgba(11,11,11,.22); }
.sirni-why-card--active .sirni-why-title { color: #0B0B0B; }
.sirni-why-card--active .sirni-why-desc { color: rgba(11,11,11,.75); }
@media (max-width: 1023px) { .sirni-why-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px)  { .sirni-why-grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   28. STEPS — خطوات الحجز
   --------------------------------------------------------------------- */
.sirni-steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.5rem 1.75rem; }
.sirni-step { position: relative; text-align: center; display: grid; justify-items: center; gap: .55rem; }
.sirni-step-num {
	font-family: var(--sirni-font-display);
	font-weight: 200;
	font-size: 3rem; line-height: 1;
	direction: ltr;
	color: transparent;
	background: var(--sirni-gradient-primary);
	-webkit-background-clip: text; background-clip: text;
}
.sirni-step .sirni-star { color: var(--sirni-primary); opacity: .8; font-size: .8rem; }
.sirni-step-title { margin: .2rem 0 0; font-family: var(--sirni-font-display); font-size: 1.2rem; font-weight: 600; color: #FDFCF8; }
.sirni-step-desc { margin: 0; color: var(--sirni-muted-fg); font-size: .93rem; max-width: 16rem; }
.sirni-step::after {
	content: ""; position: absolute; top: 1.6rem;
	inset-inline-start: calc(50% + 3.2rem);
	width: calc(100% - 6.4rem); height: 0;
	border-top: 1px dashed rgba(201,162,77,.4);
}
.sirni-step:last-child::after { display: none; }
@media (max-width: 1023px) {
	.sirni-steps-grid { grid-template-columns: 1fr 1fr; }
	.sirni-step:nth-child(2)::after { display: none; }
}
@media (max-width: 639px) {
	.sirni-steps-grid { grid-template-columns: 1fr; }
	.sirni-step::after { display: none; }
}

/* ---------------------------------------------------------------------
   29. ROUTES — وجهات نخدمها
   --------------------------------------------------------------------- */
.sirni-routes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.sirni-route-card {
	background: #FFFFFF;
	border: 1px solid rgba(201,162,77,.18);
	border-radius: .625rem;
	overflow: hidden;
	display: flex; flex-direction: column;
	height: 100%;
	transition: var(--sirni-transition);
	transition-delay: calc(var(--i, 0) * 80ms);
}
.sirni-route-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px -18px rgba(120,95,40,.35); }
.sirni-route-media { height: 15rem; overflow: hidden; position: relative; }
.sirni-route-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.sirni-route-card:hover .sirni-route-media img { transform: scale(1.07); }
.sirni-route-badge {
	position: absolute; top: 1rem; inset-inline-start: 1rem;
	background: rgba(11,11,11,.72); color: var(--sirni-primary-glow);
	font-size: .78rem; font-weight: 700;
	padding: .45rem .9rem; border-radius: 999px;
	border: 1px solid rgba(231,200,115,.35);
	backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.sirni-route-body { padding: 1.5rem 1.5rem 1.6rem; display: grid; gap: .45rem; flex: 1; align-content: start; }
.sirni-route-title { margin: 0; font-family: var(--sirni-font-display); font-size: 1.28rem; font-weight: 600; color: #1E1B14; }
.sirni-route-desc { margin: 0 0 .9rem; color: #6B675E; font-size: .95rem; }
.sirni-route-link {
	margin-top: auto;
	display: inline-flex; align-items: center; gap: .5rem;
	color: #A8842F; font-weight: 700; font-size: .95rem;
	transition: gap .25s ease, color .25s ease;
}
.sirni-route-link svg { width: 1.05rem; height: 1.05rem; transform: scaleX(-1); }
.sirni-route-link:hover { gap: .8rem; color: #7A5E1F; }
.sirni-routes-seo { max-width: 47rem; margin: 3.5rem auto 0; text-align: center; }
.sirni-routes-seo p { margin: 0; color: #6B675E; font-size: .95rem; }
@media (max-width: 1023px) { .sirni-routes-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px)  { .sirni-routes-grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   30. TESTIMONIALS — آراء عملائنا
   --------------------------------------------------------------------- */
.sirni-quote-slab {
	position: relative;
	max-width: 56rem; margin-inline: auto;
	background: #0B0B0B;
	border: 1px solid rgba(201,162,77,.25);
	border-radius: var(--sirni-radius-lg);
	padding: 3.4rem 3rem 2.8rem;
	text-align: center;
}
.sirni-quote-mark {
	position: absolute; top: -2.6rem; inset-inline-start: 2.2rem;
	font-family: var(--sirni-font-script);
	font-size: 6rem; line-height: 1;
	color: var(--sirni-primary);
	text-shadow: 0 6px 24px rgba(201,162,77,.35);
}
.sirni-quote-text {
	margin: 0; color: #E9E4D8; font-size: 1.13rem; font-weight: 300;
	max-width: 42rem; margin-inline: auto;
	min-height: 6.8em;
	transition: opacity .35s ease;
}
.sirni-quote-slab.is-switching .sirni-quote-text { opacity: 0; }
.sirni-quote-note { margin: 1.4rem 0 0; font-size: .8rem; color: #8B857A; }
.sirni-voices { display: flex; align-items: center; justify-content: center; gap: 1.15rem; margin-top: 2.6rem; flex-wrap: wrap; }
.sirni-voice {
	display: flex; align-items: center; gap: .85rem;
	background: none; border: 0; padding: 0; cursor: pointer;
}
.sirni-voice-chip {
	width: 4.4rem; height: 4.4rem; border-radius: 50%; flex: none;
	display: grid; place-items: center;
	background: #14120C;
	border: 1px solid rgba(201,162,77,.35);
	color: var(--sirni-primary);
	font-family: var(--sirni-font-script); font-size: 1.5rem;
	transition: var(--sirni-transition);
}
.sirni-voice:hover .sirni-voice-chip { border-color: var(--sirni-primary); transform: translateY(-3px); }
.sirni-voice.is-active .sirni-voice-chip {
	background: var(--sirni-gradient-primary);
	color: #0B0B0B; border-color: transparent;
	box-shadow: 0 10px 24px -8px rgba(201,162,77,.6);
}
.sirni-voice-meta { display: none; text-align: start; }
.sirni-voice.is-active .sirni-voice-meta { display: block; }
.sirni-voice-name { margin: 0; color: #1E1B14; font-weight: 700; font-size: 1.02rem; }
.sirni-voice-route { margin: 0; color: #8B857A; font-size: .82rem; }
@media (max-width: 639px) {
	.sirni-quote-slab { padding: 2.6rem 1.4rem 2.2rem; }
	.sirni-voice-meta { display: none !important; }
}

/* ---------------------------------------------------------------------
   31. CTA BANNER — جاهز لرحلتك القادمة؟
   --------------------------------------------------------------------- */
.sirni-cta-banner { padding-block: 4.5rem; background: var(--sirni-gradient-primary); color: #0B0B0B; }
.sirni-cta-inner { display: grid; justify-items: center; text-align: center; gap: .9rem; position: relative; z-index: 1; }
.sirni-cta-banner.sirni-pattern::before { opacity: .08; filter: brightness(.2); }
.sirni-cta-title { margin: 0; font-family: var(--sirni-font-display); font-weight: 800; font-size: clamp(1.9rem, 4vw, 2.9rem); color: #0B0B0B; }
.sirni-cta-line { margin: 0 0 1.2rem; max-width: 38rem; color: rgba(11,11,11,.8); font-size: 1.05rem; }
.sirni-cta-actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.sirni-cta-banner .sirni-btn-outline { color: #0B0B0B; border-color: rgba(11,11,11,.5); }
.sirni-cta-banner .sirni-btn-outline:hover { background: rgba(11,11,11,.08); border-color: #0B0B0B; }

/* ---------------------------------------------------------------------
   32. CONTACT — تواصل معنا
   --------------------------------------------------------------------- */
.sirni-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 3.5rem; align-items: start; }
.sirni-contact-cards { display: grid; gap: 1rem; }
.sirni-contact-card {
	display: flex; align-items: center; gap: 1.1rem;
	background: var(--sirni-bg-deep);
	border: 1px solid rgba(201,162,77,.18);
	border-radius: .625rem;
	padding: 1.2rem 1.35rem;
	transition: var(--sirni-transition);
}
.sirni-contact-card:hover { border-color: rgba(201,162,77,.45); transform: translateY(-2px); }
.sirni-contact-icon {
	width: 3.1rem; height: 3.1rem; border-radius: 50%; flex: none;
	display: grid; place-items: center;
	background: rgba(201,162,77,.12);
	border: 1px solid rgba(201,162,77,.3);
	color: var(--sirni-primary);
}
.sirni-contact-icon svg { width: 1.35rem; height: 1.35rem; }
.sirni-contact-label { margin: 0; font-size: .8rem; color: var(--sirni-muted-fg); }
.sirni-contact-value { margin: 0; color: #FDFCF8; font-weight: 700; font-size: 1.02rem; overflow-wrap: anywhere; }
a.sirni-contact-card { cursor: pointer; }
.sirni-form { display: grid; gap: 1.1rem; background: var(--sirni-bg-deep); border: 1px solid rgba(201,162,77,.18); border-radius: var(--sirni-radius-lg); padding: 2rem; }
.sirni-form-title { margin: 0 0 .25rem; font-family: var(--sirni-font-display); font-size: 1.4rem; font-weight: 600; color: #FDFCF8; }
.sirni-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.sirni-form-field { display: grid; gap: .4rem; }
.sirni-form-field label { font-size: .85rem; color: var(--sirni-muted-fg); }
.sirni-req { color: var(--sirni-primary); }
.sirni-form-field input, .sirni-form-field select, .sirni-form-field textarea {
	background: #0F0E0B;
	border: 1px solid rgba(201,162,77,.22);
	border-radius: .625rem;
	color: #F8F6F0;
	font-family: var(--sirni-font);
	font-size: .98rem;
	padding: .85rem 1rem;
	transition: border-color .25s ease, box-shadow .25s ease;
	color-scheme: dark;
}
.sirni-form-field select { background-color: #0F0E0B; }
.sirni-form-field textarea { min-height: 7.5rem; resize: vertical; }
.sirni-form-field input:focus, .sirni-form-field select:focus, .sirni-form-field textarea:focus {
	outline: none; border-color: var(--sirni-primary);
	box-shadow: 0 0 0 3px rgba(201,162,77,.15);
}
.sirni-honeypot { position: absolute !important; inset-inline-start: -5000px; opacity: 0; height: 0; }
.sirni-form-notice { font-size: .9rem; color: var(--sirni-primary-glow); min-height: 1.2em; }
.sirni-map-wrap { margin-top: 3.5rem; position: relative; }
.sirni-map-wrap iframe {
	width: 100%; height: 24rem; display: block; border: 0;
	border-radius: var(--sirni-radius-lg);
	border: 1px solid rgba(201,162,77,.25);
	filter: grayscale(1) invert(.92) contrast(.88) hue-rotate(180deg);
}
.sirni-map-link { position: absolute; bottom: 1.1rem; inset-inline-start: 1.1rem; }
@media (max-width: 1023px) { .sirni-contact-grid { grid-template-columns: 1fr; gap: 2.5rem; } }
@media (max-width: 639px)  { .sirni-form-row { grid-template-columns: 1fr; } .sirni-form { padding: 1.4rem; } }

/* ---------------------------------------------------------------------
   33. FOOTER
   --------------------------------------------------------------------- */
.sirni-footer { background: #080808; border-top: 1px solid rgba(201,162,77,.2); position: relative; }
.sirni-footer-main { padding-block: 4.5rem 3rem; display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: 3.5rem; position: relative; z-index: 1; }
.sirni-footer-brand img { height: 7.5rem; width: auto; margin-bottom: 1.5rem; }
.sirni-footer-brand p { margin: 0 0 1.6rem; color: var(--sirni-muted-fg); font-size: .95rem; max-width: 24rem; }
.sirni-socials { display: flex; gap: .8rem; }
.sirni-social {
	width: 2.7rem; height: 2.7rem; border-radius: 50%;
	display: grid; place-items: center;
	border: 1px solid rgba(201,162,77,.3);
	color: var(--sirni-primary);
	transition: var(--sirni-transition);
}
.sirni-social svg { width: 1.15rem; height: 1.15rem; }
.sirni-social:hover { background: var(--sirni-gradient-primary); color: #0B0B0B; border-color: transparent; transform: translateY(-3px); }
.sirni-footer-title {
	margin: 0 0 1.75rem;
	padding-bottom: 1rem;
	position: relative;
	font-family: var(--sirni-font-display);
	font-size: 1.15rem; font-weight: 600;
	line-height: 1.6;
	color: #FDFCF8;
}
.sirni-footer-title::after {
	content: ""; position: absolute; bottom: 0; inset-inline-start: 0;
	width: 2.6rem; height: 1px;
	background: var(--sirni-gradient-primary);
}
.sirni-footer-nav { display: grid; gap: .9rem; }
.sirni-footer-nav a { color: var(--sirni-muted-fg); font-size: .95rem; line-height: 1.7; transition: color .25s ease, padding .25s ease; }
.sirni-footer-nav a:hover { color: var(--sirni-primary-glow); padding-inline-start: .35rem; }
.sirni-footer-contact { display: grid; gap: 1.15rem; }
.sirni-footer-contact a, .sirni-footer-contact p { margin: 0; display: flex; align-items: center; gap: .7rem; color: var(--sirni-muted-fg); font-size: .95rem; line-height: 1.8; }
.sirni-footer-contact a:hover { color: var(--sirni-primary-glow); }
.sirni-footer-contact svg { width: 1.05rem; height: 1.05rem; color: var(--sirni-primary); flex: none; }
.sirni-footer-bar { border-top: 1px solid rgba(201,162,77,.14); padding-block: 1.4rem; position: relative; z-index: 1; }
.sirni-footer-bar-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; }
.sirni-footer-bar p { margin: 0; font-size: .85rem; color: #8B857A; }
.sirni-footer-bar a { color: var(--sirni-primary); }
.sirni-footer-bar a:hover { color: var(--sirni-primary-glow); }
@media (max-width: 1023px) { .sirni-footer-main { grid-template-columns: 1fr 1fr; } }
@media (max-width: 639px)  { .sirni-footer-main { grid-template-columns: 1fr; gap: 3rem; } .sirni-footer-bar-inner { justify-content: center; text-align: center; } }

/* ---------------------------------------------------------------------
   34. FLOATING WHATSAPP
   --------------------------------------------------------------------- */
.sirni-wa-float {
	position: fixed; z-index: 80;
	bottom: 1.4rem; inset-inline-end: 1.4rem;
	width: 3.6rem; height: 3.6rem; border-radius: 50%;
	background: #25D366; color: #fff;
	display: grid; place-items: center;
	box-shadow: 0 10px 26px -8px rgba(37,211,102,.55);
	transition: var(--sirni-transition);
}
.sirni-wa-float svg { width: 1.8rem; height: 1.8rem; }
.sirni-wa-float:hover { transform: translateY(-4px) scale(1.05); }
.sirni-wa-float::after {
	content: ""; position: absolute; inset: 0; border-radius: 50%;
	border: 1px solid rgba(37,211,102,.7);
	animation: sirni-wa-pulse 2.4s ease-out infinite;
}
@keyframes sirni-wa-pulse {
	0% { transform: scale(1); opacity: .8; }
	100% { transform: scale(1.55); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .sirni-wa-float::after { animation: none; } }

/* ---------------------------------------------------------------------
   35. ANCHOR OFFSET for fixed header
   --------------------------------------------------------------------- */
.sirni-section[id], .sirni-hero[id] { scroll-margin-top: 5rem; }

/* outline button on light surfaces */
.sirni-btn-outline--ink { color: #8A6A1E; border-color: rgba(168,132,47,.55); }
.sirni-btn-outline--ink:hover { background: rgba(201,162,77,.14); border-color: #A8842F; color: #6E5314; }

/* =====================================================================
   MULTI-PAGE ADDITIONS — BUILD 0.2.0
   ===================================================================== */

/* ---------------------------------------------------------------------
   36. PAGE HERO (inner pages)
   --------------------------------------------------------------------- */
.sirni-page-hero {
	position: relative;
	min-height: 24rem;
	display: flex; align-items: flex-end;
	padding-block: 8.5rem 3.5rem;
	background: var(--sirni-bg);
	overflow: hidden;
	direction: rtl; text-align: right;
}
.sirni-page-hero-media, .sirni-page-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.sirni-page-hero-media img { object-fit: cover; }
.sirni-page-hero-scrim { position: absolute; inset: 0; pointer-events: none;
	background:
		linear-gradient(to left, rgba(11,11,11,.9) 10%, rgba(11,11,11,.45) 55%, rgba(11,11,11,.35)),
		linear-gradient(to top, rgba(11,11,11,1) 2%, rgba(11,11,11,.1) 45%);
}
.sirni-page-hero-body { position: relative; z-index: 1; }
.sirni-breadcrumb { display: flex; align-items: center; gap: .6rem; font-size: .85rem; color: #B8B2A4; margin-bottom: .6rem; }
.sirni-breadcrumb a { color: var(--sirni-primary-glow); }
.sirni-breadcrumb a:hover { color: var(--sirni-primary); }
.sirni-breadcrumb .sirni-star { color: var(--sirni-primary); font-size: .6rem; }
.sirni-page-hero-title {
	margin: 0 0 .6rem;
	font-family: var(--sirni-font-display);
	font-weight: 700;
	font-size: clamp(2.1rem, 4.5vw, 3.2rem);
	color: #FDFCF8;
}
.sirni-page-hero-sub { margin: 0; max-width: 38rem; color: #D9D3C5; font-weight: 300; font-size: 1.05rem; }
@media (max-width: 767px) { .sirni-page-hero { min-height: 19rem; padding-block: 7rem 2.5rem; } }

/* ---------------------------------------------------------------------
   37. ABOUT PAGE — vision/mission split + values
   --------------------------------------------------------------------- */
.sirni-vm-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.sirni-vm-card {
	position: relative;
	background: var(--sirni-bg-deep);
	border: 1px solid rgba(201,162,77,.2);
	border-radius: var(--sirni-radius-lg);
	padding: 2.8rem 2.4rem;
	overflow: hidden;
}
.sirni-vm-card::before {
	content: ""; position: absolute; inset-inline-start: 0; top: 0; bottom: 0;
	width: 3px; background: var(--sirni-gradient-primary);
}
.sirni-vm-icon {
	width: 3.6rem; height: 3.6rem; border-radius: 50%;
	display: grid; place-items: center;
	background: rgba(201,162,77,.12);
	border: 1px solid rgba(201,162,77,.3);
	color: var(--sirni-primary);
	margin-bottom: 1.2rem;
}
.sirni-vm-icon svg { width: 1.6rem; height: 1.6rem; }
.sirni-vm-title { margin: 0 0 .8rem; font-family: var(--sirni-font-display); font-size: 1.45rem; font-weight: 600; color: #FDFCF8; }
.sirni-vm-card p { margin: 0; color: var(--sirni-muted-fg); }
.sirni-values-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.25rem; }
.sirni-value-card {
	background: #FAF5EA;
	border: 1px solid rgba(201,162,77,.16);
	border-radius: .625rem;
	padding: 2rem 1.2rem;
	text-align: center;
	display: grid; justify-items: center; gap: .7rem;
	transition: var(--sirni-transition);
	transition-delay: calc(var(--i, 0) * 70ms);
}
.sirni-value-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px -16px rgba(120,95,40,.35); }
.sirni-value-icon {
	width: 3.4rem; height: 3.4rem; border-radius: 50%;
	display: grid; place-items: center;
	background: rgba(201,162,77,.13);
	border: 1px solid rgba(201,162,77,.3);
	color: #A8842F;
}
.sirni-value-icon svg { width: 1.5rem; height: 1.5rem; }
.sirni-value-name { margin: 0; font-family: var(--sirni-font-display); font-weight: 600; font-size: 1.05rem; color: #1E1B14; }
.sirni-value-desc { margin: 0; font-size: .85rem; color: #6B675E; }
@media (max-width: 1023px) { .sirni-values-grid { grid-template-columns: repeat(3, 1fr); } .sirni-vm-grid { grid-template-columns: 1fr; } }
@media (max-width: 639px)  { .sirni-values-grid { grid-template-columns: 1fr 1fr; } .sirni-values-grid .sirni-value-card:last-child { grid-column: 1 / -1; } }

/* ---------------------------------------------------------------------
   38. SERVICES PAGE — numbered splits
   --------------------------------------------------------------------- */
.sirni-svc { display: grid; grid-template-columns: 1.05fr .95fr; gap: 3.5rem; align-items: center; padding-block: 3.25rem; }
.sirni-svc + .sirni-svc { border-top: 1px solid rgba(201,162,77,.14); }
.sirni-section--light .sirni-svc + .sirni-svc { border-top-color: rgba(120,95,40,.14); }
.sirni-svc--flip .sirni-svc-media { order: -1; }
.sirni-svc-media { position: relative; }
.sirni-svc-media .sirni-media { aspect-ratio: 16/10.5; border-radius: var(--sirni-radius-lg); }
.sirni-svc-num {
	position: absolute; top: -1.3rem; inset-inline-start: -0.6rem; z-index: 2;
	font-family: var(--sirni-font-display); font-weight: 200;
	font-size: 4.2rem; line-height: 1;
	color: transparent;
	background: var(--sirni-gradient-primary);
	-webkit-background-clip: text; background-clip: text;
	direction: ltr;
}
.sirni-svc-body { display: grid; gap: .9rem; justify-items: start; }
.sirni-svc-icon {
	width: 3.4rem; height: 3.4rem; border-radius: 50%;
	display: grid; place-items: center;
	background: rgba(201,162,77,.12);
	border: 1px solid rgba(201,162,77,.32);
	color: var(--sirni-primary);
}
.sirni-svc-icon svg { width: 1.55rem; height: 1.55rem; }
.sirni-svc-title { margin: 0; font-family: var(--sirni-font-display); font-weight: 600; font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
.sirni-section--light .sirni-svc-title { color: #1E1B14; }
.sirni-svc-desc { margin: 0; max-width: 34rem; }
.sirni-section--light .sirni-svc-desc { color: #55503F; }
.sirni-svc-actions { display: flex; gap: .9rem; flex-wrap: wrap; margin-top: .4rem; }
.sirni-svc--featured {
	background: var(--sirni-bg-deep);
	border: 1px solid rgba(201,162,77,.25);
	border-radius: var(--sirni-radius-lg);
	padding: 2.75rem;
	margin-bottom: 1.5rem;
	box-shadow: var(--sirni-shadow-card);
}
.sirni-svc--featured + .sirni-svc { border-top: 0; }
.sirni-svc-badge {
	display: inline-flex; align-items: center; gap: .5rem;
	background: rgba(201,162,77,.14);
	border: 1px solid rgba(201,162,77,.4);
	color: var(--sirni-primary-glow);
	font-size: .8rem; font-weight: 700;
	padding: .4rem .95rem; border-radius: 999px;
}
@media (max-width: 1023px) {
	.sirni-svc { grid-template-columns: 1fr; gap: 2rem; padding-block: 2.75rem; }
	.sirni-svc--flip .sirni-svc-media { order: 0; }
	.sirni-svc--featured { padding: 1.75rem; }
	.sirni-svc-num { font-size: 3.2rem; top: -1rem; }
}

/* ---------------------------------------------------------------------
   39. FLEET PAGE — category tabs + vehicle cards
   --------------------------------------------------------------------- */
.sirni-fleet-tabs {
	display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem;
	margin-bottom: 3rem;
}
.sirni-fleet-tab {
	display: inline-flex; align-items: center; gap: .55rem;
	padding: .75rem 1.5rem;
	border-radius: 999px;
	border: 1px solid rgba(201,162,77,.35);
	background: transparent;
	color: #4A452F;
	font-family: var(--sirni-font); font-size: .95rem; font-weight: 700;
	cursor: pointer;
	transition: var(--sirni-transition);
}
.sirni-section--light .sirni-fleet-tab { color: #6B5A2A; }
.sirni-fleet-tab svg { width: 1.1rem; height: 1.1rem; }
.sirni-fleet-tab:hover { border-color: var(--sirni-primary); background: rgba(201,162,77,.1); }
.sirni-fleet-tab.is-active {
	background: var(--sirni-gradient-primary);
	color: #0B0B0B; border-color: transparent;
	box-shadow: 0 8px 18px -8px rgba(201,162,77,.55);
}
.sirni-cat-head {
	display: flex; align-items: center; gap: 1.1rem;
	margin: 3.5rem 0 1.75rem;
}
.sirni-cat-head:first-of-type { margin-top: 0; }
.sirni-cat-head .sirni-star { color: var(--sirni-primary); font-size: 1rem; }
.sirni-cat-title { margin: 0; font-family: var(--sirni-font-display); font-weight: 600; font-size: 1.6rem; color: #1E1B14; }
.sirni-cat-line { flex: 1; height: 1px; background: linear-gradient(to left, rgba(168,132,47,.5), transparent); }
.sirni-cat-count { font-size: .85rem; color: #8B857A; }
.sirni-cars-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.sirni-car-card {
	position: relative;
	background: #FFFFFF;
	border: 1px solid rgba(201,162,77,.2);
	border-radius: .75rem;
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: var(--sirni-transition);
	transition-delay: calc(var(--i, 0) * 70ms);
}
.sirni-car-card:hover { transform: translateY(-6px); box-shadow: 0 24px 48px -20px rgba(120,95,40,.4); border-color: rgba(201,162,77,.45); }
.sirni-car-media { position: relative; height: 16rem; overflow: hidden; background: #EDE8DC; }
.sirni-car-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.sirni-car-card:hover .sirni-car-media img { transform: scale(1.07); }
.sirni-car-cat {
	position: absolute; top: 1rem; inset-inline-start: 1rem;
	background: rgba(11,11,11,.75); color: var(--sirni-primary-glow);
	font-size: .78rem; font-weight: 700;
	padding: .42rem .9rem; border-radius: 999px;
	border: 1px solid rgba(231,200,115,.35);
	backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.sirni-car-body { padding: 1.6rem 1.6rem 1.7rem; display: grid; gap: .5rem; flex: 1; align-content: start; }
.sirni-car-name { margin: 0; font-family: var(--sirni-font-display); font-weight: 700; font-size: 1.45rem; color: #1E1B14; }
.sirni-car-name .sirni-car-en { display: block; font-weight: 300; font-size: .82rem; color: #8B857A; margin-top: .25rem; direction: ltr; text-align: end; letter-spacing: .12em; text-transform: uppercase; }
.sirni-car-desc { margin: 0 0 1rem; color: #6B675E; font-size: .95rem; }
.sirni-car-cta { margin-top: auto; display: flex; align-items: center; gap: .9rem; }
.sirni-car-cta .sirni-btn { padding: .8rem 1.5rem; font-size: .9rem; }
.sirni-car-wa {
	width: 2.9rem; height: 2.9rem; border-radius: 50%; flex: none;
	display: grid; place-items: center;
	border: 1px solid rgba(168,132,47,.45);
	color: #A8842F;
	transition: var(--sirni-transition);
}
.sirni-car-wa svg { width: 1.25rem; height: 1.25rem; }
.sirni-car-wa:hover { background: #A8842F; color: #FFF; transform: translateY(-2px); }
.sirni-fleet-note { margin: 3rem auto 0; max-width: 44rem; text-align: center; color: #8B857A; font-size: .9rem; }
[data-cat-section].is-hidden { display: none; }
@media (max-width: 1023px) { .sirni-cars-grid { grid-template-columns: 1fr 1fr; } .sirni-car-media { height: 13rem; } }
@media (max-width: 700px)  { .sirni-cars-grid { grid-template-columns: 1fr; } }

/* ---------------------------------------------------------------------
   40. BOOKING PAGE
   --------------------------------------------------------------------- */
.sirni-booking-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 3rem; align-items: start; }
.sirni-booking-form { padding: 2.4rem; }
.sirni-booking-aside { display: grid; gap: 1.25rem; position: sticky; top: 6rem; }
.sirni-aside-card {
	background: var(--sirni-bg-deep);
	border: 1px solid rgba(201,162,77,.2);
	border-radius: var(--sirni-radius-lg);
	padding: 1.9rem;
	display: grid; gap: .8rem; justify-items: start;
}
.sirni-aside-card--wa { border-color: rgba(37,211,102,.35); }
.sirni-aside-title { margin: 0; font-family: var(--sirni-font-display); font-weight: 600; font-size: 1.2rem; color: #FDFCF8; }
.sirni-aside-card p { margin: 0; color: var(--sirni-muted-fg); font-size: .93rem; }
.sirni-aside-steps { display: grid; gap: .9rem; }
.sirni-aside-step { display: flex; align-items: flex-start; gap: .8rem; color: var(--sirni-muted-fg); font-size: .92rem; }
.sirni-aside-step b { color: #EDE8DC; font-weight: 700; }
.sirni-aside-num {
	flex: none; width: 2rem; height: 2rem; border-radius: 50%;
	display: grid; place-items: center;
	background: rgba(201,162,77,.13);
	border: 1px solid rgba(201,162,77,.35);
	color: var(--sirni-primary);
	font-size: .85rem; font-weight: 700;
	direction: ltr;
}
@media (max-width: 1023px) {
	.sirni-booking-grid { grid-template-columns: 1fr; }
	.sirni-booking-aside { position: static; }
}
@media (max-width: 639px) { .sirni-booking-form { padding: 1.5rem; } }

/* ---------------------------------------------------------------------
   41. CONTACT PAGE EXTRAS
   --------------------------------------------------------------------- */
.sirni-contact-ctas { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 2.5rem; }

/* ---------------------------------------------------------------------
   42. DIGITS — always western, LTR inline
   --------------------------------------------------------------------- */
.sirni-num { direction: ltr; unicode-bidi: embed; font-feature-settings: "lnum"; }

/* ---------------------------------------------------------------------
   43. OUTLINE BUTTON SKIN — must out-gun base §6 !important rules
   --------------------------------------------------------------------- */
a.sirni-btn.sirni-btn-outline, button.sirni-btn.sirni-btn-outline,
.sirni-btn.sirni-btn-outline[class] {
	color: var(--sirni-primary-glow) !important;
	border: 1px solid rgba(231,200,115,.45) !important;
}
a.sirni-btn.sirni-btn-outline:hover, .sirni-btn.sirni-btn-outline[class]:hover {
	color: #F3DFA8 !important;
	border-color: var(--sirni-primary) !important;
	background: rgba(201,162,77,.12) !important;
}
/* on light surfaces */
a.sirni-btn.sirni-btn-outline--ink, button.sirni-btn.sirni-btn-outline--ink,
.sirni-btn.sirni-btn-outline--ink[class] {
	color: #8A6A1E !important;
	border: 1px solid rgba(168,132,47,.55) !important;
}
a.sirni-btn.sirni-btn-outline--ink:hover, .sirni-btn.sirni-btn-outline--ink[class]:hover {
	color: #6E5314 !important;
	border-color: #A8842F !important;
	background: rgba(201,162,77,.14) !important;
}
/* on the gold CTA banner */
.sirni-cta-banner a.sirni-btn.sirni-btn-outline,
.sirni-cta-banner .sirni-btn.sirni-btn-outline[class] {
	color: #0B0B0B !important;
	border: 1px solid rgba(11,11,11,.55) !important;
}
.sirni-cta-banner a.sirni-btn.sirni-btn-outline:hover,
.sirni-cta-banner .sirni-btn.sirni-btn-outline[class]:hover {
	background: rgba(11,11,11,.08) !important;
	border-color: #0B0B0B !important;
	color: #0B0B0B !important;
}

/* ---------------------------------------------------------------------
   44. FIXES — featured service colors, fleet grid, arabic labels
   --------------------------------------------------------------------- */
.sirni-svc--featured .sirni-svc-title { color: #FDFCF8; }
.sirni-svc--featured .sirni-svc-desc { color: var(--sirni-muted-fg); }
.sirni-section--light .sirni-svc--featured + .sirni-svc { border-top: 0; }
@media (min-width: 1024px) {
	.sirni-cars-grid { grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr)); }
}
.sirni-form-field label { letter-spacing: 0; text-transform: none; }

/* routes grid — two-card variant */
.sirni-routes-grid--two { grid-template-columns: 1fr 1fr; max-width: 62rem; margin-inline: auto; }
@media (max-width: 700px) { .sirni-routes-grid--two { grid-template-columns: 1fr; } }

/* mosaic actions wrap fix */
.sirni-fleet-actions { flex-wrap: wrap; gap: .6rem 1.1rem; }
.sirni-fleet-more { white-space: nowrap; }

/* ---------------------------------------------------------------------
   45. SECTION WRAPPER CLIP — named top-level section wrappers join the
   horizontal-scroll defense (base §1b).
   --------------------------------------------------------------------- */
.sirni-about, .sirni-fleet, .sirni-routes, .sirni-steps,
.sirni-testimonials, .sirni-why {
	max-width: 100%;
	overflow-x: hidden;
	overflow-x: clip;
}

/* ---------------------------------------------------------------------
   46. v1.0.1 FIXES
   a) Floating WhatsApp removed from the build — defensive kill in case a
      cached render still outputs it anywhere.
   b) Testimonials centering hardened against theme/WP RTL figure and
      blockquote margins (rtl themes indent both; out-specify them).
   --------------------------------------------------------------------- */
.sirni-wa-float { display: none !important; }

.sirni-testimonials figure.sirni-quote-slab,
figure.sirni-quote-slab.sirni-quote-slab {
	margin: 0 auto !important;
	padding-inline: 3rem;
	float: none !important;
}
.sirni-testimonials blockquote.sirni-quote-text,
blockquote.sirni-quote-text.sirni-quote-text {
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	max-width: 42rem;
	float: none !important;
}
.sirni-testimonials .sirni-voices { margin-inline: auto; width: 100%; }
@media (max-width: 639px) {
	.sirni-testimonials figure.sirni-quote-slab,
	figure.sirni-quote-slab.sirni-quote-slab { padding-inline: 1.4rem; }
}

/* ---------------------------------------------------------------------
   47. v1.0.2 — mobile menu stacking + white close (X)
   The mobile panel and the header row live inside the same fixed header
   stacking context; the panel came later in DOM order and painted OVER
   the logo and the burger. Lift the header row above the panel, and turn
   the burger into a clearly visible WHITE X while the menu is open.
   --------------------------------------------------------------------- */
.sirni-header-inner { position: relative; z-index: 5; }
.sirni-header .sirni-mobile-menu { z-index: 1; }

.sirni-burger { position: relative; z-index: 6; }
.sirni-burger[aria-expanded="true"] span {
	background: #FFFFFF !important;
	width: 26px;
}
.sirni-burger[aria-expanded="true"]:hover span { background: #FFFFFF !important; }
