/* =================================================================
   Site footer — brand block, link columns and copyright bar.
   Phones: centred brand block on top, three compact link columns
   below it. Tablets: two columns. Laptops: brand + three columns.
   ================================================================= */

.site-footer {
  position: relative;
  overflow: hidden;
  padding-top: 16rem;   /* room for the CTA panel that overlaps the footer's top edge */
  background: linear-gradient(160deg, var(--color-navy) 0%, var(--color-navy-dark) 100%);
}

/* Ambient glows */
.site-footer::before,
.site-footer::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.site-footer::before {
  top: 6rem;
  inset-inline-end: -10rem;
  width: 44rem;
  height: 44rem;
  background: radial-gradient(circle, rgba(157, 40, 98, 0.13) 0%, transparent 68%);
}

.site-footer::after {
  bottom: 4rem;
  inset-inline-start: -14rem;
  width: 48rem;
  height: 48rem;
  background: radial-gradient(circle, rgba(46, 40, 99, 0.38) 0%, transparent 68%);
}

.site-footer__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;   /* middle column is wider for longer Arabic links */
  gap: 0;
  padding-bottom: 3.2rem;
}

/* Gradient separator above the copyright bar */
.site-footer__grid::after {
  content: '';
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.12) 15%, rgba(157, 40, 98, 0.5) 50%, rgba(255, 255, 255, 0.12) 85%, transparent 100%);
}

/* ── Brand block ── */

.site-footer__brand {
  position: relative;
  grid-column: 1 / -1;
  padding: 0 1.6rem 3.2rem;
  text-align: center;
}

.site-footer__brand::after {
  content: '';
  position: absolute;
  bottom: 0;
  inset-inline: 6%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(157, 40, 98, 0.45) 22%, rgba(230, 98, 139, 0.72) 50%, rgba(157, 40, 98, 0.45) 78%, transparent);
}

.site-footer__logo-image {
  display: block;
  width: auto;
  height: 7.6rem;
  margin-inline: auto;
  margin-bottom: 1.8rem;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.site-footer__about {
  max-width: 36ch;
  margin-inline: auto;
  margin-bottom: 2.2rem;
  font-size: 1.3rem;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.58);
}

.site-footer__social {
  display: flex;
  justify-content: center;
  gap: 1.2rem;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.62);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.site-footer__social-link:hover {
  background: var(--gradient-glow);
  border-color: transparent;
  color: var(--color-white);
  box-shadow: 0 6px 24px rgba(157, 40, 98, 0.42);
  transform: translateY(-2px);
}

/* ── Link columns ── */

.site-footer__column {
  position: relative;
  padding: 2.8rem 0.7rem;
  text-align: center;
}

/* Faint vertical divider between neighbouring columns */
.site-footer__column + .site-footer__column::before {
  content: '';
  position: absolute;
  inset-block: 2.2rem;
  inset-inline-start: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.1) 28%, rgba(255, 255, 255, 0.1) 72%, transparent);
}

.site-footer__heading {
  position: relative;
  margin-bottom: 1.4rem;
  padding-bottom: 0.9rem;
  font-size: 1.15rem;
  font-weight: var(--font-weight-black);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--color-white);
}

.site-footer__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.site-footer__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.55);
  transition: color 0.22s ease, padding-inline-start 0.22s ease;
}

.site-footer__link:hover { color: var(--color-white); padding-inline-start: 0.3rem; }

/* Phone number: kept as one left-to-right run */
.site-footer__link--phone { display: inline-block; }

/* ── Copyright bar ── */

.site-footer__bar {
  position: relative;
  z-index: 1;
  padding: 2.8rem var(--page-gutter);
  text-align: center;
}

.site-footer__copyright {
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.32);
}

/* ─────────────────────────── Tablets up ─────────────────────────── */

@media (min-width: 769px) {
  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
    padding-bottom: 4.8rem;
  }

  .site-footer__brand {
    position: static;
    grid-column: auto;
    padding: 0;
    text-align: start;
  }
  .site-footer__brand::after { content: none; }

  .site-footer__logo-image {
    height: 8rem;
    margin-inline: 0;
    margin-bottom: 2rem;
  }

  .site-footer__about {
    max-width: 32ch;
    margin-inline: 0;
    margin-bottom: 2.4rem;
    font-size: 1.42rem;
    line-height: 2;
  }

  .site-footer__social { justify-content: normal; gap: 1rem; }

  .site-footer__social-link { width: 4rem; height: 4rem; }

  .site-footer__column {
    position: static;
    padding: 0;
    text-align: start;
  }
  .site-footer__column + .site-footer__column::before { content: none; }

  .site-footer__heading {
    margin-bottom: 2rem;
    padding-bottom: 1.2rem;
    font-size: 1.35rem;
    letter-spacing: 0.12em;
  }

  /* Short accent underline */
  .site-footer__heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    inset-inline-start: 0;
    width: 2.4rem;
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--color-brand) 0%, var(--color-brand-accent) 100%);
  }

  .site-footer__links { align-items: normal; gap: 0.9rem; }

  .site-footer__link {
    justify-content: normal;
    gap: 0.7rem;
    font-size: 1.4rem;
  }

  /* Dot marker before each link */
  .site-footer__link::before {
    content: '';
    flex-shrink: 0;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--color-brand-accent);
    transition: background 0.22s ease, transform 0.22s ease;
  }
  .site-footer__link:hover::before { background: var(--color-white); transform: scale(1.4); }
}

@media (min-width: 992px) {
  .site-footer__grid {
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: 4rem;
  }
}
