
/* Opto Zero v3.27 — FINAL mobile header/dropdown/search override */
@media (max-width: 767px) {
  .oc-header {
    overflow: visible !important;
  }

  .oc-header,
  .oc-header > .container-fluid,
  .oc-header-row,
  .oc-header-actions {
    position: relative !important;
  }

  .oc-header-dropdown {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 9999 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(28, 43, 72, .24) !important;
  }

  .oc-header-dropdown.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  /* The dropdown must cover the search row, not appear below it. */
  .oc-header-dropdown-wrap {
    position: static !important;
  }

  /* Search: one clean blue icon, no stray label/pseudo text. */
  .oc-header-center .oc-search-wrap,
  .oc-header .oc-header-center .oc-search-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 52px !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 6px 18px rgba(21,58,112,.14) !important;
  }

  .oc-header-center .oc-search-input,
  .oc-header .oc-header-center .oc-search-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;
    padding: 0 14px !important;
    border: 0 !important;
    background: transparent !important;
    color: #2d3b52 !important;
    font-size: 16px !important;
    line-height: 46px !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .oc-header-center .oc-search-button,
  .oc-header-center #oc-search-button,
  .oc-header .oc-header-center .oc-search-button,
  .oc-header .oc-header-center #oc-search-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 15px 15px 0 !important;
    background: #0d5de6 !important;
    color: #fff !important;
    font-size: 0 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .oc-header-center .oc-search-button::before,
  .oc-header-center #oc-search-button::before,
  .oc-header .oc-header-center .oc-search-button::before,
  .oc-header .oc-header-center #oc-search-button::before,
  .oc-header-center .oc-search-button::after,
  .oc-header-center #oc-search-button::after {
    content: none !important;
    display: none !important;
  }

  .oc-search-button-label {
    display: none !important;
  }

  .oc-search-button-real-icon {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1 !important;
    opacity: 1 !important;
  }
}

/* Desktop keeps the existing text-style search button. */
@media (min-width: 768px) {
  .oc-search-button-real-icon {
    display: none !important;
  }

  .oc-search-button-label {
    display: inline !important;
  }
}

@media (max-width: 380px) {
  .oc-header-dropdown {
    left: 9px !important;
    right: 9px !important;
  }

  .oc-header-center .oc-search-wrap,
  .oc-header .oc-header-center .oc-search-wrap {
    grid-template-columns: minmax(0, 1fr) 50px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .oc-header-center .oc-search-input,
  .oc-header .oc-header-center .oc-search-input {
    height: 44px !important;
    line-height: 44px !important;
  }

  .oc-header-center .oc-search-button,
  .oc-header-center #oc-search-button,
  .oc-header .oc-header-center .oc-search-button,
  .oc-header .oc-header-center #oc-search-button {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    height: 44px !important;
    min-height: 44px !important;
  }
}
