/* --- COLORES DE MARCA --- */
:root {
    --wellness-green: #b8c995; /* Verde Salvia */
    --hello-yellow: #e7e48d;   /* Amarillo Pastel */
    --dirty-white: #e5ddd2;    /* Beige/Arena */
    --dirty-black: #232323;    /* Negro Suave */
    --fit-pink: #f6afda;       /* Rosa Pastel */
    --pure-white: #ffffff;
}

.bg-wellness-green { background-color: var(--wellness-green); }
.text-wellness-green { color: var(--wellness-green); }

.bg-hello-yellow { background-color: var(--hello-yellow); }
.text-hello-yellow { color: var(--hello-yellow); }

.bg-dirtyWhite { background-color: var(--dirty-white); }

.bg-fit-pink { background-color: var(--fit-pink); }
.text-fit-pink { color: var(--fit-pink); }

.bg-dirty-black { background-color: var(--dirty-black); }
.text-dirty-black { color: var(--dirty-black); }
.border-dirty-black { border-color: var(--dirty-black); }

body {
    font-family: 'Raleway', sans-serif;
    background-color: var(--dirty-white);
    color: var(--dirty-black);
}
.font-anton { font-family: 'Anton', sans-serif; }
.font-barlow { font-family: 'Barlow', sans-serif; }
.font-raleway { font-family: 'Raleway', sans-serif; }

/* --- NUEVA CLASE GLOBAL PARA HOVER DE BOTONES --- */
.btn-global-hover {
    transition: all 0.3s ease;
}
.btn-global-hover:hover {
    background-color: var(--dirty-black) !important;
    color: var(--pure-white) !important;
    border-color: var(--dirty-black) !important;
}

/* Utilidad para bordes con color de marca */
.border-fit-pink { border-color: var(--fit-pink); }
.border-hello-yellow { border-color: var(--hello-yellow); }

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
.animate-marquee {
    animation: marquee 60s linear infinite;
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;
}
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.video-bg-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}
.video-bg-container video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.whatsapp-float {
    animation: float 3s ease-in-out infinite;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0px); }
}

/* Estilo para la imagen de fondo en Body Reset */
.bg-foto2 {
    background-image: url('https://lamaefit.mng.cr/archivos/FotoBodyReset.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Animación de Transición para Formulario */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fadeIn {
    animation: fadeIn 0.4s ease-out forwards;
}

/* Ajuste de tamaño de título solo en móviles grandes */
@media (min-width: 390px) and (max-width: 639px) {
    .hero-title-responsive {
        font-size: 2.75rem !important;
        line-height: 0.95 !important;
    }
}
