:root {
--saudi-green: #0f6a3b;
--saudi-green-hover: #138a4d;
--saudi-green-deep: #0b4f2c;
--saudi-green-soft: rgba(15, 106, 59, 0.12);
--saudi-green-soft-2: rgba(15, 106, 59, 0.18);
--saudi-green-border: rgba(19, 138, 77, 0.34);
--saudi-glow: rgba(15, 106, 59, 0.22);
}

/* Base accents */
a {
color: var(--saudi-green);
}

a:hover {
color: var(--saudi-green-hover);
}

/* Top banner */
.top-banner {
background:
linear-gradient(90deg, rgba(11, 18, 32, 0.96), rgba(11, 18, 32, 0.92)),
linear-gradient(90deg, var(--saudi-green-soft), transparent 45%);
}

.banner-link {
color: #ffffff;
border-bottom: 1px solid var(--saudi-green-border);
}

.banner-link:hover {
color: #ffffff;
border-bottom-color: var(--saudi-green);
}

/* Navigation */
.site-nav a:not(.btn) {
transition: color 0.2s ease;
}

.site-nav a:not(.btn):hover,
.site-nav a:not(.btn):focus {
color: var(--saudi-green);
}

/* Primary buttons */
.btn {
background: var(--saudi-green);
border-color: var(--saudi-green);
color: #ffffff;
box-shadow: 0 10px 24px rgba(15, 106, 59, 0.22);
}

.btn:hover,
.btn:focus {
background: var(--saudi-green-hover);
border-color: var(--saudi-green-hover);
color: #ffffff;
box-shadow: 0 12px 28px rgba(15, 106, 59, 0.28);
}

/* Ghost buttons */
.btn-ghost {
color: var(--saudi-green);
border-color: var(--saudi-green-border);
background: rgba(15, 106, 59, 0.04);
}

.btn-ghost:hover,
.btn-ghost:focus {
color: var(--saudi-green-hover);
border-color: var(--saudi-green);
background: var(--saudi-green-soft);
}

/* Hero enhancement */
.hero,
.page-hero {
position: relative;
overflow: hidden;
}

.hero::before,
.page-hero::before {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
background:
radial-gradient(circle at 78% 24%, var(--saudi-glow), transparent 30%),
radial-gradient(circle at 22% 78%, rgba(15, 106, 59, 0.10), transparent 26%);
}

.hero-copy,
.page-hero .container {
position: relative;
z-index: 1;
}

/* Kicker accent */
.kicker {
color: var(--saudi-green);
}

/* Trust strip pills */
.pill {
border-color: var(--saudi-green-border);
color: var(--saudi-green);
background: rgba(15, 106, 59, 0.05);
}

/* Trust panel / section accents */
.trust-panel {
position: relative;
border-color: rgba(255, 255, 255, 0.08);
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.trust-panel::before {
content: "";
position: absolute;
inset: 0 0 auto 0;
height: 3px;
background: linear-gradient(90deg, var(--saudi-green), transparent 70%);
border-radius: inherit;
pointer-events: none;
}

/* Cards */
.card,
.trust-card {
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.card:hover,
.trust-card:hover {
border-color: var(--saudi-green-border);
box-shadow: 0 18px 36px rgba(15, 106, 59, 0.10);
transform: translateY(-1px);
}

/* Feature blocks */
.feature h3,
.card h3,
.trust-card h3,
.callout h3,
.note h3 {
color: inherit;
}

.feature:hover h3,
.card:hover h3,
.trust-card:hover h3 {
color: var(--saudi-green);
}

/* Section heads */
.section-head h2,
.trust-intro h2 {
position: relative;
}

.section-head h2::after,
.trust-intro h2::after {
content: "";
display: block;
width: 52px;
height: 3px;
margin-top: 12px;
background: var(--saudi-green);
border-radius: 999px;
}

/* Callouts */
.callout {
border-inline-start: 3px solid var(--saudi-green);
background:
linear-gradient(180deg, rgba(15, 106, 59, 0.06), rgba(15, 106, 59, 0.02));
}

/* Notes */
.note {
border-inline-start: 3px solid var(--saudi-green);
background: rgba(15, 106, 59, 0.05);
}

/* Check lists */
.check li::marker {
color: var(--saudi-green);
}

/* Footer links */
.footer-links a:hover,
.footer-links a:focus {
color: var(--saudi-green);
}

/* Footer brand line */
.footer-brand + .muted {
position: relative;
}

.footer-brand + .muted::before {
content: "";
display: block;
width: 44px;
height: 2px;
margin-bottom: 14px;
background: var(--saudi-green);
border-radius: 999px;
}

/* CTA band */
.cta-band {
position: relative;
overflow: hidden;
}

.cta-band::before {
content: "";
position: absolute;
inset: 0;
pointer-events: none;
background:
radial-gradient(circle at 85% 20%, rgba(15, 106, 59, 0.14), transparent 28%);
}

/* Forms */
.form input:focus,
.form textarea:focus {
outline: none;
border-color: var(--saudi-green);
box-shadow: 0 0 0 3px rgba(15, 106, 59, 0.14);
}

/* Stepper, if present */
.step-num {
background: var(--saudi-green);
color: #ffffff;
box-shadow: 0 8px 18px rgba(15, 106, 59, 0.22);
}

/* Subtle selection color */
::selection {
background: rgba(15, 106, 59, 0.22);
}

/* Arabic-specific polish */
html[lang="ar"] body {
font-family: "Tajawal", "Inter", sans-serif;
}

html[lang="ar"] .brand,
html[lang="ar"] .footer-brand {
flex-direction: row-reverse;
}

html[lang="ar"] .site-nav,
html[lang="ar"] .header-inner,
html[lang="ar"] .footer-grid,
html[lang="ar"] .hero-grid,
html[lang="ar"] .split,
html[lang="ar"] .banner-inner,
html[lang="ar"] .cta-band {
direction: rtl;
}

html[lang="ar"] .hero-copy,
html[lang="ar"] .section-head,
html[lang="ar"] .trust-intro,
html[lang="ar"] .feature,
html[lang="ar"] .card,
html[lang="ar"] .callout,
html[lang="ar"] .note,
html[lang="ar"] .footer-bottom {
text-align: right;
}

html[lang="ar"] .hero-cta,
html[lang="ar"] .cta-actions,
html[lang="ar"] .trust-strip {
justify-content: flex-start;
}

html[lang="ar"] .check,
html[lang="ar"] .footer-links {
padding-right: 1.2rem;
padding-left: 0;
}

html[lang="ar"] .section-head h2::after,
html[lang="ar"] .trust-intro h2::after,
html[lang="ar"] .footer-brand + .muted::before {
margin-right: 0;
margin-left: auto;
}

/* Mobile safety */
@media (max-width: 900px) {
.hero::before,
.page-hero::before,
.cta-band::before {
opacity: 0.8;
}

html[lang="ar"] .site-nav {
text-align: right;
}
}
