/* ========================================================================== 
   ESPO 2.5.1.71 — Unified site footer
   Makes every page use the approved homepage footer language.
   ========================================================================== */

:root {
  --espo-footer-blue: #0b6da8;
  --espo-footer-gold: #b9953f;
}

.espo-site-footer {
  margin-top: -1px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.016) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
    radial-gradient(circle at 12% 0%, rgba(11,109,168,.085), transparent 30%),
    linear-gradient(135deg, #151b22 0%, #0f1720 55%, #0c141c 100%) !important;
  background-size: 72px 72px, 72px 72px, auto, auto !important;
}

.espo-footer-shell {
  padding-top: 2.8rem !important;
  padding-bottom: 1.4rem !important;
}

.espo-footer-topline {
  display: grid !important;
  grid-template-columns: 1fr 2fr !important;
  width: 64px !important;
  height: 2px;
  margin-bottom: 1.55rem !important;
  direction: ltr;
  opacity: .92;
}
.espo-footer-topline span:nth-child(1) { display: block !important; background: var(--espo-footer-gold) !important; }
.espo-footer-topline span:nth-child(2) { display: block !important; background: var(--espo-footer-blue) !important; }
.espo-footer-topline span:nth-child(3),
.espo-footer-topline span:nth-child(4) { display: none !important; }

.espo-footer-brandrow {
  grid-template-columns: minmax(18rem, .95fr) minmax(0, 1.45fr);
  align-items: start;
  gap: clamp(1.5rem, 3.8vw, 4rem);
  padding-bottom: 1.6rem;
}

.espo-footer-wordmark {
  position: relative;
  width: max-content;
  font-size: 1.5rem;
  font-weight: 760;
}
.espo-footer-wordmark::after {
  background: linear-gradient(90deg, var(--espo-footer-blue), var(--espo-footer-gold)) !important;
}

.espo-footer-brandmark p {
  max-width: 30rem;
  margin-top: .85rem;
  font-size: .78rem;
  line-height: 1.72;
}

.espo-footer-contactline {
  display: grid;
  gap: .95rem;
  justify-items: stretch;
}
.espo-footer-phonegrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
.espo-footer-phonechip {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: .7rem;
  min-height: 3rem;
  padding: .72rem .85rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1rem;
  background: rgba(255,255,255,.03);
  transition: transform .24s ease, border-color .24s ease, background .24s ease, box-shadow .24s ease;
}
.espo-footer-phonechip:hover,
.espo-footer-phonechip:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.055);
  box-shadow: 0 18px 34px rgba(0,0,0,.12);
}
.espo-footer-phonechip .espo-contact-flag {
  box-shadow: 0 0 0 1px rgba(255,255,255,.12);
}
.espo-footer-phonechip__copy {
  display: grid;
  gap: .18rem;
  min-width: 0;
}
.espo-footer-phonechip__copy small {
  display: block;
  color: rgba(255,255,255,.44);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1.2;
}
.espo-footer-phonechip__copy strong {
  display: block;
  color: rgba(255,255,255,.90);
  font-size: .8rem;
  font-weight: 620;
  line-height: 1.35;
  white-space: nowrap;
}

.espo-footer-secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem 1.1rem;
  padding-inline-start: .1rem;
}
.espo-footer-contactitem {
  color: rgba(255,255,255,.68);
  font-size: .74rem;
}
.espo-footer-address { max-width: 30rem; }
.espo-footer-address--oman { align-items:flex-start; text-decoration:none; }
.espo-footer-address--oman span { display:grid; gap:.15rem; }
.espo-footer-address--oman small { color:rgba(255,255,255,.42); font-size:.58rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.espo-footer-address--oman strong { color:rgba(255,255,255,.72); font-size:.7rem; font-weight:500; line-height:1.5; }
.espo-footer-social { gap: .48rem; }
.espo-footer-social a {
  width: 1.95rem;
  height: 1.95rem;
}

.espo-footer-navrow {
  grid-template-columns: minmax(0,1.05fr) minmax(0,1.2fr) minmax(0,.8fr);
  gap: clamp(1.2rem, 2.4vw, 2.7rem);
  padding: 1.35rem 0 1.2rem;
}
.espo-footer-navgroup {
  display: grid;
  grid-template-columns: 5rem minmax(0,1fr);
  gap: .8rem;
}
.espo-footer-navgroup h3 {
  margin-top: .25rem !important;
}
.espo-footer-navgroup ul,
.espo-footer-languages {
  gap: .4rem .85rem !important;
}
.espo-footer-navgroup a,
.espo-footer-language {
  color: rgba(255,255,255,.66) !important;
  font-size: .74rem !important;
}
.espo-footer-navgroup a::after,
.espo-footer-language::after,
.espo-footer-contactline .espo-contact-row::after {
  background: var(--espo-footer-gold) !important;
}
.espo-footer-bottom {
  padding-top: 1rem !important;
}

.espo-footer-bottom__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .9rem;
}
.espo-footer-bottom__legal a {
  color: rgba(255,255,255,.62);
  font-size: .72rem;
  text-decoration: none;
  transition: color .2s ease;
}
.espo-footer-bottom__legal a:hover,
.espo-footer-bottom__legal a:focus-visible {
  color: var(--espo-footer-gold);
}

.espo-footer-bottom__legal .espo-footer-cookie-settings {
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.62);
  font: inherit;
  font-size: .72rem !important;
  cursor: pointer;
  transition: color .2s ease;
}
.espo-footer-bottom__legal .espo-footer-cookie-settings:hover,
.espo-footer-bottom__legal .espo-footer-cookie-settings:focus-visible { color: var(--espo-footer-gold); }

[dir="rtl"] .espo-footer-topline { direction: ltr; }
[dir="rtl"] .espo-footer-navgroup a::after,
[dir="rtl"] .espo-footer-language::after { transform-origin: right; }

@media (max-width: 1100px) {
  .espo-footer-brandrow { grid-template-columns: 1fr; }
  .espo-footer-phonegrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .espo-footer-navrow { grid-template-columns: 1fr 1fr; }
  .espo-footer-navgroup:last-child { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .espo-footer-shell {
    padding-top: 2.2rem !important;
    padding-bottom: 1.15rem !important;
  }
  .espo-footer-phonegrid { grid-template-columns: 1fr; }
  .espo-footer-secondary { align-items: flex-start; }
  .espo-footer-navrow {
    grid-template-columns: 1fr;
    gap: .95rem;
  }
  .espo-footer-navgroup,
  .espo-footer-navgroup:last-child {
    grid-column: auto;
    grid-template-columns: 5.15rem minmax(0,1fr);
  }
  .espo-footer-address { max-width: none; }
}

@media (max-width: 430px) {
  .espo-footer-navgroup {
    grid-template-columns: 1fr;
    gap: .38rem;
  }
  .espo-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: .45rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .espo-footer-phonechip,
  .espo-footer-social a,
  .espo-footer-navgroup a,
  .espo-footer-language {
    transition: none !important;
  }
}
