/* Mobile layout for the existing CMS header. Desktop uses the original grid. */
.igv-header-drawer-body { padding: 0; }
@media (min-width: 992px) {
  .igv-header-drawer-body { display: contents; }
}

@media (max-width: 991.98px) {
  .igv-responsive-header {
    --igv-header-ink: var(--igv-green, #1b4332);
    --igv-header-edge: #e5ebe7;
    background: #fff;
  }
  .igv-responsive-header .igv-topbar { display: none !important; }
  .igv-responsive-header .igv-header-brand-strip { padding: 10px 12px 12px !important; }
  .igv-responsive-header .igv-header-container { padding: 0 !important; }
  .igv-responsive-header .igv-header-grid {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    grid-template-areas: "menu brand cart" "search search search";
    gap: 10px 8px;
    align-items: center;
    margin: 0 !important;
  }
  .igv-responsive-header .igv-header-grid > * { width: auto !important; min-width: 0; padding: 0 !important; margin: 0 !important; }
  .igv-responsive-header .igv-mobile-toggle {
    grid-area: menu;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px;
    border: 1px solid var(--igv-header-ink);
    border-radius: 10px;
    color: var(--igv-header-ink);
    background: #fff;
    box-shadow: none;
  }
  .igv-responsive-header .igv-mobile-toggle:focus-visible,
  .igv-responsive-header .igv-header-cart:focus-visible { outline: 3px solid #d4af37; outline-offset: 2px; }
  .igv-responsive-header .igv-header-brand { grid-area: brand; }
  .igv-responsive-header .igv-log { display: flex; align-items: center; justify-content: center; padding: 0 !important; margin: 0 !important; }
  .igv-responsive-header .igv-log a { display: flex; width: 100%; justify-content: center; }
  .igv-responsive-header .igv-log img { display: block; width: 100%; max-width: 235px; height: auto !important; max-height: 46px; object-fit: contain; }
  .igv-responsive-header .igv-header-search { grid-area: search; }
  .igv-responsive-header .igv-header-search form { display: flex; width: 100%; gap: 0 !important; min-width: 0; }
  .igv-responsive-header .igv-header-search input[name="keyword"] {
    flex: 1 1 auto;
    width: 0;
    min-width: 0;
    min-height: 46px;
    margin: 0 !important;
    padding: 10px 12px;
    font-size: 16px;
    line-height: 1.4;
    border: 1px solid var(--igv-header-edge);
    border-right: 0;
    border-radius: 9px 0 0 9px;
  }
  .igv-responsive-header .igv-header-search button[type="submit"] {
    flex: 0 0 46px;
    width: 46px;
    min-height: 46px;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 9px 9px 0;
    background: var(--igv-header-ink);
    border-color: var(--igv-header-ink);
  }
  .igv-responsive-header .igv-header-actions { grid-area: cart; }
  .igv-responsive-header .igv-header-actions > div { gap: 0 !important; padding: 0; }
  .igv-responsive-header .igv-header-cart {
    width: 44px;
    height: 44px;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    color: var(--igv-header-ink);
    border-radius: 10px;
  }
  .igv-responsive-header .igv-header-cart > span:not(.cart-total-items) { display: none !important; }
  .igv-responsive-header .igv-header-cart > i { color: var(--igv-header-ink) !important; font-size: 26px !important; }
  .igv-responsive-header .igv-header-cart .cart-total-items { top: 4px !important; left: auto !important; right: -2px; transform: none !important; width: 19px !important; height: 19px !important; font-size: 11px; line-height: 19px; }
  .igv-responsive-header .site-nav { position: static !important; height: 0; min-height: 0; padding: 0 !important; margin: 0; border: 0; background: transparent; }
  .igv-responsive-header .site-nav > .container-fluid { padding: 0 !important; }
  .igv-responsive-header .igv-header-drawer {
    --bs-offcanvas-width: min(340px, calc(100vw - 24px));
    --bs-offcanvas-zindex: 500002;
    justify-content: flex-start !important;
    align-items: stretch !important;
    background: #fff !important;
    color: var(--igv-header-ink);
    overflow: hidden !important;
    text-align: left;
  }
  .igv-responsive-header .offcanvas-header { padding: 20px 18px; min-height: 76px; border-bottom: 1px solid var(--igv-header-edge); }
  .igv-responsive-header .offcanvas-title { margin: 0; color: var(--igv-header-ink); font-size: 19px; font-weight: 700; }
  .igv-responsive-header .offcanvas-header .btn-close { flex-shrink: 0; width: 44px; height: 44px; box-sizing: border-box; margin: 0 -8px 0 8px; padding: 14px; background-size: 16px; }
  .igv-responsive-header .igv-header-drawer-body { overflow-y: auto; padding: 10px 18px 24px; }
  .igv-responsive-header .igv-header-drawer .navbar-nav { display: flex; flex-direction: column; align-items: stretch !important; width: 100%; gap: 0; }
  .igv-responsive-header .igv-header-drawer .nav-item { width: 100%; justify-content: flex-start !important; }
  .igv-responsive-header .igv-header-drawer .nav-link { display: block; min-height: 48px; padding: 14px 0; color: var(--igv-header-ink); border-bottom: 1px solid var(--igv-header-edge); font-size: 14px; line-height: 1.4; font-weight: 600; text-transform: none; }
  .igv-responsive-header .igv-header-drawer .nav-link:hover { color: #96721d; }
  .igv-responsive-header .igv-header-drawer .nav-item > .btn { width: 100%; margin: 18px 0; min-height: 46px; padding: 11px 16px; border-radius: 8px; font-weight: 600; }
  .igv-responsive-header .igv-mobile-utility-links { border-top: 1px solid var(--igv-header-edge); margin-top: 8px; padding-top: 8px; }
  .igv-responsive-header .igv-mobile-utility-links > a { display: flex !important; min-height: 48px; align-items: center; gap: 12px !important; padding: 10px 0; color: var(--igv-header-ink) !important; font-size: 14px; font-weight: 500; }
  .igv-responsive-header .igv-mobile-utility-links > a i { color: var(--igv-header-ink) !important; font-size: 20px !important; }
}
