.campamento-main{min-height:100vh;padding-bottom:4rem}.campamento-header{background:linear-gradient(135deg,#ff7a001a 0%,#1e40af26 100%);padding-bottom:2.5rem;position:relative}.hero-text-wrap{max-width:800px;margin:0 auto;padding-top:2rem}.badge-campamento{color:#fff;background:#ff7a00;border-radius:9999px;margin-bottom:.75rem;padding:.35rem 1rem;font-size:.85rem;font-weight:700;display:inline-block;box-shadow:0 4px 12px #ff7a004d}.camp-form-wrapper{max-width:900px;margin:-1.5rem auto 2rem;padding:0 1rem}.wizard-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:20px;padding:2.5rem;box-shadow:0 20px 40px #00000014}.steps-progress{justify-content:space-between;align-items:center;margin-bottom:2.5rem;display:flex;position:relative}.step-item{z-index:2;cursor:default;flex-direction:column;align-items:center;gap:.5rem;display:flex}.step-circle{color:#64748b;background:#f1f5f9;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-weight:700;transition:all .3s;display:flex}.step-item.active .step-circle{color:#fff;background:#ff7a00;border-color:#ff7a00;box-shadow:0 0 0 4px #ff7a0033}.step-item.completed .step-circle{color:#fff;background:#10b981;border-color:#10b981}.step-label{color:#64748b;font-size:.825rem;font-weight:600}.step-item.active .step-label{color:#0f172a}.step-line{background:#e2e8f0;flex:1;height:3px;margin:-1.25rem .5rem 0;transition:background .3s}.step-line.completed{background:#10b981}.form-step{display:none}.form-step.active{animation:.3s ease-in-out fadeIn;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-title{color:#0f172a;margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.step-desc{color:#64748b;margin-bottom:1.75rem;font-size:.95rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:#334155;font-size:.875rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{color:#1e293b;border:1.5px solid #cbd5e1;border-radius:10px;outline:none;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a0026}.semanas-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.semana-card{cursor:pointer;user-select:none;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:1rem;transition:all .2s;position:relative}.semana-card:hover{background:#fff;border-color:#cbd5e1;transform:translateY(-2px)}.semana-card.selected{background:#fff7ed;border-color:#ff7a00;box-shadow:0 4px 12px #ff7a0026}.semana-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.semana-badge{color:#ea580c;font-size:.85rem;font-weight:700}.semana-fechas{color:#475569;font-size:.825rem;line-height:1.3}.service-toggle-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.25rem;display:flex}.service-toggle-info h4{color:#0f172a;margin:0 0 .25rem;font-size:1rem}.service-toggle-info p{color:#64748b;margin:0;font-size:.85rem}.pricing-summary-box{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:14px;margin-top:1.5rem;padding:1.5rem}.pricing-summary-box h3{color:#f8fafc;justify-content:space-between;align-items:center;margin:0 0 1rem;font-size:1.15rem;display:flex}.pricing-rows{color:#cbd5e1;border-bottom:1px solid #ffffff26;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding-bottom:1rem;font-size:.925rem;display:flex}.pricing-row{justify-content:space-between;display:flex}.pricing-row.discount{color:#34d399}.pricing-total{color:#fff;justify-content:space-between;align-items:baseline;font-size:1.2rem;font-weight:700;display:flex}.pricing-total-amount{color:#fb923c;font-size:1.8rem}.step-actions{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-nav{cursor:pointer;border:none;border-radius:10px;padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-nav-prev{color:#475569;background:#f1f5f9}.btn-nav-prev:hover{background:#e2e8f0}.btn-nav-next{color:#fff;background:#ff7a00;box-shadow:0 4px 12px #ff7a004d}.btn-nav-next:hover{background:#ea580c;transform:translateY(-1px)}.success-card{text-align:center;padding:2.5rem 1rem}.success-icon{margin-bottom:1rem;font-size:4rem;animation:.6s bounce;display:inline-block}.expediente-badge{color:#c2410c;letter-spacing:1px;background:#ffedd5;border-radius:8px;margin:1rem 0;padding:.5rem 1.25rem;font-family:monospace;font-size:1.3rem;font-weight:800;display:inline-block}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.switch{width:44px;min-width:44px;height:24px;margin:0;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:#cbd5e1;border-radius:24px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.switch input:checked+.slider{background-color:#ff7a00}.switch input:checked+.slider:before{transform:translate(20px)}.radio-chip{cursor:pointer;color:#334155;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.radio-chip input[type=radio]{accent-color:#ff7a00;width:18px;height:18px}.legal-permiso-card{transition:border-color .2s,box-shadow .2s}.legal-permiso-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000a}.req-badge{color:#dc2626;vertical-align:middle;text-transform:uppercase;letter-spacing:.02em;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;align-items:center;gap:2px;margin-left:6px;padding:1px 6px;font-size:.68rem;font-weight:700;line-height:1.4;display:inline-flex}.opc-badge{color:#64748b;vertical-align:middle;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;align-items:center;margin-left:6px;padding:1px 6px;font-size:.68rem;font-weight:600;line-height:1.4;display:inline-flex}.legend-obligatorios{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.6rem .9rem;font-size:.825rem;display:flex}
