/* ===== PACKAGES SECTION ===== */
#packages {
  padding: 7rem 3rem;
  position: relative;
  background: var(--cream) !important;
}

#packages::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(143,191,174,0.20), rgba(208,93,62,0.35), rgba(143,191,174,0.20), transparent);
}

#packages h2 {
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  color: var(--text-dark);
}

#packages .section-subtitle { color: var(--text-mid); }

/* ── Grid ── */
.packages-grid {
  max-width: 1150px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
  align-items: start;
}

/* ── Card base — teal ink glass ── */
.package-card {
  background: var(--white);
  border: 1px solid rgba(27,55,41,0.08);
  border-radius: 20px;
  padding: 2.5rem 2rem;
  position: relative;
  box-shadow: 0 4px 20px rgba(27,55,41,0.06);
  transition:
    transform    var(--duration-base) var(--ease-out),
    box-shadow   var(--duration-base) var(--ease-out),
    border-color var(--duration-base) var(--ease-out);
}

.package-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--glow-gold), 0 24px 60px rgba(27,55,41,0.14);
  border-color: rgba(208,93,62,0.30);
}

/* ── Card destacada — realce dorado ── */
.package-highlight {
  background: linear-gradient(160deg,
    var(--white) 0%,
    rgba(208,93,62,0.06)  100%
  );
  border-color: rgba(208,93,62,0.35);
  transform: scale(1.03);
  box-shadow: var(--glow-gold), 0 16px 45px rgba(27,55,41,0.12);
}

.package-highlight:hover {
  transform: scale(1.03) translateY(-8px);
  box-shadow: var(--glow-gold), 0 24px 60px rgba(27,55,41,0.18);
  border-color: rgba(208,93,62,0.55);
}

/* Línea de acento superior en la card destacada */
.package-highlight::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(90deg, transparent, var(--gold-light), var(--gold), transparent);
}

/* ── Badge "MÁS POPULAR" ── */
.package-badge {
  position: absolute;
  top: -13px; left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-light));
  color: var(--deep);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  padding: 0.35rem 1.2rem;
  border-radius: 50px;
  white-space: nowrap;
  box-shadow: var(--glow-gold);
  text-transform: uppercase;
}

/* ── Icono ── */
.package-icon { font-size: 2.8rem; display: block; margin-bottom: 1rem; }

/* ── Nombre ── */
.package-name {
  font-family: 'Quicksand', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 1rem;
}

/* ── Precio ── */
.package-price { margin-bottom: 1.5rem; }

.price-amount {
  font-family: 'Quicksand', sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 50%, var(--gold-dark) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.price-period {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: var(--text-mid);
  margin-left: 0.3rem;
}

/* ── Lista de características ── */
.package-features {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin-bottom: 2rem;
}

.package-features li {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  color: var(--text-mid);
  font-size: 0.9rem;
  padding-left: 0.5rem;
  line-height: 1.5;
  border-bottom: 1px solid rgba(27,55,41,0.08);
  padding-bottom: 0.7rem;
}

.package-features li:last-child { border-bottom: none; padding-bottom: 0; }

/* ── CTA base ── */
.package-cta {
  display: block;
  text-align: center;
  padding: 0.9rem 1.5rem;
  background: rgba(27,55,41,0.04);
  border: 1px solid rgba(27,55,41,0.16);
  border-radius: 50px;
  color: var(--deep-mid);
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 0.82rem;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    background    var(--duration-base) var(--ease-out),
    border-color  var(--duration-base) var(--ease-out),
    color         var(--duration-base) var(--ease-out),
    box-shadow    var(--duration-base) var(--ease-out);
}

.package-cta:hover {
  background: rgba(208,93,62,0.12);
  border-color: rgba(208,93,62,0.40);
  color: var(--gold);
  box-shadow: var(--glow-gold);
}

/* ── CTA destacado — shimmer dorado ── */
.package-cta-highlight {
  background: linear-gradient(
    110deg,
    var(--gold-dark)  0%,
    var(--gold)       30%,
    var(--gold-light) 50%,
    var(--gold)       70%,
    var(--gold-dark)  100%
  );
  background-size: 200% auto;
  border: none;
  color: var(--deep);
  font-weight: 500;
  animation: shimmer 3.2s linear infinite;
  box-shadow: 0 8px 25px rgba(208,93,62,0.30);
}

.package-cta-highlight:hover {
  animation-play-state: paused;
  box-shadow: 0 12px 35px rgba(208,93,62,0.50);
  transform: translateY(-2px);
  color: var(--deep);
  border: none;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  #packages { padding: 4rem 1.5rem; }
  .packages-grid { grid-template-columns: 1fr; }
  .package-highlight { transform: none; }
  .package-highlight:hover { transform: translateY(-8px); }
}
