/* Opt-in repairs. Existing shared CSS and the approved home/reference layouts
   are untouched. These classes are added only to audited affected pages. */
.aboss-stacked-media .hero-media { display: block; }
.aboss-fluid-grid main .cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.aboss-fluid-grid main .cards > * { min-width: 0; max-width: 100%; width: auto; overflow-wrap: anywhere; }
@media (max-width: 1024px) {
  .aboss-reflow main :is(.hero-grid,.grid,.cards,.grid-2,.grid-3,.grid-4,.services-grid,.split-grid,.hero-split) {
    grid-template-columns: minmax(0,1fr);
  }
  .aboss-reflow main :is(.hero-grid,.grid,.cards,.grid-2,.grid-3,.grid-4,.services-grid,.split-grid,.hero-split) > *,
  .aboss-reflow :is(.hero-copy,.hero-aside,.hero-body,.card,.panel,.footer-grid > *,.footer-top > *) {
    min-width: 0;
  }
  .aboss-reflow main :is(h1,h2,h3,p,li,.badge,.eyebrow,.btn,.button) {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }
  .aboss-reflow :is(.badge,.eyebrow) { flex-wrap: wrap; }
  .aboss-reflow .sidebar { min-width: 0; max-width: 100%; }
  .aboss-fluid-grid header .nav { flex-wrap: wrap; }
  .aboss-reflow main img { max-width: 100%; height: auto; }
  .aboss-reflow main .hline { max-width: 100%; overflow-wrap: anywhere; }
  .aboss-reflow :is(.footer-top,.footer-grid,.footgrid) { grid-template-columns: minmax(0,1fr); }
  .aboss-reflow .hero-logo { max-width: 100%; width: auto; min-width: 0; }
  .aboss-reflow main .hero-media { flex-direction: column; }
  .aboss-reflow .newsletter { flex-wrap: wrap; }
  .aboss-reflow .langwrap { max-width: 100%; flex-basis: 100%; overflow-x: auto; }
  .aboss-reflow .lang-menu { left: auto; right: 0; }
  .aboss-reflow footer :is(p,a,li) { overflow-wrap: anywhere; }
  .aboss-header-reflow :is(.header-inner,.header-row,.topbar-inner) { flex-wrap: wrap; }
  .aboss-header-reflow .header-actions { flex: 1 1 100%; flex-wrap: wrap; justify-content: flex-start; max-width: 100%; min-width: 0; }
  .aboss-header-reflow header nav { min-width: 0; max-width: 100%; }
  .aboss-header-reflow header :is(.cluster,.nav-list) { flex-wrap: wrap; }
  .aboss-header-reflow header :is(a,li) { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
  .aboss-table-reflow table { display: block; max-width: 100%; overflow-x: auto; }
  .aboss-table-reflow :is(th,td) { white-space: normal; overflow-wrap: anywhere; }
  .aboss-legacy-reflow img { max-width: 100%; height: auto; }
  .aboss-legacy-reflow img { box-sizing: border-box; }
  .aboss-legacy-reflow table { width: 100%; max-width: 100%; }
  .aboss-legacy-reflow :is(tbody,tr,th,td) { display: block; width: auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .aboss-reflow .ui-datepicker { box-sizing: border-box; width: auto; max-width: 100%; }
  .aboss-reflow .ui-datepicker table { display: table; table-layout: fixed; width: 100%; }
  .aboss-legacy-reflow .ui-datepicker tbody { display: table-row-group; }
  .aboss-legacy-reflow .ui-datepicker tr { display: table-row; }
  .aboss-legacy-reflow .ui-datepicker :is(th,td) { display: table-cell; }
}
.aboss-carousel-repair :is(.slider-dots,.dots) .dot {
  box-sizing: border-box;
  width: 24px; height: 24px; min-width: 24px; min-height: 24px;
  background-clip: content-box; padding: 7px;
}
.aboss-touch-repair :is(.social a,.social-grid a,.social-link) { display: inline-flex; min-width: 24px; min-height: 24px; align-items: center; justify-content: center; }
.aboss-touch-repair :is(.contact-option,.permit-az-nav a) { display: inline-flex; min-height: 28px; align-items: center; }
.aboss-contact-repair main p a { text-decoration: underline; text-underline-offset: .15em; }
.aboss-legacy-contrast { color: #b6b6b6; }
.aboss-legacy-contrast :is(font,em,strong) { color: inherit; }
.aboss-legacy-contrast .ui-state-disabled { color: #b6b6b6; opacity: 1; }
.aboss-legacy-contrast table a { display: inline-block; min-width: 24px; min-height: 24px; }
.aboss-mobile-contrast footer :is(small,a) { color: #3d5060 !important; }
.aboss-mobile-contrast footer { background: #fff; }
