*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(135deg,#667eea,#764ba2);height:100dvh;overflow:hidden}.bookingpage{padding:20px;font-family:Arial,sans-serif;max-width:800px;height:90dvh;margin:0 auto;background-color:#fff;border-radius:50px;display:flex;flex-direction:column;align-items:center;margin-top:5dvh;overflow:hidden}.bookingpage .logo{width:150px;height:150px}.bookingpage .logo img{object-fit:cover;width:100%;height:100%}.bookingpage h1{text-align:center;color:#667eea;margin-bottom:10px}.stepper{display:flex;justify-content:space-between;margin-bottom:10px;gap:20px}.step{display:flex;flex-direction:column;align-items:center;gap:8px;color:#aaa;font-size:14px;justify-content:center}.step.active{color:#00a65a;font-weight:700}.step.completed{color:#00a65a}.step-circle{width:30px;height:30px;border-radius:50%;background-color:#ddd;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}.step.active .step-circle,.step.completed .step-circle{background-color:#00a65a}.step-label{text-align:center}.content-container{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding:20px 0;margin-bottom:20px}.button-group{display:flex;gap:10px;margin-top:auto}.btn-back,.btn-next,.btn-submit{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-next{background-color:#007bff;color:#fff}.btn-next:hover{background-color:#0056b3}.btn-submit{background-color:#00a65a;color:#fff;white-space:nowrap}@media(max-width:480px){.bookingpage{border-radius:0;width:100dvw;height:100dvh;margin-top:0}}.step1-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;margin-top:20px}.service-card{border:1px solid #ddd;border-radius:12px;padding:15px;cursor:pointer;transition:transform .2s,box-shadow .2s;background-color:#fff;position:relative;box-shadow:0 2px 6px #0000000d}.service-card:hover{box-shadow:0 4px 12px #0000001a}.service-card.selected{border:2px solid #00a65a;box-shadow:0 4px 12px #00a65a33}.service-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.service-icon{font-size:24px;color:#fff;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.priority-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700}.priority-prioritario{background-color:#f66;color:#fff}.priority-normal{background-color:#d0e7f5;color:#333}.service-name{margin:8px 0;font-size:16px;font-weight:700}.service-description{margin:8px 0;font-size:14px;color:#666}.step2-container{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:20px}.date-selector{display:flex;align-items:center;gap:8px}.date-selector label{font-weight:700;color:#333}.date-input{padding:8px;border-radius:4px;border:1px solid #ccc;background-color:#fff}.time-slots-select{display:flex;gap:8px;align-items:center}.time-slots-select label{white-space:nowrap;font-weight:700;color:#333}.time-select{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:14px;background-color:#fff;cursor:pointer}.time-select:focus{outline:none;border-color:#00a65a}@media(max-width:480px){.step2-container,.date-selector,.time-slots-select{flex-direction:column}}.step3-container{display:flex;justify-content:center}.customer-form{display:flex;flex-direction:column;gap:15px;max-width:400px;margin-top:20px}.form-field{display:flex;flex-direction:row;gap:6px;align-items:center}.form-field label{width:50%;font-weight:700;color:#333;white-space:nowrap}.form-input{width:100%;padding:8px;border-radius:4px;border:1px solid #ccc;font-size:14px}.form-input:focus{outline:none;border-color:#00a65a}.form-actions{display:flex;gap:10px;margin-top:20px}.btn-back,.btn-submit{flex:1;padding:10px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-back{background-color:#f0f0f0;color:#333}.btn-back:hover{background-color:#e0e0e0}.btn-submit{background-color:#00a65a;color:#fff}.btn-submit:hover{background-color:#008d4a}.input-with-modal-trigger{position:relative;width:100%}.error-message{width:fit-content;color:red;font-size:12px;margin-top:-10px;margin-bottom:20px}.modal-trigger{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:inline-block;width:20px;height:20px;background-color:#00a65a;color:#fff;border-radius:50%;text-align:center;line-height:20px;font-size:12px;cursor:pointer;font-weight:700;z-index:10}.modal-content{background:#fff;padding:20px;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;align-items:center}.modal-content img{width:100%;max-height:300px;object-fit:contain;border-radius:4px;margin-bottom:15px}.modal-close{padding:8px 16px;background-color:#00a65a;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.modal-close:hover{background-color:#008d4a}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:20px;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 12px #0003}.modal-body{margin:15px 0;display:flex;flex-direction:column;gap:8px}.modal-body p{margin:0;font-size:14px;color:#333}.modal-body p strong{color:#000}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-confirm,.btn-cancel{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-confirm{background-color:#00a65a;color:#fff}.btn-cancel{background-color:#f0f0f0;color:#333}.btn-confirm:hover{background-color:#008d4a}.btn-cancel:hover{background-color:#e0e0e0}
