/*! responsive-audit: mobile, tap target and accessibility fixes */
:root {
  --topbar-height: 52px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid rgba(var(--primary-rgb), 0.62);
  outline-offset: 3px;
}

.btn-primary-custom,
.btn-outline-custom,
.footer-cta-btn-outline,
.footer-cta-btn-primary {
  min-height: 44px !important;
}

.skip-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.breadcrumb-list {
  flex-wrap: wrap;
}

.breadcrumb-list li a {
  color: #5f6670;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.topbar a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
}

.topbar-actions {
  gap: 10px;
}

.topbar-social {
  gap: 6px;
}

.topbar .topbar-social-item {
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  justify-content: center;
}

.topbar .d-none.d-sm-flex a {
  min-width: 36px;
  justify-content: center;
}

.theme-toggle {
  width: 38px;
  height: 38px;
  min-width: 38px;
  flex: 0 0 38px;
}

.site-logo {
  min-height: 44px;
}

.mobile-toggle {
  width: 44px;
  height: 44px;
}

.main-nav .nav-link {
  min-height: 44px;
  display: flex;
  align-items: center;
}

.search-close-btn {
  width: 44px;
  height: 44px;
}

main a[style*="display:flex"],
main a[style*="display: flex"],
main a[style*="display:inline-flex"],
main a[style*="display: inline-flex"] {
  min-height: 44px !important;
  align-items: center;
}

.footer-social a,
.footer-social span,
.contact-social-links a {
  width: 44px;
  height: 44px;
}

.contact-card a {
  color: #b94a3f;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.contact-card > span {
  color: #5f6670;
}

.topbar .topbar-ticket-btn {
  height: 38px;
  min-height: 38px;
  border-color: #ff9b8e;
  color: #ff9b8e !important;
}

.topbar .topbar-ticket-btn:hover {
  background: #b94a3f !important;
  border-color: #b94a3f;
  color: #fff !important;
}

.why-us-card h3 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  margin-bottom: 6px;
}

.category-card {
  min-height: 280px !important;
}

.category-subservice-card {
  min-height: 312px !important;
}

.other-category-card {
  min-height: 313px !important;
}

.footer-cta-btn-primary,
.cookie-banner-btn {
  background: #b94a3f;
  color: #fff;
}

.footer-cta-btn-primary:hover,
.cookie-banner-btn:hover {
  background: #a64036;
  color: #fff;
}

.footer-bottom,
.footer-bottom a {
  color: rgba(255, 255, 255, 0.56);
}

.contact-submit-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.contact-submit-action {
  min-width: 200px;
  justify-content: center;
}

.contact-turnstile-frame {
  margin-left: auto;
  height: 44px;
  width: 204px;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}

.contact-turnstile-widget {
  transform: scale(0.68);
  transform-origin: right center;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -32.5px;
}

@media (max-width: 1199.98px) {
  .main-nav.show .nav-link,
  .main-nav.show .mega-sidebar-item,
  .main-nav.show .mega-service-item,
  .main-nav.show .mega-menu-footer a {
    min-height: 44px;
    white-space: normal;
  }

  .mobile-close {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 991.98px) {
  .topbar {
    min-height: 52px;
    height: var(--topbar-height);
  }

  .topbar > .container,
  .topbar > .container > div {
    min-height: 52px;
  }

  .topbar a {
    min-height: 44px;
  }

  .topbar .d-none.d-sm-flex a {
    min-width: 36px;
    justify-content: center;
  }

  .theme-toggle {
    width: 38px;
    height: 38px;
  }

  .topbar .topbar-ticket-btn {
    min-height: 38px;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .topbar .topbar-ticket-btn {
    width: 38px;
    min-width: 38px;
    padding: 0;
    justify-content: center;
  }

  .topbar-ticket-btn span {
    display: none;
  }
}

@media (max-width: 575.98px) {
  :root {
    --topbar-height: 52px;
  }

  .topbar > .container > div,
  .topbar .d-flex {
    gap: 8px !important;
  }

  .theme-toggle {
    width: 38px;
    height: 38px;
  }

  .topbar .topbar-ticket-btn {
    min-height: 38px;
    padding: 0 12px;
    letter-spacing: 0.2px;
  }

  main .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .footer-links a,
  .footer-bottom a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .footer-contact-item {
    min-height: 44px;
    align-items: center;
  }

  .footer-cta-actions a {
    justify-content: center;
  }

  .contact-form-panel {
    padding: 28px 18px;
  }

  .contact-form-header {
    flex-direction: column;
  }

  .contact-form-badge {
    flex-direction: row;
  }

  .contact-submit-row {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-submit-action {
    width: 100%;
    min-width: 0;
  }

  .contact-turnstile-frame {
    margin-left: 0;
    max-width: 100%;
    align-self: flex-end;
  }

  .contact-card a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  .contact-hours-row {
    align-items: flex-start;
    gap: 12px;
  }

  .contact-quick-btn {
    padding: 14px 16px;
  }

  .contact-quick-btn span {
    font-size: var(--font-size-sm);
    overflow-wrap: anywhere;
  }
}

main a.category-subservice-card {
  min-height: 312px !important;
}
