body>header{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:1000;width:100%;padding-top:1rem;transition:var(--transition)}body>header.sticky{position:fixed;left:50%;transform:translateX(-50%);z-index:1000;width:calc(100% - 40px);box-sizing:border-box;opacity:1;pointer-events:auto}body.page-rendez-vous .navbar{border:1px solid var(--vert)!important}body.page-rendez-vous .logo,body.page-rendez-vous .logo.hidden{opacity:1!important;pointer-events:auto!important;transform:scale(1)!important}.navbar{background:linear-gradient(90deg,rgba(0,255,149,.8),rgba(57,0,153,.8) 80%);backdrop-filter:var(--navbar-blur);border-radius:.5rem;border:1px solid var(--vert);padding:15px}.navbar-grid{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:.5rem;width:100%}.appointment-main{padding-top:0;min-height:100vh}.appointment-section{padding:4rem 0}.appointment-title{font-size:clamp(2rem, 5vw, 3rem);font-weight:800;color:var(--text);margin-top:2.5rem;margin-bottom:1rem;text-align:center;letter-spacing:-.02em;line-height:1.2}@media (max-width:1023.98px){.appointment-section{padding-top:clamp(1.5rem,4vw,3rem)}.appointment-title{margin-top:0}}@media (max-width:767.98px){.appointment-title{margin-top:0}}.appointment-subtitle{font-size:clamp(1rem, 2vw, 1.25rem);color:#c5b3e2;text-align:center;font-weight:300}.appointment-container{margin-top:3rem}.calendar-wrapper{background:rgba(57,0,153,.6);backdrop-filter:blur(10px);border-radius:1rem;padding:2rem;border:1px solid rgba(0,255,149,.3);box-shadow:0 8px 32px rgba(0,0,0,.2)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-nav-btn{background:rgba(0,255,149,.2);border:1px solid var(--vert);color:var(--text);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s;padding:0}.calendar-nav-btn:hover{background:rgba(0,255,149,.4);transform:scale(1.1)}.calendar-nav-btn:disabled{opacity:.5;cursor:not-allowed}.calendar-month-year{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day-header{text-align:center;font-weight:600;font-size:.875rem;color:#c5b3e2;padding:.5rem;text-transform:uppercase;letter-spacing:.05em}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:.5rem;cursor:default;transition:.25s;font-weight:500;border:1px solid transparent;color:var(--text)}.calendar-day.available{cursor:pointer;background:rgba(197,179,226,.35);border-color:rgba(255,255,255,.12);color:var(--text)}.calendar-day.available:hover:not(.selected){background:rgba(197,179,226,.5);border-color:rgba(0,255,149,.5);transform:scale(1.05)}.calendar-day.disabled{cursor:not-allowed;background:rgba(0,0,0,.42);border-color:rgba(255,255,255,.06);color:rgba(255,255,255,.55)}.calendar-day.disabled.blocked-day,.calendar-day.disabled.no-slots,.calendar-day.disabled.past,.calendar-day.disabled.weekend{background:rgba(0,0,0,.42);color:rgba(255,255,255,.5)}.calendar-day.other-month{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.05);color:rgba(255,255,255,.45)}.calendar-day.today{border:2px solid var(--vert);font-weight:700}.calendar-day.today.available{background:rgba(197,179,226,.4);box-shadow:0 0 0 1px var(--vert)}.calendar-day.selected{background:var(--vert);color:var(--violet);font-weight:700;border-color:var(--vert)}.time-slots-wrapper{background:rgba(57,0,153,.6);backdrop-filter:blur(10px);border-radius:1rem;padding:2rem;border:1px solid rgba(0,255,149,.3);box-shadow:0 8px 32px rgba(0,0,0,.2);height:100%}.time-slots-title{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:1.5rem}.time-slots-empty{color:#c5b3e2;text-align:center;padding:2rem;font-style:italic}.time-slots-container{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.time-slots-container::-webkit-scrollbar{width:8px}.time-slots-container::-webkit-scrollbar-track{background:rgba(255,255,255,.1);border-radius:4px}.time-slots-container::-webkit-scrollbar-thumb{background:var(--vert);border-radius:4px}.time-slot-group{margin-bottom:1.5rem}.time-slot-group-title{font-size:.875rem;font-weight:600;color:#c5b3e2;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.time-slots-row{display:flex;flex-wrap:wrap;gap:.5rem}.time-slot-btn{background:rgba(255,255,255,.1);border:1px solid rgba(0,255,149,.3);color:var(--text);padding:.75rem 1.25rem;border-radius:.5rem;cursor:pointer;transition:.3s;font-weight:500;font-size:.9375rem;flex:0 0 auto}.time-slot-btn:hover:not(:disabled){background:rgba(0,255,149,.3);border-color:var(--vert);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,255,149,.3)}.time-slot-btn:disabled{opacity:.3;cursor:not-allowed;background:rgba(255,255,255,.05)}.time-slot-btn.selected,.time-slot-btn.selected:active:not(:disabled),.time-slot-btn.selected:focus-visible:not(:disabled),.time-slot-btn.selected:hover:not(:disabled){background:var(--vert);color:var(--violet);border-color:var(--vert);font-weight:700;box-shadow:0 4px 12px rgba(0,255,149,.5);transform:none}@media (hover:none){.time-slot-btn:hover:not(:disabled):not(.selected){background:rgba(255,255,255,.1);border-color:rgba(0,255,149,.3);transform:none;box-shadow:none}}.appointment-details{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(0,255,149,.2)}.appointment-details-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.05em}.appointment-details-list{display:flex;flex-direction:column;gap:1rem}.appointment-detail-item{display:flex;align-items:center;gap:.75rem;color:var(--text);font-size:.9375rem}.appointment-detail-icon{flex-shrink:0;color:var(--vert);width:20px;height:20px}.appointment-detail-item strong{color:var(--vert);font-weight:600}.contact-form-wrapper{background:rgba(57,0,153,.6);backdrop-filter:blur(10px);border-radius:1rem;padding:2.5rem;border:1px solid rgba(0,255,149,.3);box-shadow:0 8px 32px rgba(0,0,0,.2)}.contact-form-title{font-size:1.75rem;font-weight:700;color:var(--text);margin-bottom:1rem;text-align:center}.contact-form-subtitle{font-size:.9375rem;color:#c5b3e2;text-align:center;margin-bottom:2rem;font-style:italic}.contact-form-wrapper .form-label{color:var(--text);font-weight:500;margin-bottom:.5rem}.contact-form-wrapper .form-control{background:rgba(255,255,255,.1);border:1px solid rgba(0,255,149,.3);color:var(--text);border-radius:.5rem;padding:.75rem 1rem;transition:.3s}.contact-form-wrapper .form-control:focus{background:rgba(255,255,255,.15);border-color:var(--vert);color:var(--text);box-shadow:0 0 0 .2rem rgba(0,255,149,.25)}.contact-form-wrapper .form-control::placeholder{color:rgba(255,255,255,.5)}.contact-form-wrapper .form-check-label{color:var(--text);font-size:.875rem}.contact-form-wrapper .form-check-input{background-color:rgba(255,255,255,.1);border-color:rgba(0,255,149,.3)}.contact-form-wrapper .form-check-input:checked{background-color:var(--vert);border-color:var(--vert)}.contact-form-wrapper .form-check-input:focus{border-color:var(--vert);box-shadow:0 0 0 .2rem rgba(0,255,149,.25)}.contact-form-wrapper .btn-primary{background:var(--vert);border-color:var(--vert);color:var(--violet);font-weight:700;padding:1rem;font-size:1.125rem;margin-top:1rem;transition:.3s}.contact-form-wrapper .btn-primary:hover{background:#00e085;border-color:#00e085;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,255,149,.4)}.appointment-message{padding:1rem 1.5rem;border-radius:.5rem;margin-bottom:2rem;font-weight:500;animation:.3s slideDown}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.appointment-message-success{background:rgba(0,255,149,.2);border:1px solid var(--vert);color:var(--vert)}.appointment-message-error{background:rgba(0,0,0,.35);border:1px solid #f44;color:#ffbcbc}.appointment-message-info{background:rgba(0,0,0,.35);border:1px solid #0096ff;color:#bfe6ff}@media (max-width:992px){.navbar-grid .nav-link{font-size:.9rem;padding:4px 8px}.navbar-grid .btn{font-size:.8rem;padding:.3rem .8rem}.logo img{width:50px;height:50px}.calendar-wrapper,.time-slots-wrapper{margin-bottom:2rem}.time-slots-wrapper{min-height:400px}}@media (max-width:576px){.navbar-grid .nav-link{font-size:.8rem;padding:3px 6px}.navbar-grid .btn{font-size:.7rem;padding:.25rem .6rem}.logo img{width:40px;height:40px}.calendar-wrapper{padding:1rem;overflow:hidden}.contact-form-wrapper,.time-slots-wrapper{padding:1.5rem}.calendar-grid{gap:.15rem;width:100%;box-sizing:border-box}.calendar-day-header{padding:.25rem;font-size:.7rem}.calendar-day{font-size:.75rem;min-width:0}.time-slots-row{gap:.375rem}.time-slot-btn{padding:.625rem 1rem;font-size:.875rem}}