/* AKGadgets — base reset & foundational a11y styles for the mobile-first storefront rebuild.
   Framework-independent: safe to load alongside Bootstrap during the migration, and is the only
   reset needed once Bootstrap is fully retired at the end of the phased rewrite. */

*, *::before, *::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}

body {
    margin: 0;
    font-family: var(--font-body);
    background: var(--color-bg);
    color: var(--color-text);
    -webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; }
a { color: inherit; }
button { font: inherit; }

/* Minimum comfortable tap target for anything interactive in the new nav components. */
.tap-target {
    min-width: var(--tap-target-min);
    min-height: var(--tap-target-min);
}

/* Screen-reader-only content (kept distinct from Bootstrap's identical .visually-hidden so this
   file stands alone once Bootstrap is removed). */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

/* Inline SVG sprite icons (see wwwroot/icons/sprite.svg). Sized in em so it scales with its
   containing button/link's font-size; colour follows currentColor. */
.icon {
    width: 1.25em;
    height: 1.25em;
    stroke: currentColor;
    fill: none;
    flex-shrink: 0;
}
