@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap");

html, body { font-family: Cairo, Tahoma, sans-serif !important; }
html[dir="rtl"] body { font-family: Cairo, Tahoma, sans-serif !important; }

/* Hero: drop stock purple, soft navy mist */
.banner-section,
.hero-section,
.banner-1,
section.banner,
.hero-1 {
  background:
    radial-gradient(900px 420px at 85% -8%, rgba(37,99,235,.16), transparent 55%),
    linear-gradient(180deg, #f7f9fc 0%, #eef3fa 58%, #ffffff 100%) !important;
}
.banner-section h1, .banner-section h2, .hero-section h1, .hero-section h2,
.banner-1 h1, .banner-1 h2 {
  letter-spacing: -.02em !important;
  line-height: 1.25 !important;
  color: #0f2744 !important;
}
.banner-section p, .hero-section p, .banner-1 p {
  color: #3d4f66 !important;
  line-height: 1.85 !important;
}

/* CTA */
.theme-btn, a.theme-btn, .banner-section .theme-btn {
  background: #1e4db7 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 28px rgba(30,77,183,.28) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
.theme-btn:hover, a.theme-btn:hover {
  background: #163f96 !important;
  transform: translateY(-1px);
}

/* Header glass */
header#header-sticky.header-1 {
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(15,39,68,.06) !important;
}

/* Feature cards */
.feature-card, .features-card, .single-feature, .feature-item, .why-choose-item {
  border-radius: 18px !important;
  border: 1px solid rgba(15,39,68,.06) !important;
  box-shadow: 0 10px 30px rgba(15,39,68,.05) !important;
  background: #fff !important;
}

/* Footer: deep navy instead of template blue */
.footer-section, footer.footer, .footer-1, .footer-wrapper, .footer-area {
  background: #0c2340 !important;
  color: #d7e3f4 !important;
}
.footer-section h3, .footer-section h4, .footer-1 h3, .footer-1 h4,
.footer-widget-title, .footer-widget h4, .footer-widget h3 {
  color: #fff !important;
  font-weight: 800 !important;
}
.footer-section a, .footer-1 a, .footer-widget a { color: #d7e3f4 !important; }
.footer-section p, .footer-1 p { color: #b9c9de !important; }

/* Offcanvas = same language as header: close left, logo right */
.offcanvas__info {
  background: #fff !important;
  box-shadow: -12px 0 40px rgba(15,39,68,.18) !important;
}
.offcanvas__top, .offcanvas__content > .offcanvas__top {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 64px !important;
  padding: 10px 12px !important;
  border-bottom: 1px solid rgba(15,39,68,.06);
}
.offcanvas__close { order: 1 !important; margin: 0 !important; }
.offcanvas__logo { order: 9 !important; margin-inline-start: auto !important; }
.offcanvas__logo img { height: 32px !important; width: auto !important; }

/* Gold hairline under hero title */
.banner-section h1::after, .hero-section h1::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 14px auto 0;
  border-radius: 99px;
  background: linear-gradient(90deg, #c9a227, #ead48a);
}

/* ===== Ribal polish 2 ===== */
header#header-sticky.header-1 {
  border-bottom: 0 !important;
}
header#header-sticky.header-1::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #1e4db7 25%, #c9a227 50%, #1e4db7 75%, transparent);
  pointer-events: none;
}

.banner-section, .hero-section, .banner-1, section.banner {
  position: relative !important;
  overflow: hidden !important;
}
.banner-section::before, .hero-section::before, .banner-1::before {
  content: "";
  position: absolute;
  width: 320px; height: 320px;
  top: 40px; inset-inline-end: -90px;
  background: radial-gradient(circle, rgba(37,99,235,.20), transparent 68%);
  pointer-events: none;
  z-index: 0;
}
.banner-section::after, .hero-section::after, .banner-1::after {
  content: "";
  position: absolute;
  width: 220px; height: 220px;
  bottom: 80px; inset-inline-start: -70px;
  background: radial-gradient(circle, rgba(201,162,39,.16), transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.banner-section .container, .hero-section .container, .banner-1 .container {
  position: relative; z-index: 1;
}

.banner-section h6, .hero-section h6, .banner-1 h6,
.banner-content h6, .banner-section .sub-title, .hero-section .sub-title {
  display: inline-block !important;
  background: rgba(30,77,183,.08) !important;
  color: #1e4db7 !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 14px !important;
  border: 1px solid rgba(30,77,183,.12);
}

.banner-section h1::after, .hero-section h1::after, .banner-1 h1::after {
  width: 88px !important;
  height: 4px !important;
  margin-top: 16px !important;
  background: linear-gradient(90deg, #b8922a, #f0d789, #b8922a) !important;
}

.theme-btn, a.theme-btn {
  position: relative !important;
  overflow: hidden !important;
}
.theme-btn::after, a.theme-btn::after {
  content: "";
  position: absolute;
  top: 0; right: -40%;
  width: 40%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transform: skewX(-18deg);
  animation: ribalShine 3.6s ease-in-out infinite;
}
@keyframes ribalShine {
  0% { right: -40%; }
  55%,100% { right: 120%; }
}

.banner-section img, .hero-section img, .banner-1 img,
.banner-image img, .hero-thumb img {
  filter: drop-shadow(0 22px 40px rgba(15,39,68,.18));
  animation: ribalFloat 6.5s ease-in-out infinite;
}
@keyframes ribalFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

.feature-card, .features-card, .single-feature, .feature-item, .why-choose-item,
.feature-box, .choose-item {
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.feature-card:hover, .single-feature:hover, .feature-item:hover, .feature-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(15,39,68,.10) !important;
}
