*{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:16px;}.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;}.employee-filter-picker{margin-top:8px; position:relative;}.employee-filter-picker[hidden]{display:none !important;}.employee-filter-picker .employee-filter-row{display:flex; align-items:stretch; gap:0; min-height:3rem; border:1px solid var(--rdv-ui-border-strong, #d7dee7); border-radius:12px; background:var(--rdv-ui-surface-elevated, #fff); box-shadow:var(--rdv-ui-shadow-xs, 0 1px 2px rgba(17, 24, 39, 0.07)); overflow:hidden;}.employee-filter-picker .employee-filter-label{position:static; display:flex; align-items:center; align-self:stretch; color:var(--rdv-ui-text, #334155); font-size:0.9375rem; font-weight:600; letter-spacing:0.01em; margin:0; white-space:nowrap; padding:0.65rem 0.85rem; border-right:1px solid var(--rdv-ui-border, #d7dee7); background:var(--rdv-ui-surface-soft, #f3f5f8); border-radius:0; z-index:auto;}.employee-filter-picker .employee-filter-select-wrap{position:relative; flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:0.65rem; padding:0.4rem 2.25rem 0.4rem 0.65rem;}.employee-filter-picker .employee-filter-photo-preview{flex-shrink:0; width:2.5rem; height:2.5rem; display:inline-flex; align-items:center; justify-content:center;}.employee-filter-picker .employee-filter-photo-preview[hidden]{display:none !important;}.employee-filter-picker .employee-filter-media-img{width:2.5rem; height:2.5rem; border-radius:50%; object-fit:cover; border:2px solid var(--rdv-ui-border, #e2e8f0);}.employee-filter-picker .employee-filter-initials{width:2.5rem; height:2.5rem; border-radius:50%; background:color-mix(in srgb, var(--rdv-primary, #4f1764) 12%, #e2e8f0); color:var(--rdv-primary, #4f1764); display:inline-flex; align-items:center; justify-content:center; font-size:0.8125rem; font-weight:700;}.employee-filter-picker .employee-filter-native{flex:1 1 auto; min-width:0; width:100%; margin:0 !important; padding:0.35rem 0; border:0 !important; box-shadow:none !important; border-radius:0; background:transparent !important; color:var(--rdv-ui-text, #111827); font-size:1.0625rem; font-weight:600; line-height:1.35; letter-spacing:0.01em; cursor:pointer; outline:none !important; -webkit-appearance:none; -moz-appearance:none; appearance:none;}.employee-filter-picker .employee-filter-native:not([hidden]){display:block;}.employee-filter-picker .employee-filter-native option{font-size:1rem; font-weight:500; padding:0.35rem 0.5rem;}.employee-filter-picker .employee-filter-native:focus, .employee-filter-picker .employee-filter-native:focus-visible{outline:none !important; box-shadow:none !important;}.employee-filter-picker .employee-filter-select-wrap:focus-within{background:color-mix(in srgb, var(--rdv-primary, #4f1764) 4%, transparent);}.employee-filter-picker .employee-filter-chevron{position:absolute; right:0.85rem; top:50%; width:0.55rem; height:0.55rem; margin-top:-0.35rem; border-right:2px solid var(--rdv-ui-text-muted, #64748b); border-bottom:2px solid var(--rdv-ui-text-muted, #64748b); transform:rotate(45deg); pointer-events:none;}#list_employees{margin-top:8px; position:relative;}.week-header-row{flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:0.75rem; margin-bottom:0.5rem;}.week-header-row #list_employees, .week-header-row .employee-filter-picker{flex:1 1 min(100%, 320px); max-width:100%;}.week-header-row .week-navigation{flex:0 0 auto;}#step2{position:relative;}.rdv-slots-loading{display:flex; align-items:center; justify-content:center; min-height:10rem; margin:0.5rem 0 1rem; border-radius:12px; background:color-mix(in srgb, var(--rdv-ui-surface-elevated, #f8f9fa) 88%, transparent); border:1px dashed var(--rdv-ui-border, #dee2e6);}.rdv-slots-loading[hidden]{display:none !important;}.rdv-slots-loading-inner{display:flex; flex-direction:column; align-items:center; gap:0.75rem; padding:1.25rem; text-align:center;}.rdv-slots-loading-spinner{width:2.25rem; height:2.25rem; border:3px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 18%, #e2e8f0); border-top-color:var(--rdv-primary, #4f1764); border-radius:50%; animation:rdv-slots-spin 0.75s linear infinite;}.rdv-slots-loading-text{margin:0; font-size:0.9375rem; font-weight:500; color:var(--rdv-ui-text-muted, #64748b);}@keyframes rdv-slots-spin{to{transform:rotate(360deg);}}.rdv-slots-picker--loading{opacity:0.35; pointer-events:none; min-height:4rem;}.rdv-step3-validation-summary{margin-bottom:1rem; padding:0.85rem 1rem; border-radius:4px; background:#fff5f5; color:#842029; font-size:0.9rem;}.rdv-step3-validation-summary[hidden]{display:none !important;}.rdv-step3-validation-summary strong{display:block; margin-bottom:0.35rem;}.rdv-step3-validation-list{margin:0; padding-left:1.15rem;}.rdv-step3-validation-list li{margin:0.2rem 0;}.rdv-field--invalid{border-color:#dc3545 !important; box-shadow:0 0 0 2px color-mix(in srgb, #dc3545 22%, transparent) !important;}.rdv-step3-field-feedback{margin:0.35rem 0 0; font-size:0.8125rem; font-weight:500; color:#dc3545;}.all-slots-container{display:flex; justify-content:space-between; min-height:200px; max-height:500px; 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:auto; min-height:50px; width:90%; display:flex; justify-content:center; flex-direction:column; padding:8px 4px;}.time-slot.slot-selectable{cursor:pointer; user-select:none;}.slot-content{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;}.slot-time{font-size:14px; font-weight:600; color:#333;}.slot-price{font-size:12px; font-weight:500; color:#2e7d32; background:linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%); padding:2px 8px; border-radius:12px; white-space:nowrap;}.time-slot.slot-selectable:hover .slot-price{background:linear-gradient(135deg, #c8e6c9 0%, #a5d6a7 100%);}.time-slot.slot-selectable.selected .slot-price{background:linear-gradient(135deg, #4caf50 0%, #66bb6a 100%); color:#fff; font-weight:600;}@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;}.btn-full-width, .btn-half-width{max-width:300px;}.step-actions-unified .rdv-step-bar-primary{max-width:none;}.rdv-container{margin:0.2rem auto; padding:0; background-color:#fff; overflow:hidden;}.rdv-sidebar .btn-sidebar-toggle{display:none;}.recap-info-content span{font-size:1.25rem;}#current-week{font-size:20px;}.rdv-row{min-height:400px;}}.slot-price, .list-slot .slot-price{display:none !important;}.rdv-main-with-sidebar{display:flex; flex-direction:column; gap:1rem; width:100%;}@media (min-width:1024px){.rdv-container{overflow:visible;}.rdv-main-with-sidebar{flex-direction:row; align-items:flex-start; min-height:480px;}.rdv-main-with-sidebar .rdv-left-column{flex:1; min-width:0; display:flex; flex-direction:column; gap:0.75rem;}.rdv-main-with-sidebar .rdv-row{flex:1; min-height:0; display:flex; flex-direction:column;}}.rdv-left-column{display:flex; flex-direction:column; gap:0.75rem;}.rdv-row{display:flex; flex-direction:column; gap:1rem; width:100%;}@media (min-width:1024px){.rdv-row #rdv-form{flex:1; min-width:0; display:flex; flex-direction:column;}.rdv-row .rdv-body{flex:1; min-height:0; display:flex; flex-direction:column;}.rdv-row .rdv-main-content{flex:1; min-height:0;}}.rdv-main-content{min-width:0; overflow-x:clip;}.sidebar-header-open{max-height:60vh;}.rdv-sidebar{width:100%; max-width:380px; flex-shrink:0; background:var(--rdv-secondary, #f8f9fa); border:1px solid rgba(0, 0, 0, 0.08); display:flex; flex-direction:column; max-height:600px; z-index:10; border-radius:var(--rdv-radius, 8px); box-shadow:0 4px 16px rgba(0, 0, 0, 0.08);}@media (min-width:1024px){.rdv-sidebar{position:relative; top:auto; min-height:0; width:100%; max-height:none; flex:1 1 auto; overflow:hidden; display:flex; flex-direction:column;}.rdv-sidebar-column .rdv-sidebar{width:100%; max-width:none; align-self:stretch;}.rdv-sidebar .sidebar-content{flex:1; min-height:0; overflow-y:auto;}.selected-prestations-list{min-height:200px;}}.sidebar-header{padding:0.62rem 0.9rem; border-bottom:1px solid #dee2e6; gap:10px; display:flex; align-items:center;}.sidebar-header h3{margin:0; font-size:1.3rem; color:#333; font-weight:500;}.sidebar-header .sidebar-title{flex:1; display:flex;}.sidebar-header .sidebar-title span:first-child{flex:1;}.sidebar-toggle-arrow{display:none; width:1rem; height:1rem; color:#4b5563; transition:transform 0.22s ease; flex:0 0 auto;}.sidebar-toggle-arrow svg{width:100%; height:100%; display:block;}@media (max-width:1023px){.sidebar-header .sidebar-title{flex-wrap:wrap; align-items:flex-start; column-gap:8px; row-gap:4px;}}.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:0; 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; flex-direction:column; align-items:flex-start; gap:0.35rem; white-space:normal; max-width:100%;}.prestation-item-meta{display:flex; flex-wrap:wrap; align-items:baseline; 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:1rem; color:#666;}.total-value{font-weight:600; color:#333; font-size:1rem;}.options-text{font-style:italic;}.options-text--multiline{display:block; font-size:0.85rem; line-height:1.45; white-space:normal; word-break:break-word; max-width:100%; width:fit-content;}.sidebar-totals, .sidebar-header{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.25s ease; border-radius:14px; overflow:hidden; position:relative;}.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{border-bottom:1px solid rgb(0 0 0 / 20%); margin-bottom:2px; 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:not(.rdv-ui-surface){background:linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border:2px solid rgba(0, 123, 255, 0.2); transition:all 0.3s ease; padding:12px; border-radius:8px; margin-bottom:8px;}.list-slot:not(.rdv-ui-surface):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:not(.rdv-ui-surface).selected{background:color-mix(in srgb, #f8f9fa 70%, #ffffff);}.list-slot .slot-content{display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:12px;}.list-slot .slot-time{font-size:16px; font-weight:600; color:#333;}.list-slot .slot-price{font-size:14px; font-weight:600; color:#2e7d32; background:linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%); padding:4px 12px; border-radius:16px; white-space:nowrap;}.list-slot:hover .slot-price{background:linear-gradient(135deg, #c8e6c9 0%, #a5d6a7 100%);}.list-slot.selected .slot-price{background:linear-gradient(135deg, #4caf50 0%, #66bb6a 100%); color:#fff;}.booking-card__title{color:#111827; font-size:1.05rem; font-weight:600; margin-bottom:0.35rem;}.booking-card__description{color:#6b7280; font-size:0.9rem; line-height:1.5; margin-bottom:0.65rem;}.booking-card__info{display:flex; gap:0.5rem; flex-wrap:wrap; align-items:center;}.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: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--has-image .booking-card__body{padding:0 !important; overflow:hidden;}.booking-card--has-image .booking-card__image{margin:0; border-radius:0;}.booking-card__body-content{padding:0.75rem 1rem;}.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; 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.16); 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, 0.3); 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.2);}.carousel-zoom-btn:hover{background:rgba(255, 255, 255, 0.34); 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(15, 23, 42, 0.28); border:0; border-radius:8px; 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); color:#fff;}.image-fullscreen-close:hover{background:rgba(15, 23, 42, 0.45); 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(15, 23, 42, 0.22); 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); color:#fff;}.image-fullscreen-nav:hover{background:rgba(15, 23, 42, 0.4); 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__body.rdv-ui-surface.is-clicked, .booking-card__body_ligne.rdv-ui-surface.is-clicked{border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 40%, var(--rdv-ui-border-strong)); background:color-mix(in srgb, var(--rdv-primary, #4f1764) 8%, var(--rdv-ui-surface-elevated)); box-shadow:var(--rdv-ui-shadow-md); transform:translateY(-1px);}#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:1023px){.rdv-sidebar{width:100%; max-width:none; position:fixed; bottom:60px; left:0; right:0; transition:transform 0.3s ease; height:auto; max-height:60px; overflow:hidden; z-index:20; box-shadow:0 -8px 24px rgba(17, 24, 39, 0.22);}.sidebar-header-open{max-height:60vh;}.step-actions-wrapper{padding:0; background:transparent; box-shadow:none; border:none; margin-top:0;}.step-actions-wrapper .step-actions-unified{max-width:none; padding:0 1rem;}.step-actions-unified{position:fixed; bottom:0; left:0; right:0; background:white; min-height:60px; height:auto; padding-top:0.35rem; padding-bottom:calc(0.35rem + env(safe-area-inset-bottom, 0px)); border-top:1px solid #dee2e6; box-shadow:0 -2px 10px rgba(0, 0, 0, 0.1); z-index:25; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:0.5rem; box-sizing:border-box; overflow-x:visible;}.step-actions-unified .rdv-step-bar-prev{flex:0 0 auto; order:0;}.step-actions-unified .rdv-step-bar-primary{flex:1 1 0; min-width:0; max-width:none;}.step-actions-unified .btn-next, .step-actions-unified .btn-payment{padding:0.65rem 0.85rem; font-size:1rem; gap:0.4rem; text-transform:uppercase; letter-spacing:0.03em;}.step-actions-unified #next-step{font-size:1.02rem;}.step-actions-unified #next-step, .step-actions-unified #confirm-reservation, .step-actions-unified #btn-payment-required{min-height:3rem; height:3rem;}.step-actions-unified #prev-step.rdv-step-bar-prev{width:3rem; min-width:3rem; height:3rem; min-height:3rem;}.btn-sidebar-toggle{display:flex;}.sidebar-toggle-arrow{display:inline-flex; align-items:center; justify-content:center;}.rdv-sidebar.sidebar-header-open .sidebar-toggle-arrow{transform:rotate(180deg);}body.body-rdv:has(.rdv-sidebar){padding-bottom:calc(6.5rem + env(safe-area-inset-bottom, 0px));}}@media (max-width:768px){.rdv-row{flex-direction:column;}.rdv-container:has(#step3.active) .rdv-sidebar{position:relative; max-height:none; overflow:visible; bottom:0; left:auto; right:auto;}body.body-rdv:has(#step3.active){padding-bottom:calc(2.75rem + env(safe-area-inset-bottom, 0px));}.booking-card__actions{margin-top:0.5rem;}.btn-add-prestation{font-size:0.8rem;}}.rdv-client-notes-section{margin-top:1rem;}.rdv-client-notes-section h5{margin-bottom:0.35rem;}.rdv-client-notes-help{margin-bottom:0.75rem !important;}.rdv-client-notes-textarea{resize:vertical; min-height:5rem; border-radius:var(--rdv-radius, 8px); border:1px solid rgba(0, 0, 0, 0.12);}.rdv-client-notes-counter{opacity:0.85;}.rdv-slots-period-notice{margin:0 0 12px 0; padding:10px 14px; font-size:0.95em; text-align:center; background:rgba(59, 130, 246, 0.08); border-radius:8px; border:1px solid rgba(59, 130, 246, 0.18); color:#1e3a5f;}.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);}.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-wrapper{width:100%; margin-top:0;}.step-actions-wrapper .step-actions-unified{max-width:var(--rdv-container-max-width, 1000px); margin-left:auto; margin-right:auto; padding-left:1rem; padding-right:1rem; box-sizing:border-box;}@media (min-width:1024px){.rdv-sidebar-column .step-actions-wrapper{max-width:none; flex-shrink:0;}.rdv-sidebar-column .step-actions-wrapper .step-actions-unified{max-width:none; width:100%; margin-left:0; margin-right:0; padding-left:0; padding-right:0;}}.step-actions-unified{display:flex; gap:1rem; width:100%; align-items:center; --step-actions-height:3rem;}.step-actions-unified .rdv-step-bar-prev{flex:0 0 auto; min-width:2.75rem; padding-left:0.75rem; padding-right:0.75rem; justify-content:center;}.step-actions-unified .btn-prev, .step-actions-unified .btn-next, .step-actions-unified .btn-payment{box-shadow:0 1px 4px rgba(0, 0, 0, 0.1);}.step-actions-unified #prev-step.rdv-step-bar-prev{width:var(--step-actions-height); min-width:var(--step-actions-height); height:var(--step-actions-height); min-height:var(--step-actions-height); padding:0; border-radius:8px;}.step-actions-unified #next-step, .step-actions-unified #confirm-reservation, .step-actions-unified #btn-payment-required{height:var(--step-actions-height); min-height:var(--step-actions-height);}.step-actions-unified #prev-step.rdv-step-bar-prev .icon-small{width:1rem; height:1rem; display:inline-flex; align-items:center; justify-content:center;}.step-actions-unified #prev-step.rdv-step-bar-prev .icon-small svg{width:100%; height:100%;}.step-actions-unified #prev-step.rdv-step-prev-inactive{visibility:hidden; pointer-events:none; box-shadow:none;}.step-actions-unified #next-step.rdv-next-step-waiting{opacity:0.62; cursor:not-allowed;}.step-actions-unified #next-step, .step-actions-unified #confirm-reservation, .step-actions-unified #btn-payment-required, .step-actions-unified #prev-step{user-select:none; -webkit-user-select:none;}.rdv-continuer-block-hint{position:fixed; z-index:1080; max-width:min(280px, calc(100vw - 24px)); padding:0.5rem 0.75rem; font-size:0.875rem; line-height:1.35; color:#fff; background:rgba(17, 24, 39, 0.92); border-radius:8px; box-shadow:0 4px 14px rgba(0, 0, 0, 0.2); pointer-events:none;}.rdv-continuer-block-hint::after{content:''; position:absolute; bottom:-6px; left:50%; transform:translateX(-50%); border-width:6px 6px 0 6px; border-style:solid; border-color:rgba(17, 24, 39, 0.92) transparent transparent transparent;}.rdv-continuer-block-hint--below::after{bottom:auto; top:-6px; border-width:0 6px 6px 6px; border-color:transparent transparent rgba(17, 24, 39, 0.92) transparent;}@media (min-width:1024px){.step-actions-unified .rdv-step-bar-primary{flex:2 1 0; min-width:min(100%, 66.666%); width:auto;}}.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-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{padding:0; background-color:#fff;}.rdv-title{text-align:center; color:#333; margin-bottom:20px;}.rdv-progress{display:flex; justify-content:flex-start; align-items:stretch; margin-bottom:0; gap:1rem; flex-wrap:wrap;}@media (max-width:767px){.rdv-progress{flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:thin; padding-bottom:2px; gap:0.85rem;}.rdv-progress::-webkit-scrollbar{height:4px;}.rdv-progress-step{flex-shrink:0; padding:9px 12px;}.rdv-progress-step .step-num{width:1.75rem; height:1.75rem; font-size:0.88rem;}.rdv-progress-step.active .step-label{font-size:1.02rem; padding-left:0.4rem;}}.rdv-progress-step{display:flex; align-items:center; text-align:left; padding:10px 14px; background-color:var(--rdv-secondary, #f8f9fa); border:2px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 11%, rgba(0, 0, 0, 0.06)); border-radius:var(--rdv-radius, 8px); margin:0; opacity:0.82; font-weight:500; font-size:0.9rem; min-width:44px; transition:flex 0.3s ease, min-width 0.3s ease, opacity 0.25s ease, max-width 0.3s ease, padding 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;}.rdv-progress-step .step-num{display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; flex-shrink:0; border-radius:50%; font-size:0.95rem; font-weight:700; line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-0.02em; background:var(--rdv-bg-prestation, #fff); color:var(--rdv-primary, #4f1764); border:2px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 42%, var(--rdv-secondary, #f8f9fa)); box-shadow:0 1px 3px rgba(0, 0, 0, 0.06);}.rdv-progress-step .step-label{white-space:nowrap; overflow:hidden; transition:opacity 0.25s ease, max-width 0.3s ease, margin 0.25s ease;}.rdv-progress-step:not(.active){flex:0 0 auto; min-width:50px;}.rdv-progress-step:not(.active) .step-label{max-width:0; opacity:0; padding:0; margin:0; overflow:hidden;}.rdv-progress-step.active{flex:1; min-width:100px;}.rdv-progress-step.active .step-label{opacity:1; padding-left:0.5rem; font-size:1.1rem;}.rdv-progress-step:hover{opacity:0.95;}.rdv-progress-step.active{opacity:1; background:var(--rdv-bg-color-step-active, var(--rdv-primary, #4f1764)); color:var(--rdv-color-step-active, #fff); border-color:var( --rdv-border-color-step-active, color-mix(in srgb, var(--rdv-bg-color-step-active, var(--rdv-primary, #4f1764)) 72%, #ffffff) ); box-shadow:0 2px 10px color-mix(in srgb, var(--rdv-bg-color-step-active, var(--rdv-primary, #4f1764)) 28%, transparent);}.rdv-progress-step.active .step-num{background:color-mix(in srgb, var(--rdv-color-step-active, #fff) 16%, transparent); border-color:color-mix(in srgb, var(--rdv-color-step-active, #fff) 42%, transparent); color:inherit; box-shadow:none;}.rdv-social-login-section{padding:1rem 0; border-bottom:1px solid var(--rdv-border-color, rgba(0, 0, 0, 0.08));}.rdv-social-login-text{font-size:0.9rem; color:var(--rdv-text-color, #333); margin-bottom:0.75rem; opacity:0.9; padding :0 1rem;}.rdv-social-login-buttons{display:flex; flex-wrap:wrap; justify-content:center; gap:0.5rem; margin-bottom:0.5rem;}.rdv-btn-social{display:inline-flex; align-items:center; gap:0.4rem; padding:0.5rem 0.9rem; border-radius:var(--rdv-border-radius, 8px); font-size:0.9rem; font-weight:500; text-decoration:none; border:1px solid rgba(0, 0, 0, 0.12); background:#fff; color:#333; transition:transform 0.15s ease, box-shadow 0.15s ease;}.rdv-btn-social:hover{transform:translateY(-1px); box-shadow:0 2px 8px rgba(0, 0, 0, 0.12);}.rdv-btn-social-icon{font-weight:700; font-size:1rem;}.rdv-btn-google{border-color:#dadce0; color:#3c4043;}.rdv-btn-google:hover{background:#f8f9fa;}.rdv-btn-apple{border-color:#000; color:#000; background:#fff;}.rdv-btn-apple:hover{background:#f5f5f5;}.rdv-btn-amazon{border-color:#ff9900; color:#232f3e;}.rdv-btn-amazon:hover{background:#fff7ed;}.rdv-social-login-hint{font-size:0.75rem; color:var(--rdv-text-color, #333); opacity:0.7; margin:0; padding :0 1rem;}.rdv-btn-login-main{background:var(--rdv-primary, #4f1764) !important; color:#fff !important; border-color:var(--rdv-primary, #4f1764) !important;}.rdv-btn-login-main:hover{filter:brightness(1.08); background:var(--rdv-primary, #4f1764) !important; color:#fff !important;}.rdv-social-login-sep{display:inline-flex; align-items:center; font-size:0.85rem; color:var(--rdv-text-color, #333); opacity:0.8;}.rdv-btn-social-future{opacity:0.6; cursor:not-allowed;}.rdv-btn-social-future:hover{transform:none;}.rdv-login-modal-overlay{display:none; align-items:center; justify-content:center; padding:1rem; z-index:1050; background:rgba(0, 0, 0, 0.5);}.rdv-login-modal-overlay.show{display:flex;}.rdv-login-modal-content{max-width:420px; width:100%; max-height:90vh; overflow:auto;}.rdv-login-modal-content .modal-title{margin:0; font-size:1.25rem;}.rdv-login-modal-close{background:none; border:none; font-size:1.5rem; line-height:1; cursor:pointer; opacity:0.7; padding:0.25rem;}.rdv-login-modal-close:hover{opacity:1;}.rdv-login-form .modal-body{padding-top:0.5rem;}.rdv-login-errors{padding:0.5rem 0.75rem; margin-bottom:1rem; background:#f8d7da; border:1px solid #f5c6cb; border-radius:var(--rdv-border-radius, 8px); color:#721c24; font-size:0.9rem;}.rdv-login-errors p{margin:0 0 0.25rem 0;}.rdv-login-errors p:last-child{margin-bottom:0;}.rdv-login-modal-hint{font-size:0.8rem; color:var(--rdv-text-color, #333); opacity:0.85; margin:0 0 0.5rem 0;}.rdv-login-honeypot{position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none;}.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; opacity:0; transform:translateY(14px); will-change:opacity, transform;}.rdv-step.active{display:block; opacity:1; transform:translateY(0);}.rdv-step.active.rdv-step-leave{display:block; pointer-events:none; animation:rdv-step-leave 0.28s cubic-bezier(0.4, 0, 0.2, 1) forwards;}.rdv-step.active.rdv-step-enter{animation:rdv-step-enter 0.52s cubic-bezier(0.22, 1, 0.36, 1) forwards;}@keyframes rdv-step-leave{from{opacity:1; transform:translateY(0) scale(1);}to{opacity:0; transform:translateY(-12px) scale(0.992);}}@keyframes rdv-step-enter{from{opacity:0; transform:translateY(18px) scale(0.988);}to{opacity:1; transform:translateY(0) scale(1);}}@media (prefers-reduced-motion:reduce){.rdv-step.active.rdv-step-leave, .rdv-step.active.rdv-step-enter{animation-duration:0.01ms !important; animation-iteration-count:1 !important;}}.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{padding:0 0 0.35rem; margin :0 1rem 1rem; text-align:center; font-size:clamp(1.55rem, 2.8vw, 2rem); font-weight:600; color:#333; letter-spacing:-0.015em; border-bottom:1px solid rgba(17, 24, 39, 0.16); 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;}.rdv-step-title{margin:0 0 1rem; font-size:clamp(1.3rem, 1.8vw, 1.7rem); line-height:1.2; font-weight:700; color:#1f2937;}.user-info-form{display:flex; flex-direction:column; gap:0.1rem;}.user-info-form-row{width:100%;}.user-info-hint{margin:0 1rem 0.75rem; color:#4b5563; font-size:0.92rem;}@media (max-width:768px){.rdv-step-title{margin:0.35rem 0.75rem 0.85rem; font-size:1.2rem;}.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;}h5{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; border-radius:0 0 4px 4px;}.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; overflow:visible; max-height:none;}.rdv-prestations-search{margin:0 0 0.9rem 0;}.rdv-card-image-trigger{display:block; width:100%; height:100%; border:0; padding:0; background:transparent; cursor:zoom-in;}.rdv-card-image-trigger img{pointer-events:none;}.booking-card__prestation-link{display:inline-flex; align-items:center; font-size:0.82rem; padding:0.2rem 0.55rem; border-radius:999px; text-decoration:none; border:1px solid rgba(0, 0, 0, 0.18); background:#fff; color:#333;}.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; font-weight:500;}.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:500px; 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(70px, 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;}.rdv-announcement-modal-overlay.modal-overlay{z-index:10050;}.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-modal.rdv-modal--no-dismiss{cursor:default;}#confirmation-modal.rdv-modal--no-dismiss .modal-header{padding-right:1.25rem;}#confirmation-modal.rdv-modal--dismissible{cursor:pointer;}#confirmation-modal.rdv-modal--dismissible .modal-content{cursor:default;}.confirmation-error-actions{padding:0 1.25rem 1.25rem; border-top:1px solid #e9ecef; margin-top:0;}.confirmation-error-actions .btn-block{width:100%;}#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;}#confirmation-redirect-actions{text-align:center;}#confirmation-redirect-now.confirmation-redirect-now-btn{font-size:0.78rem; padding:0.22rem 0.6rem; line-height:1.2; border-radius:999px; min-height:auto;}.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:120px; 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;}@media (max-width:768px){.rdv-sidebar, .payment-notice, .rdv-sidebar .sidebar-header{border-radius:0 !important;}}.rdv-container{--rdv-v2-surface:#ffffff; --rdv-v2-surface-muted:#f8fafc; --rdv-v2-text:#111827; --rdv-v2-text-muted:#6b7280; --rdv-v2-border-color:rgba(17, 24, 39, 0.1); --rdv-v2-focus-color:rgba(79, 23, 100, 0.45); --rdv-v2-focus-ring:rgba(79, 23, 100, 0.14); --rdv-v2-space-1:0.25rem; --rdv-v2-space-2:0.5rem; --rdv-v2-space-3:0.75rem; --rdv-v2-space-4:1rem; --rdv-v2-space-5:1.5rem; --rdv-v2-radius-sm:6px; --rdv-v2-radius-md:8px; --rdv-v2-radius-lg:12px; --rdv-v2-shadow-xs:0 1px 3px rgba(17, 24, 39, 0.06); --rdv-v2-shadow-sm:0 1px 6px rgba(17, 24, 39, 0.08); --rdv-v2-shadow-md:0 6px 18px rgba(17, 24, 39, 0.12);}.rdv-progress-step{border-radius:var(--rdv-v2-radius-md); box-shadow:none;}.rdv-progress-step:not(.active){opacity:0.9; min-width:50px;}.rdv-progress-step:not(.active) .step-label{max-width:0; opacity:0; margin:0; padding:0; overflow:hidden;}@media (max-width:767px){.rdv-progress-step:not(.active){min-width:50px;}.rdv-progress-step:not(.active) .step-label{max-width:0; font-size:0;}.rdv-progress-step.active .step-label{font-size:0.98rem;}}.booking-card__body, .booking-card__body_ligne{border-radius:var(--rdv-v2-radius-md); border:1px solid var(--rdv-v2-border-color); box-shadow:var(--rdv-v2-shadow-sm); background:var(--rdv-v2-surface); padding:var(--rdv-v2-space-3) var(--rdv-v2-space-4);}.booking-card--has-image .booking-card__body{padding:0 !important;}.booking-card__body_ligne:hover, .booking-card__content.btn-add-prestation:hover{transform:none; box-shadow:var(--rdv-v2-shadow-md);}.booking-card__title{color:var(--rdv-v2-text); line-height:1.3;}.booking-card__description{color:var(--rdv-v2-text-muted); display:-webkit-box; line-clamp:2; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}.booking-card__badge{border-radius:999px; border:1px solid var(--rdv-v2-border-color); box-shadow:none;}.booking-card__add-btn, .step-actions-unified .btn-next, .step-actions-unified .btn-payment, .step-actions-unified .btn-prev{border-radius:var(--rdv-v2-radius-md); box-shadow:var(--rdv-v2-shadow-xs);}.booking-card__add-btn{min-height:36px; font-size:0.84rem; padding:0.35rem 0.75rem;}.step-actions-unified .btn-next, .step-actions-unified .btn-payment{font-weight:600; display:inline-flex; align-items:center; justify-content:center; gap:0.45rem;}.rdv-sidebar, .rdv-recap, .recap-section, .selected-prestation-item{background:var(--rdv-v2-surface);}.rdv-sidebar{border-radius:var(--rdv-v2-radius-md); border:1px solid var(--rdv-v2-border-color); box-shadow:var(--rdv-v2-shadow-sm);}.sidebar-header{border-bottom:1px solid var(--rdv-v2-border-color); padding:0.62rem 0.9rem;}.selected-prestation-item{border-radius:0; background:#f6f7f9; border:0; border-top:1px solid var(--rdv-v2-border-color); border-bottom:1px solid var(--rdv-v2-border-color); box-shadow:0 1px 4px rgba(17, 24, 39, 0.06); padding:var(--rdv-v2-space-3);}.selected-prestation-item:hover{transform:none; box-shadow:0 2px 8px rgba(17, 24, 39, 0.1);}.user-info-form .form-control:focus, .discount-code-input input:focus{border-color:var(--rdv-v2-focus-color); box-shadow:0 0 0 3px var(--rdv-v2-focus-ring);}#rdv-network-indicator{opacity:0.88; padding:6px 10px; font-size:0.78rem;}#rdv-network-indicator:hover{opacity:1;}@media (max-width:1023px){.rdv-sidebar{box-shadow:0 -2px 10px rgba(17, 24, 39, 0.1); border-top:1px solid var(--rdv-v2-border-color);}.step-actions-unified{box-shadow:0 -2px 10px rgba(17, 24, 39, 0.1);}}.rdv-progress{gap:0.6rem; align-items:center;}.rdv-progress-step{background:#fff; border:1px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 20%, rgba(0, 0, 0, 0.1)); box-shadow:none; opacity:0.78; padding:0.45rem 0.65rem; text-align:left; justify-content:flex-start;}.rdv-progress-step .step-num{width:auto; height:auto; min-width:1.1rem; border:0; border-radius:0; box-shadow:none; background:transparent; font-size:1.08rem; font-weight:700; letter-spacing:0; display:inline-flex; align-items:center; justify-content:center;}.rdv-progress-step .step-label{font-size:1.16rem; font-weight:500;}.rdv-progress-step:not(.active) .step-label{max-width:0; opacity:0; margin:0; padding:0; overflow:hidden;}.rdv-progress-step.active{opacity:1; background:color-mix(in srgb, var(--rdv-primary, #4f1764) 8%, #ffffff); color:var(--rdv-text, #222); border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 22%, rgba(0, 0, 0, 0.08)); box-shadow:none;}.rdv-progress-step.active .step-num{min-width:1.1rem; width:auto; height:auto; border:0; background:transparent; color:inherit; font-size:1.08rem; font-weight:700;}.rdv-progress-step.active .step-num::after{content:"."; margin-left:0.02rem;}.rdv-progress-step:not(.active){text-align:center; justify-content:center;}@media (min-width:768px){.rdv-progress{flex-wrap:nowrap;}.rdv-progress-step{flex:1 1 0; min-width:0; justify-content:flex-start; text-align:left; opacity:0.72;}.rdv-progress-step.active .step-label{font-size:1.2rem; padding-left:0.42rem;}}.rdv-container{--rdv-ui-surface:#f4f6f996; --rdv-ui-surface-soft:#e4eaf166; --rdv-ui-surface-muted:#dce3ec42; --rdv-ui-surface-elevated:#f4f7fb; --rdv-ui-border:rgba(17, 24, 39, 0.12); --rdv-ui-border-strong:rgba(17, 24, 39, 0.2); --rdv-ui-text:#111827; --rdv-ui-text-muted:#64748b; --rdv-ui-shadow-xs:0 1px 2px rgba(17, 24, 39, 0.07); --rdv-ui-shadow-sm:0 2px 6px rgba(17, 24, 39, 0.1), 0 1px 2px rgba(17, 24, 39, 0.06); --rdv-ui-shadow-md:0 6px 16px rgba(17, 24, 39, 0.12), 0 2px 4px rgba(17, 24, 39, 0.06); --rdv-ui-shadow-lg:0 10px 28px rgba(17, 24, 39, 0.14), 0 4px 8px rgba(17, 24, 39, 0.08); --rdv-ui-surface-selected:color-mix(in srgb, var(--rdv-ui-surface) 55%, #acacac);}.rdv-ui-surface{background:var(--rdv-ui-surface); border:1px solid var(--rdv-ui-border); box-shadow:var(--rdv-ui-shadow-sm); transition:transform 0.18s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;}.rdv-ui-surface--interactive{cursor:pointer; user-select:none;}.rdv-ui-surface--interactive:hover{background:var(--rdv-ui-surface-elevated); border-color:var(--rdv-ui-border-strong); transform:translateY(-2px); box-shadow:var(--rdv-ui-shadow-md);}.rdv-ui-surface--interactive:active{transform:translateY(0); box-shadow:var(--rdv-ui-shadow-xs);}.rdv-ui-surface--interactive.is-clicked, .rdv-ui-surface--interactive:focus-visible.is-clicked{border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 40%, var(--rdv-ui-border-strong)); background:color-mix(in srgb, var(--rdv-primary, #4f1764) 8%, var(--rdv-ui-surface-elevated)); box-shadow:var(--rdv-ui-shadow-md);}.time-slot.slot-selectable.rdv-ui-surface.selected, .list-slot.rdv-ui-surface.selected{background:var(--rdv-ui-surface-selected) !important; box-shadow:var(--rdv-ui-shadow-sm); transform:none;}.time-slot.slot-selectable.rdv-ui-surface:hover, .list-slot.rdv-ui-surface:hover{border-color:var(--rdv-ui-border);}.rdv-ui-surface--interactive:focus-visible{outline:2px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 35%, #ffffff); outline-offset:2px;}.rdv-progress-step{border-radius:10px; box-shadow:var(--rdv-ui-shadow-xs); transition:opacity 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease; cursor:pointer;}.rdv-progress-step:not(.active){border-color:var(--rdv-ui-border); background:var(--rdv-ui-surface-soft);}.rdv-progress-step.active{border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 30%, var(--rdv-ui-border)); background:color-mix(in srgb, var(--rdv-primary, #4f1764) 10%, #ffffff); box-shadow:var(--rdv-ui-shadow-sm);}.rdv-progress-step .step-num{font-weight:800;}.rdv-progress-step:focus-visible{outline:2px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 35%, #ffffff); outline-offset:2px;}.booking-card__body.rdv-ui-surface, .booking-card__body_ligne.rdv-ui-surface{border-radius:10px;}.booking-card__content{border-radius:10px;}.booking-card__content.btn-add-prestation:hover .booking-card__body.rdv-ui-surface, .booking-card__content.btn-add-prestation:hover .booking-card__body_ligne.rdv-ui-surface, .booking-card__content.booking-card__details:hover .booking-card__body.rdv-ui-surface, .booking-card__content.booking-card__details:hover .booking-card__body_ligne.rdv-ui-surface{border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 28%, var(--rdv-ui-border-strong));}.time-slot.slot-selectable.rdv-ui-surface{background:var(--rdv-ui-surface); border-color:var(--rdv-ui-border); border-radius:8px;}.list-slot.rdv-ui-surface{background:var(--rdv-ui-surface); border:1px solid var(--rdv-ui-border); border-radius:10px; padding:12px; margin-bottom:8px;}.booking-card__title{letter-spacing:-0.01em;}.booking-card__description{color:var(--rdv-ui-text-muted);}.booking-card__badge{border-color:var(--rdv-ui-border); min-height:1.75rem;}.rdv-sidebar{border-color:var(--rdv-ui-border); box-shadow:var(--rdv-ui-shadow-sm);}.sidebar-header{position:sticky; top:0; z-index:3; background:var(--rdv-ui-surface); backdrop-filter:blur(4px);}.sidebar-content{background:var(--rdv-ui-surface-soft);}.selected-prestation-item{background:var(--rdv-ui-surface-muted); border-top-color:var(--rdv-ui-border-strong); border-bottom-color:var(--rdv-ui-border-strong); box-shadow:var(--rdv-ui-shadow-xs);}.selected-prestation-item:hover{box-shadow:var(--rdv-ui-shadow-sm);}.sidebar-totals{background:var(--rdv-ui-surface); border-top:1px solid var(--rdv-ui-border);}.sidebar-totals .total-item{padding:0.6rem 0.75rem;}.sidebar-totals .total-value{font-weight:700; color:var(--rdv-ui-text);}#prestation-options-modal .rdv-options-modal__dialog{max-width:min(720px, 96vw); display:flex; flex-direction:column; max-height:min(90vh, 820px); overflow:hidden; border-radius:12px; box-shadow:var(--rdv-ui-shadow-lg);}#prestation-options-modal .rdv-options-modal__header{flex-shrink:0; padding:1rem 1.25rem; border-bottom:1px solid var(--rdv-ui-border); background:#fff;}#prestation-options-modal .rdv-options-modal__title{font-size:1.125rem; font-weight:700; color:var(--rdv-ui-text); letter-spacing:-0.02em;}#prestation-options-modal .rdv-options-modal__close{border-radius:8px; color:var(--rdv-ui-text-muted);}#prestation-options-modal .rdv-options-modal__close:hover{background:var(--rdv-ui-surface-soft); color:var(--rdv-ui-text);}#prestation-options-modal .rdv-options-modal__body{flex:1 1 auto; min-height:0; padding:1rem 1.25rem; overflow-y:auto; background:var(--rdv-ui-surface-soft);}#prestation-options-modal .rdv-options-modal__content{display:flex; flex-direction:column; gap:1rem;}#prestation-options-modal .rdv-options-modal__footer{flex-shrink:0; display:flex; justify-content:space-between; gap:0.75rem; padding:0.875rem 1.25rem; border-top:1px solid var(--rdv-ui-border); background:#fff;}#prestation-options-modal .rdv-options-modal__intro{margin:0; padding:0.75rem 1rem; border-radius:8px; background:#fff; border:1px solid var(--rdv-ui-border); border-left:3px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 55%, var(--rdv-ui-border)); color:var(--rdv-ui-text-muted); font-size:0.9375rem; line-height:1.5;}#prestation-options-modal .rdv-options-modal__intro p{margin:0;}#prestation-options-modal .rdv-options-modal__loading{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.75rem; padding:2.5rem 1rem; color:var(--rdv-ui-text-muted); font-size:0.9375rem;}#prestation-options-modal .rdv-options-modal__loading-spinner{width:2rem; height:2rem; border:2px solid var(--rdv-ui-border); border-top-color:var(--rdv-primary, #4f1764); border-radius:50%; animation:rdv-options-spin 0.75s linear infinite;}@keyframes rdv-options-spin{to{transform:rotate(360deg);}}#prestation-options-modal .rdv-required-mark{color:#dc2626; font-weight:700;}#prestation-options-modal .menu-items-list{display:flex; flex-direction:column; gap:0.625rem; max-height:none; overflow:visible;}#prestation-options-modal .menu-item-card{border:1px solid var(--rdv-ui-border); border-radius:10px; background:#fff; box-shadow:var(--rdv-ui-shadow-xs); transition:border-color 0.2s ease, box-shadow 0.2s ease;}#prestation-options-modal .menu-item-card:hover{border-color:var(--rdv-ui-border-strong); box-shadow:var(--rdv-ui-shadow-sm);}#prestation-options-modal .menu-item-card-label{padding:0.875rem 0.875rem 0.875rem 2.5rem;}#prestation-options-modal .menu-item-card-label:hover{background:var(--rdv-ui-surface-soft);}#prestation-options-modal .menu-item-header{gap:0.75rem;}#prestation-options-modal .menu-item-title strong{font-size:1rem; font-weight:600; color:var(--rdv-ui-text);}#prestation-options-modal .menu-item-info{flex-shrink:0; gap:0.5rem; margin-left:0; color:var(--rdv-ui-text-muted);}#prestation-options-modal .menu-item-meta-badge{display:inline-flex; align-items:center; padding:0.2rem 0.55rem; border-radius:999px; font-size:0.8125rem; font-weight:600; background:var(--rdv-ui-surface-soft); border:1px solid var(--rdv-ui-border); color:var(--rdv-ui-text); white-space:nowrap;}#prestation-options-modal .menu-item-options{margin-top:0.875rem; padding-top:0.875rem; border-top:1px dashed var(--rdv-ui-border);}#prestation-options-modal .menu-option-group{margin-bottom:0.875rem;}#prestation-options-modal .menu-option-group:last-child{margin-bottom:0;}#prestation-options-modal .menu-option-group > label{display:block; margin-bottom:0.5rem; font-size:0.875rem; font-weight:600; color:var(--rdv-ui-text);}#prestation-options-modal .prestation-option{padding:1rem; margin-bottom:0; border-radius:10px; border:1px solid var(--rdv-ui-border); background:#fff; box-shadow:var(--rdv-ui-shadow-xs);}#prestation-options-modal .prestation-option__title, #prestation-options-modal .prestation-option h4{margin:0 0 0.75rem; font-size:0.9375rem; font-weight:600; color:var(--rdv-ui-text);}#prestation-options-modal .prestation-detail-options{display:flex; flex-direction:column; gap:0.75rem; margin-top:0.25rem;}#prestation-options-modal .option-choices{display:flex; flex-wrap:wrap; gap:0.5rem;}#prestation-options-modal .option-choice{position:relative; display:inline-flex;}#prestation-options-modal .option-choice input[type="radio"]{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); white-space:nowrap; border:0;}#prestation-options-modal .option-choice label{display:inline-flex; align-items:center; margin:0; padding:0.45rem 0.85rem; border-radius:999px; border:1px solid var(--rdv-ui-border); background:#fff; font-size:0.875rem; font-weight:500; color:var(--rdv-ui-text); cursor:pointer; transition:background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;}#prestation-options-modal .option-choice label:hover{border-color:var(--rdv-ui-border-strong); background:var(--rdv-ui-surface-soft);}#prestation-options-modal .option-choice input[type="radio"]:checked + label, #prestation-options-modal .option-choice input[type="radio"]:focus-visible + label{border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 45%, var(--rdv-ui-border)); background:color-mix(in srgb, var(--rdv-primary, #4f1764) 10%, #ffffff); color:var(--rdv-primary, #4f1764); font-weight:600; box-shadow:0 0 0 2px color-mix(in srgb, var(--rdv-primary, #4f1764) 18%, transparent);}#prestation-options-content .prestation-detail-wrapper{display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start;}#prestation-options-content .prestation-detail-images, #prestation-options-content .prestation-detail-content{min-width:0;}@media (max-width:991px){#prestation-options-content .prestation-detail-wrapper{grid-template-columns:1fr;}}.booking-card__add-btn, .btn-next, .btn-prev, .btn-payment, .btn-apply-discount{transition:transform 0.16s ease, box-shadow 0.2s ease, border-color 0.2s ease;}.booking-card__add-btn:focus-visible, .btn-next:focus-visible, .btn-prev:focus-visible, .btn-payment:focus-visible, .btn-apply-discount:focus-visible{outline:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--rdv-primary, #4f1764) 22%, transparent);}.rdv-step-title + .rdv-message{margin:0 0 0.95rem;}.rdv-message{width:100%; box-sizing:border-box; padding:0.65rem 0.8rem; border-radius:0.55rem; border:1px solid rgba(17, 24, 39, 0.08); line-height:1.45; font-size:0.95rem;}.rdv-progress{gap:0.6rem; align-items:center;}.rdv-progress-step{position:relative; flex:0 0 auto; width:2.35rem; height:2.35rem; min-width:2.35rem; min-height:2.35rem; padding:0; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; border:1px solid color-mix(in srgb, var(--rdv-primary, #4f1764) 28%, rgba(17, 24, 39, 0.2)); background:#fff; opacity:0.9;}.rdv-progress-step:not(:last-child)::after{content:""; position:absolute; top:50%; right:-0.62rem; width:0.62rem; height:2px; transform:translateY(-50%); background:color-mix(in srgb, var(--rdv-primary, #4f1764) 25%, rgba(17, 24, 39, 0.18)); pointer-events:none;}.rdv-progress-step .step-num{display:inline-flex; align-items:center; justify-content:center; width:1.4rem; height:1.4rem; font-size:0.95rem; line-height:1; font-weight:700;}.rdv-progress-step .step-num .icon-small{display:inline-flex; align-items:center; justify-content:center; width:1rem; height:1rem;}.rdv-progress-step.completed{border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 45%, rgba(17, 24, 39, 0.15)); background:color-mix(in srgb, var(--rdv-primary, #4f1764) 16%, #ffffff);}.rdv-progress-step.active{opacity:1; border-color:color-mix(in srgb, var(--rdv-primary, #4f1764) 55%, rgba(17, 24, 39, 0.2)); background:color-mix(in srgb, var(--rdv-primary, #4f1764) 11%, #ffffff); box-shadow:0 2px 12px rgba(17, 24, 39, 0.12);}@media (max-width:767px){.rdv-progress-step{width:2.1rem; height:2.1rem; min-width:2.1rem; min-height:2.1rem;}.rdv-progress-step:not(:last-child)::after{display:none;}}.rdv-page-title{margin:0.5rem 0 0.5rem; padding:0; font-size:clamp(0.92rem, 2.2vw, 1.05rem); font-weight:600; line-height:1.3; color:#6b7280; letter-spacing:0.01em;}@media (max-width:767px){.rdv-page-title{margin-bottom:0.35rem;}}.rdv-progress-main-line{width:100%; display:flex; align-items:flex-end; justify-content:flex-start; gap:0; margin:0 0 1.2rem; padding:0 0 0.35rem; border-bottom:1px solid rgba(17, 24, 39, 0.16);}.rdv-progress-main-line .rdv-progress-step{display:none; flex:0 0 100%; width:100%; min-width:100%; min-height:auto; height:auto; border:0 !important; background:transparent !important; box-shadow:none !important; border-radius:0; padding:0; justify-content:flex-start;}.rdv-progress-main-line .rdv-progress-step .step-label{display:none !important; margin-left:0; font-size:clamp(1.55rem, 2.8vw, 2rem); font-weight:600; white-space:nowrap; letter-spacing:-0.015em; color:#333;}.rdv-progress-main-line .rdv-progress-step.active{display:flex;}.rdv-progress-main-line .rdv-progress-step.active .step-label{display:inline-flex !important; opacity:1 !important;}.rdv-progress-main-line .rdv-progress-step .step-num{display:none !important;}.rdv-progress-main-line .rdv-progress-step.completed .step-num, .rdv-progress-main-line .rdv-progress-step.active .step-num{color:var(--rdv-primary, #4f1764);}.rdv-progress-main-line .rdv-progress-step::after, .rdv-progress-main-line .rdv-progress-step:not(:last-child)::after{display:none !important;}@media (max-width:767px){.rdv-progress-main-line .rdv-progress-step{flex:0 0 100%;}.rdv-progress-main-line{margin-top:0.5rem; margin-bottom:1rem; padding-bottom:0.3rem; overflow:visible;}}#editReservationModal.show{overflow:hidden !important; padding:1rem;}#editReservationModal .edit-reservation-modal-dialog{max-height:calc(100dvh - 2rem); margin:auto; display:flex; flex-direction:column;}#editReservationModal .edit-reservation-modal-content, #editReservationModal .edit-reservation-modal-form{display:flex; flex-direction:column; flex:1 1 auto; min-height:0; max-height:calc(100dvh - 2rem); overflow:hidden;}#editReservationModal .edit-reservation-modal__body{flex:1 1 auto; min-height:0; display:flex; flex-direction:column; overflow:hidden; padding:0.75rem 0 0;}#editReservationModal .edit-reservation-modal__alert{flex:0 0 auto; margin:0 1rem 0.5rem;}#editReservationModal .edit-reservation-modal__scroll{flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:0 1rem;}#editReservationModal .rdv-container.account-edit-slots{max-width:100%; padding:0; margin:0;}#editReservationModal .rdv-container.account-edit-slots .week-navigation{margin-bottom:0.75rem;}#editReservationModal .all-slots-container{max-height:none !important; overflow:visible !important; min-height:140px;}#editReservationModal .list-slots{max-height:none !important; overflow:visible !important;}#editReservationModal .edit-reservation-modal__recap{flex:0 0 auto; margin:0; padding:0.75rem 1rem; border-top:1px solid #dee2e6; background:#fff; box-shadow:0 -6px 16px rgba(17, 24, 39, 0.08); z-index:2;}#editReservationModal .edit-reservation-modal__recap .sidebar-datetime{display:flex !important; margin:0; padding:0.75rem 1rem; background:#f8f9fa; border-radius:8px; border:1px solid #dee2e6;}#editReservationModal .edit-reservation-modal__recap .sidebar-datetime.is-empty .total-value{color:#64748b; font-weight:500; font-size:0.9375rem;}#editReservationModal .edit-reservation-modal__recap .sidebar-datetime:not(.is-empty) .total-value{color:#111827; font-weight:600; font-size:1rem;}#editReservationModal .modal-footer{flex:0 0 auto;}