.appointment-form{--appointment-form-black:var(--bs-dark);--appointment-form-white:var(--bs-body-bg);--appointment-form-gray-light:var(--bs-light);--appointment-form-gray-mid:var(--bs-secondary);--appointment-form-border:var(--bs-border-color);--appointment-form-gold:var(--bs-warning);min-height:100vh;background:var(--appointment-form-white);padding:0;font-family:Inter,sans-serif;position:relative}.appointment-form::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,var(--appointment-form-black) 0,var(--appointment-form-black) 20px,var(--appointment-form-white) 20px,var(--appointment-form-white) 40px)}.appointment-form .container{max-width:620px;padding:0}.appointment-form .form-header{background:var(--appointment-form-black);color:var(--appointment-form-white);position:relative}.appointment-form .form-header::after{content:"";position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:20px solid var(--appointment-form-black)}.appointment-form .form-header h1{font-size:2rem;font-weight:300;margin:0 0 .75rem;letter-spacing:.15em;text-transform:uppercase;position:relative}@media (min-width:768px){.appointment-form .form-header h1{font-size:3rem}}.appointment-form .form-header h1::after{content:"";position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);width:60px;height:2px;background:var(--appointment-form-gold)}.appointment-form .form-header p{margin:1.5rem 0 0;font-size:1rem;opacity:.85;letter-spacing:.05em;font-weight:300}.appointment-form .form-section{margin-bottom:2rem}.appointment-form .form-label{font-weight:600;color:var(--appointment-form-black);margin-bottom:.75rem;font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;display:block}.appointment-form .form-control{border:none;border-bottom:2px solid var(--appointment-form-border);border-radius:0;padding:.75rem 1rem;font-size:1rem;transition:.3s;background-color:transparent;color:var(--appointment-form-black);width:100%}.appointment-form .form-control:focus{border-bottom-color:var(--appointment-form-black);box-shadow:none;outline:0;background-color:var(--appointment-form-gray-light);padding:.75rem 1rem}.appointment-form .form-control::placeholder{color:var(--appointment-form-gray-mid);opacity:.5}.appointment-form .time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.appointment-form .time-slot-label{display:block;cursor:pointer}.appointment-form .time-slot-label input[type=radio]{position:absolute;opacity:0;pointer-events:none}.appointment-form .time-slot-btn{display:block;padding:1rem;border:2px solid var(--appointment-form-black);background:var(--appointment-form-white);color:var(--appointment-form-black);border-radius:0;font-size:.95rem;font-weight:600;transition:.2s;position:relative;letter-spacing:.05em;text-align:center}.appointment-form .time-slot-label:hover .time-slot-btn{background:var(--appointment-form-black);color:var(--appointment-form-white)}.appointment-form .datepicker-cell.selected,.appointment-form .time-slot-label input[type=radio]:checked+.time-slot-btn{background:var(--appointment-form-black);color:var(--appointment-form-white);border-color:var(--appointment-form-black)}.appointment-form .time-slot-label input[type=radio]:checked+.time-slot-btn::before{content:"✓";position:absolute;top:4px;right:6px;font-size:1.2rem;color:var(--appointment-form-gold)}.appointment-form .time-slot-label input[type=radio]:disabled+.time-slot-btn{background:var(--appointment-form-gray-light);border-color:var(--appointment-form-border);color:var(--appointment-form-gray-mid);opacity:.5;cursor:not-allowed;text-decoration:line-through}.appointment-form .time-slot-label:has(input[type=radio]:disabled){cursor:not-allowed}.appointment-form .time-slot-label:has(input[type=radio]:disabled):hover .time-slot-btn{background:var(--appointment-form-gray-light);color:var(--appointment-form-gray-mid)}.appointment-form .submit-btn{width:100%;padding:1.25rem;background:var(--appointment-form-black);color:var(--appointment-form-white);border:2px solid var(--appointment-form-black);border-radius:0;font-size:1rem;font-weight:700;cursor:pointer;transition:.3s;letter-spacing:.15em;text-transform:uppercase;margin-top:2rem;position:relative;overflow:hidden}.appointment-form .submit-btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--appointment-form-white);transition:left .3s;z-index:0}.appointment-form .submit-btn:hover::before{left:0}.appointment-form .submit-btn:hover{color:var(--appointment-form-black);border-color:var(--appointment-form-black)}.appointment-form .submit-btn span{position:relative;z-index:1}.appointment-form .datepicker{border-radius:0;box-shadow:0 4px 20px rgba(var(--bs-dark-rgb),.15);border:2px solid var(--appointment-form-black);font-family:inherit}.appointment-form .datepicker-picker{background:var(--appointment-form-white);border-radius:0}.appointment-form .datepicker-controls{background:var(--appointment-form-black);padding:1rem;border-radius:0}.appointment-form .datepicker-main{padding:2px 0 0}.appointment-form .datepicker-footer{display:none}.appointment-form .datepicker-controls .button{color:var(--appointment-form-white);background:0 0;border-radius:0}.appointment-form .datepicker-controls .button:hover,.appointment-form .datepicker-controls .view-switch:hover{background:rgba(var(--bs-light-rgb),.1)}.appointment-form .datepicker-controls .view-switch{color:var(--appointment-form-white);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;background:0 0;border-radius:0}.appointment-form .datepicker-grid{padding:.5rem}.appointment-form .datepicker-view .days-of-week{background:var(--appointment-form-black);margin:0;padding:.5rem}.appointment-form .datepicker-view .dow{color:var(--appointment-form-white);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;height:2rem}.appointment-form .datepicker-cell{border-radius:0;color:var(--appointment-form-black);font-weight:500;border:1px solid transparent;height:2.5rem}.appointment-form .datepicker-cell.today{border-color:var(--appointment-form-gold);background:0 0}.appointment-form .datepicker-cell.today:not(.selected){color:var(--appointment-form-black)}.appointment-form .datepicker-cell:hover:not(.disabled):not(.selected){background:var(--appointment-form-gray-light);border-color:var(--appointment-form-black)}.appointment-form .datepicker-cell.disabled{color:var(--appointment-form-gray-mid);opacity:.3;background:var(--appointment-form-gray-light)}.appointment-form .datepicker-cell.disabled:hover{background:var(--appointment-form-gray-light);border-color:transparent;cursor:not-allowed}.appointment-form .datepicker-cell.focused{border-color:var(--appointment-form-black)}.appointment-form .datepicker-cell.next:not(.disabled),.appointment-form .datepicker-cell.prev:not(.disabled){color:var(--appointment-form-gray-mid)}