
:root { 
    --brand:#0d0d55; 
    --accent:#00b894; 
}


.background-modum{
    background: var(--brand)!important;
    border-color: var(--brand)!important;
    color: white!important;
}



.label_require_field{
    background: #ffa700;
    color: black;
    padding: 5px;
    border-radius: 10px;
    position: absolute;
    margin-top: 8px;
    margin-left: 2px;
    opacity: .9;
    z-index: 10;
}


.label_error_format{
    background: #ff6100;    
    color: white;
    padding: 5px;
    border-radius: 10px;
    position: absolute;
    margin-top: -37px;
    margin-left: -2px;
    opacity: .9;
    z-index: 10;
}


.circle-icon-survey{
    font-size: 50px!important;
    background: #e5e5e5!important;
    padding: 10px!important;
    border-radius: 50%!important;
    border: 2px solid #979797!important;
}


:root { 
    --brand:#0d0d55; 
    --accent:#00b894; 
}

body{ 
    font-optical-sizing:auto; 
    padding-top: 72px;
}


.btn-brand{ 
    background:var(--brand)!important; 
    color:#fff!important; 
}

.btn-brand:hover{
    background:#5a3edd!important; 
    color:#fff!important; 
}

.text-brand{ 
    color:var(--brand)!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(--brand)!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; 
}

.main-section {
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url(../img/background-c.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; /* hace que ocupe todo el espacio */
}

.ri-class{
    color: var(--brand);
    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(--brand); 
  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(--brand) !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; }