:root{--rsv-gold:#d4a843;--rsv-gold-dark:#c19a38;--rsv-dark:#1a1a1a}.rsv-booking{max-width:800px;margin:0 auto}.rsv-steps{display:flex;justify-content:center;gap:0;margin-bottom:2rem;counter-reset:step;flex-wrap:wrap}.rsv-step-indicator{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;color:#666;position:relative;counter-increment:step}.rsv-step-indicator::before{content:counter(step);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#ddd;color:#999;font-weight:700;font-size:.8rem;flex-shrink:0}.rsv-step-indicator.active{color:var(--rsv-gold);font-weight:600}.rsv-step-indicator.active::before{background:var(--rsv-gold);color:#fff}.rsv-step-indicator.completed::before{background:#28a745;color:#fff;content:'\2713'}.rsv-step-panel{display:none}.rsv-step-panel.active{display:block;animation:rsvFadeIn .3s ease}@keyframes rsvFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rsv-branch-card{cursor:pointer;border:2px solid #333;border-radius:12px;padding:24px;text-align:center;transition:all .2s;background:var(--rsv-dark);height:100%}.rsv-branch-card.selected,.rsv-branch-card:hover{border-color:var(--rsv-gold);box-shadow:0 0 20px rgba(212,168,67,.2)}.rsv-branch-card.selected{background:rgba(212,168,67,.08)}.rsv-branch-card h4{color:var(--rsv-gold);margin-bottom:8px}.rsv-branch-card p{margin:0;font-size:.9rem;opacity:.7}.rsv-category-group{margin-bottom:20px}.rsv-category-title{color:var(--rsv-gold);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #333}.rsv-service-item{cursor:pointer;border:2px solid #333;border-radius:10px;padding:16px;margin-bottom:10px;transition:all .2s;display:flex;align-items:center;gap:16px;background:var(--rsv-dark)}.rsv-service-item:hover{border-color:#555}.rsv-service-item.selected{border-color:var(--rsv-gold);background:rgba(212,168,67,.08)}.rsv-service-check{width:24px;height:24px;border-radius:6px;border:2px solid #555;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.rsv-service-item.selected .rsv-service-check{background:var(--rsv-gold);border-color:var(--rsv-gold);color:#fff}.rsv-service-info{flex:1}.rsv-service-name{font-weight:600;margin-bottom:2px}.rsv-service-meta{font-size:.85rem;opacity:.7}.rsv-service-price{font-weight:700;color:var(--rsv-gold);font-size:1.1rem;white-space:nowrap}.rsv-summary-bar{background:var(--rsv-dark);border:2px solid var(--rsv-gold);border-radius:10px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}.rsv-summary-bar .rsv-total{font-size:1.2rem;font-weight:700;color:var(--rsv-gold)}.rsv-calendar{border:2px solid #333;border-radius:12px;overflow:hidden;background:var(--rsv-dark)}.rsv-calendar-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:rgba(212,168,67,.1)}.rsv-calendar-header h5{margin:0;color:var(--rsv-gold)}.rsv-calendar-header button{background:0 0;border:1px solid #555;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.rsv-calendar-header button:hover{border-color:var(--rsv-gold);color:var(--rsv-gold)}.rsv-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:8px}.rsv-calendar-day-name{text-align:center;padding:8px 4px;font-size:.75rem;text-transform:uppercase;color:#888;font-weight:600}.rsv-calendar-day{text-align:center;padding:10px 4px;border-radius:8px;cursor:default;font-size:.9rem;transition:all .15s;color:#555}.rsv-calendar-day.available{cursor:pointer;color:#fff}.rsv-calendar-day.available:hover{background:rgba(212,168,67,.15)}.rsv-calendar-day.selected{background:var(--rsv-gold)!important;color:#fff;font-weight:700}.rsv-calendar-day.today{border:1px solid var(--rsv-gold)}.rsv-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:16px}.rsv-slot{text-align:center;padding:12px 8px;border:2px solid #333;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500;background:var(--rsv-dark)}.rsv-slot:hover{border-color:var(--rsv-gold)}.rsv-slot.selected{background:var(--rsv-gold);border-color:var(--rsv-gold);color:#fff}.rsv-slot-end{display:block;font-size:.75rem;opacity:.6;margin-top:2px}.rsv-form .form-check-input:checked{background-color:var(--rsv-gold);border-color:var(--rsv-gold)}.rsv-form .form-check-input:focus{box-shadow:0 0 0 .2rem rgba(212,168,67,.25);border-color:var(--rsv-gold)}.rsv-form .form-control{background:var(--rsv-dark);border-color:#444;color:#fff;padding:12px 16px;border-radius:8px}.rsv-form .form-control:focus{border-color:var(--rsv-gold);box-shadow:0 0 0 .2rem rgba(212,168,67,.2);background:var(--rsv-dark);color:#fff}.rsv-form .form-control::placeholder{color:#666}.rsv-form label{font-weight:500;margin-bottom:4px}.rsv-confirm-table{width:100%;border-collapse:collapse}.rsv-confirm-table td{padding:10px 0;border-bottom:1px solid #333}.rsv-confirm-table td:first-child{color:#888;width:140px}.rsv-confirm-table td:last-child{font-weight:500}.rsv-btn{padding:12px 28px;border-radius:8px;font-weight:600;border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.rsv-btn-primary{background:var(--rsv-gold);color:#fff}.rsv-btn-primary:hover{background:var(--rsv-gold-dark)}.rsv-btn-primary:disabled{opacity:.5;cursor:not-allowed}.rsv-btn-outline{background:0 0;color:#fff;border:2px solid #555}.rsv-btn-outline:hover{border-color:var(--rsv-gold);color:var(--rsv-gold)}.rsv-nav-buttons{display:flex;justify-content:space-between;margin-top:24px;gap:12px}.rsv-success{text-align:center;padding:40px 20px}.rsv-success-icon{font-size:4rem;color:#28a745;margin-bottom:16px}.rsv-loading{text-align:center;padding:40px;color:#888}.rsv-spinner{display:inline-block;width:32px;height:32px;border:3px solid #333;border-top-color:var(--rsv-gold);border-radius:50%;animation:rsvSpin .7s linear infinite}@keyframes rsvSpin{to{transform:rotate(360deg)}}.rsv-cancel-result{text-align:center;padding:40px 20px;max-width:500px;margin:0 auto}@media (max-width:576px){.rsv-steps{gap:4px}.rsv-step-indicator{padding:6px 8px;font-size:.75rem}.rsv-step-indicator span{display:none}.rsv-slots{grid-template-columns:repeat(3,1fr)}}