.page-hero{position:relative;background:var(--color-primary);padding:56px 0;text-align:center;color:#fff;overflow:hidden}.page-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.page-hero-inner{position:relative;z-index:1}.page-hero h1{margin-bottom:8px;color:#fff;font-size:1.8rem}.page-hero p{color:#ffffffd9}.reservation-wrap{max-width:700px;margin:0 auto;padding:40px}.steps{display:flex;justify-content:center;gap:8px;margin-bottom:36px}.step{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-size:.85rem;color:var(--color-text-sub);background:var(--color-bg-light)}.step.active{background:var(--color-primary);color:#fff}.step-num{font-weight:700}.step-content h2{font-size:1.1rem;margin-bottom:20px;text-align:center}.hidden{display:none!important}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.cal-header{text-align:center;font-size:.75rem;color:var(--color-text-sub);padding:8px 0;font-weight:500}.cal-day{text-align:center;padding:10px 4px;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:all .15s;border:2px solid transparent}.cal-day:hover:not(.disabled){background:var(--color-primary-light)}.cal-day.selected{background:var(--color-primary);color:#fff}.cal-day.disabled{color:#ccc;cursor:not-allowed}.cal-day.sunday{color:#c53030}.cal-day.saturday{color:var(--color-primary)}.cal-day.disabled.sunday,.cal-day.disabled.saturday{color:#ccc}.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-nav button{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 14px;cursor:pointer;font-size:.85rem}.cal-nav-title{font-weight:700}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.time-slot{padding:12px;text-align:center;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;transition:all .15s}.time-slot:hover{border-color:var(--color-primary)}.time-slot.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.time-slot.disabled{background:var(--color-bg-light);color:#ccc;cursor:not-allowed;border-color:transparent}.selected-date,.selected-info{text-align:center;color:var(--color-primary);font-weight:500;margin-bottom:20px;padding:8px;background:var(--color-primary-light);border-radius:var(--radius-sm)}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:500;margin-bottom:6px;font-size:.9rem}.required{color:#c53030;font-size:.75rem}.optional{color:var(--color-text-sub);font-size:.75rem}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.back-btn{margin-top:8px}.confirm-card{background:var(--color-bg-light);border-radius:var(--radius-sm);padding:20px 24px;margin-bottom:20px}.confirm-row{display:flex;padding:8px 0;border-bottom:1px solid var(--color-border);font-size:.9rem}.confirm-row:last-child{border-bottom:none}.confirm-label{width:120px;font-weight:500;color:var(--color-text)}.confirm-value{color:var(--color-text-light);flex:1}.complete{text-align:center;padding:20px 0}.complete-icon{margin-bottom:16px}.complete p{color:var(--color-text-light);margin:12px 0 24px}@media(max-width:768px){.reservation-wrap{padding:20px 14px}.steps{flex-wrap:wrap;gap:4px}.step{padding:6px 10px;font-size:.75rem}.step-content h2{font-size:1rem}.time-slots{grid-template-columns:repeat(3,1fr);gap:6px}.time-slot{padding:10px 4px;font-size:.85rem}.form-actions{flex-direction:column}.calendar{gap:2px}.cal-day{padding:12px 4px;font-size:.95rem;min-height:44px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:rgba(43,124,179,.15);cursor:pointer;user-select:none;touch-action:manipulation}.cal-header{font-size:.7rem;padding:6px 0}.selected-date,.selected-info{font-size:.85rem}.form-group input,.form-group textarea{font-size:16px}}
