/**
 * @file
 * Accessibility styles to address 'Interactive element does not meet enhanced size'.
 *
 * These styles ensure interactive elements (buttons, links, form controls) meet
 * WCAG enhanced target size requirements (minimum 44x44 pixels).
 */

/* Global button styles - ensure all links meet minimum touch target size */
.region.region-content a {
  min-block-size: 44px !important;
  min-inline-size: 44px !important;
}

/* usa banner button - should not be affected by global button styles */
.usa-accordion__button.usa-banner__button {
  min-width: auto !important;
  min-height: 28px !important;
}

/* Sharing toggle button - ensure minimum touch target size and adjust position */
button#doj-sharing-toggle {
  min-block-size: 44px;
  min-inline-size: 44px;
  bottom: -14px;
}

/* Social media buttons - ensure minimum touch target size */
.footer__social a {
  min-block-size: 44px !important;
  min-inline-size: 44px !important;
}

/* Slick carousel dot buttons - ensure minimum touch target size */
.block-inline-blockmedia-slideshow .slick-dots {
  padding-bottom: 0 !important;
}

.slick-dots li {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* Partner logo links - reset display to prevent misalignment */
.usa-footer__partner-logo a {
  display: inline-block !important;
  min-height: auto !important;
  min-width: auto !important;
}

/* Side navigation links - ensure proper sizing with block display */
.usa-sidenav a:not(.usa-button) {
  display: block !important;
  padding: 0.8rem 0 !important;
  box-sizing: border-box !important;
}

/* Ensure sidenav items themselves don't constrain link height */
.usa-sidenav__item {
  min-block-size: 44px;
  min-inline-size: 44px;
}

.usa-sidenav__item a:not(.usa-button) {
  padding: 0.5rem 1rem !important;
}

/* Footer links - explicitly ensure minimum touch target size */
li.usa-footer__secondary-link {
  padding: 0.8rem 0 !important;
}

.usa-footer .usa-footer__secondary-link a {
  min-block-size: 44px !important;
  min-inline-size: 44px !important;
  padding: 0.8rem 0 !important;
}

/* Checkboxes and radio buttons */
input[type="checkbox"],
input[type="radio"] {
  min-block-size: 44px !important;
  min-inline-size: 44px !important;
}

/* Select dropdowns */
select {
  min-block-size: 44px !important;
  min-inline-size: 44px !important;
}

/* Mobile only - fix secondary menu positioning */
@media (max-width: 54.99em) {
  .usa-nav .region-secondary-menu {
    position: static !important;
  }

  .usa-nav__secondary {
    align-items: flex-start !important;
    position: static !important;
    right: auto !important;
    left: 0 !important;
    width: 100% !important;
  }

  .usa-nav__secondary .usa-search {
    width: 100% !important;
  }

}

/* Mobile-lg and up - adjust banner header padding */
@media (min-width: 40em) {
  .usa-banner__header {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }
}

/* Tablet and up - adjust partner logos padding */
@media (min-width: 55em) {
  .usa-footer .usa-footer__partner-logos {
    padding-top: 1.5rem !important;
  }
}

@media screen and (max-width: 768px) {
  .usa-search.usa-search--small,
  .gsc-search-box {
    margin-left: 0 !important;
  }
}

/* Desktop only - adjust partner logos padding */
@media (min-width: 64em) {
  .usa-footer .usa-footer__partner-logos {
    padding-top: 2.1rem !important;
    padding-bottom: 0 !important;
  }

  #system-breadcrumb .uswds-horizontal-list {
    padding: 0.5rem 0 !important;
  }

  /* Align secondary menu with search bar - reduce spacing */
  .usa-nav__secondary .usa-search {
    margin-top: 0 !important;
  }

  .usa-nav__secondary {
    margin-top: 0 !important;
    bottom: 0 !important;
  }

  /* Desktop only - adjust sharing toggle position */
  .usa-nav__secondary button.doj-sharing__toggle {
    margin-right: -20px !important;
  }
}
