/*
 * ESPO 2.5.1.63 — Refined luxury header
 * Preserves the approved 2.5.1.61 header structure, navigation and Home link.
 */

:root {
  --espo-header-ivory: #fbfaf6;
  --espo-header-ink: #101a24;
  --espo-header-blue: #0b6da8;
  --espo-header-gold: #c9a84f;
  --espo-header-line: rgba(16, 26, 36, .095);
  --espo-header-shadow: 0 18px 48px rgba(18, 27, 36, .095), inset 0 1px 0 rgba(255,255,255,.94);
}

/* Floating shell — same composition, more polished material and colour balance. */
.site-header.espo-floating-header .espo-header-shell {
  isolation: isolate;
  border-color: var(--espo-header-line) !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(11,109,168,.045), transparent 30%),
    radial-gradient(circle at 90% 100%, rgba(201,168,79,.045), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(251,250,246,.89)) !important;
  box-shadow: var(--espo-header-shadow) !important;
  backdrop-filter: blur(22px) saturate(132%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(132%) !important;
}
.site-header.espo-floating-header .espo-header-shell::before {
  background: linear-gradient(108deg, transparent 25%, rgba(255,255,255,.62) 47%, transparent 68%) !important;
  opacity: 0;
}
.site-header.espo-floating-header .espo-header-shell::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -1px;
  left: 50%;
  width: clamp(92px, 10vw, 144px);
  height: 2px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg,
    #d3b555 0 25%,
    #0b6da8 25% 50%,
    #c85c55 50% 75%,
    #4f8066 75% 100%);
  opacity: .62;
  transform: translateX(-50%);
  box-shadow: 0 3px 12px rgba(11,109,168,.08);
  pointer-events: none;
}
.site-header.espo-floating-header.is-scrolled .espo-header-shell {
  border-radius: 18px !important;
  background: rgba(253,252,248,.96) !important;
  box-shadow: 0 20px 54px rgba(18,27,36,.12), inset 0 1px 0 rgba(255,255,255,.96) !important;
}

/* Brand treatment — retain the approved logo, add a quiet premium hover. */
.site-header.espo-floating-header .espo-header-brand {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  border-radius: 12px;
}
.site-header.espo-floating-header .espo-header-brand::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  width: 32px;
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--espo-header-gold), transparent);
  opacity: 0;
  transform: translateX(-50%) scaleX(.35);
  transition: opacity .25s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.site-header.espo-floating-header .espo-header-brand:hover::after,
.site-header.espo-floating-header .espo-header-brand:focus-visible::after {
  opacity: .82;
  transform: translateX(-50%) scaleX(1);
}

/* Navigation — preserve every link, including Home. */
.site-header.espo-floating-header .espo-primary-nav {
  position: relative;
  padding: .28rem .38rem;
  border: 1px solid rgba(16,26,36,.055);
  border-radius: 999px;
  background: rgba(255,255,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.site-header.espo-floating-header .espo-primary-nav > a,
.site-header.espo-floating-header .espo-services-menu > a {
  min-height: 38px;
  padding: .65rem .72rem !important;
  border-radius: 999px;
  color: rgba(16,26,36,.76) !important;
  font-weight: 590 !important;
  transition: color .24s ease, background-color .24s ease, transform .24s cubic-bezier(.22,1,.36,1), box-shadow .24s ease !important;
}
.site-header.espo-floating-header .espo-primary-nav > a::after,
.site-header.espo-floating-header .espo-services-menu > a::after {
  bottom: 3px !important;
  width: 19px !important;
  height: 1.5px !important;
  background: linear-gradient(90deg, var(--espo-header-blue), var(--espo-header-gold)) !important;
}
.site-header.espo-floating-header .espo-primary-nav > a:hover,
.site-header.espo-floating-header .espo-services-menu > a:hover {
  color: var(--espo-header-ink) !important;
  background: rgba(255,255,255,.70);
  box-shadow: 0 5px 16px rgba(18,27,36,.045);
  transform: translateY(-1px);
}
.site-header.espo-floating-header .espo-primary-nav > a.text-espo-blue,
.site-header.espo-floating-header .espo-services-menu > a.text-espo-blue {
  color: var(--espo-header-blue) !important;
  background: rgba(255,255,255,.88);
  box-shadow: 0 6px 18px rgba(18,27,36,.055), inset 0 0 0 1px rgba(11,109,168,.08);
}

/* Services dropdown — cleaner, calmer, still recognisably ESPO. */
.site-header.espo-floating-header .espo-services-dropdown {
  top: calc(100% + 15px) !important;
  padding: .55rem !important;
  border: 1px solid rgba(16,26,36,.09) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,250,246,.97)) !important;
  box-shadow: 0 28px 72px rgba(18,27,36,.15), inset 0 1px 0 rgba(255,255,255,.95) !important;
  backdrop-filter: blur(20px) saturate(125%);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
}
.site-header.espo-floating-header .espo-services-dropdown::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.1rem;
  right: 1.1rem;
  height: 2px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--espo-header-blue), var(--espo-header-gold));
  opacity: .65;
}
.site-header.espo-floating-header .espo-services-dropdown a {
  border-radius: 12px !important;
  border: 1px solid transparent;
  transition: transform .24s cubic-bezier(.22,1,.36,1), background-color .24s ease, border-color .24s ease !important;
}
.site-header.espo-floating-header .espo-services-dropdown a:hover,
.site-header.espo-floating-header .espo-services-dropdown a:focus-visible {
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(16,26,36,.07);
  transform: translateX(3px);
}
html[dir="rtl"] .site-header.espo-floating-header .espo-services-dropdown a:hover,
html[dir="rtl"] .site-header.espo-floating-header .espo-services-dropdown a:focus-visible {
  transform: translateX(-3px);
}

/* Utilities and primary actions. */
.site-header.espo-floating-header .espo-header-utilities {
  gap: .48rem !important;
}
.site-header.espo-floating-header .espo-search-toggle {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(16,26,36,.085) !important;
  border-radius: 13px !important;
  color: rgba(16,26,36,.72);
  background: rgba(255,255,255,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.site-header.espo-floating-header .espo-search-toggle:hover,
.site-header.espo-floating-header .espo-search-toggle[aria-expanded="true"] {
  color: #fff !important;
  border-color: var(--espo-header-ink) !important;
  background: var(--espo-header-ink) !important;
  box-shadow: 0 10px 24px rgba(16,26,36,.16) !important;
}
.site-header.espo-floating-header .espo-btn {
  min-height: 42px !important;
  padding: .76rem 1.08rem !important;
  border-radius: 13px !important;
  font-weight: 690 !important;
  letter-spacing: -.005em !important;
}
.site-header.espo-floating-header .espo-header-discuss {
  color: #fff !important;
  border: 1px solid rgba(11,109,168,.28) !important;
  background: linear-gradient(135deg, #13202c 0%, #0d1822 100%) !important;
  box-shadow: 0 9px 22px rgba(16,26,36,.12) !important;
}
.site-header.espo-floating-header .espo-header-discuss:hover,
.site-header.espo-floating-header .espo-header-discuss:focus-visible {
  border-color: rgba(11,109,168,.52) !important;
  background: linear-gradient(135deg, #0b6da8 0%, #095884 100%) !important;
  box-shadow: 0 13px 30px rgba(11,109,168,.20) !important;
}
.site-header.espo-floating-header .espo-header-ohec {
  color: #302919 !important;
  border: 1px solid rgba(201,168,79,.36) !important;
  background: linear-gradient(135deg, #fff8dc 0%, #f4df92 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 20px rgba(201,168,79,.10) !important;
}
.site-header.espo-floating-header .espo-header-ohec:hover,
.site-header.espo-floating-header .espo-header-ohec:focus-visible {
  color: #1f1a0f !important;
  border-color: rgba(201,168,79,.58) !important;
  background: linear-gradient(135deg, #f8e5a2 0%, #d9b85b 100%) !important;
  box-shadow: 0 13px 28px rgba(201,168,79,.19) !important;
}

/* Luxury language switcher: ivory capsule, gold detail, restrained colour cues. */
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__brand-ring,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__brand-ring {
  display: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__toggle,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
  position: relative !important;
  min-width: 78px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  gap: 7px !important;
  border: 1px solid rgba(201,168,79,.24) !important;
  border-radius: 13px !important;
  color: var(--espo-header-ink) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(250,247,238,.88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 7px 18px rgba(18,27,36,.05) !important;
  overflow: hidden !important;
  transform: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__toggle::before,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::before {
  content: "" !important;
  position: absolute !important;
  inset: auto 12px 0 !important;
  height: 1px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, var(--espo-header-gold), transparent) !important;
  opacity: .65 !important;
  transform: scaleX(.45) !important;
  -webkit-mask: none !important;
  mask: none !important;
  transition: transform .32s cubic-bezier(.22,1,.36,1), opacity .24s ease !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__toggle::after,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle::after {
  display: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__toggle:hover,
.site-header.espo-floating-header .espo-language-dropdown--header.is-open .espo-language-dropdown__toggle,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle {
  border-color: rgba(201,168,79,.48) !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(18,27,36,.10), inset 0 1px 0 rgba(255,255,255,.98) !important;
  transform: translateY(-1px) !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__toggle:hover::before,
.site-header.espo-floating-header .espo-language-dropdown--header.is-open .espo-language-dropdown__toggle::before,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle:hover::before,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header.is-open .espo-language-dropdown__toggle::before {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}
.site-header.espo-floating-header .espo-language-dropdown__globe {
  color: var(--espo-header-blue) !important;
  stroke-width: 1.55 !important;
  transform: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown__code {
  color: rgba(16,26,36,.82) !important;
  font-weight: 720 !important;
  letter-spacing: .10em !important;
}
.site-header.espo-floating-header .espo-language-dropdown__chevron {
  color: rgba(16,26,36,.48) !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__menu,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__menu {
  width: 184px !important;
  padding: 9px !important;
  border: 1px solid rgba(16,26,36,.09) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(251,250,246,.98)) !important;
  box-shadow: 0 28px 72px rgba(18,27,36,.16), inset 0 1px 0 rgba(255,255,255,.96) !important;
  backdrop-filter: blur(22px) saturate(125%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(125%) !important;
  overflow: hidden !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__menu::before,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__menu::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 20px !important;
  right: 20px !important;
  width: auto !important;
  height: 2px !important;
  border: 0 !important;
  border-radius: 0 0 999px 999px !important;
  background: linear-gradient(90deg, #d3b555 0 25%, #0b6da8 25% 50%, #c85c55 50% 75%, #4f8066 75% 100%) !important;
  opacity: .62 !important;
  transform: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__item,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__item {
  min-height: 40px !important;
  margin: 2px 0 !important;
  padding-inline: 13px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  background: transparent !important;
  transform: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__item::before,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__item::before {
  display: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__item::after,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__item::after {
  position: static !important;
  order: -1;
  flex: 0 0 7px;
  width: 7px !important;
  height: 7px !important;
  margin-inline-end: 9px;
  border-radius: 50% !important;
  background: var(--espo-language-accent) !important;
  box-shadow: 0 0 0 3px rgba(var(--espo-language-rgb),.08) !important;
  transform: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__item:hover,
.site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__item:focus-visible,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__item:hover,
.site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__item:focus-visible {
  border-color: rgba(16,26,36,.065) !important;
  background: rgba(255,255,255,.82) !important;
  transform: translateX(2px) !important;
}
html[dir="rtl"] .site-header.espo-floating-header .espo-language-dropdown__item:hover,
html[dir="rtl"] .site-header.espo-floating-header .espo-language-dropdown__item:focus-visible {
  transform: translateX(-2px) !important;
}
.site-header.espo-floating-header .espo-language-dropdown__item.is-current {
  color: var(--espo-header-ink) !important;
  border-color: rgba(201,168,79,.16) !important;
  background: linear-gradient(90deg, rgba(201,168,79,.10), rgba(255,255,255,.82)) !important;
  transform: none !important;
}
.site-header.espo-floating-header .espo-language-dropdown__status {
  color: var(--espo-header-gold) !important;
}

/* Mobile/tablet — same visual identity, no structural changes. */
@media (max-width: 1023px) {
  .site-header.espo-floating-header .espo-header-shell {
    border-radius: 17px !important;
    background: rgba(253,252,248,.95) !important;
    box-shadow: 0 14px 38px rgba(18,27,36,.10), inset 0 1px 0 rgba(255,255,255,.96) !important;
  }
  .site-header.espo-floating-header .espo-mobile-toggle {
    border-color: rgba(16,26,36,.085) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.70) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
  }
  .site-header.espo-floating-header .espo-mobile-toggle:hover,
  .site-header.espo-floating-header .espo-mobile-toggle.is-open {
    color: #fff;
    border-color: var(--espo-header-ink) !important;
    background: var(--espo-header-ink) !important;
    box-shadow: 0 10px 24px rgba(16,26,36,.16);
  }
  .site-header.espo-floating-header .espo-language-dropdown--mobile-header .espo-language-dropdown__toggle {
    min-width: 70px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
  .site-header.espo-floating-header .espo-mobile-menu {
    border-color: rgba(16,26,36,.09) !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(11,109,168,.04), transparent 30%),
      linear-gradient(180deg, rgba(255,255,255,.99), rgba(251,250,246,.98)) !important;
    box-shadow: 0 28px 72px rgba(18,27,36,.16), inset 0 1px 0 rgba(255,255,255,.96) !important;
  }
  .site-header.espo-floating-header .espo-mobile-menu > div > a {
    border-color: rgba(16,26,36,.07) !important;
    transition: color .22s ease, padding-inline-start .28s cubic-bezier(.22,1,.36,1), background-color .22s ease;
  }
  .site-header.espo-floating-header .espo-mobile-menu > div > a:hover,
  .site-header.espo-floating-header .espo-mobile-menu > div > a:focus-visible {
    color: var(--espo-header-blue) !important;
    padding-inline-start: .5rem;
    background: rgba(255,255,255,.58);
  }
  .site-header.espo-floating-header .espo-mobile-menu .espo-header-discuss,
  .site-header.espo-floating-header .espo-mobile-menu .espo-header-ohec {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 1240px) and (min-width: 1024px) {
  .site-header.espo-floating-header .espo-primary-nav {
    padding-inline: .25rem;
  }
  .site-header.espo-floating-header .espo-primary-nav > a,
  .site-header.espo-floating-header .espo-services-menu > a {
    padding-inline: .46rem !important;
  }
  .site-header.espo-floating-header .espo-header-utilities {
    gap: .34rem !important;
  }
  .site-header.espo-floating-header .espo-btn {
    padding-inline: .82rem !important;
  }
  .site-header.espo-floating-header .espo-language-dropdown--header .espo-language-dropdown__toggle {
    min-width: 72px !important;
    padding-inline: 10px !important;
  }
}

html[dir="rtl"] .site-header.espo-floating-header .espo-language-dropdown__menu::before {
  left: 20px !important;
  right: 20px !important;
}

@media (prefers-reduced-motion: reduce) {
  .site-header.espo-floating-header *,
  .site-header.espo-floating-header *::before,
  .site-header.espo-floating-header *::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}
