/* v0.16.69 — NMD responsive header. Keep controls 20px inside the viewport edges and make the hamburger slightly smaller; logo remains mathematically centered. */

/* Prevent duplicate Astra header rows now that NMD owns the header on all screen sizes. */
#ast-mobile-header,
.ast-mobile-header-wrap,
#ast-desktop-header,
.ast-desktop-header-wrap{display:none!important}

.nmd-mobile-header-shell{
  display:block;position:relative;z-index:100000;
  width:100vw!important;max-width:none!important;
  left:50%!important;margin-left:-50vw!important;
  padding:0!important;
}
.nmd-mobile-header{
  position:relative;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 52px;
  align-items:center;
  width:100vw!important;max-width:none!important;
  min-height:76px;
  padding:8px 14px;
  background:#fff;
  border-bottom:1px solid #e5e7eb;
  box-sizing:border-box;
}
.nmd-mobile-header-btn{
  width:36px;height:40px;padding:0;margin:0;border:0!important;border-radius:0!important;
  background:transparent!important;color:#111827!important;box-shadow:none!important;
  display:flex;align-items:center;cursor:pointer;
  margin-left:0!important;margin-right:0!important;
}
/* Pin controls to the viewport itself; parent/theme container padding cannot move them. */
.nmd-mobile-menu-toggle{
  position:absolute;left:20px!important;top:50%;transform:translateY(-50%);
  justify-content:flex-start;
}
.nmd-mobile-search-toggle{
  position:absolute;right:20px!important;top:50%;transform:translateY(-50%);
  justify-content:flex-end;
}
.nmd-mobile-search-toggle svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.nmd-hamburger{width:20px;height:15px;display:flex;flex-direction:column;justify-content:space-between;flex:0 0 auto}
.nmd-hamburger span{display:block;width:20px;height:2.2px;border-radius:99px;background:#111827}

/* Absolute centering keeps the logo centered on the viewport, independent of control widths. */
.nmd-mobile-header-logo{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(58vw,330px);height:58px;
  display:flex;align-items:center;justify-content:center;pointer-events:auto;
}
.nmd-mobile-header-logo .custom-logo-link{display:flex!important;align-items:center;justify-content:center;width:100%;height:100%;margin:0!important;padding:0!important}
.nmd-mobile-header-logo img.custom-logo,
.nmd-mobile-header-logo .custom-logo{
  display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:52px!important;object-fit:contain!important;margin:0 auto!important;
}
.nmd-mobile-site-name{font-size:22px;line-height:1.1;font-weight:800;color:#111827;text-decoration:none;white-space:nowrap}

.nmd-mobile-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:100001}
.nmd-mobile-menu-drawer{
  position:fixed;z-index:100002;left:0;top:0;bottom:0;width:min(84vw,360px);
  background:#fff;transform:translateX(-102%);transition:transform .22s ease;
  box-shadow:10px 0 30px rgba(15,23,42,.14);overflow:auto;
}
.nmd-mobile-menu-drawer.is-open{transform:translateX(0)}
.nmd-mobile-panel-head{height:70px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb}
.nmd-mobile-panel-head strong{font-size:20px;color:#111827}
.nmd-mobile-panel-close{width:42px;height:42px;border:0!important;background:transparent!important;color:#111827!important;font-size:32px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0!important;box-shadow:none!important}
.nmd-mobile-menu-nav{padding:12px 18px 28px}
.nmd-mobile-menu-nav ul{list-style:none;margin:0;padding:0}
.nmd-mobile-menu-nav li{margin:0;padding:0;border-bottom:1px solid #f0f2f4}
.nmd-mobile-menu-nav a{display:block;padding:14px 2px;color:#111827;text-decoration:none;font-size:16px;font-weight:600}
.nmd-mobile-menu-nav .sub-menu{padding-left:14px;border-left:2px solid #f1f3f5}

.nmd-mobile-search-panel{
  position:fixed;z-index:100003;left:0;right:0;top:0;padding:13px 14px;background:#fff;
  transform:translateY(-110%);transition:transform .2s ease;box-shadow:0 8px 28px rgba(15,23,42,.16)
}
.nmd-mobile-search-panel.is-open{transform:translateY(0)}
.nmd-mobile-search-form{display:grid;grid-template-columns:minmax(0,1fr) 48px 42px;gap:6px;align-items:center;margin:0}
.nmd-mobile-search-form input[type="search"]{width:100%;height:46px;border:1px solid #d1d5db;border-radius:10px;padding:0 13px;font-size:16px;color:#111827;background:#fff;outline:none;box-shadow:none}
.nmd-mobile-search-form input[type="search"]:focus{border-color:#ff4b0b}
.nmd-mobile-search-form button[type="submit"]{width:46px;height:46px;border:0!important;border-radius:10px!important;background:#ff4b0b!important;color:#fff!important;padding:0!important;display:flex;align-items:center;justify-content:center;box-shadow:none!important}
.nmd-mobile-search-form button[type="submit"] svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
body.nmd-mobile-header-open{overflow:hidden!important}

/* Phone sizing remains compact; controls remain exactly 20px from viewport edges. */
@media (max-width:420px){
  .nmd-mobile-header{grid-template-columns:48px minmax(0,1fr) 48px;min-height:70px;padding:7px 10px}
  .nmd-mobile-header-logo{width:min(62vw,260px);height:54px}
  .nmd-mobile-header-logo img.custom-logo,.nmd-mobile-header-logo .custom-logo{max-height:47px!important}
  .nmd-mobile-header-btn{width:34px;height:38px}
  .nmd-hamburger{width:20px;height:15px}.nmd-hamburger span{width:20px;height:2.2px}
  .nmd-mobile-search-toggle svg{width:26px;height:26px}
}

/* Desktop gets the same controls while allowing a slightly larger centered logo/header. */
@media (min-width:769px){
  .nmd-mobile-header{min-height:82px;padding:10px 18px}
  .nmd-mobile-header-logo{width:min(42vw,420px);height:62px}
  .nmd-mobile-header-logo img.custom-logo,.nmd-mobile-header-logo .custom-logo{max-height:56px!important}
}

/* v0.16.72 — live search suggestion dropdown. */
.nmd-mobile-search-panel{overflow:visible}
.nmd-live-search-results{
  width:min(720px,calc(100vw - 28px));max-height:min(68vh,620px);overflow:auto;
  margin:8px auto 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;
  box-shadow:0 12px 34px rgba(15,23,42,.16);text-align:left;
}
.nmd-live-search-results[hidden]{display:none!important}
.nmd-search-brand-row,.nmd-search-phone-row{
  display:flex;align-items:center;gap:12px;min-height:60px;padding:9px 14px;
  border-bottom:1px solid #eceff2;color:#111827!important;text-decoration:none!important;background:#fff;
}
.nmd-search-brand-row:hover,.nmd-search-phone-row:hover{background:#f8fafc}
.nmd-search-brand-row{min-height:64px;background:#fffdfb}
.nmd-search-brand-row strong{display:block;font-size:15px;line-height:1.25;font-weight:700}
.nmd-search-brand-row small{display:block;margin-top:3px;font-size:12px;line-height:1.25;color:#7b8492}
.nmd-search-row-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;flex:0 0 34px}
.nmd-search-row-icon svg{width:21px;height:21px;fill:none;stroke:#111827;stroke-width:1.7;stroke-linecap:round}
.nmd-search-phone-row{min-height:66px}
.nmd-search-phone-row strong{font-size:15px;line-height:1.3;font-weight:650;color:#111827}
.nmd-search-phone-image{width:44px;height:48px;display:flex;align-items:center;justify-content:center;flex:0 0 44px}
.nmd-search-phone-image img{display:block;max-width:42px!important;max-height:46px!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0!important}
.nmd-search-phone-placeholder{width:28px;height:42px;border:1px solid #d7dce1;border-radius:5px;background:#f4f6f8}
.nmd-search-empty{padding:18px 14px;color:#6b7280;font-size:14px;text-align:center}
@media (max-width:600px){
  .nmd-live-search-results{width:100%;max-height:62vh;margin-top:7px;border-radius:8px}
  .nmd-search-brand-row,.nmd-search-phone-row{padding:8px 10px;gap:10px}
  .nmd-search-phone-row strong,.nmd-search-brand-row strong{font-size:14px}
}
