*{box-sizing:border-box;}.rdv-container{padding:5px;}.rdv-container h2, .rdv-container h3{margin-bottom:6px; user-select:none;}.categories-container, .prestations-container{margin-bottom:20px;}.categorie-item, .prestation-item{margin-bottom:10px; user-select:none;}.summary{background-color:#f8f9fa; border:1px solid #dee2e6; padding:10px; border-radius:5px; margin-bottom:20px; font-size:0.9em;}.summary h4{margin-top:0; margin-bottom:10px;}button[type="submit"].rdv-confirm-clicked{opacity:0.6; transition:opacity 0.3s ease; cursor:not-allowed; pointer-events:none;}.date-picker, .time-picker{margin-bottom:20px;}.prestation-item{display:flex; align-items:flex-start; margin-bottom:15px; padding:10px; border:1px solid #ddd; border-radius:8px; background:#fff;}.prestation-image{width:80px; height:80px; margin-right:15px; border-radius:6px; object-fit:cover;}.prestation-content{flex:1;}.prestation-header{display:flex; justify-content:space-between; align-items:flex-start;}.prestation-item input{padding:0; height:initial; width:initial; margin-bottom:0; display:none; cursor:pointer;}.prestation-item label{position:relative; cursor:pointer;}.prestation-details{display:flex; flex-direction:column; gap:5px;}.no-image-placeholder{width:80px; height:80px; background-color:#f5f5f5; display:flex; align-items:center; justify-content:center; border-radius:6px; color:#999; font-size:24px;}.prestation-item label:before{content:''; -webkit-appearance:none; appearance:none; background-color:transparent; border:2px solid #0079bf; box-shadow:0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05); padding:10px; display:inline-block; position:relative; vertical-align:middle; cursor:pointer; margin-right:5px;}.prestation-item input:checked + label:after{content:''; display:block; position:absolute; top:12px; left:18px; width:8px; height:16px; border:solid #065a8b; border-width:0 2px 2px 0; transform:rotate(45deg);}.date-picker input, .time-picker select{width:100%; padding:8px; border:1px solid #ddd; border-radius:4px;}.recap-section{background-color:#f8f9fa; padding:15px 0 0; border-radius:5px 5px 0 0; border-bottom:3px solid #d8d8d8;}.recap-section h3{padding:0 15px;}.recap-section > h4, .recap-section > h5{padding:0 15px; margin-bottom:1rem;}.recap-list{list-style-type:none; padding:0;}.recap-list li{display:flex; justify-content:space-between; margin-bottom:5px; align-items:stretch; padding:5px 0; border-bottom:1px solid #dee2e6;}.recap-prestation-name{flex-grow:1;}.prestation-item label{display:flex; justify-content:space-between; align-items:center; width:100%; padding:1px 0px;}.day-slots .day-title{font-weight:bold; border-left:3px solid #456; padding-left:10px; font-size:18px;}.prestation-name{flex-grow:1;}.prestation-price, .prestation-duration{margin-left:10px;}.week-navigation{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:0.9em; margin-top:10px;}#current-week{font-weight:bold; text-align:center; font-size:13px;}.day-slots{margin-bottom:20px;}.day-slots h4{margin-bottom:10px;}.days-row{display:flex; justify-content:space-between; margin-bottom:5px; border-bottom:1px solid #ddd; padding-bottom:5px;}#list_employees{margin-top:14px; position:relative;}#list_employees label{position:absolute; font-size:12px; top:-14px; left:5px; color:#456; padding:2px 10px; border-radius:8px; border:1px solid #dee2e6; background:#ffffff; z-index:10;}.day-column{flex:1; text-align:center; font-weight:bold; font-size:13px;}.all-slots-container{display:flex ; justify-content:space-between; min-height:200px; max-height:300px; overflow:auto; margin-bottom:10px;}.day-slots{flex:1; display:flex; flex-direction:column; align-items:center;}.week-slots{position:relative;}.time-slot{background-color:transparent; margin:2px 0; border:1px solid transparent; border-radius:5px; text-align:center; height:50px; width:90%; display:flex; justify-content:center; flex-direction:column;}.time-slot.slot-selectable{cursor:pointer; user-select:none;}@media (max-width:768px){.all-slots-container{flex-wrap:wrap;}.day-slots{margin-bottom:20px;}}@media (min-width:768px){.recap-info-grid{display:flex; flex-direction:column; gap:0.5rem; font-weight:bold;}.recap-info-item-full{width:100%;}.recap-info-item-group{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:0.5rem;}.rdv-sidebar{border-radius:8px;}.rdv-message{margin:0 0 10px 0;}.rdv-container > *:not(.main_title_page){padding-left:1rem; padding-right:1rem;}.rdv-container > .rdv-progress{padding-left:1rem; padding-right:1rem; padding-top:0.5rem; padding-bottom:0.5rem;}.btn-full-width, .btn-half-width{max-width:300px;}.rdv-container{max-width:1000px; margin:0.2rem auto; padding:0; background-color:#fff; border-radius:8px; border:1px solid #44556642; overflow:hidden;}.rdv-container{box-shadow:rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;}.rdv-sidebar .btn-sidebar-toggle{display:none;}.recap-info-content span{font-size:1.25rem;}.recap-info-content span{font-size:1.25rem;}#current-week{font-size:16px;}.rdv-layout{min-height:500px;}}.rdv-layout{display:flex; gap:1rem; min-height:500px;}.rdv-main-content{flex:1; min-width:0;}.sidebar-header-open{max-height:60vh;}.rdv-sidebar{width:350px; background:#f8f9fa; border:1px solid #dee2e6; display:flex; flex-direction:column; max-height:600px; z-index:10;}.sidebar-header{padding:1rem; border-bottom:1px solid #dee2e6; gap:10px; display:flex;}.sidebar-header h3{margin:0; font-size:1.1rem; color:#333;}.sidebar-header .sidebar-title{flex:1; gap:10px; display:flex;}.sidebar-header .sidebar-title span:first-child{flex:1;}.sidebar-content{flex:1; display:flex; flex-direction:column;}.selected-prestations-list{flex:1;}.empty-state{text-align:center; color:#666; padding:1rem;}.empty-state .icon-small{display:block; margin:0 auto 0.5rem; opacity:0.5;}.selected-prestation-item{background:#fff; border:1px solid #dee2e6; border-radius:6px; padding:0.75rem; margin-bottom:0.5rem; display:flex; justify-content:space-between; align-items:flex-start; transition:all 0.2s ease;}.selected-prestation-item:hover{box-shadow:0 2px 4px rgba(0,0,0,0.1);}.prestation-item-info{flex:1; min-width:0;}.prestation-item-name{font-weight:500; color:#333; margin-bottom:0.25rem; font-size:0.9rem;}.prestation-item-details{font-size:0.8rem; color:#666; display:flex; gap:0.5rem;}.prestation-item-actions{display:flex; align-items:center; gap:0.5rem;}.btn-remove-prestation{color:#dc3545; background:none; border:none; border-radius:50%; width:24px; height:24px; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:0.8rem; transition:background-color 0.2s ease;}.prestation-quantity-controls{display:flex; align-items:center; gap:0.5rem; flex-wrap:nowrap;}.btn-remove-one-prestation, .btn-add-one-prestation{background:#f8f9fa; border:1px solid #dee2e6; border-radius:4px; width:28px; height:28px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s ease;}.btn-remove-one-prestation:hover{background:#fff5f5; border-color:#dc3545; color:#dc3545;}.btn-add-one-prestation:hover{background:#f0fff4; border-color:#28a745; color:#28a745;}.btn-add-one-prestation:disabled{opacity:0.5; cursor:not-allowed; background:#f8f9fa; border-color:#dee2e6;}.btn-remove-one-prestation svg, .btn-add-one-prestation svg{width:14px; height:14px;}.btn-remove-one-prestation:disabled, .btn-add-one-prestation:disabled, .btn-remove-prestation:disabled{opacity:0.5; cursor:not-allowed; background:#e9ecef; border-color:#ced4da;}.prestation-quantity{min-width:24px; text-align:center; font-weight:600; font-size:0.95rem; color:#333;}.sidebar-totals{border-top:1px solid #dee2e6;}.total-item{display:flex; justify-content:space-between; align-items:center;}.total-label{font-size:0.9rem; color:#666;}.total-value{font-weight:600; color:#333; font-size:1rem;}.selected-prestation-item{box-shadow:0 1px 3px rgba(0,0,0,0.05);}.selected-prestation-item:hover{box-shadow:0 2px 6px rgba(0,0,0,0.1); transform:translateY(-1px);}.options-text{font-style:italic;}.sidebar-totals{background:#f8f9fa; border-radius:0 0 8px 8px;}.total-item{padding:0.5rem;}.total-label{font-weight:500;}.booking-card__actions{margin-top:0.75rem; display:flex; justify-content:center;}.booking-card{transition:all 0.3s ease; border-radius:12px; overflow:hidden;}.booking-card__badge{backdrop-filter:blur(10px); border:1px solid rgba(255, 255, 255, 0.2); box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}.booking-card__badge.booking-card__duration{background:linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%); color:#1565c0;}.booking-card__badge.booking-card__price{background:linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%); color:#2e7d32;}.rdv-sidebar{background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border:1px solid rgba(0, 0, 0, 0.08); box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);}.sidebar-header{background:linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border-bottom:1px solid rgb(0 0 0 / 20%); margin-bottom:1px; border-radius:8px 8px 0 0;}.selected-prestation-item{background:linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border:1px solid rgba(0, 123, 255, 0.1); box-shadow:0 2px 8px rgba(0, 123, 255, 0.05);}.selected-prestation-item:hover{background:linear-gradient(135deg, #f8f9fa 0%, #e3f2fd 100%); border-color:rgba(0, 123, 255, 0.2); box-shadow:0 4px 12px rgba(0, 123, 255, 0.1);}.rdv-recap{background:linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border:1px solid rgba(0, 123, 255, 0.1); box-shadow:0 4px 12px rgba(0, 0, 0, 0.08);}.recap-section{background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); border-bottom:3px solid rgba(0, 123, 255, 0.1);}.recap-info-icon, .recap-total-icon{background:linear-gradient(135deg, #f8f9fa 0%, #e3f2fd 100%); border:2px solid rgba(0, 123, 255, 0.1); box-shadow:0 4px 8px rgba(0, 123, 255, 0.1);}.time-slot.slot-selectable{transition:all 0.3s ease;}.list-slot{background:linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border:2px solid rgba(0, 123, 255, 0.2); transition:all 0.3s ease;}.list-slot:hover{background:linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%); transform:translateY(-2px); box-shadow:0 4px 12px rgba(0, 123, 255, 0.2);}.list-slot.selected{transform:scale(1.05);}.booking-card__title{color:#333; font-size:1.1rem; font-weight:600; margin-bottom:0.5rem;}.booking-card__description{color:#666; font-size:0.9rem; line-height:1.4; margin-bottom:0.75rem;}.booking-card__info{display:flex; gap:0.5rem; flex-wrap:wrap;}.booking-card__info_ligne{display:flex; gap:0.5rem; flex-wrap:wrap; align-items:center; justify-content:flex-end;}.booking-card__body_ligne{padding:8px 10px; border-radius:8px; background:#f3f3f3; display:flex; align-items:center; justify-content:space-between; width:100%; border:1px solid #253f2533; box-shadow:rgba(0, 0, 0, 0.16) 0px 1px 4px; transition:all 0.2s ease;}.booking-card__body_ligne:hover{box-shadow:rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;}.booking-card__badge{background:#f8f9fa; color:#495057; padding:0.25rem 0.5rem; border-radius:4px; font-size:0.8rem; display:flex; align-items:center; gap:0.25rem;}.booking-card__badge.booking-card__duration{background:#e3f2fd; color:#1976d2;}.booking-card__badge.booking-card__price{background:#e8f5e8; color:#2e7d32; font-weight:600;}.booking-card__badge.booking-card__menu-badge{background-color:#28a745 !important; color:white !important; font-weight:500;}.booking-card__badge.booking-card__duration:empty, .booking-card__badge.booking-card__price:empty{display:none;}.prestation-duration:empty, .prestation-price:empty{display:none;}.sidebar-totals .total-item:has(.total-value:empty){display:none;}.btn-add-prestation{transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1); position:relative; overflow:hidden;}.btn-add-prestation:active{transform:scale(0.98); box-shadow:0 2px 8px rgba(0, 123, 255, 0.3);}.btn-add-prestation::before{content:''; position:absolute; top:50%; left:50%; width:0; height:0; background:rgba(0, 123, 255, 0.1); border-radius:50%; transform:translate(-50%, -50%); transition:width 0.6s, height 0.6s; z-index:0;}.btn-add-prestation:active::before{width:300px; height:300px;}.btn-add-prestation > *{position:relative; z-index:1;}.booking-card__add-btn{background-color:var(--rdv-modal-btn-primary-bg, #007bff); color:var(--rdv-modal-btn-primary-color, #fff); border:1px solid var(--rdv-modal-btn-primary-border, #007bff); border-radius:8px; padding:0.25rem 1rem; font-size:0.85rem; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:0.4rem; transition:all 0.3s ease; box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}.booking-card__add-btn:hover{transform:translateY(-2px); box-shadow:0 4px 12px rgba(0, 123, 255, 0.3); opacity:0.9;}.booking-card__add-btn:active{transform:translateY(0); box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}.booking-card__add-btn:disabled{opacity:0.5; cursor:not-allowed; transform:none;}.booking-card__add-btn .icon-small{display:inline-flex; align-items:center;}.booking-card__add-btn .icon-small svg{width:14px; height:14px;}.booking-card__image{margin-bottom:0.5rem; border-radius:8px; overflow:hidden; height:var(--prestation-image-max-height, 250px); display:flex; align-items:center; justify-content:center; background:#f8f9fa;}.booking-card__image img{width:100%; height:100%; object-fit:cover; object-position:center; display:block;}.prestation-detail{display:flex; flex-direction:column; gap:1rem;}.prestation-detail-wrapper{display:flex; gap:1.5rem; align-items:flex-start;}.prestation-detail-images{flex-shrink:0; width:300px; max-width:100%; position:relative;}.prestation-detail-main-image-wrapper{position:relative; width:100%; height:500px; border-radius:8px; overflow:hidden; background:#f8f9fa; display:flex; align-items:center; justify-content:center;}.prestation-detail-main-image{width:100%; height:100%; object-fit:cover; object-position:center; display:block; cursor:pointer; transition:transform 0.3s ease;}.prestation-detail-main-image:hover{transform:scale(1.02);}.prestation-detail-image-indicator{position:absolute; right:8px; bottom:8px; background:rgba(0, 0, 0, 0.6); color:#fff; padding:4px 10px; border-radius:999px; font-size:0.75rem; font-weight:500; z-index:2;}.carousel-nav-btn{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255, 255, 255, 0.25); border:1px solid rgba(0, 0, 0, 0.1); border-radius:50%; width:44px; height:44px; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:10; transition:all 0.3s ease; box-shadow:0 2px 8px rgba(0, 0, 0, 0.2); font-size:1.2rem; color:#333; padding:0; margin:0;}.carousel-nav-btn:hover{background:rgba(255, 255, 255, 1); box-shadow:0 4px 12px rgba(0, 0, 0, 0.3); transform:translateY(-50%) scale(1.1);}.carousel-nav-btn svg{width:20px; height:20px; display:block;}.carousel-prev-btn{left:12px;}.carousel-next-btn{right:12px;}.carousel-zoom-btn{top:12px; right:12px; transform:none; background:rgba(255, 255, 255, 0.9);}.carousel-zoom-btn:hover{background:rgba(255, 255, 255, 1); transform:scale(1.1);}.carousel-zoom-btn svg{width:18px; height:18px; display:block;}.image-fullscreen-modal{position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0, 0, 0, 0.95); display:flex; align-items:center; justify-content:center; z-index:10000; opacity:0; visibility:hidden; transition:opacity 0.3s ease, visibility 0.3s ease;}.image-fullscreen-modal.show{opacity:1; visibility:visible;}.image-fullscreen-content{position:relative; width:100%; height:100%; display:flex; align-items:center; justify-content:center; padding:2rem;}.image-fullscreen-img{max-width:100%; max-height:100%; object-fit:contain; border-radius:8px; box-shadow:0 10px 40px rgba(0, 0, 0, 0.5);}.image-fullscreen-close{position:absolute; top:20px; right:20px; background:rgba(255, 255, 255, 0.9); border:1px solid rgba(0, 0, 0, 0.1); border-radius:50%; width:44px; height:44px; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:10001; transition:all 0.3s ease; box-shadow:0 2px 8px rgba(0, 0, 0, 0.2);}.image-fullscreen-close:hover{background:rgba(255, 255, 255, 1); transform:scale(1.1); box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);}.image-fullscreen-close .icon-small{width:20px; height:20px; display:flex; align-items:center; justify-content:center;}.image-fullscreen-close .icon-small svg{width:20px; height:20px;}.image-fullscreen-nav{position:absolute; top:50%; transform:translateY(-50%); background:rgba(255, 255, 255, 0.9); border:1px solid rgba(0, 0, 0, 0.1); border-radius:50%; width:50px; height:50px; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:10001; transition:all 0.3s ease; box-shadow:0 2px 8px rgba(0, 0, 0, 0.2);}.image-fullscreen-nav:hover{background:rgba(255, 255, 255, 1); transform:translateY(-50%) scale(1.1); box-shadow:0 4px 12px rgba(0, 0, 0, 0.3);}.image-fullscreen-nav .icon-small{width:24px; height:24px; display:flex; align-items:center; justify-content:center;}.image-fullscreen-nav .icon-small svg{width:24px; height:24px;}.image-fullscreen-prev{left:20px;}.image-fullscreen-next{right:20px;}.image-fullscreen-indicator{position:absolute; bottom:20px; left:50%; transform:translateX(-50%); background:rgba(0, 0, 0, 0.7); color:#fff; padding:8px 16px; border-radius:999px; font-size:0.9rem; font-weight:500; z-index:10001;}@media (max-width:768px){.image-fullscreen-content{padding:1rem;}.image-fullscreen-close{top:10px; right:10px; width:36px; height:36px;}.image-fullscreen-nav{width:40px; height:40px;}.image-fullscreen-prev{left:10px;}.image-fullscreen-next{right:10px;}.image-fullscreen-indicator{bottom:10px; font-size:0.8rem; padding:6px 12px;}}.prestation-detail-content{flex:1; min-width:0; display:flex; flex-direction:column;}.prestation-detail-info{font-size:0.9rem; flex:1;}.prestation-detail-category{font-size:0.8rem; font-weight:500; color:#666; margin-bottom:0.5rem; text-transform:uppercase; letter-spacing:0.5px;}.prestation-detail-description{margin-bottom:1rem; color:#555; line-height:1.6;}.prestation-detail-meta{display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:1rem;}.prestation-detail-meta-item{padding:0.5rem 0.75rem; border-radius:6px; background:#f8f9fa; font-size:0.85rem; font-weight:500; color:#495057;}.prestation-detail-actions{margin-top:auto; padding-top:1rem; border-top:1px solid #dee2e6;}.prestation-detail-add-btn{width:100%; padding:0.75rem 1.5rem; font-size:1rem; font-weight:600; border-radius:8px; border:none; cursor:pointer; transition:all 0.3s ease; display:flex; align-items:center; justify-content:center; gap:0.5rem; background-color:var(--rdv-modal-btn-primary-bg, #007bff); color:var(--rdv-modal-btn-primary-color, #fff); border:1px solid var(--rdv-modal-btn-primary-border, #007bff); box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}.prestation-detail-add-btn:hover{transform:translateY(-2px); box-shadow:0 4px 12px rgba(0, 123, 255, 0.3); opacity:0.9;}.prestation-detail-add-btn:active{transform:translateY(0); box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}@media (max-width:768px){.prestation-detail-wrapper{flex-direction:column; gap:1rem;}.prestation-detail-images{width:100%;}.prestation-detail-main-image-wrapper{height:350px;}.carousel-nav-btn{width:36px; height:36px;}.carousel-nav-btn svg{width:16px; height:16px;}.prestation-detail-content{width:100%;}}.booking-card__content{transition:all 0.3s ease; position:relative;}.booking-card__content:active{transform:translateY(2px); box-shadow:0 4px 12px rgba(0, 123, 255, 0.2);}.booking-card__content.btn-add-prestation:hover{transform:translateY(-2px); box-shadow:0 8px 25px rgba(0, 123, 255, 0.15);}.booking-card.selected{position:relative; background:linear-gradient(135deg, #e3f2fd 0%, #f8f9fa 100%); box-shadow:0 4px 12px rgba(0, 123, 255, 0.15); animation:cardSelected 0.3s ease-out;}@keyframes cardSelected{0%{transform:scale(0.99); opacity:0.8;}50%{transform:scale(1.01);}100%{transform:scale(1); opacity:1;}}#prestation-options-modal .modal-header{display:flex; justify-content:space-between; align-items:center; padding:0.75rem 1rem; margin:0; border-bottom:1px solid #dee2e6;}#prestation-options-modal .modal-header h4{margin:0; font-size:1.1rem; font-weight:600;}#prestation-options-modal .modal-footer{display:flex; justify-content:space-between; gap:0.75rem; padding:0.75rem 1rem; margin:0; border-top:1px solid #dee2e6;}#prestation-options-modal .modal-footer .btn{display:flex; align-items:center; justify-content:center; gap:0.5rem; padding:0.75rem 1.5rem; font-size:1rem; font-weight:600; border-radius:8px; border:none; cursor:pointer; transition:all 0.3s ease;}#prestation-options-modal .modal-footer .btn-primary{background-color:var(--rdv-modal-btn-primary-bg, #007bff); color:var(--rdv-modal-btn-primary-color, #fff); border:1px solid var(--rdv-modal-btn-primary-border, #007bff); box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}#prestation-options-modal .modal-footer .btn-primary:hover{transform:translateY(-2px); box-shadow:0 4px 12px rgba(0, 123, 255, 0.3); opacity:0.9;}#prestation-options-modal .modal-footer .btn-primary:active{transform:translateY(0); box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}#prestation-options-modal .modal-footer .btn-secondary{background-color:#6c757d; color:#fff; border:1px solid #6c757d; box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}#prestation-options-modal .modal-footer .btn-secondary:hover{background-color:#5a6268; transform:translateY(-2px); box-shadow:0 4px 12px rgba(0, 0, 0, 0.2);}#prestation-options-modal .modal-footer .btn-secondary:active{transform:translateY(0); box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);}#prestation-options-modal .modal-footer .btn .icon-small{display:inline-flex; align-items:center;}#prestation-options-modal .modal-footer .btn .icon-small svg{width:16px; height:16px;}.prestation-option{margin-bottom:1.25rem; padding:1.25rem; border-radius:8px; background:#fff;}.prestation-option h4{margin:0 0 1rem 0; font-size:1.1rem;}.option-choices{display:flex; flex-direction:column; gap:0.75rem;}.option-choice{display:flex; align-items:center; gap:0.75rem;}.option-choice input[type="radio"]{margin:0; width:18px; height:18px; cursor:pointer;}.option-choice label{cursor:pointer; margin:0; font-size:0.95rem; flex:1; padding:0.75rem 1rem; border-radius:8px;}.btn-sidebar-toggle{display:none; border:none; border-radius:4px; cursor:pointer; display:flex; transition:background-color 0.2s ease; background:none;}.sidebar-header-open .btn-sidebar-toggle{transform:rotate(180deg);}.btn-sidebar-toggle .icon-small{width:16px; height:16px;}@media (max-width:768px){.rdv-layout{flex-direction:column;}.rdv-sidebar{width:100%; max-height:300px; position:fixed; bottom:60px; left:0; right:0; transition:transform 0.3s ease; height:auto; max-height:60px; overflow:hidden;}.rdv-layout:has(#step3.active) .rdv-sidebar{position:relative; max-height:none; overflow:visible; bottom:0;}.sidebar-header-open{max-height:60vh;}.step-actions-unified{position:fixed; bottom:0; left:0; right:0; background:white; height:60px; border-top:1px solid #dee2e6; box-shadow:0 -2px 10px rgba(0,0,0,0.1);}.btn-sidebar-toggle{display:flex;}.booking-card__actions{margin-top:0.5rem;}.btn-add-prestation{font-size:0.8rem;}}.no_slots_week{text-align:center; position:absolute; top:30%; left:50%; font-size:1.10em; transform:translate(-50%, 10px);}#slot-selected-date{text-align:center; font-size:14px; font-weight:bold; margin:10px; margin:8px 0; font-size:16px; border:2px solid #e0e0e0; border-radius:12px; padding:5px 0px; box-shadow:0 2px 8px rgba(0, 0, 0, 0.05);}#confirm-reservation{box-shadow:rgba(0, 0, 0, 0.25) 0px 14px 28px, rgba(0, 0, 0, 0.22) 0px 10px 10px;}.categories-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px; margin-bottom:30px;}.categorie-card{background-color:#f8f9fa; border:1px solid #dee2e6; border-radius:8px; padding:20px; box-shadow:0 2px 4px rgba(0,0,0,0.1);}.categorie-title{color:#333; font-size:1.2em; margin-bottom:15px; text-align:center;}.prestations-list{display:flex; flex-direction:column;}.prestation-item{margin-bottom:10px;}.prestation-item label{display:flex; justify-content:space-between; align-items:center; padding:10px; background-color:#fff; border:1px solid #ced4da; border-radius:4px; cursor:pointer; transition:background-color 0.2s;}#user-info-form{margin:0 15px;}.prestation-item label:hover{background-color:#e9ecef;}.prestation-item input:checked + label{background-color:#e7f5ff;}.prestation-name{font-weight:500;}.prestation-details{display:flex; align-items:center;}.prestation-price{margin-right:10px; font-size:0.9em;}.prestation-duration{font-size:0.9em;}.summary-container{background-color:#f8f9fa; border:1px solid #dee2e6; border-radius:8px; padding:20px; margin-bottom:20px;}.summary-totals{display:flex; justify-content:space-between; font-weight:bold; margin-top:15px; padding-top:15px; border-top:1px solid #dee2e6;}.confirmation-summary{background-color:#f8f9fa; border:1px solid #dee2e6; border-radius:8px; padding:20px; margin-bottom:20px;}.confirmation-section{margin-bottom:20px;}.step-action-next{text-align:right;}.step-actions-full-width{display:flex; gap:1rem; width:100%;}.step-actions-unified{display:flex; gap:1rem; width:100%;}.btn-full-width{width:100%; justify-content:center;}.btn-half-width{flex:1; justify-content:center;}.sidebar-header{transition:background-color 0.2s ease;}.sidebar-header:hover{background-color:#f0f0f0;}.sidebar-content{transition:max-height 0.3s ease; overflow:hidden;}.sidebar-content.collapsed{max-height:0;}.rdv-message{width:100%;}.confirmation-section h3{font-size:1.2em; margin-bottom:10px;}.confirmation-totals{display:flex; justify-content:space-between; font-weight:bold; margin-top:15px; padding-top:15px; border-top:1px solid #dee2e6;}.confirmation-actions{display:flex; justify-content:space-between; margin-top:20px;}.confirmation-actions .btn{width:48%;}.rdv-container{max-width:1000px; padding:0; background-color:#fff; border:1px solid #44556642; overflow:hidden;}.rdv-title{text-align:center; color:#333; margin-bottom:20px;}.rdv-progress{display:flex; justify-content:space-between; margin-bottom:0px;}.rdv-progress-step{flex:1; text-align:center; padding:10px; background-color:#f8f9fa; border:1px solid #c7cbcf; margin:0 10px; opacity:0.6;}.rdv-alert{padding:7px; text-align:center; max-width:80%; margin:10px auto; box-shadow:rgba(0, 0, 0, 0.24) 0px 3px 8px; border-radius:4px; font-weight:400;}.rdv-alert.success{color:#155724; background-color:#d4edda; border-color:#c3e6cb;}.rdv-alert.error{color:#ffffff; background-color:#d68900c9; border-color:#bb9a9d;}.rdv-step{display:none;}.rdv-step.active{display:block;}.step-title{color:#ffffff; margin-bottom:20px; padding:10px 25px; border-radius:44px; border-bottom:4px solid #456;}.categories-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:20px; margin-bottom:30px;}.categorie-card{background-color:#f8f9fa; border:1px solid #dee2e6; border-radius:8px; padding:20px;}.categorie-title{margin-bottom:15px;}.prestation-item{margin-bottom:10px;}.prestation-item label{display:flex; justify-content:space-between; align-items:flex-start; padding:10px; background-color:#fff; border:1px solid #ced4da; border-radius:4px; cursor:pointer;}.prestation-item input:checked + label{background-color:#e7f5ff;}.rdv-summary{border-top:5px solid #e7e7e7; font-size:18px; padding:7px 0;}#total-price{display:inline-block; background-color:#f9f9f9; font-size:1.4rem; font-weight:bold; padding:4px 8px; border-radius:12px; box-shadow:0 2px 6px rgba(90, 96, 107, 0.1);}.rdv-totals{display:flex; justify-content:space-between; font-weight:bold; margin-top:15px; padding-top:8px; border-top:1px solid #dee2e6;}.btn{padding:10px 20px; border:none; border-radius:4px; cursor:pointer; font-size:16px;}.btn-success{background-color:#28a745; color:#fff;}.date-time-picker{display:flex; justify-content:space-between; margin-bottom:20px;}#datepicker, #timeslots{width:48%;}.main_title_page{background:linear-gradient(135deg, #eaf0f7 0%, #e9ecef 100%); margin:0; padding:0.5rem 2rem; text-align:center; font-size:1.75rem; font-weight:600; color:#333; letter-spacing:-0.025em; border-bottom:1px solid rgba(0, 0, 0, 0.08); position:relative;}.main_title_page .main-icon{display:inline-flex; align-items:center; justify-content:center; width:3.5rem; height:3.5rem; background:white; border-radius:50%; margin-right:1rem; box-shadow:0 8px 16px rgba(0, 123, 255, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1); border:2px solid rgba(0, 123, 255, 0.1); transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);}.main_title_page .main-icon svg{width:1.75rem; height:1.75rem; fill:#007bff;}.user-info-form,.recap-details{padding:0 1rem;}@media (max-width:768px){.main_title_page{padding:0.5rem 0.5rem; font-size:1.5rem;}.sidebar-header{cursor:pointer;}.main_title_page .main-icon{width:3rem; height:3rem; margin-right:0.75rem;}.main_title_page .main-icon svg{width:1.5rem; height:1.5rem;}}@media (max-width:480px){.main_title_page{padding:1rem 0.5rem; font-size:1.25rem;}.main_title_page .main-icon{width:2.5rem; height:2.5rem; margin-right:0.5rem;}.main_title_page .main-icon svg{width:1.25rem; height:1.25rem;}}.rdv-recap{background:#fff; border-radius:4px; box-shadow:0 2px 4px rgba(0,0,0,0.1); border:1px solid #c8cfd6;}.recap-section h3{color:#333; margin-bottom:1.5rem; font-size:1.5rem;}.recap-info-item, .recap-total-item{display:flex; align-items:center; gap:1rem; border-radius:6px;}.recap-info-grid{display:flex; flex-direction:column; gap:0.5rem; font-weight:bold;}.recap-info-item-full{width:100%;}.recap-info-item-group{display:flex; flex-direction:column; gap:0.5rem;}.recap-info-icon{display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:#f8f9fa; border-radius:50%; box-shadow:0 2px 4px rgba(0,0,0,0.05);}.recap-info-content{display:flex; flex-direction:column;}.recap-info-content label{font-size:0.875rem; color:#666; margin-bottom:0.25rem;}.recap-info-content span{font-size:1rem; color:#333; font-weight:600;}.recap-info-content .recap-address{font-weight:500; line-height:1.6;}.recap-section-contact h5{margin-bottom:1rem; color:#333; font-size:1.1rem; font-weight:600;}.user-info-section h5{margin-bottom:1rem; color:#333; font-size:1.1rem; font-weight:600;}.recap-info-content .recap-address{font-weight:500; line-height:1.6;}.recap-prestations-section{margin-top:1rem; padding:0px 15px;}.recap-prestations-section h4{color:#333; margin-bottom:1rem; font-size:1.15rem;}.recap-list{list-style:none; padding:0; margin:0;}.recap-list li{display:flex; justify-content:space-between; padding:0.5rem 0; border-bottom:1px solid #eee;}#step-recap-date,#step-recap-time, #step-recap-employee{height:1em; min-width:100px;}.recap-step-date{padding:4px 0; border-top:5px solid #e7e7e7; font-size:18px;}.recap-list li:last-child{border-bottom:none;}.recap-total-item{display:flex; align-items:center; justify-content:center; gap:1rem; margin-bottom:1rem;}.recap-total-icon{display:flex; align-items:center; justify-content:center; width:40px; height:40px; background:#f8f9fa; border-radius:50%; box-shadow:0 2px 4px rgba(0, 0, 0, 0.05);}.recap-total-content{display:flex; flex-direction:column;}.recap-total-content label{font-size:0.875rem; color:#666;}.recap-total-content span{font-size:1.25rem; color:#333; font-weight:600;}.recap-discount-section{padding:1rem; border-top:1px solid #dee2e6; margin-top:0.5rem;}.recap-discount-section label{display:block; margin-bottom:0.5rem; font-weight:500; color:#333;}.discount-code-input{display:flex; gap:0.5rem;}.discount-code-input input{flex:1; padding:0.5rem; border:1px solid #dee2e6; border-radius:4px; font-size:0.9rem;}.discount-code-input input:focus{outline:none; border-color:var(--rdv-primary); box-shadow:0 0 0 0.2rem rgba(var(--rdv-primary), 0.25);}.btn-apply-discount{padding:0.5rem 1rem; background:var(--rdv-modal-btn-primary-bg); color:var(--rdv-modal-btn-primary-color); border:1px solid var(--rdv-modal-btn-primary-border); border-radius:var(--rdv-radius); cursor:pointer; font-size:0.9rem; transition:all 0.3s ease; font-weight:500;}.btn-apply-discount:hover{opacity:0.9; transform:translateY(-1px); box-shadow:var(--rdv-shadow);}.discount-error{margin-top:0.5rem; padding:0.5rem; background:#f8d7da; color:#721c24; border-radius:4px; font-size:0.9rem;}.payment-section{margin-top:1rem; padding-top:1rem; border-top:1px solid #dee2e6;}.btn-payment{width:100%; padding:1rem; border:none; border-radius:8px; font-size:1.1rem; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:0.5rem;}.btn-payment:active{transform:translateY(0);}.payment-notice{display:flex; align-items:center; gap:0.5rem; padding:1rem; background:#fff3cd; color:#856404; font-size:1rem;}.payment-notice .icon-small{color:#856404;}.recap-prestation-item{display:flex; justify-content:space-between; align-items:center; padding:1rem; background:#f8f9fa; border-radius:8px; margin-bottom:0.75rem; transition:all 0.2s ease;}.list-categories-prestations{min-height:200px; max-height:500px; overflow:auto;}.recap-prestation-info{display:flex; flex-direction:column; gap:0.25rem;}.recap-prestation-info-right{display:flex; flex-direction:row; align-items:flex-end; gap:1rem;}.recap-prestation-name{font-weight:500; color:#333; font-size:1.05rem;}.recap-prestation-duration{font-size:1.2rem; font-weight:600; color:#666; display:flex; align-items:center; gap:0.5rem; font-weight:400;}.recap-prestation-duration .icon-small{width:16px; height:16px; opacity:0.6;}.recap-prestation-price{color:#333; font-size:1.2rem; padding-left:1rem; border-left:1px solid #dee2e6; display:flex; align-items:center; height:100%;}.recap-prestation-price span{margin-top:auto; display:block; text-align:right;}.category-header{cursor:pointer; display:flex; align-items:center; transition:background-color 0.2s ease; user-select:none;}.category-arrow{margin-right:8px; transition:transform 0.3s ease; display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px;}.category-arrow svg{width:14px; height:14px; fill:#666;}.category-header.collapsed .category-arrow{transform:rotate(-90deg);}.category-content{padding:6px; overflow:hidden; transition:max-height 0.3s ease, opacity 0.3s ease; max-height:1000px; opacity:1;}.category-content.collapsed{max-height:0; opacity:0;}.list-slots{min-height:200px; max-height:400px; overflow-y:auto; border:1px solid #dee2e6; border-radius:8px; background:#fff;}.day-list-item{border-bottom:1px solid #eee; padding:0;}.day-list-item:last-child{border-bottom:none;}.day-list-header{background:#f8f9fa; padding:12px 16px; font-weight:600; color:#333; border-bottom:1px solid #dee2e6; position:sticky; top:0; z-index:1;}.day-list-slots{padding:8px 16px; display:grid; grid-template-columns:repeat(auto-fill, minmax(80px, 1fr)); gap:8px;}.list-slot{padding:8px 12px; background:#fff; border-radius:4px; text-align:center; cursor:pointer; user-select:none;}.day-list-empty{padding:16px; text-align:center; color:#666; font-style:italic;}#toggle-view{margin-left:8px;}#toggle-view:hover{background-color:#e0e0e0;}.recap-list{display:flex; flex-direction:column;}@media (max-width:768px) and (min-width:481px){.recap-prestation-item{padding:0.875rem;}.recap-prestation-info-right{gap:0.75rem;}.recap-prestation-duration{font-size:0.9rem;}}@media (max-width:480px){.recap-prestation-item{flex-direction:row; align-items:center; padding:0.75rem; gap:0.5rem;}.recap-prestation-info{flex:1; min-width:0;}.recap-prestation-name{font-size:0.9rem; line-height:1.3; margin-bottom:0.25rem;}.recap-prestation-info-right{flex-shrink:0; gap:0.5rem; align-items:center;}.recap-prestation-duration{font-size:0.9rem;}.recap-prestation-price{border-left:1px solid #dee2e6; padding-left:0.5rem; font-size:0.9rem; min-width:auto;}.recap-prestation-price span{margin-top:0;}.category-arrow{width:16px; height:16px;}.category-arrow svg{width:12px; height:12px;}.day-list-header{padding:8px 12px; font-size:14px;}.day-list-slots{padding:6px 12px; grid-template-columns:repeat(auto-fill, minmax(70px, 1fr)); gap:6px;}.list-slot{padding:6px 8px; font-size:12px;}}.modal-overlay{position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0, 0, 0, 0.5); display:flex; justify-content:center; align-items:center; z-index:1000; opacity:0; visibility:hidden; transition:opacity 0.3s ease, visibility 0.3s ease;}.modal-overlay.show{opacity:1; visibility:visible;}.modal-content{background:white; border-radius:6px; box-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); max-width:600px; width:90%; margin:auto; max-height:80vh; overflow:hidden; transform:scale(0.95); transition:transform 0.3s ease;}.modal-overlay.show .modal-content{transform:scale(1);}.modal-body{padding:1rem; border-radius:6px 6px 0 0; line-height:1.6; max-height:60vh; overflow-y:auto;}.modal-footer{padding:0.4rem 1rem 0.4rem; display:flex; justify-content:end; background:white; border-radius:0 0 6px 6px;}.btn-modal-close:active{transform:translateY(0);}@media (max-width:768px){.modal-content{width:95%; margin:1rem;}.modal-body{padding:0.5rem;}.modal-footer{padding:0.5rem 0.5rem 0.5rem;}}@media (max-width:480px){.modal-content{width:98%; margin:0.5rem;}.modal-body{padding:1rem; font-size:14px;}.modal-footer{padding:0.5rem 0.5rem 0.5rem;}.btn-modal-close{padding:10px 20px; font-size:13px;}}.menu-info{margin-bottom:1rem;}.menu-items-list{max-height:400px; overflow-y:auto;}.menu-item-card{position:relative; border:1px solid #dee2e6; border-radius:8px; padding:0; margin-bottom:0.5rem; background-color:#f8f9fa; overflow:hidden;}.menu-item-card .form-check-input{position:absolute; top:0.75rem; left:0.75rem; z-index:1; margin-top:0;}.menu-item-card-label{display:block; cursor:pointer; padding:0.5rem; padding-left:2.5rem; margin:0; width:100%; min-height:100%;}.menu-item-card-label:hover{background-color:#e9ecef;}.menu-item-card .form-check-input:disabled ~ .menu-item-card-label{cursor:default; opacity:0.6;}.menu-item-card .form-check-input:disabled ~ .menu-item-card-label:hover{background-color:#f8f9fa;}.menu-item-header{display:flex; justify-content:space-between; align-items:flex-start;}.menu-item-title{flex-grow:1;}.menu-item-title strong{display:block; color:#495057;}.menu-item-info{display:flex; gap:1rem; font-size:0.9em; color:#6c757d; align-items:center; margin-left:0.5rem;}.menu-item-options{margin-top:0.75rem; pointer-events:auto;}.menu-item-card-label .menu-item-options *{pointer-events:auto;}.menu-option-group{margin-bottom:1rem;}.menu-option-group label{display:block; font-weight:500; margin-bottom:0.5rem; color:#495057;}.option-choices{display:flex; flex-wrap:wrap; gap:0.5rem;}.option-choice{display:flex; align-items:center;}.option-choice input[type="radio"]{margin-right:0.25rem;}.option-choice label{font-weight:normal; margin:0; cursor:pointer; padding:0.25rem 0.5rem; border-radius:4px; transition:background-color 0.2s;}.option-choice input[type="radio"]:checked + label{color:white;}.modal-overlay{position:fixed; top:0; left:0; right:0; bottom:0; background-color:rgba(0, 0, 0, 0.5); display:none; align-items:center; justify-content:center; z-index:9999;}.modal-overlay.show{display:flex;}.modal-overlay .modal-content{background:white; border-radius:8px; max-width:600px; width:90%; max-height:90vh; overflow-y:auto;}.modal-overlay .modal-header{padding:1rem; border-bottom:1px solid #dee2e6; display:flex; justify-content:space-between; align-items:center;}.modal-overlay .modal-body{padding:1rem;}.modal-overlay .modal-footer{padding:0.5rem; border-top:1px solid #dee2e6; display:flex; justify-content:flex-end; gap:0.5rem;}.payment-modal-content{max-width:500px;}#payment-element{min-height:200px;}#payment-error{margin-bottom:1rem; padding:0.75rem; border-radius:4px;}#payment-spinner{display:inline-block; width:16px; height:16px; border:2px solid #ffffff; border-top:2px solid transparent; border-radius:50%; animation:spin 0.8s linear infinite; margin-left:0.5rem;}@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}.spinner{display:inline-block; width:20px; height:20px; border:3px solid rgba(0, 0, 0, 0.1); border-top:3px solid #333; border-radius:50%; animation:spin 0.8s linear infinite; margin:0 auto;}.btn-close-modal{background:none; border:none; cursor:pointer; padding:0;}.btn-close-modal .icon-small{width:24px; height:24px;}.btn-secondary, .btn-primary{padding:0.5rem 1rem; border-radius:4px; border:none; cursor:pointer; font-size:0.9rem;}.confirmation-modal-content{max-width:500px;}#confirmation-loading{padding:2rem;}#confirmation-loading .spinner-border{width:3rem; height:3rem; border:0.25em solid currentColor; border-right-color:transparent; border-radius:50%; animation:spinner-border 0.75s linear infinite; display:inline-block;}#confirmation-loading .spinner-border.text-primary{color:#007bff;}@keyframes spinner-border{to{transform:rotate(360deg);}}#confirmation-content .alert{padding:1rem; border-radius:8px; margin-bottom:1rem;}#confirmation-content .alert-success{background-color:#d4edda; border:1px solid #c3e6cb; color:#155724;}#confirmation-content .alert-danger{background-color:#f8d7da; border:1px solid #f5c6cb; color:#721c24;}#confirmation-content .alert strong{display:block; font-size:1.1rem;}#confirmation-content .alert p{margin:0; line-height:1.5;}.payment-options-buttons{display:flex; flex-direction:column; gap:0.75rem; margin-top:1rem;}.btn-payment-option{width:100%; padding:0.75rem 1rem; display:flex; align-items:center; justify-content:center; gap:0.5rem; font-size:1rem; font-weight:500; border-radius:8px; transition:all 0.3s ease;}.btn-payment-option:hover{transform:translateY(-2px); box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);}.alert-popup{position:fixed; top:20px; right:20px; z-index:10000; min-width:300px; max-width:500px; opacity:0; transform:translateX(400px); transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events:none;}.alert-popup.show{opacity:1; transform:translateX(0); pointer-events:all;}.alert-popup-content{background:white; border-radius:12px; box-shadow:0 10px 40px rgba(0, 0, 0, 0.2); padding:1.25rem; display:flex; align-items:flex-start; gap:1rem; border-left:4px solid;}.alert-popup.success .alert-popup-content{border-left-color:#28a745;}.alert-popup.error .alert-popup-content{border-left-color:#dc3545;}.alert-popup-icon{font-size:1.5rem; font-weight:bold; flex-shrink:0; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%;}.alert-popup.success .alert-popup-icon{background:#d4edda; color:#155724;}.alert-popup.error .alert-popup-icon{background:#f8d7da; color:#721c24;}.alert-popup-message{flex:1; font-size:0.95rem; line-height:1.5; color:#333;}.alert-popup-close{background:none; border:none; cursor:pointer; padding:0; flex-shrink:0; opacity:0.6; transition:opacity 0.2s ease;}.alert-popup-close:hover{opacity:1;}.alert-popup-close .icon-small{width:20px; height:20px;}@media (max-width:768px){.alert-popup{top:10px; right:10px; left:10px; min-width:auto; max-width:none;}.alert-popup.show{transform:translateY(0);}.alert-popup-content{padding:1rem;}}.confirmation-timer{margin-top:1rem; padding:0.75rem; background:#f8f9fa; border-radius:8px; text-align:center; font-size:0.95rem; color:#495057;}#timer-countdown{font-weight:600; color:#007bff; font-size:1.1rem;}