/*
 * E House Movers - site chrome (header + footer)
 *
 * Ported from 'Custom CSS and JS' snippets 48967 (header) and 48989 (footer).
 * The plugin serves its files wrapped in style tags and HTML comments; those
 * wrappers are stripped here so this is valid CSS.
 *
 * Loaded site-wide from functions.php. Must NOT live in shared-sections.css,
 * which only loads on the static page templates.
 */

/* ============================ HEADER ============================ */

.eh-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #fff;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
}

.eh-header-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}

/* Left */
.eh-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.eh-hdr-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: #25d366;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.25s ease;
}

.eh-hdr-wa:hover {
  background: #1fb855;
  transform: translateY(-1px);
}

.eh-hdr-wa svg { flex-shrink: 0; }

.eh-hdr-call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #90191c;
  color: #fff;
  padding: 8px 16px;
  border-radius: 8px;
  text-decoration: none;
  font-family: 'SF Pro Regular', sans-serif;
  font-size: 13px;
  font-weight: 600;
  transition: all 0.25s ease;
}

.eh-hdr-call:hover {
  background: #7a1518;
  color: #fff;
  transform: translateY(-1px);
}

.eh-hdr-call svg { flex-shrink: 0; }

/* Center Logo */
.eh-header-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.eh-header-logo img {
  height: 52px;
  width: auto;
  display: block;
}

/* Right */
.eh-header-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

.eh-hdr-cta {
  display: inline-flex;
  align-items: center;
  background: #90191c;
  color: #fff;
  padding: 9px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-family: 'LemonmilkReg', sans-serif;
  font-size: 11px;
  letter-spacing: 0.5px;
  transition: all 0.25s ease;
  border: 1.5px solid #90191c;
}

.eh-hdr-cta:hover {
  background: #7a1518;
  border-color: #7a1518;
  color: #fff;
  transform: translateY(-1px);
}

.eh-hdr-lang {
  display: flex;
  align-items: center;
}

/* ===== Hamburger — premium, Astra-proof (triple-class beats Astra !important) ===== */
.eh-hamburger.eh-hamburger.eh-hamburger {
  box-sizing: border-box !important;
  width: 46px !important;
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  outline: none !important;
  min-width: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 10001 !important;
  -webkit-appearance: none !important;
          appearance: none !important;
  background-color: transparent !important;
  background-image: linear-gradient(#1f1f1f, #1f1f1f) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 2px !important;
  transition: background-color 0.35s ease !important;
}

.eh-hamburger.eh-hamburger::before,
.eh-hamburger.eh-hamburger::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  width: 22px !important;
  height: 2px !important;
  background: #1f1f1f !important;
  border-radius: 2px !important;
  transform: translateX(-50%) !important;
  transition: top 0.4s cubic-bezier(0.23, 1, 0.32, 1),
              transform 0.4s cubic-bezier(0.23, 1, 0.32, 1),
              background 0.3s ease !important;
}

.eh-hamburger.eh-hamburger::before { top: 16px !important; }
.eh-hamburger.eh-hamburger::after  { top: 30px !important; }

.eh-hamburger.eh-hamburger.eh-hamburger:hover {
  background-color: rgba(144, 25, 28, 0.08) !important;
  background-image: linear-gradient(#90191c, #90191c) !important;
  transform: none !important;
}
.eh-hamburger.eh-hamburger:hover::before,
.eh-hamburger.eh-hamburger:hover::after { background: #90191c !important; }

.eh-hamburger.eh-hamburger.is-open {
  background-image: none !important;
  background-color: rgba(144, 25, 28, 0.08) !important;
}
.eh-hamburger.eh-hamburger.is-open::before {
  top: 22px !important;
  transform: translateX(-50%) rotate(45deg) !important;
}
.eh-hamburger.eh-hamburger.is-open::after {
  top: 22px !important;
  transform: translateX(-50%) rotate(-45deg) !important;
}

/* Mega Menu Overlay */
.eh-mega-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  backdrop-filter: blur(4px);
}

.eh-mega-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

/* Mega Menu Panel */
.eh-mega {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 860px;
  height: 100vh;
  background: #90191c;
  z-index: 10000;
  transform: translateX(100%);
  transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.eh-mega.is-open {
  transform: translateX(0);
}

/* Mega Header */
.eh-mega-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  flex-shrink: 0;
}

.eh-mega-logo img {
  height: 44px;
  filter: brightness(0) invert(1);
}

/* Close button */
.eh-mega-close {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 2px solid #fff;
  border-radius: 8px;
  cursor: pointer;
  font-size: 24px;
  color: #fff;
  font-weight: 300;
  line-height: 1;
  transition: all 0.25s ease;
  font-family: Arial, sans-serif;
}

.eh-mega-close:hover {
  background: rgba(255,255,255,0.15);
}

/* Mega Body */
.eh-mega-body {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  padding: 40px;
  flex: 1;
}

.eh-mega-col {
  padding-right: 30px;
}

.eh-mega-col:last-child {
  padding-right: 0;
}

.eh-mega-col-title {
  font-family: 'LemonmilkReg', sans-serif;
  font-size: 12px;
  color: #c9a656;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(201,166,86,0.3);
}

.eh-mega-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  font-family: 'LemonmilkReg', sans-serif;
  font-size: 14px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: all 0.25s ease;
}

.eh-mega-link:hover {
  color: #fff;
  padding-left: 8px;
}

.eh-mega-link:hover .eh-mega-link-arrow {
  opacity: 1;
  transform: translateX(0);
}

.eh-mega-link-arrow {
  margin-left: auto;
  opacity: 0;
  transform: translateX(-8px);
  transition: all 0.25s ease;
  flex-shrink: 0;
}

/* Contact block */
.eh-mega-contact {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.eh-mega-contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  font-size: 14px;
  font-family: 'LemonmilkReg', sans-serif;
  transition: color 0.25s ease;
}

.eh-mega-contact-item:hover {
  color: #fff;
}

.eh-mega-contact-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.eh-mega-contact-icon.phone { background: rgba(255,255,255,0.12); }
.eh-mega-contact-icon.email { background: rgba(255,255,255,0.12); }
.eh-mega-contact-icon.whatsapp { background: rgba(37,211,102,0.2); }

/* Mega Footer */
.eh-mega-footer {
  padding: 20px 40px;
  border-top: 1px solid rgba(255,255,255,0.1);
  flex-shrink: 0;
}

.eh-mega-footer p {
  font-size: 12px;
  color: rgba(255,255,255,0.4);
  margin: 0;
  text-align: center;
  font-family: 'SF Pro Regular', sans-serif;
}

body.eh-menu-open {
  overflow: hidden;
}

@media (max-width: 768px) {
  .eh-header-inner { height: 62px; padding: 0 12px; position: relative; }

  /* Mobile layout:  [ switcher ] — [ logo ] — [ hamburger ]
     WhatsApp + call hidden here (still available inside the drawer). */
  .eh-hdr-wa,
  .eh-hdr-call { display: none; }

  .eh-header-left,
  .eh-header-right { flex: 1 1 0; min-width: 0; }
  .eh-header-left  { justify-content: flex-start; }
  .eh-header-right { justify-content: flex-end; gap: 8px; }

  .eh-header-logo { position: static; left: auto; transform: none; flex: 0 0 auto; }
  .eh-header-logo img { height: 38px; }

  .eh-hdr-cta { display: none; }

  /* Pin the language switcher to the far left. */
  .eh-hdr-lang {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }

  .eh-mega { max-width: 100%; }
  .eh-mega-body { grid-template-columns: 1fr; padding: 24px 24px; gap: 28px; }
  .eh-mega-col { padding-right: 0; }
  .eh-mega-header { padding: 16px 24px; }
  .eh-mega-footer { padding: 16px 24px; }
  .eh-mega-link { font-size: 13px; padding: 9px 0; }
}

@media (max-width: 480px) {
  .eh-header-inner { padding: 0 10px; }
  .eh-hdr-lang { left: 10px; }
  .eh-header-logo img { height: 32px; }
}

/* ============================ FOOTER ============================ */

.eh-footer {
    background: #fdf5f5;
    font-family: 'SF Pro Regular', Arial, sans-serif;
    color: #555;
    position: relative;
  }
  /* thin red→gold line across the very top */
  .eh-footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, #90191c 0%, #c9a656 100%);
  }

  /* ===================== TOP BAND ===================== */
  .eh-footer-top {
    border-bottom: 1px solid rgba(144,25,28,0.10);
  }
  .eh-footer-top-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 46px 20px 40px;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
    align-items: center;
  }

  .eh-footer-logo img { height: 50px; width: auto; display: block; }
  .eh-footer-about {
    max-width: 440px;
    font-size: 14px;
    line-height: 1.75;
    color: #777;
    margin: 16px 0 0;
  }

  /* Right-side CTA card — fills the old dead space */
  .eh-footer-cta {
    background: #fff;
    border: 1px solid rgba(201,166,86,0.4);
    border-radius: 16px;
    padding: 24px 26px;
    box-shadow: 0 12px 34px rgba(144,25,28,0.07);
    position: relative;
    overflow: hidden;
  }
  .eh-footer-cta::before {
    content: '';
    position: absolute;
    top: -70px; right: -50px;
    width: 180px; height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201,166,86,0.16) 0%, transparent 70%);
    pointer-events: none;
  }
  .eh-footer-cta-label {
    font-family: 'LemonmilkReg', sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #c9a656;
    margin: 0 0 6px;
    position: relative;
  }
  .eh-footer-cta-title {
    font-family: 'LemonmilkReg', sans-serif;
    font-size: 19px;
    color: #1a1a1a;
    margin: 0 0 18px;
    line-height: 1.3;
    position: relative;
  }
  .eh-footer-cta-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    position: relative;
  }
  .eh-footer-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'LemonmilkReg', sans-serif;
    font-size: 12.5px;
    letter-spacing: 0.4px;
    text-decoration: none;
    padding: 12px 20px;
    border-radius: 8px;
    transition: all 0.3s ease;
  }
  .eh-footer-cta-btn.is-primary {
    background: #90191c;
    color: #fff;
    border: 2px solid #90191c;
  }
  .eh-footer-cta-btn.is-primary:hover {
    background: #7a1518; border-color: #7a1518;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(144,25,28,0.28);
  }
  .eh-footer-cta-btn.is-call {
    background: #fff;
    color: #90191c;
    border: 2px solid #90191c;
  }
  .eh-footer-cta-btn.is-call:hover {
    background: #90191c; color: #fff; transform: translateY(-2px);
  }
  .eh-footer-cta-btn svg { width: 15px; height: 15px; }

  .eh-footer-socials {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    position: relative;
  }
  .eh-footer-social {
    width: 38px; height: 38px;
    border-radius: 8px;
    border: 1px solid rgba(144,25,28,0.15);
    background: #fff;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none;
    transition: all 0.25s ease;
  }
  .eh-footer-social:hover {
    background: #90191c; border-color: #90191c;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(144,25,28,0.2);
  }
  .eh-footer-social svg { width: 16px; height: 16px; fill: #90191c; transition: fill 0.25s ease; }
  .eh-footer-social:hover svg { fill: #fff; }

  /* ===================== MAIN GRID ===================== */
  .eh-footer-main {
    max-width: 1240px;
    margin: 0 auto;
    padding: 44px 20px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.4fr;
    gap: 36px;
  }

  .eh-footer-col-title {
    font-family: 'LemonmilkReg', sans-serif;
    font-size: 12px;
    color: #90191c;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid #c9a656;
    display: inline-block;
  }

  .eh-footer-links { list-style: none; padding: 0; margin: 0; }
  .eh-footer-links li { margin: 0; }
  .eh-footer-links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    padding: 7px 0;
    transition: color 0.25s ease, transform 0.25s ease;
  }
  .eh-footer-links a::before {
    content: '';
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #c9a656;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.25s ease;
  }
  .eh-footer-links a:hover {
    color: #90191c;
    transform: translateX(3px);
  }
  .eh-footer-links a:hover::before { opacity: 1; }

  /* ===================== OFFICE CARDS ===================== */
  .eh-footer-offices { display: flex; flex-direction: column; gap: 16px; }
  .eh-footer-office-card {
    background: #fff;
    border: 1px solid rgba(144,25,28,0.1);
    border-left: 3px solid #c9a656;
    border-radius: 10px;
    padding: 18px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
  }
  .eh-footer-office-card:hover {
    border-left-color: #90191c;
    box-shadow: 0 10px 24px rgba(144,25,28,0.10);
  }
  .eh-footer-office-title {
    font-family: 'LemonmilkReg', sans-serif;
    font-size: 11px;
    color: #90191c;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 12px;
  }
  .eh-footer-office-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 9px;
    font-size: 13px;
    color: #666;
    line-height: 1.5;
  }
  .eh-footer-office-item:last-child { margin-bottom: 0; }
  .eh-footer-office-item a { color: #666; text-decoration: none; transition: color 0.2s ease; }
  .eh-footer-office-item a:hover { color: #90191c; }
  .eh-footer-office-icon {
    width: 28px; height: 28px;
    border-radius: 6px;
    background: #fdf2f2;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
  }
  .eh-footer-office-icon svg { width: 14px; height: 14px; }

  /* ===================== BOTTOM BAR ===================== */
  .eh-footer-bottom {
    border-top: 1px solid rgba(144,25,28,0.10);
    background: rgba(144,25,28,0.03);
  }
  .eh-footer-bottom-inner {
    max-width: 1240px; margin: 0 auto;
    padding: 16px 20px;
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px;
  }
  .eh-footer-copy { font-size: 13px; color: #999; margin: 0; }
  .eh-footer-bottom-right { display: flex; align-items: center; gap: 20px; }
  .eh-footer-payments img { height: 28px; width: auto; opacity: 0.85; }
  .eh-footer-managed { font-size: 12px; color: #aaa; margin: 0; }
  .eh-footer-managed a { color: #90191c; text-decoration: none; font-weight: 600; transition: color 0.2s ease; }
  .eh-footer-managed a:hover { color: #c9a656; }

  /* ===================== RESPONSIVE ===================== */
  @media (max-width: 1000px) {
    .eh-footer-main { grid-template-columns: 1fr 1fr; gap: 30px; }
    .eh-footer-offices { grid-column: 1 / -1; flex-direction: row; }
    .eh-footer-office-card { flex: 1; }
  }
  @media (max-width: 768px) {
    .eh-footer-top-inner { grid-template-columns: 1fr; gap: 28px; }
  }
  @media (max-width: 600px) {
    .eh-footer-main { grid-template-columns: 1fr; gap: 26px; padding: 32px 16px; }
    .eh-footer-offices { flex-direction: column; }
    .eh-footer-top-inner { padding: 36px 16px 30px; }
    .eh-footer-bottom-inner { flex-direction: column; align-items: center; text-align: center; }
    .eh-footer-bottom-right { flex-direction: column; gap: 10px; }
    .eh-footer-cta-row { flex-direction: column; }
    .eh-footer-cta-btn { justify-content: center; }
  }
