.text-warning-alert {
    display: flex;
    align-items: center;
  }
  
  .date {
    margin-right: 10px;
  }
  
  .item-hints {
    --purple: #720c8f;
    cursor: pointer;
    display: flex;
    justify-content: flex-start;
    padding-right: 170px;
  }
  
  .item-hints .hint {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .item-hints .hint-dot {
    z-index: 3;
    border: 1px solid #ffe4e4;
    -webkit-transform: translate(-0%, -0%) scale(0.95);
    transform: translate(-0%, -0%) scale(0.95);
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(252,147,29);
  }
  
  .item-hints .hint-content {
    width: 300px;
    position: absolute;
    z-index: 5;
    opacity: 0;
    transition: opacity 0.7s ease, visibility 0.7s ease;
    color: rgb(252,147,29);
    visibility: hidden;
    pointer-events: none;
    margin: -40px;
  }
  
  .item-hints .hint:hover .hint-content {
    position: absolute;
    z-index: 5;
    margin: -40px;
    padding: auto;
    opacity: 1;
    -webkit-transition: opacity 0.7s ease, visibility 0.7s ease;
    transition: opacity 0.7s ease, visibility 0.7s ease;
    color: rgb(252,147,29);
    visibility: visible;
    pointer-events: none;
  }
  
  .item-hints .hint-content::before {
    width: 0px;
    bottom: 15px;
    left: 0;
    content: "";
    background-color: rgb(252,147,29);
    height: 1px;
    position: absolute;
    transition: width 0.4s;
  }
  
  .item-hints .hint:hover .hint-content::before {
    width: 180px;
    transition: width 0.4s;
  }
  
  .item-hints .hint-content::after {
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: rotate(-225deg);
    transform: rotate(-225deg);
    bottom: 15px;
    left: 0;
    width: 80px;
    content: "";
    background-color: rgb(252,147,29);
    height: 1px;
    position: absolute;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
  }
  
  .item-hints .hint:hover .hint-content::after {
    opacity: 1;
    visibility: visible;
  }
  
  .item-hints .hint[data-position="4"] .hint-content {
    bottom: 85px;
    left: 50%;
    margin-left: 56px;
  }

.text-danger-alert {
  display: flex;
  align-items: center;
}

.item-hints-danger {
  --purple: #720c8f;
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  padding-right: 170px;
}

.item-hints-danger .hint-danger {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.item-hints-danger .hint-dot-danger {
  z-index: 3;
  border: 1px solid #ffe4e4;
  -webkit-transform: translate(-0%, -0%) scale(0.95);
  transform: translate(-0%, -0%) scale(0.95);
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(255, 0, 0);
}

.item-hints-danger .hint-content-danger {
  width: 300px;
  position: absolute;
  z-index: 5;
  opacity: 0;
  transition: opacity 0.7s ease, visibility 0.7s ease;
  color: rgb(255, 0, 0);
  visibility: hidden;
  pointer-events: none;
  margin: -40px;
}

.item-hints-danger .hint-danger:hover .hint-content-danger {
  position: absolute;
  z-index: 5;
  margin: -40px;
  padding: auto;
  opacity: 1;
  -webkit-transition: opacity 0.7s ease, visibility 0.7s ease;
  transition: opacity 0.7s ease, visibility 0.7s ease;
  color: rgb(255, 0, 0);
  visibility: visible;
  pointer-events: none;
}

.item-hints-danger .hint-content-danger::before {
  width: 0px;
  bottom: 15px;
  left: 0;
  content: "";
  background-color: rgb(255, 0, 0);
  height: 1px;
  position: absolute;
  transition: width 0.4s;
}

.item-hints-danger .hint-danger:hover .hint-content-danger::before {
  width: 180px;
  transition: width 0.4s;
}

.item-hints-danger .hint-content-danger::after {
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transform: rotate(-225deg);
  transform: rotate(-225deg);
  bottom: 15px;
  left: 0;
  width: 80px;
  content: "";
  background-color: rgb(255, 0, 0);
  height: 1px;
  position: absolute;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.item-hints-danger .hint-danger:hover .hint-content-danger::after {
  opacity: 1;
  visibility: visible;
}

.item-hints-danger .hint-danger[data-position="4"] .hint-content-danger {
  bottom: 85px;
  left: 50%;
  margin-left: 56px;
}
  
.text-verify {
    width: auto;
    font-size: 12px;
    line-height: 1.3;
}

.verify-icon {
    height: 40px; 
    width: 40px !important; 
    line-height: 41px; 
    border-radius: 40px; 
    text-align: center; 
    font-size: 24px; 
    display: block; 
    margin-right: 8px; 
    padding: 0 8px
}

.verify-yes {
    background-color: #d6e9ff; 
    color: rgb(0, 145, 255);
}

.verify-no {
    background-color: #ffcaca; 
    color: #f32121 !important;
}

.text-contact {
  width: auto;
  font-size: 14px;
  line-height: 1.5;
}

.verify-contact {
  background-color: #FF5100; 
  color: #ffffff;
}

@media only screen and (max-width: 768px) {
    .contenido-escritorio {
      display: none!important;
    }
}

/* Ocultar contenido de móvil en dispositivos de escritorio */
@media only screen and (min-width: 769px) {
    .contenido-movil {
      display: none!important;
    }
}

.tooltip-container {
  position: relative;
  display: inline-block;
}

.tooltip {
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  text-align: left;
  padding: 5px 5px;
  border-radius: 5px;
  position: absolute;
  z-index: 1;
  bottom: calc(100% + 10px);
  left: 130px;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  max-width: 3000px;
  white-space: nowrap;
  font-size: 12px;
}

.tooltip-container:hover .tooltip {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(-10px);
}


.tooltip-container-2 {
  position: relative;
  display: inline-block;
}

.tooltip-2 {
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  text-align: left;
  padding: 5px 5px;
  border-radius: 5px;
  position: absolute;
  z-index: 1;
  bottom: calc(100% + 10px);
  left: 170px;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  max-width: 3000px;
  white-space: nowrap;
  font-size: 12px;
}

.tooltip-container-2:hover .tooltip-2 {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(-10px);
}

.tooltip-container-3 {
  position: relative;
  display: inline-block;
}

.tooltip-3 {
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  text-align: left;
  padding: 5px 5px;
  border-radius: 5px;
  position: absolute;
  z-index: 1;
  bottom: calc(100% + 10px);
  left: 62px;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
  max-width: 3000px;
  white-space: nowrap;
  font-size: 12px;
}

.tooltip-container-3:hover .tooltip-3 {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(-10px);
}



/*---*/
.cards-container {
  position: relative;
  width: 90%;
  height: 90%;
}

.card-plan {
  display: none;
}

.card-plan.active {
  display: block;
  background-color: white;
}

.switch-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  margin: 20px 0; /* Optional: Add some margin for spacing */
}

.switch-label {
  margin: 0 10px;
  transition: color 0.4s;
}

.switch-label.mensual {
  color: #ff5e00; /* Color for Mensual when active */
}

.switch-label.anual {
  color: #ffffff; /* Color for Anual when inactive */
}

.switch-label.mensual.inactive {
  color: #ffffff; /* Color for Mensual when inactive */
}

.switch-label.anual.active {
  color: #53009B; /* Color for Anual when active */
}

.switch-discount {
  margin-left: 10px;
  font-size: 15px;
  padding: 8px;
  border-radius: 18px;
  color: #ffffff; /* Green color to emphasize the discount */
  background-color: #009e00;
}

.switch {
  --circle-dim: 1.4em;
  position: relative;
  display: inline-block;
  width: 3.5em;
  height: 2em;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ffa774;
  transition: .4s;
  border-radius: 30px;
}

.slider-card {
  position: absolute;
  content: "";
  height: var(--circle-dim);
  width: var(--circle-dim);
  border-radius: 20px;
  left: 0.3em;
  bottom: 0.3em;
  transition: .4s;
  pointer-events: none;
}

.slider-card-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  perspective: 1000px;
  border-radius: 50%;
  transition: .4s transform;
}

.slider-card-front {
  background-color: #ff5e00;
}

.slider-card-back {
  background-color: #53009B;
  transform: rotateY(180deg);
}

input:checked ~ .slider-card .slider-card-back {
  transform: rotateY(0);
}

input:checked ~ .slider-card .slider-card-front {
  transform: rotateY(-180deg);
}

input:checked ~ .slider-card {
  transform: translateX(1.5em);
}

input:checked ~ .slider {
  background-color: #b45fff;
}

/* estilos de grafica*/
.dashboard-container {
    font-family: Arial, sans-serif;
    padding: 20px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    width: 100%;
    box-sizing: border-box;
}

.section {
    margin-bottom: 30px;
    border: 1px solid #eee;
    padding: 20px;
    border-radius: 8px;
}

.section-title {
    font-size: 24px;
    font-weight: bold;
    color: #FF5100;
}

.section-subtitle {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #731fcc;
}

.filter-section {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    align-items: center; 
}

/* Ajuste para centrar los labels verticalmente y dar espaciado adecuado */
.filter-section label {
  flex: 0 0 auto; /* No permite que el label se estire */
  margin: 0 5px; /* Espaciado lateral */
  display: flex;
  align-items: center; /* Centrar verticalmente */
}

/* Ajustar el contenedor de los inputs y labels */
.filter-section input[type="date"],
.filter-btn-filter,
.filter-section select {
  display: flex; /* Para centrar con flexbox */
  align-items: center; /* Centrar verticalmente */
}

/* Asegurarse que los inputs y selects tengan un tamaño uniforme */
.filter-section input[type="date"],
.filter-btn-filter,
.filter-section .filter-Select {
  min-width: 120px; /* Establecer un ancho mínimo */
}

/* Estilo para hacer que los elementos se distribuyan uniformemente */
.filter-section > * {
  flex: 1 1 auto; /* Permitir que los elementos crezcan y se encojan */
  display: flex; /* Usar flexbox para cada elemento */
  justify-content: center; /* Centrar horizontalmente */
}

.filter-btn {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: #fff;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 13px;
    white-space: nowrap;
}

.filter-btn.active {
    background: #f36e21;
    color: white;
    border-color: #f36e21;
}

input[type="date"] {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: #fff;
    font-size: 13px;
    transition: all 0.3s;
    cursor: pointer;
}

label {
    font-size: 13px;
    margin-right: 5px;
    color: #555;
}

.filter-btn-filter:last-of-type {
    font-size: 13px;
    outline: none;
    padding: 6px 12px;
    background: #f36e21;
    color: white;
    border: 1px solid #f36e21;
    border-radius: 20px;
    transition: all 0.3s;
    cursor: pointer;
}

.filter-btn-filter:last-of-type:hover {
    background: #d95d1c;
}

#customStart, #customEnd {
    margin-right: 10px;
}

  .metrics-container {
      display: flex;
      gap: 15px;
      margin-bottom: 20px;
      flex-wrap: wrap;
  }

  .metric-card {
      flex: 1;
      min-width: 200px;
      padding: 15px;
      border: 1px solid #ddd;
      border-radius: 8px;
      background: #f8f9fa;
  }

  .metric-title {
      color: #666;
      font-size: 13px;
      margin-bottom: 5px;
  }

  .metric-value {
      font-size: 20px;
      font-weight: bold;
      color: #333;
  }

  .chart-container {
      height: 300px;
      width: 100%;
  }

  .horizontal-chart-container {
      height: 400px;
      width: 100%;
  }

  @media (max-width: 768px) {
      .metric-card {
          min-width: 100%;
      }
  }

/* Estilos responsivos */
@media (max-width: 768px) {
    .filter-section {
        flex-direction: column; /* Los elementos se apilan en pantallas más pequeñas */
        align-items: flex-start; /* Alineación a la izquierda */
    }

    .filter-section label {
      margin-bottom: 5px; /* Espaciado inferior en móviles */
    }

    .filter-btn, input[type="date"], label, .filter-btn-filter {
        width: 100%; /* Ocupa el 100% del ancho en dispositivos pequeños */
        box-sizing: border-box; /* Asegura que el padding se incluya en el ancho */
    }

    /* Aumentar el espacio entre los elementos en pantallas más pequeñas */
    .filter-section > * {
        margin-bottom: 10px;
    }

    /* Asegurar que el canvas de la gráfica sea responsivo */
    .horizontal-chart-container {
        width: 100%;
        height: auto;
    }

    /* La gráfica ocupará el 100% del ancho disponible */
    canvas {
        width: 100% !important;
        height: auto !important;
    }
}

/* Ajuste adicional para pantallas realmente pequeñas (como teléfonos en modo vertical) */
@media (max-width: 480px) {
    .filter-btn, input[type="date"], label, .filter-btn-filter {
        font-size: 12px; /* Reducir el tamaño de la fuente para caber mejor en pantallas pequeñas */
    }

    /* Reducir el padding de los botones */
    .filter-btn, .filter-btn-filter {
        padding: 5px 10px;
    }

    /* Gráfica más compacta en pantallas pequeñas */
    .horizontal-chart-container {
        padding: 10px;
    }
}

/* Estilo para los botones de Vistas y Leads */
#viewBtn.active {
  background-color: #f36e21;
  color: white;
  border-color: #f36e21;
}

#leadBtn {
  background-color: #ffffff;
  border: 1px solid #ddd;
}

#leadBtn.active {
  background-color: #731fcc;
  color: white;
  border-color: #731fcc;
}

/* Estilo para el select */
.filter-Select {
  padding: 6px 12px;
  font-size: 14px;
  border-radius: 20px;
  border: 1px solid #ddd;
  background-color: white;
  transition: border-color 0.3s;
  cursor: pointer;
  appearance: none; /* Eliminamos el estilo predeterminado del navegador */
}

/* Asegurar que el select mantenga bordes redondeados al abrirlo */
.filter-Select:focus {
  outline: none;
  border-color: #f36e21; /* Cambiar color del borde cuando está seleccionado */
}

/* Cambia el fondo y el color del texto cuando se pasa el cursor */
.filter-Select option:hover {
  background-color: #f36e21 !important;  /* Fondo naranja */
  color: #fff !important; /* Texto blanco */
}

/* Ajustes adicionales cuando se pasa el cursor por el select */
.filter-Select:hover {
  border-color: #f36e21;
}

/* Estilos para hacer el select más agradable visualmente */
.filter-Select::-ms-expand {
  display: none; /* Eliminamos la flecha en navegadores como Edge */
}

.col-md-4 {
  position: relative; /* Contexto para posicionamiento */
}
.input-group {
  display: flex; /* Mantiene el diseño del input y select */
  position: relative; /* Necesario para posicionar el texto Premium */
}
.input-premium {
  border: 2px solid rgb(255, 204, 37); /* Borde de 2px con el color especificado */
}
.premium-label {
  position: absolute;
  top: 50%; /* Centrado vertical con el input-group */
  right: 0; /* Se alinea al final del contenedor del input-group */
  transform: translate(0, -160%);
  background-color: rgb(255, 204, 37);
  color: white;
  padding: 2px 8px; /* Ajusta el espacio interno al texto */
  border-radius: 50px; /* Bordes completamente redondeados */
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
  width: auto;
  height: auto;
  z-index: 10; /* Para asegurar que quede sobre los campos */
  display: inline-block; /* Limita el tamaño al contenido del texto */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra opcional */
}

/* Responsivo para tamaños más pequeños */
@media (max-width: 992px) {
  .premium-label {
      font-size: 12px; /* Reduce el tamaño del texto */
  }
}

@media (max-width: 768px) {
  .premium-label {
      font-size: 12px;
      padding: 2px 6px; /* Reduce el padding */
      transform: translate(0, -150%);
  }
}

@media (max-width: 576px) {
  .premium-label {
      font-size: 12px;
      padding: 2px 5px;
  }
}

.alert-inicio {
  background   : linear-gradient(to bottom, #180341, #2B0188); 
  border       : 10;                                    
  color        : white;                                 
  padding      : 20px;                                     
  border-radius: 8px;                                  
  box-shadow   : 0 4px 8px rgba(0, 0, 0, 0.2); 
  margin-bottom: 20px;
}

.alert-inicio a {
  color: white;
}

.tooltip-modern {
    margin-left: 10px;
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.tooltip-modern .tooltip-modern-text {
    visibility: hidden;
    width: 260px;
    background: linear-gradient(145deg, #0d6efd, #084298);
    color: #fff;
    text-align: left;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.4;
    position: absolute;
    z-index: 10;
    bottom: 125%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: all 0.3s ease;
    box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.2);
}

.tooltip-modern .tooltip-modern-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    border-width: 6px;
    border-style: solid;
    border-color: #084298 transparent transparent transparent;
}

.tooltip-modern:hover .tooltip-modern-text {
    visibility: visible;
    opacity: 1;
}

.bg-gradient-primary {
            background: linear-gradient(135deg, #310086 0%, #764ba2 100%);
        }
        
        .avatar-sm {
            height: 3rem;
            width: 3rem;
        }
        
        .bg-success-subtle {
            background-color: rgba(25, 135, 84, 0.1) !important;
        }
        
        .bg-danger-subtle {
            background-color: rgba(220, 53, 69, 0.1) !important;
        }
        
        .bg-warning-subtle {
            background-color: rgba(255, 193, 7, 0.1) !important;
        }
        
        .bg-primary-subtle {
            background-color: rgba(13, 110, 253, 0.1) !important;
        }
        
        .bg-info-subtle {
            background-color: rgba(13, 202, 240, 0.1) !important;
        }
        
        .alert {
            border: none;
            border-radius: 0.75rem;
        }
        
        /* Estilos para la sección de planes */
        .plans-section {
            background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
            border-radius: 1rem;
            padding: 2rem;
            margin-bottom: 2rem;
        }
        
        .plans-header {
            text-align: center;
        }
        
        .plans-title {
            font-size: 2rem;
            font-weight: 700;
            background: linear-gradient(135deg, #1a0144 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.5rem;
        }
        
        .plans-subtitle {
            color: #6c757d;
            font-size: 1.1rem;
            margin-bottom: 2rem;
        }
        
        /* Switch Toggle Mejorado */
        .switch-wrapper {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            margin-bottom: 3rem;
            padding: 1rem;
            background: white;
            border-radius: 50px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.1);
            display: inline-flex;
        }
        
        .switch {
            position: relative;
            width: 60px;
            height: 30px;
        }
        
        .switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }
        
        .slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, #ff6b35 0%, #ff8e53 100%);
            transition: .4s;
            border-radius: 30px;
        }
        
        .slider:before {
            position: absolute;
            content: "";
            height: 22px;
            width: 22px;
            left: 4px;
            bottom: 4px;
            background-color: white;
            transition: .4s;
            border-radius: 50%;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }
        
        input:checked + .slider {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        
        input:checked + .slider:before {
            transform: translateX(30px);
        }
        
        .switch-label {
            font-weight: 600;
            font-size: 1rem;
            color: #6c757d;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .switch-label.active.mensual {
            color: #ff6b35;
            transform: scale(1.1);
            text-shadow: 0 2px 4px rgba(255, 107, 53, 0.3);
        }
        
        .switch-label.active.anual {
            color: #3e01c1;
            transform: scale(1.1);
            text-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
        }
        
        .switch-label:not(.active) {
            color: #2b2b2b;
            transform: scale(1);
        }
        
        .switch-discount {
            background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
            color: white;
            padding: 0.25rem 0.75rem;
            border-radius: 20px;
            font-size: 0.875rem;
            font-weight: 600;
            animation: pulse 2s infinite;
        }
        
        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.05); }
            100% { transform: scale(1); }
        }
        
        /* Tarjetas de Planes Rediseñadas */
        .plans-container {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            justify-content: center;
            position: relative;
        }
        
        .plan-card {
            background: white;
            border-radius: 1.5rem;
            padding: 0;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            transition: all 0.4s ease, opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
            overflow: hidden;
            position: absolute;
            max-width: 350px;
            width: 100%;
            opacity: 0;
            transform: translateY(30px) scale(0.95);
        }
        
        .plan-card.active {
            position: relative;
            opacity: 1;
            transform: translateY(0) scale(1);
        }
        
        .plan-card:hover {
            transform: translateY(-10px) scale(1);
            box-shadow: 0 20px 40px rgba(0,0,0,0.15);
        }
        
        .plan-card.active:hover {
            transform: translateY(-10px) scale(1);
        }
        
        .plan-card.plan-popular-mensual {
            border: 3px solid #ff6b35;
            position: relative;
        }
        
        .plan-card.plan-popular-mensual::before {
            content: "MÁS POPULAR";
            position: absolute;
            top: 1rem;
            right: -3rem;
            background: linear-gradient(135deg, #ff6b35 0%, #ff8e53 100%);
            color: white;
            padding: 0.5rem 3rem;
            font-size: 0.75rem;
            font-weight: 700;
            transform: rotate(45deg);
            z-index: 10;
        }

        .plan-card.plan-popular-anual {
            border: 3px solid #3901c0;
            position: relative;
        }
        
        .plan-card.plan-popular-anual::before {
            content: "MÁS POPULAR";
            position: absolute;
            top: 1rem;
            right: -3rem;
            background: linear-gradient(135deg, #3901c0 0%, #6f63ff 100%);
            color: white;
            padding: 0.5rem 3rem;
            font-size: 0.75rem;
            font-weight: 700;
            transform: rotate(45deg);
            z-index: 10;
        }
        
        .plan-image-container {
            width: 100%;
            position: relative;
            padding: 2rem;
            text-align: center;
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        }
        
        .plan-image {
            width: 100%;
            max-width: 250px;
            height: auto;
            border-radius: 1rem;
            transition: transform 0.3s ease;
        }
        
        .plan-card:hover .plan-image {
            transform: scale(1.05);
        }
        
        .plan-action {
            padding: 1.5rem;
            background: white;
        }
        
        .plan-button {
            width: 100%;
            padding: 1rem 2rem;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1.1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            border: none;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }
        
        .plan-button:not(.disabled):hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.2);
        }
        
        .plan-button.disabled {
            background: #e9ecef !important;
            color: #6c757d !important;
            cursor: not-allowed;
        }
        
        .plan-button-professional {
            background: linear-gradient(135deg, #ff6b35 0%, #ff8e53 100%);
            color: white;
        }
        
        .plan-button-premium {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
        }
        
        /* Responsive Design */
        @media (max-width: 768px) {
            .plans-title {
                font-size: 2rem;
            }
            
            .plans-section {
                padding: 1.5rem;
            }
            
            .switch-wrapper {
                flex-direction: column;
                gap: 0.5rem;
                padding: 1.5rem;
            }
            
            .switch-discount {
                margin-top: 0.5rem;
            }
            
            .plans-container {
                gap: 1.5rem;
            }
            
            .plan-card {
                max-width: 100%;
            }
        }
        
        @media (max-width: 576px) {
            .switch-wrapper {
                padding: 1rem;
            }
            
            .switch-label {
                font-size: 0.9rem;
            }
            
            .plan-image-container {
                padding: 1.5rem;
            }
            
            .plan-action {
                padding: 1rem;
            }
            
            .plan-button {
                padding: 0.875rem 1.5rem;
                font-size: 1rem;
            }
        }
        
        @media (max-width: 768px) {
            .avatar-sm {
                height: 2.5rem;
                width: 2.5rem;
            }
            
            .fs-5 {
                font-size: 0.9rem !important;
            }
            
            .card-body {
                padding: 1.5rem !important;
            }
            
            .alert {
                padding: 1rem;
            }
            
            .alert h6 {
                font-size: 0.95rem;
            }
            
            .alert p {
                font-size: 0.85rem;
            }
        }
        
        @media (max-width: 576px) {
            .d-flex.align-items-center {
                flex-direction: column;
                text-align: center;
            }
            
            .flex-grow-1.ms-3 {
                margin-left: 0 !important;
                margin-top: 0.75rem;
            }
            
            .avatar-sm {
                margin-bottom: 0.5rem;
            }
        }
        /* Variables CSS para consistencia */
        :root {
            --primary-color: #FF5100;
            --primary-dark: #d04200;
            --secondary-color: #667eea;
            --success-color: #28a745;
            --whatsapp-color: #25d366;
            --gradient-primary: linear-gradient(135deg, #FF5100 0%, #ff8e53 100%);
            --gradient-secondary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.1);
            --shadow-hover: 0 15px 40px rgba(0, 0, 0, 0.15);
            --border-radius: 1.5rem;
        }

        /* Contenedor principal */
        .contact-section {
            background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
            border-radius: var(--border-radius);
            padding: 3rem;
            margin-bottom: 2rem;
        }

        .contact-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .contact-title {
            font-size: 3rem;
            font-weight: 700;
            background: var(--gradient-primary);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.5rem;
        }

        .contact-subtitle {
            color: #6c757d;
            font-size: 1.2rem;
            margin-bottom: 2rem;
        }

        /* Tarjeta de información de contacto rediseñada */
        .contact-info-card {
            background: white;
            border-radius: var(--border-radius);
            padding: 2.5rem;
            box-shadow: var(--shadow-soft);
            transition: all 0.3s ease;
            height: 100%;
        }

        .contact-info-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-hover);
        }

        .contact-info-title {
            color: var(--primary-color);
            font-size: 1.8rem;
            font-weight: 700;
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
        }

        .contact-info-title i {
            margin-right: 0.75rem;
            font-size: 2rem;
            background: var(--gradient-primary);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* Elementos de contacto modernos */
        .contact-item {
            display: flex;
            align-items: center;
            padding: 1rem 1.5rem;
            margin-bottom: 1rem;
            border-radius: 0.75rem;
            text-decoration: none;
            transition: all 0.3s ease;
            color: white;
            font-weight: 600;
            position: relative;
            overflow: hidden;
        }

        .contact-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
            transition: left 0.5s;
        }

        .contact-item:hover::before {
            left: 100%;
        }

        .contact-item:hover {
            transform: translateX(5px);
            box-shadow: 0 8px 25px rgba(0,0,0,0.15);
            text-decoration: none;
            color: white;
        }

        .contact-item-whatsapp {
            background: linear-gradient(135deg, #25d366 0%, #20c997 100%);
        }

        .contact-item-phone {
            background: linear-gradient(135deg, #007bff 0%, #0056b3 100%);
        }

        .contact-item-email {
            background: var(--gradient-primary);
        }

        .contact-item i {
            font-size: 1.5rem;
            margin-right: 1rem;
            min-width: 2rem;
        }

        /* Formulario de contacto rediseñado */
        .contact-form-card {
            background: white;
            border-radius: var(--border-radius);
            padding: 2.5rem;
            box-shadow: var(--shadow-soft);
            transition: all 0.3s ease;
            height: 100%;
        }

        .contact-form-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-hover);
        }

        .contact-form-title {
            color: var(--primary-color);
            font-size: 1.8rem;
            font-weight: 700;
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
        }

        .contact-form-title i {
            margin-right: 0.75rem;
            font-size: 2rem;
            background: var(--gradient-primary);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* Campos del formulario */
        .form-group {
            margin-bottom: 1.5rem;
        }

        .form-label {
            font-weight: 600;
            color: #495057;
            margin-bottom: 0.5rem;
            display: block;
        }

        .form-control-modern {
            width: 100%;
            padding: 1rem 1.25rem;
            border: 2px solid #e9ecef;
            border-radius: 0.75rem;
            font-size: 1rem;
            transition: all 0.3s ease;
            background: #f8f9fa;
        }

        .form-control-modern:focus {
            outline: none;
            border-color: var(--primary-color);
            background: white;
            box-shadow: 0 0 0 0.2rem rgba(255, 81, 0, 0.25);
        }

        .form-control-modern::placeholder {
            color: #6c757d;
        }

        /* Botón de envío */
        .btn-send {
            background: var(--gradient-primary);
            color: white;
            padding: 1rem 2.5rem;
            border: none;
            border-radius: 50px;
            font-weight: 700;
            font-size: 1.1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            width: 100%;
        }

        .btn-send:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(255, 81, 0, 0.3);
        }

        .btn-send i {
            margin-left: 0.5rem;
        }

        /* Botón de regreso */
        .btn-back {
            background: var(--gradient-secondary);
            color: white;
            padding: 1rem 2rem;
            border: none;
            border-radius: 50px;
            font-weight: 600;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            transition: all 0.3s ease;
        }

        .btn-back:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
            color: white;
            text-decoration: none;
        }

        .btn-back i {
            margin-right: 0.5rem;
        }

        /* Estados de éxito y error */
        .status-card {
            text-align: center;
            padding: 3rem;
        }

        .status-icon {
            font-size: 4rem;
            margin-bottom: 1.5rem;
        }

        .status-icon.success {
            color: var(--success-color);
            animation: bounce 1s ease-in-out;
        }

        .status-icon.error {
            color: #dc3545;
            animation: shake 0.5s ease-in-out;
        }

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

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
            20%, 40%, 60%, 80% { transform: translateX(5px); }
        }

        .status-message {
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--primary-color);
            margin-bottom: 2rem;
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            .contact-section {
                padding: 2rem 1.5rem;
            }

            .contact-title {
                font-size: 2.5rem;
            }

            .contact-subtitle {
                font-size: 1.1rem;
            }

            .contact-info-card,
            .contact-form-card {
                padding: 2rem;
                margin-bottom: 2rem;
            }

            .contact-item {
                padding: 0.875rem 1.25rem;
                font-size: 0.95rem;
            }

            .contact-item i {
                font-size: 1.25rem;
            }
        }

        @media (max-width: 576px) {
            .contact-section {
                padding: 1.5rem 1rem;
            }

            .contact-title {
                font-size: 2rem;
            }

            .contact-info-title,
            .contact-form-title {
                font-size: 1.5rem;
            }

            .contact-item {
                padding: 0.75rem 1rem;
                margin-bottom: 0.75rem;
            }

            .form-control-modern {
                padding: 0.875rem 1rem;
            }

            .btn-send {
                padding: 0.875rem 2rem;
                font-size: 1rem;
            }
        }