/* ============================================
   RESET & BASE STYLES
   ============================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Prevent horizontal overflow globally */
html, body {
    overflow-x: hidden;
    width: 100%;
}

html {
    scroll-behavior: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    overflow-y: auto;
    height: 100%;
    position: relative;
}

/* Smooth scroll only on shop page */
body.shop-page {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: var(--primary-white);
    font-family: var(--font-primary);
    line-height: 1.6;
    color: var(--primary-black);
    height: auto;
    min-height: 100%;
}

/* Note: filter removed from body to prevent breaking position: fixed on navigation */

img, video {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Ensure all images are responsive */
img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

/* Prevent horizontal overflow */
* {
    max-width: 100%;
}

/* Allow specific elements to exceed max-width when needed */
table,
pre,
code,
svg {
    max-width: 100%;
    overflow-x: auto;
}

/* Ensure inputs and textareas are responsive */
input,
textarea,
select {
    max-width: 100%;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: inherit;
    transition: all var(--transition-medium);
}

