/* ============================================================================
   Accessibility primitives for the customer-facing surface.

   public-menu.php, checkout.php, receipt.php and index.php do not load
   components.css, so the skip-link rule Sprint 2A added there never reached a
   single customer pixel. This file carries only what those pages need, so it
   can be linked without pulling in the panel design system.
   ========================================================================== */

/* Visible only when focused — WCAG 2.4.1 Bypass Blocks. */
.skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.skip-link:focus {
    position: fixed;
    top: 10px;
    left: 10px;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 20px;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
    z-index: 100000;
    background: var(--primary, #f59e0b);
    color: var(--primary-ink, #000);
    text-decoration: none;
    font-weight: 600;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .35);
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Announced by screen readers, never painted — WCAG 4.1.3 Status Messages. */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* The skip-link target takes focus programmatically; it must never draw a
   focus ring around an empty div. */
#mainContent:focus {
    outline: none;
}
