:root { 
    --accent:#00b894; 
    --strong_morado:#44256A;
    --morado:rgba(121,89,162,1);
    --verde:rgba(163,229,179,1);
    --cereza_claro:rgba(255,95,134,1);
    --violeta:rgba(68,37,106,1);
    --azul:rgba(85,237,255,1);
    --cereza:rgba(255,48,89,1);
}

/* FUENTES DEFINIDAS Outfit */

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-Thin.woff2') format('woff2'),
       url('fonts/Outfit-Thin.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-ExtraLight.woff2') format('woff2'),
       url('fonts/Outfit-ExtraLight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-Light.woff2') format('woff2'),
       url('fonts/Outfit-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-Regular.woff2') format('woff2'),
       url('fonts/Outfit-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-Medium.woff2') format('woff2'),
       url('fonts/Outfit-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-SemiBold.woff2') format('woff2'),
       url('fonts/Outfit-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-Bold.woff2') format('woff2'),
       url('fonts/Outfit-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-ExtraBold.woff2') format('woff2'),
       url('fonts/Outfit-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-Black.woff2') format('woff2'),
       url('fonts/Outfit-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
}


/* COLORES INDEPENDIENTES */
    .strong_morado{color:var(--strong_morado)!important;}
    .morado{color:var(--morado)!important;}
    .verde{color:var(--verde)!important;}
    .cereza_claro{color:var(--cereza_claro)!important;}
    .violeta{color:var(--violeta)!important;}
    .azul{color:var(--azul)!important;}
    .cereza{color:var(--cereza)!important;}
/* TERMINA COLORES INDEPENDIENTES */

body{ 
    font-family: 'Outfit'!important;
    font-weight: 400; /* Regular por defecto */
    font-optical-sizing:auto; 
    padding-top: 72px;
    color: var(--strong_morado)!important;
}

.header-main-page{
    background: var(--strong_morado)!important;
}
    .header-main-page li,a{
        color: white!important;
        font-weight: 400;
    } 

    .btn-iniciar-sesion{
        background: var(--verde)!important;
        font-weight: 600!important;
        color: var(--strong_morado)!important;
    } 


.titulo-modum{
    color: var(--strong_morado);
    font-weight:700!important;
}

.subtitulo-modum{
    font-weight: 400;
}

.cuerpo-texto-modum{
    font-weight: 400;
}

.bg-morado-modum{
    background: var(--morado) !important;
}

input{
    color: var(--strong_morado)!important;
}


/* SECCION PRINCIPAL */

    .main-section {
        margin-top: -10px!important;
        position: relative;
        width: 100%;
        height: 100%;
        background-image: url(../img/back-tempo-b.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover; /* hace que ocupe todo el espacio */
    }
        .main-section h1{
            color: var(--strong_morado);
            font-weight: 700;
        }

        .main-section p{
            color: var(--strong_morado);
            font-weight: 400;
        }


    .nosotros-section{
        margin-top: -1px!important;
        background: var(--morado) !important;
        color: var(--verde)!important;
        font-size:1.2rem
    }
        .nosotros-section h1{
            color: var(--verde);
            font-weight: 700;
        }

        .nosotros-section p{
            color: white;
            font-weight: 300;
        }
/* TERMINA SECCION PRINCIPAL */

/* SECCION FOOTER */
    .footer-modum{
        background: var(--strong_morado)!important;
        color: white!important;
    }

    .footer-modum a{
        color: white;
        font-weight: 500;
    }
/* TERMINA SECCION FOOTER */



.btn-brand{ 
    background:var(--morado)!important; 
    color:#fff!important; 
    font-weight: 600; /* Regular */
}

.btn-brand-verde{
    background:var(--verde)!important; 
    color:var(--morado)!important; 
    font-weight: 600!important; /* Regular */
}

.text-brand{ 
    color:var(--morado)!important; 
}

.hero{ 
}

.shadow-soft{ 
    box-shadow:0 10px 30px rgba(0,0,0,.08); 
}

.shadow-container{
    background: rgba(255, 255, 255, .78);
    padding: 25px;
    border-radius: 25px;
    margin-top: 55px !important;
}

.badge-soft{ 
    background:rgba(107,78,230,.12);
    color:var(--morado)!important; 
 }

 .badge-light{ 
    background:rgba(236, 240, 241,0.15);
    color:#ffffff; 
 }

.price{ 
    font-size:clamp(28px,4vw,40px); 
    font-weight:700; 
}

.sticky-cta{ 
    position:fixed; 
    bottom:16px; 
    right:16px; 
    z-index:1050; 
}

.logo{
    height:38px; 
}

.lead-bullets li{ 
    margin:.35rem 0; 
}
.feature i{ 
    font-size:24px; 
}

.nav-link{ 
    font-weight:500; 
}

.faq summary{ 
    cursor:pointer; 
}


.ri-class{
    color: var(--morado);
    font-size: 1.65rem;

}

.btn-bounce {
  display: inline-block;
  animation: bounce 3s ease infinite;
  animation-delay: 0s;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
  animation-fill-mode: both;
  animation-play-state: running;
  animation-direction: normal;
  animation-delay: 5s;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-20px);
  }
  60% {
    transform: translateY(-10px);
  }
}


.cards-colors{
    color: white!important;
   
}

#testimonios blockquote { font-size: 1.05rem; line-height: 1.6; }

.profile-photo{ 
    width:100%; 
    max-width:300px; 
    height:300px; 
    object-fit:cover; 
    border-radius:50%; 
}

.profile-card{ 
    position:sticky; 
    top:92px; 
}

/* Timeline */
.timeline{ 
    position:relative; 
    padding-left:.5rem; 
}

.timeline::before{ 
    content:""; 
    position:absolute; 
    left:10px; 
    top:0; 
    bottom:0; 
    width:2px; 
    background:#e5e7eb; 
}

.tl-item{ 
    position:relative; 
    margin-bottom:1.25rem; 
}

.tl-item::before{
  content:""; 
  position:absolute; 
  left:-4px; 
  top:.35rem; 
  width:14px; 
  height:14px;
  background:#fff; 
  border:3px solid var(--morado); 
  border-radius:50%;
}

.tl-card{ 
    margin-left:1.25rem; 
}
#equipo .card-body{ min-height: 100%; }
#equipo img{ width:160px; height:160px; object-fit:cover; }

.super-title{
    font-size: 3.6em;
    color: #2d3436;
}

.box-shadow-img{
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.36));
}

/* Contenedor del calendario */
/* Grilla estable */
#bs-datepicker-inline table{
  width:100%;
  table-layout:fixed;               /* 7 columnas iguales */
  color: black!important;
  cursor: pointer;
}
#bs-datepicker-inline th,
#bs-datepicker-inline td{ width:14.285%; padding:.35rem 0; text-align:center; }

/* Círculo centrado sin afectar el layout */

/* círculo detrás del texto */
#bs-datepicker-inline td.day{ position:relative; z-index:0; }
#bs-datepicker-inline td.day::before{
  content:"";
  position:absolute;
  left:50%; top:50%;
  width:32px; height:32px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:transparent;
  pointer-events:none;
  z-index:-1;               /* clave: detrás del número */
}

/* activo */
#bs-datepicker-inline td.day.active::before{ background:var(--morado) !important; }
#bs-datepicker-inline td.day.active{ color:#fff !important; }

/* no disponibles */
#bs-datepicker-inline td.day.disabled::before{ background:#bdc3c7 !important; }
#bs-datepicker-inline td.day.disabled{ color:white !important; cursor:not-allowed; }