/* normalize.css (mobile-focused)
   Purpose: Provide consistent, accessible defaults across browsers and mobile devices */

/* 1) Base and font rendering */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color-scheme: light;
}

/* 2) Box sizing */
*, *::before, *::after {
    box-sizing: border-box;
}

/* 3) Remove default margin */
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
    margin: 0;
}

/* 4) Make images, media responsive by default */
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
    height: auto;
}

/* 5) Inherit fonts for form controls */
input, button, textarea, select {
    font: inherit;
    color: inherit;
}

/* 6) Remove tap highlight on mobile */
a, button, input, textarea, select {
    -webkit-tap-highlight-color: transparent;
}

/* 7) Improve focus visibility (accessible) */
:focus-visible {
    outline: 2px solid #ec4899;
    outline-offset: 2px;
}

/* 8) iOS Safari form quirks */
input, select, textarea, button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
}

/* Prevent iOS zoom on inputs by ensuring 16px font size */
input, select, textarea {
    font-size: 16px;
}

/* 9) Reset button styles reasonably */
button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

/* 10) Anchor defaults */
a {
    color: inherit;
    text-decoration: none;
}

/* 11) Smooth scrolling (respects user setting) */
@media (prefers-reduced-motion: no-preference) {
    html:focus-within {
        scroll-behavior: smooth;
    }
}

/* 12) Reduce motion for those who prefer it */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* 13) Touch target minimums on coarse pointers */
@media (hover: none) and (pointer: coarse) {
    a, button, input[type="button"], input[type="submit"], .cta-button {
        min-height: 44px;
        min-width: 44px;
    }
}
