/* NEXA Mobile Header Fix v1.0.0
   Desktop is intentionally untouched. */

.nexa-mhf { display:none; }

@media (max-width:767px) {
  html.nexa-mhf-menu-open,
  html.nexa-mhf-menu-open body { overflow:hidden !important; }

  body .nexa-mhf-original-header {
    display:none !important;
  }

  .nexa-mhf {
    --mhf-cyan:#069db5;
    --mhf-cyan-dark:#078aa0;
    --mhf-ink:#0f1d30;
    --mhf-muted:#708095;
    --mhf-line:#e4ebef;
    display:block !important;
    position:relative;
    z-index:99990;
    width:100%;
    max-width:100vw;
    padding:10px 12px 12px;
    background:#fff;
    border-bottom:1px solid #e8edf0;
    box-shadow:0 4px 14px rgba(15,29,48,.045);
    box-sizing:border-box;
    font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  }

  .nexa-mhf *, .nexa-mhf *::before, .nexa-mhf *::after { box-sizing:border-box; }

  .nexa-mhf-bar {
    display:grid;
    grid-template-columns:minmax(126px,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:52px;
  }

  .nexa-mhf-logo {
    display:inline-flex;
    width:126px;
    max-width:126px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-decoration:none !important;
    line-height:1;
  }

  .nexa-mhf-logo-main {
    display:block;
    color:#079bb3;
    font-size:28px;
    line-height:.92;
    letter-spacing:-1.7px;
    font-weight:850;
  }

  .nexa-mhf-logo-sub {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:17px;
    margin-top:5px;
    background:#ff3037;
    color:#fff;
    font-size:7px;
    line-height:1;
    letter-spacing:1.5px;
    font-weight:800;
  }

  .nexa-mhf-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    min-width:0;
  }

  .nexa-mhf-icon-btn,
  .nexa-mhf-menu-btn {
    position:relative;
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    margin:0 !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    border:1px solid #dbe7eb !important;
    border-radius:12px !important;
    background:#f7fbfc !important;
    color:#0799b1 !important;
    text-decoration:none !important;
    box-shadow:none !important;
  }

  .nexa-mhf-icon-btn svg { width:21px; height:21px; }

  .nexa-mhf-cart-count {
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:18px;
    height:18px;
    padding:0 4px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
    border-radius:999px;
    background:#101c2d;
    color:#fff;
    font-size:8px;
    line-height:1;
    font-weight:800;
  }

  /* TRUE THREE-LINE HAMBURGER */
  .nexa-mhf-menu-btn {
    flex-direction:column;
    gap:4px;
    cursor:pointer;
  }

  .nexa-mhf-menu-btn span {
    display:block !important;
    width:18px !important;
    height:2px !important;
    min-height:2px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:999px;
    background:#102035 !important;
    opacity:1 !important;
    transform-origin:center;
    transition:transform .2s ease, opacity .2s ease;
  }

  .nexa-mhf-menu-btn.is-open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .nexa-mhf-menu-btn.is-open span:nth-child(2) { opacity:0 !important; }
  .nexa-mhf-menu-btn.is-open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

  .nexa-mhf-search {
    position:relative;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    width:100%;
    height:48px;
    margin:9px 0 0 !important;
    padding:0 5px 0 9px !important;
    overflow:hidden;
    border:1px solid #d6e2e8;
    border-radius:13px;
    background:#f7fafc;
  }

  .nexa-mhf-search-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    color:#284158;
  }
  .nexa-mhf-search-icon svg { width:19px; height:19px; }

  .nexa-mhf-search input[type="search"] {
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    margin:0 !important;
    padding:0 8px !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:var(--mhf-ink) !important;
    font-size:14px !important;
    line-height:44px !important;
    box-shadow:none !important;
    -webkit-appearance:none;
  }

  .nexa-mhf-search input::placeholder { color:#8290a2; opacity:1; }
  .nexa-mhf-search input::-webkit-search-cancel-button { display:none; }

  .nexa-mhf-search button {
    width:auto !important;
    min-width:72px !important;
    height:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 14px !important;
    border:0 !important;
    border-radius:10px !important;
    background:var(--mhf-cyan) !important;
    color:#fff !important;
    font-size:10px !important;
    line-height:38px !important;
    font-weight:800 !important;
    letter-spacing:.2px;
    box-shadow:none !important;
  }

  .nexa-mhf-overlay {
    position:fixed;
    z-index:999998;
    inset:0;
    background:rgba(7,18,30,.45);
    opacity:0;
    transition:opacity .22s ease;
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  .nexa-mhf-overlay.is-open { opacity:1; }

  .nexa-mhf-drawer {
    position:fixed;
    z-index:999999;
    top:0;
    right:0;
    width:min(332px,88vw);
    height:100dvh;
    display:flex;
    flex-direction:column;
    background:#fff;
    box-shadow:-20px 0 50px rgba(10,24,41,.18);
    transform:translateX(105%);
    visibility:hidden;
    transition:transform .24s ease, visibility .24s ease;
  }
  .nexa-mhf-drawer.is-open { transform:translateX(0); visibility:visible; }

  .nexa-mhf-drawer-head {
    min-height:78px;
    padding:17px 17px 15px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #e8edf0;
  }
  .nexa-mhf-drawer-head strong { display:block; color:#0e1e32; font-size:13px; letter-spacing:1.1px; font-weight:850; }
  .nexa-mhf-drawer-head small { display:block; margin-top:4px; color:#8190a1; font-size:10px; font-weight:600; }

  .nexa-mhf-close {
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #e0e8ed !important;
    border-radius:11px !important;
    background:#f8fafb !important;
    color:#17283c !important;
    font-size:25px !important;
    line-height:34px !important;
    font-weight:400 !important;
  }

  .nexa-mhf-nav {
    flex:1;
    overflow-y:auto;
    padding:9px 14px 18px;
  }

  .nexa-mhf-nav-link {
    min-height:49px;
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:0 8px !important;
    border-bottom:1px solid #edf1f3;
    color:#15263a !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:750 !important;
    text-decoration:none !important;
    letter-spacing:.05px;
  }
  .nexa-mhf-nav-link span { color:#91a0af; font-size:16px; }
  .nexa-mhf-nav-link.is-current { color:var(--mhf-cyan-dark) !important; }
  .nexa-mhf-nav-link.is-current span { color:var(--mhf-cyan-dark); }

  .nexa-mhf-drawer-foot {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:14px;
    border-top:1px solid #e8edf0;
    background:#f8fafb;
  }
  .nexa-mhf-drawer-foot a {
    min-height:48px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid #dfe8ed;
    border-radius:10px;
    background:#fff;
    color:#173047 !important;
    font-size:10px !important;
    font-weight:750 !important;
    text-decoration:none !important;
  }
  .nexa-mhf-drawer-foot svg { width:17px; height:17px; color:var(--mhf-cyan); }
}

@media (max-width:390px) {
  .nexa-mhf { padding-left:9px; padding-right:9px; }
  .nexa-mhf-logo { width:116px; max-width:116px; }
  .nexa-mhf-logo-main { font-size:26px; }
  .nexa-mhf-actions { gap:5px; }
  .nexa-mhf-icon-btn, .nexa-mhf-menu-btn { width:40px; min-width:40px; height:40px; min-height:40px; }
  .nexa-mhf-search button { min-width:66px !important; padding:0 11px !important; }
}
