/* ======================================================
   GLOBAL PAGE CONTENT RAIL (MATCH HOME)
====================================================== */

/* This is already used by Home */
.page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}



/* ======================================================
   LANDING PAGE – FINAL ALIGNED VERSION
====================================================== */

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: #071425;
  color: #e6eeff;
}

/* ======================================================
   NAVIGATION
====================================================== */

.site-nav {
  position: sticky;
  top: 0;
  z-index: 1000;

  background: rgba(6,16,28,.85);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.nav-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 24px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-left .brand {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 18px;
  white-space: nowrap;
}

.nav-link {
  color: #cfe0ff;
  font-size: 14px;
}

.nav-link:hover {
  color: #ffffff;
}

.nav-link.danger {
  color: #ff4d4d;
}

.nav-icon {
  background: transparent;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 8px;
  padding: 6px 8px;
  cursor: pointer;
  color: #ffffff;
}

/* ======================================================
   PAGE BACKGROUND (EDGE TO EDGE)
====================================================== */

.landing-body {
  min-height: 100vh;

  background:
    radial-gradient(
      1000px 600px at 20% 10%,
      rgba(59,130,246,.22),
      transparent 60%
    ),
    linear-gradient(135deg, #071425, #0a2a46);
}

/* ======================================================
   CONTENT CONTAINER (ALIGNMENT FIX ✅)
====================================================== */

.page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px 0;
}

/* ======================================================
   HERO
====================================================== */

.hero h1 {
  font-size: 58px;
  font-weight: 900;
  line-height: 1.05;
  margin: 0;
  color: #ffffff;
}

.hero p {
  margin-top: 18px;
  max-width: 620px;
  line-height: 1.7;
  color: #9db0c7;
}

/* ======================================================
   BUTTONS
====================================================== */

.btn {
  display: inline-block;
  margin-top: 28px;
  padding: 12px 18px;
  border-radius: 14px;
  font-weight: 600;
}

.btn-primary {
  background: linear-gradient(180deg,#3b82f6,#1f5fe0);
  color: white;
}

.btn-outline {
  margin-left: 12px;
  border: 1px solid rgba(59,130,246,.45);
  color: #cfe0ff;
}

/* ======================================================
   SECTIONS
====================================================== */

.section {
  margin-top: 90px;
}

.cards {
  margin-top: 36px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 22px;
}

.card {
  padding: 22px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
}

/* ======================================================
   LIGHT MODE
====================================================== */

html:not(.dark) body {
  background: #f6f7fb;
  color: #0f172a;
}

html:not(.dark) .site-nav {
  background: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(0,0,0,.08);
}

html:not(.dark) .nav-link {
  color: #0f172a;
}

html:not(.dark) .landing-body {
  background:
    radial-gradient(
      1000px 600px at 20% 10%,
      rgba(37,99,235,.15),
      transparent 60%
    ),
    linear-gradient(135deg,#f6f7fb,#edf2ff);
}

html:not(.dark) .hero h1 {
  color: #0f172a;
}

/* ======================================================
   HERO – PROFESSIONAL SAAS STYLE
====================================================== */

.hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: 64px;
}

.hero-content h1 {
  font-size: 56px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.6px;
  color: #ffffff;
  margin: 0;
}

.hero-content p {
  margin-top: 22px;
  font-size: 17px;
  line-height: 1.7;
  max-width: 560px;
  color: #9db0c7;
}

.hero-actions {
  margin-top: 32px;
  display: flex;
  gap: 16px;
}

/* RIGHT IMAGE */
.hero-media img {
  width: 100%;
  max-width: 560px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 40px 90px rgba(0,0,0,.55);
}

/* ======================================================
   SUBSCRIPTION / PRICING – CLEAN SAAS DESIGN
====================================================== */

.pricing {
  margin-top: 100px;
}

.pricing .section-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}

.pricing .section-head h2 {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.4px;
  color: #ffffff;
  margin-bottom: 12px;
}

.pricing .section-head p {
  font-size: 16px;
  color: #9db0c7;
  line-height: 1.6;
}

/* ======================================================
   PRICING GRID – FIXED 4‑COLUMN LAYOUT
====================================================== */

.pricing-grid {
  margin-top: 56px;
  display: grid;

  /* ✅ force 4 cards in one row on desktop */
  grid-template-columns: repeat(4, 1fr);

  gap: 28px;
}

/* ✅ Tablet: 2 x 2 */
@media (max-width: 1200px) {
  .pricing-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ✅ Mobile: 1 x 1 */
@media (max-width: 640px) {
  .pricing-grid {
    grid-template-columns: 1fr;
  }
}

/* CARD */
.price-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  padding: 28px;
  border-radius: 20px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.02)
    );

  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 30px 80px rgba(0,0,0,0.45);

  transition: transform .25s ease, box-shadow .25s ease;
}

.price-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 40px 100px rgba(0,0,0,0.6);
}

/* TOP AREA */
.price-top {
  margin-bottom: 22px;
}

.plan-name {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 10px;
}

/* PRICE LINE */
.price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 8px;
}

.price .aed {
  font-size: 14px;
  color: #9db0c7;
}

.price .amount {
  font-size: 40px;
  font-weight: 900;
  color: #3b82f6;
  letter-spacing: -0.5px;
}

.price .per {
  font-size: 14px;
  color: #9db0c7;
}

/* NOTES */
.plan-note {
  font-size: 13px;
  color: #9db0c7;
  margin-top: 6px;
}

.plan-badge {
  margin-top: 12px;
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;

  font-size: 12px;
  font-weight: 600;

  color: #cfe0ff;
  border: 1px solid rgba(59,130,246,.45);
  background: rgba(59,130,246,.15);
}

/* FEATURES */
.plan-features {
  list-style: none;
  padding: 0;
  margin: 24px 0 28px;
}

.plan-features li {
  padding: 10px 0;
  border-bottom: 1px dashed rgba(255,255,255,.14);

  font-size: 14px;
  color: #9db0c7;
}

.plan-features li:last-child {
  border-bottom: none;
}

/* CTA */
.price-card .btn {
  margin-top: auto;
  padding: 14px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
}

/* HIGHLIGHT (AUTO – middle card feels premium) */
.price-card:nth-child(2) {
  border-color: rgba(59,130,246,0.6);

  background:
    radial-gradient(
      420px 140px at 20% -20%,
      rgba(59,130,246,0.35),
      transparent 45%
    ),
    linear-gradient(
      180deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.02)
    );
}


/* ======================================================
   SERVICES SECTION – CLEAN & PROFESSIONAL
====================================================== */

#services {
  margin-top: 100px;
}

#services .section-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
}

#services .section-head h2 {
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.4px;
  color: #ffffff;
  margin-bottom: 10px;
}

#services .section-head p {
  font-size: 16px;
  color: #9db0c7;
  line-height: 1.6;
}

/* GRID */
#services .cards {
  margin-top: 56px;
  display: grid;

  /* ✅ Desktop: 3 services per row (best visual balance for 6 items) */
  grid-template-columns: repeat(3, 1fr);

  gap: 28px;
}

/* SERVICE CARD */
#services .card {
  padding: 26px 24px;
  border-radius: 18px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.05),
      rgba(255,255,255,0.02)
    );

  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4);

  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* HOVER EFFECT (SUBTLE, PROFESSIONAL) */
#services .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 36px 80px rgba(0,0,0,0.55);
}

/* TEXT */
#services .card h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #ffffff;
}

#services .card p {
  font-size: 14px;
  line-height: 1.6;
  color: #9db0c7;
}

/* ======================================================
   RESPONSIVE
====================================================== */

/* Tablet: 2 × 3 */
@media (max-width: 1100px) {
  #services .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile: 1 × 6 */
@media (max-width: 640px) {
  #services .cards {
    grid-template-columns: 1fr;
  }
}
/* ======================================================
   RESPONSIVE
====================================================== */

@media (max-width: 900px) {
  .page {
    padding-top: 60px;
  }

  .cards {
    grid-template-columns: 1fr;
  }
}






/* ======================================================
   LIGHT MODE – CONTRAST & READABILITY FIX ✅
====================================================== */

html:not(.dark) {
  --light-text-main: #0f172a;   /* headings */
  --light-text-body: #334155;   /* paragraphs */
  --light-text-muted: #475569;  /* secondary text */
  --light-border: #e2e8f0;
}

/* ================= HERO ================= */

html:not(.dark) .hero-content h1,
html:not(.dark) .hero h1 {
  color: var(--light-text-main);
}

html:not(.dark) .hero-content p,
html:not(.dark) .hero p {
  color: var(--light-text-body);
}

/* ================= NAV ================= */

html:not(.dark) .nav-link {
  color: var(--light-text-main);
}

html:not(.dark) .nav-link.danger {
  color: #dc2626;
}

/* ================= BUTTONS ================= */

html:not(.dark) .btn-primary {
  background: linear-gradient(180deg, #2563eb, #1d4ed8);
  color: #ffffff;
}

html:not(.dark) .btn-outline {
  border-color: #2563eb;
  color: #2563eb;
}

html:not(.dark) .btn-outline:hover {
  background: rgba(37, 99, 235, 0.08);
}

/* ================= SERVICES ================= */

html:not(.dark) #services .section-head h2 {
  color: var(--light-text-main);
}

html:not(.dark) #services .section-head p {
  color: var(--light-text-muted);
}

html:not(.dark) #services .card {
  background: #ffffff;
  border: 1px solid var(--light-border);
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

html:not(.dark) #services .card h3 {
  color: var(--light-text-main);
}

html:not(.dark) #services .card p {
  color: var(--light-text-body);
}

/* ================= PRICING ================= */

html:not(.dark) .pricing .section-head h2 {
  color: var(--light-text-main);
}

html:not(.dark) .pricing .section-head p {
  color: var(--light-text-muted);
}

html:not(.dark) .price-card {
  background: #ffffff;
  border: 1px solid var(--light-border);
  box-shadow: 0 26px 60px rgba(0,0,0,0.1);
}

html:not(.dark) .plan-name {
  color: var(--light-text-main);
}

html:not(.dark) .price .amount {
  color: #2563eb;
}

html:not(.dark) .plan-features li {
  color: var(--light-text-body);
}

/* Highlighted plan in light mode */
html:not(.dark) .price-card:nth-child(2) {
  border-color: rgba(37,99,235,0.6);
  background:
    radial-gradient(
      420px 140px at 20% -20%,
      rgba(37,99,235,0.18),
      transparent 45%
    ),
    #ffffff;
}


/* ======================================================
   TOP NAV – CENTER MENU WITH ICONS (PRO)
====================================================== */

.nav-center {
  display: flex;
  align-items: center;
  gap: 22px;
}

/* Menu links */
.nav-menu {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  font-size: 14px;
  font-weight: 500;
  text-decoration: none;

  color: #cfe0ff;
  opacity: 0.9;

  transition: color 0.2s ease, opacity 0.2s ease;
}

.nav-menu:hover {
  opacity: 1;
  color: #ffffff;
}

/* Small icons */
.nav-icon-small {
  font-size: 14px;
  line-height: 1;
  opacity: 0.85;
}

/* ================= LIGHT MODE ================= */

html:not(.dark) .nav-menu {
  color: #0f172a;
  opacity: 0.8;
}

html:not(.dark) .nav-menu:hover {
  color: #2563eb;
  opacity: 1;
}

html:not(.dark) .nav-icon-small {
  opacity: 0.7;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 900px) {
  .nav-center {
    display: none; /* hide center menu on mobile */
  }
}


/* ======================================================
   RTL SUPPORT – GLOBAL FIXES
====================================================== */

/* ======================================================
   ABOUT PAGE – PROFESSIONAL LAYOUT & CONTRAST
====================================================== */

/* ---------- PAGE HERO ---------- */
.page-hero {
  padding: 80px 0 60px;
}

.page-hero h1 {
  font-size: 46px;
  font-weight: 900;
  letter-spacing: -0.6px;
  margin-bottom: 12px;
}

.page-hero p {
  max-width: 620px;
  font-size: 17px;
  line-height: 1.7;
  color: #9db0c7;
}

/* ---------- TWO COLUMN SECTION ---------- */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  margin-top: 60px;
}

/* ---------- CARDS (ABOUT) ---------- */
.section .card {
  padding: 28px;
  border-radius: 20px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.02)
    );

  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}

.section .card h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.section .card p {
  font-size: 15px;
  line-height: 1.65;
  color: #9db0c7;
}

/* ---------- SECOND ROW CARDS ---------- */
.cards.mt-18 {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* ======================================================
   LIGHT MODE – CONTRAST FIX (IMPORTANT ✅)
====================================================== */

html:not(.dark) .page-hero h1 {
  color: #0f172a;
}

html:not(.dark) .page-hero p {
  color: #334155;
}

html:not(.dark) .section .card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 24px 50px rgba(0,0,0,0.08);
}

html:not(.dark) .section .card h3 {
  color: #0f172a;
}

html:not(.dark) .section .card p {
  color: #334155;
}

/* ======================================================
   RESPONSIVE
====================================================== */

@media (max-width: 900px) {
  .two-col {
    grid-template-columns: 1fr;
  }

  .cards.mt-18 {
    grid-template-columns: 1fr;
  }
}


/* ======================================================
   ABOUT HERO – SAME SPACING AS HOME
====================================================== */

.page-hero {
  padding-top: 96px;
  padding-bottom: 72px;

  /* keep same background continuity */
  background: transparent;
}

/* Align text exactly like Home hero */
.page-hero .container {
  max-width: 700px; /* THIS fixes the “too wide” look */
  margin: 0;
}

.page-hero h1 {
  font-size: 56px;
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.6px;
}

.page-hero p {
  margin-top: 16px;
  font-size: 17px;
  line-height: 1.7;
}

/* ======================================================
   ABOUT SECTIONS – HOME RHYTHM
====================================================== */

.section {
  padding-top: 72px;
  padding-bottom: 72px;
}

/* Slightly tighten the first two cards so they feel like a feature block */
.two-col .card {
  min-height: 220px;
}

/* ======================================================
   CONTACT PAGE – BEAUTIFUL SAAS FORM
====================================================== */

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  margin-top: 64px;
}

/* Contact cards */
.contact-grid .card {
  padding: 32px;
  border-radius: 20px;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.02)
    );

  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 30px 80px rgba(0,0,0,0.45);
}

.contact-grid .card h3 {
  font-size: 22px;
  font-weight: 800;
  margin-bottom: 12px;
  color: #ffffff;
}

.contact-grid .card p {
  color: #9db0c7;
  line-height: 1.6;
}

.contact-info {
  margin-top: 20px;
}

.contact-info div {
  margin-bottom: 12px;
  font-size: 14px;
  color: #cfe0ff;
}

.contact-info strong {
  font-weight: 600;
}

/* ======================================================
   FORM – CLEAN & MODERN
====================================================== */

.form {
  margin-top: 8px;
}

.form-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}

.form label {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #cfe0ff;
}

/* Input fields */
.form input,
.form textarea {
  padding: 12px 14px;
  border-radius: 12px;

  background: rgba(10,18,36,0.7);
  border: 1px solid rgba(255,255,255,0.15);

  font-size: 14px;
  color: #ffffff;

  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.form textarea {
  resize: vertical;
}

/* Focus state */
.form input:focus,
.form textarea:focus {
  border-color: rgba(59,130,246,0.7);
  box-shadow: 0 0 0 3px rgba(59,130,246,0.25);
}

/* Validation errors */
.err {
  font-size: 12px;
  margin-top: 4px;
  color: #fca5a5;
}

/* Success alert */
.alert-success {
  padding: 12px 14px;
  border-radius: 12px;
  margin-bottom: 16px;

  background: rgba(34,197,94,0.15);
  border: 1px solid rgba(34,197,94,0.35);
  color: #bbf7d0;
}

.form .btn-primary {
  margin-top: 12px;
  padding: 14px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
}

/* ======================================================
   LIGHT MODE – CONTACT PAGE FIX
====================================================== */

html:not(.dark) .contact-grid .card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 26px 50px rgba(0,0,0,0.08);
}

html:not(.dark) .contact-grid .card h3 {
  color: #0f172a;
}

html:not(.dark) .contact-grid .card p,
html:not(.dark) .contact-info div {
  color: #334155;
}

html:not(.dark) .form label {
  color: #0f172a;
}

html:not(.dark) .form input,
html:not(.dark) .form textarea {
  background: #ffffff;
  border: 1px solid #dbeafe;
  color: #0f172a;
}

html:not(.dark) .form input:focus,
html:not(.dark) .form textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.2);
}

@media (max-width: 900px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }
}

/* ======================================================
   WEBSITE FOOTER
====================================================== */

.site-footer {
  margin-top: 120px;
  padding: 64px 0 32px;
  background: rgba(6,16,28,0.9);
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;

  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 60px;
}

/* Brand */
.footer-logo {
  font-size: 22px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 8px;
}

.footer-brand p {
  font-size: 14px;
  line-height: 1.6;
  color: #9db0c7;
  max-width: 340px;
}

/* Links */
.footer-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.footer-links h4 {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 12px;
}

.footer-links a,
.footer-links span {
  display: block;
  font-size: 14px;
  color: #9db0c7;
  margin-bottom: 8px;
}

.footer-links a:hover {
  color: #ffffff;
}

/* Bottom bar */
.footer-bottom {
  margin-top: 40px;
  padding-top: 18px;
  text-align: center;
  font-size: 13px;
  color: #9db0c7;
  border-top: 1px solid rgba(255,255,255,0.08);
}

/* =============== LIGHT MODE ================= */

html:not(.dark) .site-footer {
  background: #ffffff;
  border-top: 1px solid #e2e8f0;
}

html:not(.dark) .footer-logo,
html:not(.dark) .footer-links h4 {
  color: #0f172a;
}

html:not(.dark) .footer-links a,
html:not(.dark) .footer-links span,
html:not(.dark) .footer-brand p,
html:not(.dark) .footer-bottom {
  color: #475569;
}

/* =============== RESPONSIVE ================= */

@media (max-width: 900px) {
  .footer-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-links {
    grid-template-columns: 1fr 1fr;
  }
}