@charset "UTF-8";.reserva-form{padding:2rem;background-color:#f1f3f4;border-radius:10px;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;max-width:600px;margin:1rem auto}.reserva-form h2{font-size:2rem;color:#f3f4f6;margin-bottom:1rem;text-align:center}.reserva-form form{display:flex;flex-direction:column;gap:1rem}.reserva-form form label{font-size:1rem;color:#374151}.reserva-form form label input,.reserva-form form label select{width:100%;padding:.5rem;margin-top:.5rem;border:1px solid #e5e7eb;border-radius:5px}.reserva-form form button{padding:.5rem 1rem;background-color:#8a9f5a;color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;text-align:center}.reserva-form form button:hover{background-color:#9bb06a}.reserva-form form #calendarButton{background-color:#6b8147;color:#fff}.reserva-form form .react-calendar{width:100%;border:none;font-size:1rem}.reserva-form form .react-calendar .react-calendar__tile{max-width:100%}.reserva-form form .react-time-picker{width:100%;margin-top:1rem}.reserva-form form .react-time-picker .react-time-picker__wrapper{width:100%;border:1px solid #ccc;border-radius:5px;padding:.5rem}.reserva-form form .react-time-picker .react-time-picker__inputGroup__input{width:2rem;padding:.5rem;text-align:center;border:none}@media (max-width: 600px){.reserva-form{padding:1rem}.reserva-form h2{font-size:1.5rem}.reserva-form form{gap:.5rem}.reserva-form form label{font-size:.875rem}.reserva-form form label input,.reserva-form form label select{padding:.5rem}.reserva-form form button{padding:.5rem;font-size:.875rem}.reserva-form form .react-calendar .react-calendar__tile{font-size:.75rem}.reserva-form form .react-time-picker .react-time-picker__wrapper{padding:.25rem}.reserva-form form .react-time-picker .react-time-picker__inputGroup__input{font-size:.75rem}}.custom-modal{position:absolute;inset:50% auto auto 50%;margin-right:-50%;transform:translate(-50%,-50%);background-color:#fff;border-radius:10px;padding:2rem;max-width:400px;width:100%;box-shadow:0 4px 8px #0000001a}.custom-overlay{background-color:#000000bf}.reserva-container{max-width:1200px;margin:70px auto 0;padding:2rem}@media (max-width: 768px){.reserva-container{padding:1rem}}.reserva-container .reserva-steps{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative}.reserva-container .reserva-steps:after{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:#e0e0e0;z-index:1}.reserva-container .reserva-steps .step{background:#fff;padding:1rem 2rem;border-radius:30px;color:#666;font-weight:500;position:relative;z-index:2;border:2px solid #e0e0e0;transition:all .3s ease}.reserva-container .reserva-steps .step.active{background:#8a9f5a;color:#fff;border-color:#8a9f5a}@media (max-width: 768px){.reserva-container .reserva-steps .step{padding:.5rem 1rem;font-size:.9rem}}.reserva-container .servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.reserva-container .servicios-grid{max-width:1200px;padding:0 1rem;margin:2rem auto}@media (max-width: 1024px){.reserva-container .servicios-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 640px){.reserva-container .servicios-grid{grid-template-columns:1fr;padding:0 .25rem}}.reserva-container .servicios-grid .servicio-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;transition:all .3s ease-in-out;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:1rem;gap:1rem;border:2px solid transparent}.reserva-container .servicios-grid .servicio-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.reserva-container .servicios-grid .servicio-card:hover:before{left:100%}.reserva-container .servicios-grid .servicio-card:hover{transition:all .3s ease-in-out;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.reserva-container .servicios-grid .servicio-card:hover:hover{transform:translateY(-2px)}.reserva-container .servicios-grid .servicio-card.selected{border-color:#8a9f5a;background:linear-gradient(to right,rgba(138,159,90,.05),transparent)}.reserva-container .servicios-grid .servicio-card.selected:after{content:"✓";position:absolute;top:1rem;right:1rem;width:24px;height:24px;background:#8a9f5a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem}.reserva-container .servicios-grid .servicio-card .imagen-container{width:100%;aspect-ratio:16/9;border-radius:.5rem;overflow:hidden;position:relative}.reserva-container .servicios-grid .servicio-card .imagen-container img{width:100%;height:100%;object-fit:cover;transition:all .3s ease-in-out}.reserva-container .servicios-grid .servicio-card .contenido{display:flex;flex-direction:column;gap:.5rem;text-align:center;flex-grow:1}.reserva-container .servicios-grid .servicio-card .contenido h3{margin:0;color:#1f2937;font-size:1.125rem;font-weight:600;line-height:1.4}.reserva-container .servicios-grid .servicio-card .contenido p{margin:0;color:#666;font-size:1rem;line-height:1.5;flex-grow:1}.reserva-container .servicios-grid .servicio-card .contenido .seleccionar-texto{color:#8a9f5a;font-size:.875rem;font-weight:500;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:.25rem}.reserva-container .servicios-grid .servicio-card .contenido .seleccionar-texto i{font-size:1rem;transition:all .3s ease-in-out}.reserva-container .servicios-grid .servicio-card:hover .imagen-container img{transform:scale(1.05)}.reserva-container .servicios-grid .servicio-card:hover .seleccionar-texto i{transform:translate(4px)}.reserva-container .pagination-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2rem;padding:1rem}.reserva-container .pagination-controls .pagination-button{padding:.8rem 1.5rem;background:#fff;border:2px solid #8A9F5A;color:#8a9f5a;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reserva-container .pagination-controls .pagination-button:hover:not(:disabled){background:#8a9f5a;color:#fff}.reserva-container .pagination-controls .pagination-button:disabled{border-color:#ccc;color:#374151}.reserva-container .pagination-controls .page-indicator{color:#666;font-size:1rem;font-weight:500}.reserva-container .horarios-container{max-width:800px;margin:0 auto;padding:0 1rem}.reserva-container .horarios-container h3{text-align:center;margin-bottom:2.5rem;color:#333;font-size:1.5rem;font-weight:600;position:relative}.reserva-container .horarios-container h3:after{content:"";position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#8a9f5a,#6b8147);border-radius:2px}.reserva-container .horarios-container .info-message{background-color:#8a9f5a1a;border:2px solid #8A9F5A;border-radius:.5rem;padding:1rem;margin-bottom:2rem;text-align:center;position:relative;overflow:hidden}.reserva-container .horarios-container .info-message:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(138,159,90,.1) 25%,transparent 25%,transparent 50%,rgba(138,159,90,.1) 50%,rgba(138,159,90,.1) 75%,transparent 75%,transparent);background-size:20px 20px;opacity:.3;animation:slide 20s linear infinite}.reserva-container .horarios-container .info-message p{color:#8a9f5a;margin:0;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.25rem;position:relative;font-weight:500}.reserva-container .horarios-container .info-message p i{font-size:1.25rem;animation:pulse-icon 2s infinite}.reserva-container .horarios-container .info-message .info-details{margin-top:.5rem;font-size:.875rem;color:#8a9f5acc}.reserva-container .horarios-container .info-message .info-details ul{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.reserva-container .horarios-container .info-message .info-details ul li{display:flex;align-items:center;gap:.25rem;text-align:center}.reserva-container .horarios-container .info-message .info-details ul li:before{display:none}@keyframes slide{0%{background-position:0 0}to{background-position:40px 40px}}@keyframes pulse-icon{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.reserva-container .horarios-container .date-picker-container{margin-bottom:2rem;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center;padding-top:45px}.reserva-container .horarios-container .date-picker-container:before{content:"👇";position:absolute;top:0;font-size:2rem;color:#6b8147;animation:pointDown 2s infinite}.reserva-container .horarios-container .date-picker-container:after{content:"Click aquí para ver el calendario";position:absolute;top:5px;font-size:1rem;color:#6b8147;font-weight:500}.reserva-container .horarios-container .date-picker-container .date-picker{width:100%;max-width:300px;padding:1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;text-align:center;cursor:pointer;transition:all .3s ease-in-out;background-color:#fff;position:relative;animation:pulseDate 2s infinite}.reserva-container .horarios-container .date-picker-container .date-picker:hover{border-color:#6b8147;box-shadow:0 1px 2px #0000000d;animation:none;transform:scale(1.02)}.reserva-container .horarios-container .date-picker-container .date-picker:focus{outline:none;border-color:#8a9f5a;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;animation:none}.reserva-container .horarios-container .date-picker-container .date-picker:after{content:"📅";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.125rem;pointer-events:none}.reserva-container .horarios-container .date-picker-container .date-picker-loading{display:flex;align-items:center;justify-content:center;padding:1rem;color:#6b8147;font-size:.9rem;margin-top:1rem}.reserva-container .horarios-container .date-picker-container .date-picker-loading .spinner-border-sm{width:1rem;height:1rem;border-width:.1em;border-color:#6b8147;border-right-color:transparent}@keyframes pointDown{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes pulseDate{0%{transform:scale(1);box-shadow:0 0 #6b814766}70%{transform:scale(1.01);box-shadow:0 0 0 10px #6b814700}to{transform:scale(1);box-shadow:0 0 #6b814700}}.reserva-container .horarios-container .time-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;padding:.5rem}.reserva-container .horarios-container .time-slots-grid .time-slot{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;border:2px solid #e0e0e0;border-radius:16px;background:#fff;cursor:pointer;transition:all .3s ease;font-size:1rem;color:#333;gap:.8rem;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d}.reserva-container .horarios-container .time-slots-grid .time-slot:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#e0e0e0,#f0f0f0);transition:all .3s ease;border-radius:16px 16px 0 0}.reserva-container .horarios-container .time-slots-grid .time-slot .time-slot-header{width:100%;text-align:center}.reserva-container .horarios-container .time-slots-grid .time-slot .time-slot-header .hora-completa{font-weight:700;font-size:1.1rem;text-align:center;white-space:nowrap;letter-spacing:.5px;color:#333;margin:0;padding:.5rem 0;transition:color .3s ease}.reserva-container .horarios-container .time-slots-grid .time-slot .disponibilidad{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:600;padding:.5rem 1rem;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease}.reserva-container .horarios-container .time-slots-grid .time-slot .disponibilidad.disponible{background-color:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.2)}.reserva-container .horarios-container .time-slots-grid .time-slot .disponibilidad.no-disponible{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.reserva-container .horarios-container .time-slots-grid .time-slot:hover:not(.disabled){border-color:#8a9f5a;background:linear-gradient(135deg,#8a9f5a,#7c8f51);transform:translateY(-4px);box-shadow:0 8px 25px #8a9f5a40}.reserva-container .horarios-container .time-slots-grid .time-slot:hover:not(.disabled):before{background:linear-gradient(90deg,#fff,#f2f2f2);border-radius:16px 16px 0 0}.reserva-container .horarios-container .time-slots-grid .time-slot:hover:not(.disabled) .time-slot-header .hora-completa{color:#fff;font-weight:700}.reserva-container .horarios-container .time-slots-grid .time-slot:hover:not(.disabled) .disponibilidad.disponible{background-color:#fff3;color:#fff;border-color:#ffffff4d;transform:scale(1.05)}.reserva-container .horarios-container .time-slots-grid .time-slot:hover:not(.disabled) .disponibilidad.no-disponible{background-color:#fff3;color:#fff;border-color:#ffffff4d}.reserva-container .horarios-container .time-slots-grid .time-slot.selected{background:linear-gradient(135deg,#8a9f5a,#7c8f51);border-color:#8a9f5a;transform:translateY(-4px);box-shadow:0 12px 30px #8a9f5a4d}.reserva-container .horarios-container .time-slots-grid .time-slot.selected:before{background:linear-gradient(90deg,#fff,#f2f2f2);border-radius:16px 16px 0 0}.reserva-container .horarios-container .time-slots-grid .time-slot.selected .time-slot-header .hora-completa{color:#fff;font-weight:800}.reserva-container .horarios-container .time-slots-grid .time-slot.selected .disponibilidad.disponible{background-color:#ffffff40;color:#fff;border-color:#fff6;transform:scale(1.05)}.reserva-container .horarios-container .time-slots-grid .time-slot.selected .disponibilidad.no-disponible{background-color:#ffffff40;color:#fff;border-color:#fff6}.reserva-container .horarios-container .time-slots-grid .time-slot.disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa;border-color:#e9ecef}.reserva-container .horarios-container .time-slots-grid .time-slot.disabled:before{background:#e9ecef}.reserva-container .horarios-container .time-slots-grid .time-slot.disabled .time-slot-header .hora-completa{color:#6c757d}.reserva-container .horarios-container .time-slots-grid .time-slot.disabled:hover{transform:none;box-shadow:0 2px 8px #0000000d;border-color:#e9ecef}@media (max-width: 768px){.reserva-container .horarios-container .time-slots-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;padding:.25rem}.reserva-container .horarios-container .time-slots-grid .time-slot{padding:1.25rem .75rem;border-radius:12px}.reserva-container .horarios-container .time-slots-grid .time-slot .time-slot-header .hora-completa{font-size:1rem}.reserva-container .horarios-container .time-slots-grid .time-slot .disponibilidad{font-size:.8rem;padding:.4rem .8rem}}@media (max-width: 480px){.reserva-container .horarios-container .time-slots-grid{grid-template-columns:1fr;gap:.75rem}.reserva-container .horarios-container .time-slots-grid .time-slot{padding:1rem .5rem}}.reserva-container .horarios-container .no-horarios{text-align:center;padding:2rem;background:#fff8e8;border-radius:8px;margin:2rem 0}.reserva-container .horarios-container .no-horarios p{margin:.5rem 0;color:#926400;font-size:1rem}.reserva-container .horarios-container .no-horarios p:first-child{font-weight:500}.reserva-container .horarios-container .precios-info{background:#fff;padding:1.5rem;border-radius:8px;margin:2rem 0;box-shadow:0 2px 4px #0000001a}.reserva-container .horarios-container .precios-info h4{color:#926400;margin:0 0 1rem;font-size:1.2rem}.reserva-container .horarios-container .precios-info ul{list-style:none;padding:0;margin:0}.reserva-container .horarios-container .precios-info ul li{color:#333;margin:.5rem 0;font-size:1rem;display:flex;align-items:center}.reserva-container .horarios-container .precios-info ul li:before{content:"💰";margin-right:.5rem}.reserva-container .horarios-container .back-button{display:block;width:fit-content;margin:0 auto;padding:1rem 2.5rem;background:#fff;border:2px solid #926400;color:#926400;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reserva-container .horarios-container .back-button:hover{background:#fff8e8}.reserva-container .datos-form{max-width:500px;margin:0 auto;background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.reserva-container .datos-form .form-group{margin-bottom:1.5rem}.reserva-container .datos-form .form-group input{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s ease}.reserva-container .datos-form .form-group input:focus{outline:none;border-color:#926400}.reserva-container .datos-form .form-group input::placeholder{color:#999}.reserva-container .datos-form .plan-selection{margin:2rem 0}.reserva-container .datos-form .plan-selection h4{color:#333;margin-bottom:1rem;text-align:center}.reserva-container .datos-form .plan-selection .plan-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 480px){.reserva-container .datos-form .plan-selection .plan-options{grid-template-columns:1fr}}.reserva-container .datos-form .plan-selection .plan-options .plan-button{display:flex;flex-direction:column;align-items:center;padding:1.5rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease}.reserva-container .datos-form .plan-selection .plan-options .plan-button:hover{border-color:#926400;background:#fff8e8}.reserva-container .datos-form .plan-selection .plan-options .plan-button.selected{border-color:olive;background:olive}.reserva-container .datos-form .plan-selection .plan-options .plan-button.selected .plan-name,.reserva-container .datos-form .plan-selection .plan-options .plan-button.selected .plan-price,.reserva-container .datos-form .plan-selection .plan-options .plan-button.selected .plan-validity{color:#fff}.reserva-container .datos-form .plan-selection .plan-options .plan-button .plan-name{font-size:1.1rem;font-weight:500;color:#333;margin-bottom:.5rem}.reserva-container .datos-form .plan-selection .plan-options .plan-button .plan-price{font-size:1.4rem;font-weight:600;color:#926400}.reserva-container .datos-form .plan-selection .plan-options .plan-button .plan-validity{font-size:.9rem;color:#666;margin-top:.5rem}.reserva-container .datos-form .payment-options{display:grid;grid-template-columns:1fr;gap:1rem;margin:2rem 0}.reserva-container .datos-form .payment-options .payment-button{padding:1rem;border-radius:.375rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease-in-out;border:none;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.reserva-container .datos-form .payment-options .payment-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.reserva-container .datos-form .payment-options .payment-button:hover:before{left:100%}.reserva-container .datos-form .payment-options .payment-button.processing{pointer-events:none}.reserva-container .datos-form .payment-options .payment-button.epayco{background:#8a9f5a;color:#fff}.reserva-container .datos-form .payment-options .payment-button.epayco:hover:not(:disabled){background:#9bb06a}.reserva-container .datos-form .payment-options .payment-button.epayco:before{content:"💳"}.reserva-container .datos-form .payment-options .payment-button.epayco:active:not(:disabled){transform:scale(.98)}.reserva-container .datos-form .payment-options .payment-button.local{background:#fff;border:2px solid #8A9F5A;color:#8a9f5a}.reserva-container .datos-form .payment-options .payment-button.local:hover:not(:disabled){background:#fff8e8}.reserva-container .datos-form .payment-options .payment-button.local:before{content:"💰"}.reserva-container .datos-form .payment-options .payment-button:disabled{opacity:.5;cursor:not-allowed}.reserva-container .datos-form .form-actions{margin-top:2rem;display:flex;justify-content:center}.reserva-container .datos-form .form-actions .back-button{width:auto}.reserva-container .step-info{text-align:center;margin-bottom:2rem}.reserva-container .step-info p{color:#926400;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.reserva-container .step-info p i{font-size:1.3rem}.reserva-container .back-button{display:block;width:fit-content;margin:2rem auto 0;padding:1rem 2.5rem;background:#fff;border:2px solid #926400;color:#926400;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reserva-container .back-button:hover{background:#fff8e8;transform:translateY(-2px);box-shadow:0 2px 8px #92640033}.reserva-container .back-button:active{transform:translateY(0)}.horarios-title{text-align:center;color:#8a9f5a;font-size:1.125rem;margin:1.5rem 0;font-weight:500;position:relative}.horarios-title:after{content:"";position:absolute;bottom:-.25rem;left:50%;transform:translate(-50%);width:50px;height:2px;background-color:#6b8147;opacity:.5}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0}.time-slots-grid .time-slot{display:flex;flex-direction:column;align-items:stretch;padding:0;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;font-size:1rem;color:#1f2937;overflow:hidden;position:relative}.time-slots-grid .time-slot .time-slot-header{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:1rem .5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid rgba(229,231,235,.5)}.time-slots-grid .time-slot .time-slot-header .time-icon{color:#8a9f5a;font-size:.875rem;opacity:.7}.time-slots-grid .time-slot .time-slot-header .hora-completa{font-weight:700;font-size:1.125rem;text-align:center;white-space:nowrap;color:#1f2937;letter-spacing:.5px}.time-slots-grid .time-slot .time-slot-status{padding:.5rem;text-align:center;flex-grow:1;display:flex;align-items:center;justify-content:center}.time-slots-grid .time-slot .time-slot-status .disponibilidad{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.875rem;font-weight:600;padding:.25rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px}.time-slots-grid .time-slot .time-slot-status .disponibilidad.disponible{background-color:#10b9811a;color:#10b981}.time-slots-grid .time-slot .time-slot-status .disponibilidad.disponible i{font-size:.75rem}.time-slots-grid .time-slot .time-slot-status .disponibilidad.no-disponible{background-color:#ef44441a;color:#ef4444}.time-slots-grid .time-slot .time-slot-status .disponibilidad.no-disponible i{font-size:.75rem}.time-slots-grid .time-slot:hover:not(.disabled){border-color:#8a9f5a;transform:translateY(-4px);box-shadow:0 8px 25px #8a9f5a26}.time-slots-grid .time-slot:hover:not(.disabled) .time-slot-header{background:linear-gradient(135deg,#8a9f5a,#6e7e48)}.time-slots-grid .time-slot:hover:not(.disabled) .time-slot-header .time-icon,.time-slots-grid .time-slot:hover:not(.disabled) .time-slot-header .hora-completa{color:#fff}.time-slots-grid .time-slot:hover:not(.disabled) .disponibilidad.disponible{background-color:#10b98133;transform:scale(1.05)}.time-slots-grid .time-slot.selected{background:#fff;border-color:#8a9f5a;transform:translateY(-4px);box-shadow:0 12px 30px #8a9f5a40}.time-slots-grid .time-slot.selected .time-slot-header{background:linear-gradient(135deg,#8a9f5a,#606e3e)}.time-slots-grid .time-slot.selected .time-slot-header .time-icon,.time-slots-grid .time-slot.selected .time-slot-header .hora-completa{color:#fff}.time-slots-grid .time-slot.selected .time-slot-status{background:#8a9f5a0d}.time-slots-grid .time-slot.selected .disponibilidad{background-color:#8a9f5a26;color:#8a9f5a;border:2px solid rgba(138,159,90,.3)}.time-slots-grid .time-slot.disabled{opacity:.6;cursor:not-allowed;background:#f1f3f4}.time-slots-grid .time-slot.disabled .time-slot-header{background:linear-gradient(135deg,#f5f5f5,#e9ecef)}.time-slots-grid .time-slot.disabled .time-slot-header .time-icon,.time-slots-grid .time-slot.disabled .time-slot-header .hora-completa{color:#666}.time-slots-grid .time-slot.disabled:hover{transform:none;box-shadow:none;border-color:#e5e7eb}.time-slots-grid .time-slot.disabled:hover .time-slot-header{background:linear-gradient(135deg,#f5f5f5,#e9ecef)}.no-horarios{text-align:center;padding:2rem;background:#8a9f5a0d;border-radius:.5rem;margin:2rem 0;border:2px dashed rgba(138,159,90,.2)}.no-horarios p{margin:.5rem 0;color:#1f2937;font-size:1rem}.no-horarios p:first-child{font-weight:600;color:#8a9f5a;font-size:1.125rem}.no-horarios p.dias-disponibles{margin-top:1rem;font-style:italic}.no-horarios p.dias-disponibles span{display:block;margin-top:.25rem;font-weight:600;color:#6b8147}.precios-info{background:#fff;padding:2rem;border-radius:.5rem;margin:2rem 0;box-shadow:0 1px 2px #0000000d}.precios-info h4{color:#8a9f5a;margin:0 0 1rem;font-size:1.25rem;text-align:center}.precios-info ul{list-style:none;padding:0;margin:0}.precios-info ul li{display:flex;flex-direction:column;align-items:center;padding:1rem;border:1px solid #e5e7eb;border-radius:.5rem;margin-bottom:1rem;transition:all .3s ease-in-out}.precios-info ul li:hover{border-color:#6b8147;transform:translateY(-2px);box-shadow:0 1px 2px #0000000d}.precios-info ul li .precio-label{font-size:1.125rem;color:#1f2937;font-weight:600;margin-bottom:.25rem}.precios-info ul li .precio-valor{font-size:1.5rem;color:#6b8147;font-weight:700;margin-bottom:.25rem}.precios-info ul li .precio-detalle{font-size:.875rem;color:#666;text-align:center}.back-button{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1.5rem;background-color:transparent;border:2px solid #8A9F5A;color:#8a9f5a;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease-in-out;margin:2rem auto 0}.back-button i{font-size:1.125rem}.back-button:hover{background-color:#8a9f5a;color:#fff;transform:translate(-5px)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-content .spinner{width:40px;height:40px;border:4px solid rgba(138,159,90,.2);border-top:4px solid #8A9F5A;border-radius:50%;animation:spin 1s linear infinite}.loading-content p{margin:0;color:#1f2937;font-size:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-calendar{border:none!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif!important;padding:1rem!important}.custom-calendar .react-datepicker__header{background-color:#fff!important;border-bottom:1px solid #e5e7eb!important;padding-top:1rem!important}.custom-calendar .react-datepicker__current-month{color:#8a9f5a!important;font-weight:600!important;font-size:1.125rem!important;text-transform:capitalize!important}.custom-calendar .react-datepicker__day-name{color:#666!important;font-weight:500!important;text-transform:uppercase!important;font-size:.875rem!important}.custom-calendar .react-datepicker__day{color:#1f2937!important;font-size:1rem!important;width:2.5rem!important;line-height:2.5rem!important;margin:.2rem!important;border-radius:9999px!important;transition:all .3s ease-in-out!important}.custom-calendar .react-datepicker__day:hover{background-color:#8a9f5a1a!important}.custom-calendar .react-datepicker__day--selected{background-color:#8a9f5a!important;color:#fff!important;font-weight:600!important}.custom-calendar .react-datepicker__day--disabled{color:#999!important;text-decoration:line-through!important}.custom-calendar .react-datepicker__day--disabled:hover{background-color:transparent!important}.custom-calendar .react-datepicker__navigation{top:1rem!important}.custom-calendar .react-datepicker__navigation-icon:before{border-color:#8a9f5a!important}.servicio-card.skeleton-card{opacity:.7;pointer-events:none}.servicio-card.skeleton-card .imagen-container .skeleton-image{width:100%;height:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}.servicio-card.skeleton-card .contenido .skeleton-title{height:24px;width:70%;margin-bottom:1rem;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.servicio-card.skeleton-card .contenido .skeleton-text{height:16px;width:100%;margin-bottom:.5rem;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.servicio-card.skeleton-card .contenido .skeleton-text.short{width:80%}.servicio-card.skeleton-card .contenido .skeleton-button{height:36px;width:120px;margin-top:1rem;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.reservas-page{min-height:calc(100vh - 80px);padding:1rem;background-color:#f1f3f4;display:flex;flex-direction:column;margin-top:0}.reservas-skeleton{max-width:1200px;margin:0 auto;padding:2rem;opacity:1;transition:opacity .3s ease-out;display:none}.reservas-skeleton .reserva-steps{display:flex;justify-content:center;margin-bottom:2rem;gap:2rem}.reservas-skeleton .reserva-steps .step{padding:.5rem 1rem;border-radius:20px;background-color:#fff;color:#666;font-weight:500;border:2px solid #e5e7eb}.reservas-skeleton .reserva-steps .step.active{background-color:#8a9f5a;color:#fff;border-color:#8a9f5a}.reservas-skeleton .step-info{text-align:center;margin-bottom:2rem}.reservas-skeleton .step-info p{color:#1f2937;font-size:1.125rem;margin:0}.reservas-skeleton .step-info p i{color:#8a9f5a;margin-right:.5rem}.reservas-skeleton .servicios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem}
