/*
 * VoltEdge Android hardening v1
 * Scope: constrain wide data tables to their own scroll region and preserve
 * usable touch targets without hiding content or changing desktop layout.
 */
@media (max-width: 1024px) {
  main table,
  .page table,
  .article-wrap table,
  .section-inner table {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  button,
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  [role="button"] {
    box-sizing: border-box;
    min-height: 44px;
  }
}

/*
 * Sitewide readability layer.
 * Keeps supporting text readable, makes navigation easier to scan and tap,
 * and gives keyboard users a consistent visible focus indicator.
 */
:root {
  --muted: #b3c0d1 !important;
}

body p,
body li,
body td,
body th,
body dd,
body dt,
body label {
  font-size: max(1rem, 1em) !important;
}

.card-desc,
.review-excerpt,
.verdict-summary,
.page-sub-text {
  font-size: max(0.9375rem, 1em) !important;
}

.page-sub-text[style*="font-size"] {
  font-size: 0.875rem !important;
}

nav ul a,
.breadcrumb,
.footer-links a {
  font-size: 0.875rem !important;
}

nav ul a,
.breadcrumb a,
.breadcrumb span[onclick],
.footer-links a {
  box-sizing: border-box;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.footer-disc,
.footer-copy,
.affiliate-note {
  font-size: 0.875rem !important;
}

.tool-card span,
.tool-card p,
.tool-card li,
.tool-card a,
.tool-meta,
.tool-open {
  font-size: max(0.875rem, 1em) !important;
}

.page a:not(.logo),
main a:not(.logo) {
  font-size: max(0.875rem, 1em) !important;
}

.btn-product {
  background: #ffc107 !important;
  background-image: none !important;
  color: #071018 !important;
}

a.btn-product {
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 44px;
  padding: 0.7rem 1rem;
  border-radius: 6px;
  font-weight: 700;
  text-decoration: none;
}

.ve-method a {
  color: #68e5ff !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.referral-block > a,
.share-block > a {
  color: #68e5ff !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.buy-cta small,
body .ve-tools__eyebrow,
body .ve-tools__boundary,
body .book-feature__note,
body .book-feature__eyebrow {
  font-size: 0.875rem !important;
}

button,
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea,
[role="button"] {
  box-sizing: border-box;
  min-height: 44px;
}

a.buy-cta,
a.btn-product,
a.labs-shop-cta,
a.buy-btn-sm {
  box-sizing: border-box;
  min-height: 44px;
}

a.related-card {
  box-sizing: border-box;
  min-height: 44px;
}

a.labs-shop-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin: 0.85rem 0 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--accent, #00d4ff);
  border-radius: 7px;
  background: transparent;
  color: var(--accent, #00d4ff);
  text-decoration: none;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: normal;
  overflow-wrap: anywhere;
}

a.labs-shop-cta small {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  letter-spacing: 0;
  font-weight: 400;
  text-transform: none;
  color: var(--muted, #9aacbf);
}

.labs-shop-note {
  margin: 1rem 0 0.45rem;
  font-size: 0.85rem;
  color: var(--muted, #9aacbf);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid #7de6ff;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  nav ul a {
    font-size: 0.875rem !important;
    letter-spacing: 0.35px;
  }

  .breadcrumb {
    letter-spacing: 0.65px;
  }
}
