/* Promo Chooser Component */
.promo-chooser-section { 
  margin: 40px auto 24px; 
  max-width: 980px; 
  padding: 28px 32px; 
  background: var(--gradient-secondary); 
  border: 1px solid rgba(255,255,255,0.08); 
  border-radius: 20px; 
  position: relative; 
  overflow: hidden; 
  color: var(--aws-white); 
}
.promo-chooser-section:before { 
  content:""; 
  position:absolute; 
  inset:0; 
  background: radial-gradient(circle at 85% 15%, rgba(255,153,0,0.18), transparent 65%); 
  pointer-events:none; 
}
.promo-chooser-header { 
  display:flex; 
  align-items:center; 
  gap:12px; 
  flex-wrap:wrap; 
  margin-bottom:18px; 
}
.promo-chooser-header h3 { 
  margin:0; 
  font-size:1.35rem; 
  font-weight:600; 
  letter-spacing:.5px; 
  background: linear-gradient(90deg,#ffb347,#ff9900); 
  -webkit-background-clip:text; 
  background-clip:text; 
  color:transparent; 
}
.promo-badge { 
  background:#ff9900; 
  color:#0d1117; 
  padding:4px 10px; 
  font-size:.75rem; 
  font-weight:700; 
  border-radius:999px; 
  text-transform:uppercase; 
  letter-spacing:.5px; 
}
.promo-segmented { 
  display:inline-flex; 
  border:1px solid #2a333c; 
  background:#161b21; 
  border-radius:14px; 
  overflow:hidden; 
  position:relative; 
}
.promo-segmented button { 
  background:transparent; 
  border:0; 
  color:#9aa4af; 
  padding:10px 20px; 
  font-size:.85rem; 
  font-weight:500; 
  cursor:pointer; 
  position:relative; 
  transition:color .3s; 
  display:flex; 
  align-items:center; 
  gap:6px; 
  white-space:nowrap; 
}
.promo-segmented button .dot { 
  width:8px; 
  height:8px; 
  border-radius:50%; 
  background:#39424d; 
  transition:background .3s; 
  box-shadow:0 0 0 2px rgba(255,255,255,0.04) inset; 
}
.promo-segmented button.active { 
  color:#fff; 
}
.promo-segmented button.active .dot { 
  background:#ff9900; 
  box-shadow:0 0 0 2px rgba(255,153,0,0.35); 
}
.promo-slider-bg { 
  position:absolute; 
  top:3px; 
  bottom:3px; 
  width:50%; 
  background:linear-gradient(90deg,#ffb347,#ff9900); 
  border-radius:11px; 
  transition:transform .35s cubic-bezier(.65,.05,.36,1); 
  z-index:0; 
}
.promo-segmented button { z-index:1; }
.promo-meta-row { 
  display:flex; 
  gap:24px; 
  flex-wrap:wrap; 
  align-items:center; 
  margin-top:18px; 
}
.promo-savings-badge { 
  display:inline-flex; 
  align-items:center; 
  gap:6px; 
  background:rgba(34,197,94,0.12); 
  color:#3ddc97; 
  padding:6px 14px; 
  font-size:.8rem; 
  border:1px solid rgba(61,220,151,0.25); 
  border-radius:999px; 
  font-weight:600; 
  line-height:1; 
  box-shadow:0 0 0 1px rgba(61,220,151,0.08), 0 2px 6px -2px rgba(0,0,0,0.4); 
  position:relative; 
}
.promo-savings-badge:before { 
  content:""; 
  position:absolute; 
  inset:0; 
  border-radius:inherit; 
  background:linear-gradient(145deg, rgba(61,220,151,0.3), rgba(61,220,151,0)); 
  opacity:.35; 
  pointer-events:none; 
}
.promo-tip { 
  flex:1 1 340px; 
  font-size:.85rem; 
  color:#aab4be; 
  line-height:1.5; 
  margin:0; 
}
.promo-tip strong { color:#fff; font-weight:600; }
.promo-mode-pill { 
  background:#232b33; 
  padding:6px 12px; 
  border-radius:10px; 
  font-size:.7rem; 
  text-transform:uppercase; 
  letter-spacing:.5px; 
  color:#88939e; 
  font-weight:600; 
  display:inline-flex; 
  align-items:center; 
  gap:6px; 
}
.promo-mode-pill .status-dot { 
  width:7px; 
  height:7px; 
  border-radius:50%; 
  background:#39424d; 
  box-shadow:0 0 0 3px #161b21; 
}
.promo-mode-pill.active-dinamica .status-dot { background:#ff9900; }
.promo-mode-pill.active-instrutor .status-dot { background:#4da6ff; }
.promo-mode-pill.auto .status-dot { background:#3ddc97; }
@media (max-width: 680px) { 
  .promo-chooser-section { padding:22px 20px; } 
  .promo-chooser-header h3 { font-size:1.15rem; } 
  .promo-segmented button { padding:8px 14px; font-size:.78rem; } 
  .promo-meta-row { gap:16px; } 
  .promo-tip { font-size:.78rem; } 
}
