/* Phone/tablet header (built by mobile-nav.js). Only shows where the Elementor desktop header is hidden (<=1024px). */
.zmn { display: none; }

@media (max-width: 1024px) {
  .zmn {
    display: block;
    position: sticky;
    top: 0;
    z-index: 99999990; /* above page content; the request form popup sits higher */
    font-family: "Axiforma Book", "Axiforma Regular", Inter, "Segoe UI", Roboto, sans-serif;
  }
  .zmn *, .zmn *::before, .zmn *::after { box-sizing: border-box; }

  .zmn-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    padding: 0 16px;
    background: #fff;
    border-bottom: 1px solid #ececec;
  }
  .zmn-logo { display: inline-flex; align-items: center; text-decoration: none; color: #111; font-weight: 800; font-size: 22px; }
  .zmn-logo img { display: block; height: 25px; width: auto; }

  .zmn .zmn-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-right: -8px;
    padding: 0;
    border: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    box-shadow: none !important;
    color: #111;
    cursor: pointer;
  }
  .zmn .zmn-toggle:focus-visible { outline: 2px solid #111; outline-offset: 2px; }
  .zmn-lines { position: relative; display: block; width: 22px; height: 16px; }
  .zmn-lines span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: #111;
    transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
  }
  .zmn-lines span:nth-child(1) { top: 0; }
  .zmn-lines span:nth-child(2) { top: 7px; }
  .zmn-lines span:nth-child(3) { top: 14px; }
  .zmn-toggle[aria-expanded="true"] .zmn-lines span:nth-child(1) { top: 7px; transform: rotate(45deg); }
  .zmn-toggle[aria-expanded="true"] .zmn-lines span:nth-child(2) { opacity: 0; }
  .zmn-toggle[aria-expanded="true"] .zmn-lines span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

  .zmn-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 64px;
    max-height: calc(100vh - 64px);
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
    padding: 8px 16px 24px;
    background: #fff;
    border-bottom: 1px solid #ececec;
    box-shadow: 0 18px 30px rgba(0, 0, 0, 0.12);
  }
  .zmn-panel[hidden] { display: none; }

  .zmn-list, .zmn-sub { list-style: none; margin: 0; padding: 0; }
  .zmn-list > li { border-bottom: 1px solid #f0f0f0; }
  .zmn .zmn-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 52px;
    padding: 0 4px;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: #111 !important;
    font: inherit;
    font-size: 17px;
    text-align: left;
    text-decoration: none !important;
    cursor: pointer;
  }
  .zmn .zmn-link[aria-current="page"] { color: #d42038 !important; font-family: "Axiforma Semi Bold", "Axiforma Book", Inter, sans-serif; }
  .zmn-parent svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.2s ease; }
  .zmn-parent[aria-expanded="true"] svg { transform: rotate(180deg); }
  .zmn-sub { padding: 0 0 8px 12px; }
  .zmn-sub[hidden] { display: none; }
  .zmn .zmn-sub .zmn-link { min-height: 44px; font-size: 15px; color: #444 !important; }

  .zmn-actions { display: grid; gap: 10px; margin-top: 18px; }
  .zmn .zmn-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    border-radius: 10px;
    font-family: "Axiforma Semi Bold", "Axiforma Book", Inter, sans-serif;
    font-size: 16px;
    text-decoration: none !important;
  }
  .zmn .zmn-btn-dark { background: #000; color: #fff !important; }
  .zmn .zmn-btn-light { background: #fff; color: #111 !important; border: 1px solid #dcdcdc; }

  html.zmn-open, html.zmn-open body { overflow: hidden; }
  html.zmn-open #ht-ctc-chat { display: none !important; } /* WhatsApp bubble would cover the menu buttons */
}

@media (prefers-reduced-motion: reduce) {
  .zmn-lines span, .zmn-parent svg { transition: none; }
}
