/* ===== GLOBAL ===== */

:root {
    --black: #000000;
    --white: #ffffff;
    --primary-red: #DF1F26;
    --gray-bg: #F2F2F2;
    --secondary-red: #C8102E;
    --blue: #C5DDF8;
    --dark-red: #700a0e;
}

html {
    overscroll-behavior: none;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    overscroll-behavior: none;
}

/* ===== GLOBAL RESETS ===== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', sans-serif;
    background: white;
    margin: 0;
    padding-top: 90px;
}

/* Hero section: compensa el padding-top del body para ir detrás del header fixed-top */
.hero,
.login-wrapper,
.carousel {
    margin-top: -90px;
}

[data-sfcontainer] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

[data-sfcontainer] > * {
    flex-shrink: 0;
}

/* El contenido entre header y footer ocupa todo el espacio disponible */
[data-sfcontainer] > *:not(:first-child):not(:last-child) {
    flex-grow: 1;
}

[data-sfcontainer] > *:last-child {
    margin-top: auto;
}
