.boton-precompra {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 20px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
  transition: background 0.3s;
  white-space: nowrap;
  background-color: #0299D6;
  color: rgb(255, 255, 255);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  margin-top: 15px;
}

.boton-precompra:hover {
  background-color:#A7448A;
}

.seccion-planes {
  font-family: 'Segoe UI', sans-serif;
  text-align: center;
  padding: 40px 20px;
  background-color: #f8f9fa;
}

.seccion-planes h1 {
  font-size: 2em;
  margin-bottom: 10px;
}

.seccion-planes h2 {
  font-size: 32px;
  margin-bottom: 20px;
  color: #222;
}

.seccion-planes p {
  font-size: 18px;
  color: #555;
  margin: 10px;
}

.seccion-planes .subtitulo {
  font-size: 1.2em;
  margin-bottom: 30px;
  color: #666;
}

.seccion-planes .container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

.seccion-planes .plan-card {
  background: #ffffff;
  border-radius: 0px;
  padding: 25px;
  width: 100%;
  flex: 0 0 auto;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
  text-align: left;
}

.seccion-planes .plan-title {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 10px;
}

.seccion-planes .plan-description {
  font-size: 1em;
  margin-bottom: 15px;
  color: #555;
}

.seccion-planes .plan-price span {
  display: inline-block;
  font-size: 1.4em;
  font-weight: bold;
  color: #222;
}

.seccion-planes .plan-toggle {
  display: flex;
  justify-content: space-between;
  margin: 20px 0;
}

.seccion-planes .plan-toggle label {
  flex: 1;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  font-size: 0.95em;
  border: 1px solid #ccc;
  margin: 0 5px;
  background: #f0f0f0;
  transition: background 0.3s ease;
  text-align: center;
}

.seccion-planes .plan-toggle input[type="radio"] {
  display: none;
}

.seccion-planes .plan-toggle input:checked + label {
  background: #6f2da8;
  color: white;
  border-color: #6f2da8;
}

.seccion-planes .plan-features {
  list-style: none;
  padding: 0;
  margin-bottom: 20px;
}

.seccion-planes .plan-features li {
  margin-bottom: 8px;
  font-size: 0.95em;
  color: #333;
}

.seccion-planes .cta-button {
  display: inline-block;
  padding: 0.6rem 1.4rem;
  background-color: var(--color-boton, #facc15);
  color: #1f2937;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 700;
  transition: background 0.3s;
  cursor: pointer;
  margin-top: 1.5rem; /* ✅ margen para separarlo de las leyendas */
}

.seccion-planes .cta-button:hover {
  background-color: #1f2937;
  color: var(--color-boton, #facc15);
}

.plan-actual {
  border: 3px solid #34d399 !important; /* verde esmeralda */
  box-shadow: 0 0 10px rgba(52, 211, 153, 0.5) !important;
  position: relative;
}

.actual-badge {
  position: absolute;
  top: -14px;
  left: 14px;
  background: #34d399;
  color: white;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 6px 12px;
  border-radius: 50px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transform: rotate(8deg);
  z-index: 10;
}

.popular-badge {
  position: relative;
  top: -34px;
  background: var(--color-popular);
  color: white;
  font-size: 1rem;
  font-weight: bold;
  padding: 10px 10px;
  border-radius: 50px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

:root {
   --color-etapa1: linear-gradient(to right, #c1cafd, #909bfd);
   --color-etapa2: linear-gradient(to right, #c689fc, #e7a4ff);
   --color-etapa3: linear-gradient(to right, #ffa880, #ff9f72);
   --color-etapa4: linear-gradient(to right, #FFD700, #f5ca0b);
   --color-etapa4: linear-gradient(to right, #facc15, #f59e0b); /* dorado brillante */
   --color-popular: #ff4081;
   --color-boton: #facc15;
 }


@media (min-width: 768px) {
  .seccion-planes .container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
  }

  .seccion-planes .plan-card {
    flex: 1 1 300px !important;
    max-width: 340px !important;
    min-height: 500px !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
    border-radius: 10px;
  }

  .actual-badge {
    left: -14px;
  }

}

