/**
 * Tengai POS — Print & Accessibility Styles
 * Also handles screen-reader utilities
 */

/* Screen-reader only (accessibility) */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border-width: 0;
}

/* Focus visible (keyboard nav) */
:focus-visible {
  outline: 2px solid var(--c-red);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Skip to content link */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: 10000;
  background: var(--c-red);
  color: #fff;
  padding: .5rem 1rem;
  border-radius: 0 0 var(--r-sm) var(--r-sm);
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: .9rem;
  transition: top var(--t-fast);
}
.skip-link:focus {
  top: 0;
  color: #fff;
}

/* Pricing page grid fix for 3 equal cols on wide */
@media (min-width: 1025px) {
  .pricing-row {
    grid-template-columns: repeat(3, 1fr);
    max-width: 1000px;
  }
}

/* Industry card hover */
.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sh-md);
  border-color: rgba(230,48,18,.12);
}

/* WooCommerce cart table responsive */
@media (max-width: 600px) {
  .woocommerce table.shop_table thead { display: none; }
  .woocommerce table.shop_table td {
    display: block;
    text-align: right;
    padding: .5rem 1rem;
  }
  .woocommerce table.shop_table td::before {
    content: attr(data-title) ": ";
    float: left;
    font-weight: 600;
    font-family: var(--ff-head);
    font-size: .85rem;
  }
}

/* Dropdown chevron animation */
.has-drop:hover .nav-drop-trigger svg {
  transform: rotate(180deg);
}
.nav-drop-trigger svg {
  transition: transform var(--t-base);
}

/* Smooth page transitions */
@media (prefers-reduced-motion: no-preference) {
  .feat-card, .testi, .plan, .blog-card, .step, .log-item, .res-card {
    will-change: transform, opacity;
  }
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .hero-phone, .hero-chip {
    animation: none !important;
  }
}

/* High contrast mode support */
@media (forced-colors: active) {
  .btn-primary, .btn-dark { border: 2px solid ButtonText; }
  .feat-icon, .step-n { border: 2px solid ButtonText; }
}

/* Print styles */
@media print {
  .site-header,
  .site-footer,
  .wa-float,
  #tengai-announce,
  .cta-box,
  .hero-visual,
  .app-band,
  .stats-band { display: none !important; }

  body { font-size: 11pt; color: #000; background: #fff; }
  h1, h2, h3 { color: #000; page-break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  a { color: #000; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
  .container { max-width: 100%; padding: 0; }
  .feat-grid, .testi-grid, .blog-grid { grid-template-columns: repeat(2, 1fr); }
}
