/* NM-HSN-01R.1 owner correction: natural-height desktop menu and one persistent mobile Header search. */
@media (min-width:1024px) {
  .hsn-backdrop {
    pointer-events:none !important;
  }
  .hsn-mega {
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }
  .hsn-hover-bridge {
    height:10px;
    inset-inline:0;
    pointer-events:auto;
    position:absolute;
    top:-10px;
  }
  .hsn-mega-shell,
  .hsn-mega-grid,
  .hsn-panels,
  .hsn-group-panel,
  .hsn-groups {
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .hsn-mega-grid {
    min-height:390px;
    overflow:hidden !important;
  }
}

@media (min-width:1024px) and (max-width:1279px) {
  .hsn-group-panel {
    grid-template-columns:minmax(0,1fr) !important;
  }
  .hsn-visual {
    display:none !important;
  }
}

@media (min-width:1024px) and (max-height:799px) {
  .hsn-mega-shell { padding-top:9px !important; }
  .hsn-panel-head { margin-bottom:7px !important; }
  .hsn-panel-head h2 { font-size:22px !important; }
  .hsn-mega-grid { min-height:318px !important; }
  .hsn-groups { padding:6px !important; }
  .hsn-group-tab { min-height:45px !important; padding:5px 8px !important; }
  .hsn-group-tab small { font-size:10px !important; }
  .hsn-group-panel { gap:12px !important; padding:12px !important; }
  .hsn-zone-heading h3 { font-size:21px !important; margin-bottom:8px !important; }
  .hsn-link-columns a { padding:5px 2px !important; }
  .hsn-visual { grid-template-rows:112px 1fr !important; }
  .hsn-visual > span:last-child { padding:11px !important; }
  .hsn-visual strong { font-size:18px !important; }
  .hsn-service-strip { margin-top:6px !important; }
  .hsn-service-strip a { padding:8px !important; }
}

@media (min-width:1024px) and (max-height:679px) {
  .hsn-visual { grid-template-rows:1fr !important; }
  .hsn-visual-media { display:none !important; }
}

@media (max-width:1023px) {
  .hsn-hover-bridge { display:none !important; }
  [data-mns-rh-backdrop] {
    inset:var(--hsn-mobile-top,121px) 0 0 !important;
  }
  [data-mns-rh-header].hsn-navigation-open {
    position:relative !important;
    z-index:calc(var(--mns-rh-z-modal,800) + 2) !important;
  }
  .hsn-backdrop {
    inset:var(--hsn-mobile-top,121px) 0 0 !important;
  }
  .hsn-drawer {
    border-radius:16px 16px 0 0 !important;
    bottom:0 !important;
    height:auto !important;
    left:0 !important;
    max-height:calc(100dvh - var(--hsn-mobile-top,121px)) !important;
    max-width:none !important;
    right:0 !important;
    top:var(--hsn-mobile-top,121px) !important;
    width:100% !important;
  }
  .hsn-drawer-head { padding:9px 16px !important; }
  .hsn-drawer-head h2 { font-size:20px !important; }
  .hsn-drawer-view { padding:10px 16px calc(18px + env(safe-area-inset-bottom)) !important; }
  .hsn-mobile-primary { gap:7px !important; }
  .hsn-mobile-card button { gap:5px !important; min-height:104px !important; padding:10px !important; }
  .hsn-mobile-card strong { font-size:15px !important; }
  .hsn-mobile-secondary { margin-top:12px !important; }
  .hsn-mobile-secondary button { min-height:48px !important; padding-block:6px !important; }
  .hsn-mobile-club {
    align-items:center;
    background:var(--hsn-forest);
    border:1px solid var(--hsn-forest);
    border-radius:11px;
    color:#fff;
    display:grid;
    gap:10px;
    grid-template-columns:24px minmax(0,1fr) 18px;
    margin-top:12px;
    min-height:56px;
    padding:9px 11px;
    text-decoration:none;
  }
  .hsn-mobile-club > span { display:grid; gap:1px; }
  .hsn-mobile-club strong { font:700 15px/1.15 Georgia,serif; }
  .hsn-mobile-club small { color:#e7efe9; font-size:10px; }
  .hsn-mobile-club .hsn-icon:last-child { color:var(--hsn-amber); width:17px; }
  .hsn-mobile-services { margin-top:12px !important; }
  .hsn-mobile-services a,
  .hsn-mobile-account { min-height:44px !important; }
}

@media (max-width:359px) {
  .hsn-mobile-card button { min-height:76px !important; }
  .hsn-mobile-card small { font-size:9px !important; }
  .hsn-drawer-view { padding-inline:12px !important; }
}
