@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');

:root {
    --primary: #ac2a5d;
    --primary-container: #ff6b9d;
    --secondary: #884c63;
    --background: #fff8f8;
    --surface: #fff8f8;
    --on-surface: #24181b;
    --on-surface-variant: #574146;
    --outline-variant: #ddbfc5;
    --surface-container: #ffe8ec;
}

body, h1, h2, h3, h4, h5, h6, p, span:not(.material-symbols-outlined), a:not(.material-symbols-outlined), button, input, select, textarea {
    font-family: 'Montserrat', sans-serif !important;
}

.font-serif {
    font-family: 'Montserrat', sans-serif !important;
}

.pink-tint-shadow {
    box-shadow: 0 2px 12px rgba(255, 107, 157, 0.1);
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--background);
}
::-webkit-scrollbar-thumb {
    background: var(--outline-variant);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--primary-container);
}

/* Global Reset: Remove all italics */
.italic, i, em, cite, dfn, var, address {
    font-style: normal !important;
}

/* Robust Product Image Aspect Ratio (4:5) */
.aspect-4-5 {
    position: relative !important;
    width: 100% !important;
    height: 0 !important;
    padding-bottom: 125% !important; /* 5 / 4 = 1.25 */
    display: block !important;
    overflow: hidden !important;
}

.aspect-4-5 img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
