.fs-rdv-wrapper {    max-width: 980px;    margin: 40px auto;    padding: 36px;    box-sizing: border-box;    background:        linear-gradient(            180deg,            #f8fbff 0%,            #ffffff 100%        );    border: 1px solid #e7edf4;    border-radius: 20px;    box-shadow: 0 16px 50px rgba(20, 55, 90, 0.08);    font-family: inherit;    color: #16233b;}/* =========================================================   HEADER========================================================= */.fs-rdv-header {    margin-bottom: 30px;    text-align: center;}.fs-rdv-kicker {    margin-bottom: 8px;    color: #2271b1;    font-size: 12px;    font-weight: 700;    letter-spacing: 2px;}.fs-rdv-header h2,.fs-rdv-success-page h2 {    margin: 0;    color: #10213f;    font-size: 34px;    line-height: 1.2;}.fs-rdv-header p {    margin: 10px 0 0;    color: #66758b;    font-size: 16px;}/* =========================================================   PROGRESSION========================================================= */.fs-rdv-progress {    display: flex;    align-items: flex-start;    justify-content: center;    margin: 0 0 35px;}.fs-rdv-progress-item {    width: 110px;    text-align: center;    position: relative;}.fs-rdv-progress-item span {    display: flex;    width: 38px;    height: 38px;    margin: 0 auto 8px;    align-items: center;    justify-content: center;    background: #edf3f8;    border: 2px solid #d5e0ea;    border-radius: 50%;    color: #7890a6;    font-size: 14px;    font-weight: 700;    transition: all 0.2s ease;}.fs-rdv-progress-item small {    display: block;    color: #7890a6;    font-size: 12px;    line-height: 1.3;}.fs-rdv-progress-item.active span {    background: #2271b1;    border-color: #2271b1;    color: #ffffff;    box-shadow: 0 5px 15px rgba(34, 113, 177, 0.25);}.fs-rdv-progress-item.active small {    color: #153b63;    font-weight: 700;}.fs-rdv-progress-item.done span {    background: #e8f7ee;    border-color: #41a66b;    color: #23834d;}.fs-rdv-progress-line {    flex: 1;    max-width: 120px;    height: 2px;    margin-top: 19px;    background: #dce5ed;}/* =========================================================   ÉTAPES========================================================= */.fs-rdv-step {    display: none;    padding: 30px;    background: #ffffff;    border: 1px solid #e3eaf1;    border-radius: 16px;    box-shadow: 0 8px 30px rgba(25, 55, 85, 0.05);}.fs-rdv-step.active {    display: block;    animation: fsRdvFade 0.25s ease;}@keyframes fsRdvFade {    from {        opacity: 0;        transform: translateY(5px);    }    to {        opacity: 1;        transform: translateY(0);    }}.fs-rdv-step-heading {    margin-bottom: 25px;}.fs-rdv-step-heading > span {    display: block;    margin-bottom: 5px;    color: #2271b1;    font-size: 13px;    font-weight: 700;}.fs-rdv-step-heading h3 {    margin: 0 0 7px;    color: #10213f;    font-size: 27px;}.fs-rdv-step-heading p {    margin: 0;    color: #748196;    font-size: 15px;}/* =========================================================   FORMULAIRE========================================================= */.fs-rdv-two-columns {    display: grid;    grid-template-columns: repeat(2, minmax(0, 1fr));    gap: 18px;}.fs-rdv-field {    display: flex;    flex-direction: column;    gap: 7px;    margin-bottom: 18px;}.fs-rdv-field label {    color: #223553;    font-size: 14px;    font-weight: 600;}.fs-rdv-field input,.fs-rdv-field select,.fs-rdv-field textarea {    width: 100%;    min-height: 50px;    box-sizing: border-box;    padding: 13px 15px;    border: 1px solid #d5dee8;    border-radius: 9px;    background: #ffffff;    color: #1c2b40;    font-size: 16px;    font-family: inherit;    transition:        border-color 0.2s ease,        box-shadow 0.2s ease,        background 0.2s ease;}.fs-rdv-field input:hover,.fs-rdv-field select:hover,.fs-rdv-field textarea:hover {    border-color: #b8c7d5;}.fs-rdv-field input:focus,.fs-rdv-field select:focus,.fs-rdv-field textarea:focus {    outline: none;    border-color: #2271b1;    background: #ffffff;    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.10);}.fs-rdv-field textarea {    min-height: 120px;    resize: vertical;}.fs-rdv-counter {    margin-top: -3px;    color: #8a97a7;    font-size: 12px;    text-align: right;}/* =========================================================   BLOCS========================================================= */.fs-rdv-section-block {    margin: 6px 0 24px;}.fs-rdv-section-title {    margin-bottom: 12px;    color: #223553;    font-size: 14px;    font-weight: 600;}/* =========================================================   MOYENS DE PAIEMENT========================================================= */.fs-rdv-choice-grid {    display: grid;    grid-template-columns: repeat(3, minmax(0, 1fr));    gap: 12px;}.fs-rdv-choice-card {    position: relative;    display: block;    cursor: pointer;}.fs-rdv-choice-card input {    position: absolute;    opacity: 0;    pointer-events: none;}.fs-rdv-choice-content {    display: flex;    min-height: 82px;    box-sizing: border-box;    padding: 14px;    align-items: center;    gap: 12px;    border: 1px solid #d7e0e9;    border-radius: 11px;    background: #ffffff;    transition:        border-color 0.2s ease,        background 0.2s ease,        box-shadow 0.2s ease;}.fs-rdv-choice-card:hover .fs-rdv-choice-content {    border-color: #9cbfe0;}.fs-rdv-choice-card input:checked + .fs-rdv-choice-content {    border-color: #2271b1;    background: #f4f9ff;    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.08);}.fs-rdv-choice-icon {    display: flex;    width: 38px;    height: 38px;    flex: 0 0 38px;    align-items: center;    justify-content: center;    background: #eaf4fd;    border-radius: 9px;    color: #2271b1;    font-size: 18px;    font-weight: 700;}.fs-rdv-choice-content strong {    display: block;    margin-bottom: 3px;    color: #152944;    font-size: 14px;}.fs-rdv-choice-content small {    display: block;    color: #7b8998;    font-size: 12px;    line-height: 1.3;}/* =========================================================   ANCIEN CLIENT========================================================= */.fs-rdv-radio-inline {    display: flex;    gap: 25px;    align-items: center;}.fs-rdv-radio-inline label {    display: flex;    gap: 8px;    align-items: center;    color: #263a56;    cursor: pointer;}.fs-rdv-radio-inline input {    width: 18px;    height: 18px;    accent-color: #2271b1;}/* =========================================================   NAVIGATION========================================================= */.fs-rdv-navigation {    display: flex;    margin-top: 28px;    align-items: center;    justify-content: space-between;    gap: 15px;}.fs-rdv-navigation-end {    justify-content: flex-end;}.fs-rdv-next,.fs-rdv-submit,.fs-rdv-back {    min-height: 48px;    padding: 13px 24px;    border-radius: 9px;    font-family: inherit;    font-size: 15px;    font-weight: 600;    cursor: pointer;    transition:        transform 0.15s ease,        background 0.2s ease,        box-shadow 0.2s ease;}.fs-rdv-next,.fs-rdv-submit {    min-width: 180px;    border: 1px solid #2271b1;    background: #2271b1;    color: #ffffff;    box-shadow: 0 5px 15px rgba(34, 113, 177, 0.18);}.fs-rdv-next:hover,.fs-rdv-submit:hover {    background: #185f97;    border-color: #185f97;    transform: translateY(-1px);}.fs-rdv-back {    min-width: 130px;    border: 1px solid #cbd6e0;    background: #ffffff;    color: #35506d;}.fs-rdv-back:hover {    background: #f5f8fb;}/* =========================================================   MESSAGES========================================================= */.fs-rdv-message {    margin: 0 0 20px;    padding: 15px 17px;    border-radius: 10px;    font-size: 14px;}.fs-rdv-message-success {    background: #edf9f0;    border: 1px solid #b7dfc0;    color: #246c3b;}.fs-rdv-message-error {    background: #fff3f3;    border: 1px solid #eababa;    color: #8c3333;}/* =========================================================   PAGE DE CONFIRMATION========================================================= */.fs-rdv-success-page {    max-width: 720px;    margin: 0 auto;    text-align: center;}.fs-rdv-success-icon {    display: flex;    width: 74px;    height: 74px;    margin: 0 auto 20px;    align-items: center;    justify-content: center;    background: #17b978;    border-radius: 50%;    color: #ffffff;    font-size: 38px;    box-shadow: 0 8px 22px rgba(23, 185, 120, 0.22);}.fs-rdv-success-intro {    max-width: 560px;    margin: 12px auto 28px;    color: #6d7a8d;    font-size: 16px;    line-height: 1.6;}/* =========================================================   RÉCAPITULATIF========================================================= */.fs-rdv-summary-card {    margin: 25px 0 18px;    padding: 22px;    border: 1px solid #dce7e1;    border-radius: 14px;    background: #f4fbf7;    text-align: left;}.fs-rdv-summary-card h3 {    margin: 0 0 16px;    color: #193b2b;    font-size: 17px;}.fs-rdv-summary-row {    display: grid;    grid-template-columns: 140px 1fr;    gap: 15px;    padding: 11px 0;    border-bottom: 1px solid #deebe3;}.fs-rdv-summary-row:last-child {    border-bottom: 0;}.fs-rdv-summary-row span {    color: #718077;    font-size: 14px;}.fs-rdv-summary-row strong {    color: #1c3427;    font-size: 14px;}/* =========================================================   CALENDRIER========================================================= */.fs-rdv-calendar-card {    margin: 18px 0;    padding: 22px;    border: 1px solid #dbe6f0;    border-radius: 14px;    background: #f5f9fd;    text-align: left;}.fs-rdv-calendar-title {    margin-bottom: 6px;    color: #174d7b;    font-size: 17px;    font-weight: 700;}.fs-rdv-calendar-card p {    margin: 0 0 16px;    color: #74869a;    font-size: 14px;}.fs-rdv-calendar-grid {    display: grid;    grid-template-columns: repeat(2, minmax(0, 1fr));    gap: 10px;}.fs-rdv-calendar-btn {    min-height: 46px;    padding: 11px 14px;    border: 1px solid #c8d8e8;    border-radius: 8px;    background: #ffffff;    color: #1f527e;    font-size: 14px;    font-weight: 600;    cursor: pointer;    transition:        background 0.2s ease,        border-color 0.2s ease;}.fs-rdv-calendar-btn:hover {    border-color: #2271b1;    background: #f3f8fd;}/* =========================================================   TERMINER========================================================= */.fs-rdv-finish-btn {    display: block;    width: 100%;    box-sizing: border-box;    margin-top: 20px;    padding: 15px 25px;    border-radius: 9px;    background: #2271b1;    color: #ffffff !important;    text-align: center;    text-decoration: none !important;    font-size: 16px;    font-weight: 600;    transition:        background 0.2s ease,        transform 0.15s ease;}.fs-rdv-finish-btn:hover {    background: #185f97;    color: #ffffff !important;    transform: translateY(-1px);}/* =========================================================   TABLETTE========================================================= */@media (max-width: 850px) {    .fs-rdv-wrapper {        margin: 25px 15px;        padding: 25px;    }    .fs-rdv-choice-grid {        grid-template-columns: 1fr;    }}/* =========================================================   MOBILE========================================================= */@media (max-width: 600px) {    .fs-rdv-wrapper {        width: 100vw;        max-width: none;        margin-top: 0;        margin-bottom: 0;        margin-left: calc(50% - 50vw);        margin-right: calc(50% - 50vw);        padding: 18px 14px 28px;        box-sizing: border-box;        border-left: 0;        border-right: 0;        border-radius: 0;        box-shadow: none;    }    .fs-rdv-header h2,    .fs-rdv-success-page h2 {        font-size: 26px;    }    .fs-rdv-header p {        font-size: 14px;    }    .fs-rdv-progress {        margin-bottom: 25px;    }    .fs-rdv-progress-item {        width: 70px;    }    .fs-rdv-progress-item span {        width: 32px;        height: 32px;        margin-bottom: 5px;    }    .fs-rdv-progress-item small {        font-size: 10px;    }    .fs-rdv-progress-line {        margin-top: 16px;    }    .fs-rdv-step {        padding: 20px 15px;    }    .fs-rdv-step-heading h3 {        font-size: 22px;    }    .fs-rdv-two-columns {        grid-template-columns: 1fr;        gap: 0;    }    .fs-rdv-field input,    .fs-rdv-field select,    .fs-rdv-field textarea {        font-size: 16px;    }    .fs-rdv-navigation {        flex-direction: column-reverse;    }    .fs-rdv-navigation-end {        flex-direction: column;    }    .fs-rdv-next,    .fs-rdv-submit,    .fs-rdv-back {        width: 100%;    }    .fs-rdv-calendar-grid {        grid-template-columns: 1fr;    }    .fs-rdv-summary-row {        grid-template-columns: 1fr;        gap: 4px;    }    .fs-rdv-radio-inline {        gap: 20px;    }}/* =========================================================   FULL SOLUTIONS RDV   CALENDRIER - DESIGN AMELIORE   ========================================================= *//* Carte principale du calendrier */.fs-rdv-booking-calendar {    padding: 24px !important;    border: 1px solid #e1e7ee !important;    border-radius: 18px !important;    background: #ffffff !important;    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;}/* En-tête : mois + navigation */.fs-rdv-calendar-head {    display: flex !important;    align-items: center !important;    justify-content: space-between !important;    gap: 16px !important;    margin-bottom: 22px !important;}.fs-rdv-calendar-month {    margin: 0 !important;    color: #16233b !important;    font-size: 21px !important;    font-weight: 800 !important;    letter-spacing: -0.2px !important;}/* Deux boutons strictement identiques */.fs-rdv-calendar-nav {    display: flex !important;    align-items: center !important;    gap: 9px !important;}.fs-rdv-calendar-nav button {    position: relative !important;    display: inline-flex !important;    width: 44px !important;    height: 44px !important;    min-width: 44px !important;    min-height: 44px !important;    padding: 0 !important;    align-items: center !important;    justify-content: center !important;    border: 1px solid #d8e0e8 !important;    border-radius: 12px !important;    background: #ffffff !important;    color: transparent !important;    font-size: 0 !important;    line-height: 1 !important;    box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05) !important;    cursor: pointer !important;    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease !important;}/* Chevron dessiné en CSS : mêmes dimensions à gauche et à droite */.fs-rdv-calendar-nav button::before {    content: "" !important;    display: block !important;    width: 8px !important;    height: 8px !important;    border-right: 2px solid #24364b !important;    border-bottom: 2px solid #24364b !important;}#fs-rdv-calendar-prev::before {    transform: rotate(135deg) !important;    margin-left: 4px !important;}#fs-rdv-calendar-next::before {    transform: rotate(-45deg) !important;    margin-right: 4px !important;}.fs-rdv-calendar-nav button:hover:not(:disabled) {    border-color: #9fb3c8 !important;    background: #f8fafc !important;    transform: translateY(-1px) !important;    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.08) !important;}.fs-rdv-calendar-nav button:disabled {    opacity: .35 !important;    cursor: default !important;    transform: none !important;    box-shadow: none !important;}/* Jours de la semaine */.fs-rdv-calendar-weekdays {    display: grid !important;    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;    gap: 8px !important;    margin-bottom: 9px !important;}.fs-rdv-calendar-weekdays span {    padding: 5px 0 8px !important;    color: #66758b !important;    font-size: 12px !important;    font-weight: 800 !important;    letter-spacing: .4px !important;    text-align: center !important;    text-transform: uppercase !important;}/* Grille */.fs-rdv-calendar-days {    display: grid !important;    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;    gap: 8px !important;}.fs-rdv-calendar-day {    position: relative !important;    display: flex !important;    min-height: 70px !important;    padding: 10px 6px !important;    box-sizing: border-box !important;    align-items: center !important;    justify-content: center !important;    flex-direction: column !important;    gap: 5px !important;    border: 1px solid #e1e7ee !important;    border-radius: 13px !important;    background: #ffffff !important;    color: #1f2f43 !important;    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.02) !important;    cursor: pointer !important;    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease !important;}.fs-rdv-calendar-day-number {    color: inherit !important;    font-size: 17px !important;    font-weight: 800 !important;    line-height: 1 !important;}.fs-rdv-calendar-day-state {    font-size: 10px !important;    font-weight: 700 !important;    line-height: 1.1 !important;}/* Disponible = seul état mis en valeur */.fs-rdv-calendar-day.is-available {    border-color: #80b790 !important;    background: #ffffff !important;    color: #16233b !important;}.fs-rdv-calendar-day.is-available .fs-rdv-calendar-day-state {    color: #2f7d47 !important;}.fs-rdv-calendar-day.is-available:hover {    border-color: #2f7d47 !important;    background: #f4faf6 !important;    transform: translateY(-2px) !important;    box-shadow: 0 7px 18px rgba(47, 125, 71, 0.10) !important;}/* Tous les jours non disponibles = gris uniforme */.fs-rdv-calendar-day.is-full,.fs-rdv-calendar-day.is-closed,.fs-rdv-calendar-day.is-outside,.fs-rdv-calendar-day:disabled {    border-color: #e5e9ee !important;    background: #f1f3f5 !important;    color: #9aa4b2 !important;    box-shadow: none !important;    cursor: default !important;    transform: none !important;}.fs-rdv-calendar-day.is-full .fs-rdv-calendar-day-state,.fs-rdv-calendar-day.is-closed .fs-rdv-calendar-day-state,.fs-rdv-calendar-day.is-outside .fs-rdv-calendar-day-state {    color: #9aa4b2 !important;}/* Date sélectionnée */.fs-rdv-calendar-day.is-selected,.fs-rdv-calendar-day.is-selected:hover {    border-color: var(--fs-primary) !important;    background: var(--fs-primary) !important;    color: #ffffff !important;    box-shadow: 0 8px 20px color-mix(in srgb, var(--fs-primary) 22%, transparent) !important;    transform: none !important;}.fs-rdv-calendar-day.is-selected .fs-rdv-calendar-day-number,.fs-rdv-calendar-day.is-selected .fs-rdv-calendar-day-state {    color: #ffffff !important;}/* Aucun point "aujourd'hui" */.fs-rdv-calendar-day.is-today::after {    display: none !important;    content: none !important;}/* La légende Disponible / Complet / Fermé reste cachée */.fs-rdv-calendar-legend {    display: none !important;}/* Zone des créneaux */.fs-rdv-slot-panel {    margin-top: 18px !important;    padding: 18px !important;    border: 1px solid #e1e7ee !important;    border-radius: 14px !important;    background: #f8fafc !important;}.fs-rdv-slot-title {    color: #16233b !important;    font-size: 16px !important;    font-weight: 800 !important;}.fs-rdv-slot-subtitle {    color: #718096 !important;}.fs-rdv-slot-buttons {    gap: 10px !important;}.fs-rdv-slot-button {    min-height: 56px !important;    border: 1px solid #dce4ec !important;    border-radius: 11px !important;    background: #ffffff !important;    color: #16233b !important;    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.03) !important;}.fs-rdv-slot-button:hover:not(:disabled) {    border-color: #2f7d47 !important;    background: #f4faf6 !important;    transform: translateY(-1px) !important;}.fs-rdv-slot-button.is-selected {    border-color: var(--fs-primary) !important;    background: var(--fs-primary) !important;    color: #ffffff !important;}.fs-rdv-slot-button.is-selected small {    color: #ffffff !important;}.fs-rdv-slot-button.is-occupied,.fs-rdv-slot-button:disabled {    border-color: #e5e9ee !important;    background: #f1f3f5 !important;    color: #9aa4b2 !important;    box-shadow: none !important;}/* Mobile */@media (max-width: 680px) {    .fs-rdv-booking-calendar {        padding: 14px !important;        border-radius: 14px !important;    }    .fs-rdv-calendar-head {        margin-bottom: 16px !important;    }    .fs-rdv-calendar-month {        font-size: 18px !important;    }    .fs-rdv-calendar-nav button {        width: 40px !important;        height: 40px !important;        min-width: 40px !important;        min-height: 40px !important;        border-radius: 10px !important;    }    .fs-rdv-calendar-weekdays,    .fs-rdv-calendar-days {        gap: 4px !important;    }    .fs-rdv-calendar-weekdays span {        font-size: 10px !important;        padding-bottom: 5px !important;    }    .fs-rdv-calendar-day {        min-height: 52px !important;        padding: 6px 2px !important;        border-radius: 9px !important;    }    .fs-rdv-calendar-day-number {        font-size: 14px !important;    }    .fs-rdv-calendar-day-state {        display: none !important;    }}/* =========================================================   FULL SOLUTIONS RDV 1.1.2   INTERFACE APP / THEMES / PICKERS MODERNES   ========================================================= */.fs-rdv-theme-warm {    --fs-surface: #fffdf9;    --fs-surface-soft: #fff3e9;    --fs-border: #ead9cd;    --fs-muted: #7c756f;    --fs-shadow: rgba(79, 51, 37, 0.10);}.fs-rdv-theme-ocean {    --fs-surface: #ffffff;    --fs-surface-soft: #eaf7f5;    --fs-border: #cfe4e0;    --fs-muted: #647a7b;    --fs-shadow: rgba(22, 67, 67, 0.10);}.fs-rdv-theme-premium {    --fs-surface: #fffefb;    --fs-surface-soft: #f7f0df;    --fs-border: #e6dbc2;    --fs-muted: #777165;    --fs-shadow: rgba(18, 35, 63, 0.11);}.fs-rdv-theme-sage {    --fs-surface: #fffef9;    --fs-surface-soft: #eef3e9;    --fs-border: #d9dfcf;    --fs-muted: #6e776f;    --fs-shadow: rgba(45, 68, 54, 0.10);}.fs-rdv-theme-custom {    --fs-surface: #ffffff;    --fs-surface-soft: #f7f7f7;    --fs-border: #dde2e7;    --fs-muted: #6b7280;    --fs-shadow: rgba(15, 23, 42, 0.09);}.fs-rdv-wrapper {    background: linear-gradient(180deg, var(--fs-bg) 0%, var(--fs-surface) 100%) !important;    border-color: var(--fs-border) !important;    box-shadow: 0 18px 55px var(--fs-shadow) !important;}.fs-rdv-step,.fs-rdv-summary-card,.fs-rdv-calendar-card {    background: var(--fs-surface) !important;    border-color: var(--fs-border) !important;    box-shadow: 0 10px 30px var(--fs-shadow) !important;}.fs-rdv-step-heading > span,.fs-rdv-kicker {    letter-spacing: .04em !important;}.fs-rdv-step-heading p,.fs-rdv-header p,.fs-rdv-custom-help,.fs-rdv-contact-status {    color: var(--fs-muted) !important;}.fs-rdv-progress-line {    background: var(--fs-border) !important;}.fs-rdv-progress-item span {    background: var(--fs-surface-soft) !important;    border-color: var(--fs-border) !important;}.fs-rdv-progress-item.active span,.fs-rdv-progress-item.done span {    background: var(--fs-primary) !important;    border-color: var(--fs-primary) !important;    color: var(--fs-button-text) !important;    box-shadow: 0 7px 18px color-mix(in srgb, var(--fs-primary) 24%, transparent) !important;}.fs-rdv-field input:not(.fs-rdv-native-control),.fs-rdv-field textarea,.fs-rdv-field select:not(.fs-rdv-native-control) {    background: var(--fs-surface) !important;    border-color: var(--fs-border) !important;}.fs-rdv-field input:not(.fs-rdv-native-control):focus,.fs-rdv-field textarea:focus,.fs-rdv-field select:not(.fs-rdv-native-control):focus {    border-color: var(--fs-primary) !important;    box-shadow: 0 0 0 4px color-mix(in srgb, var(--fs-primary) 13%, transparent) !important;}/* -------------------------   Sélecteur de service   ------------------------- */.fs-rdv-service-field {    position: relative;}.fs-rdv-service-picker {    position: relative;}.fs-rdv-service-trigger,.fs-rdv-slot-trigger {    width: 100%;    min-height: 56px;    box-sizing: border-box;    display: flex;    align-items: center;    justify-content: space-between;    gap: 14px;    padding: 14px 16px;    border: 1px solid var(--fs-border);    border-radius: 14px;    background: var(--fs-surface);    color: var(--fs-secondary);    font: inherit;    font-size: 16px;    font-weight: 650;    text-align: left;    box-shadow: 0 5px 16px var(--fs-shadow);    cursor: pointer;    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;}.fs-rdv-service-trigger:hover,.fs-rdv-slot-trigger:hover:not(:disabled),.fs-rdv-service-trigger.is-open,.fs-rdv-slot-trigger.is-open {    border-color: var(--fs-primary);    box-shadow: 0 0 0 4px color-mix(in srgb, var(--fs-primary) 10%, transparent), 0 8px 22px var(--fs-shadow);}.fs-rdv-service-trigger:focus-visible,.fs-rdv-slot-trigger:focus-visible,.fs-rdv-service-option:focus-visible,.fs-rdv-slot-button:focus-visible {    outline: 3px solid color-mix(in srgb, var(--fs-primary) 30%, transparent);    outline-offset: 2px;}.fs-rdv-picker-chevron {    width: 9px;    height: 9px;    flex: 0 0 9px;    border-right: 2px solid currentColor;    border-bottom: 2px solid currentColor;    transform: rotate(45deg) translateY(-2px);    transition: transform .18s ease;}.is-open > .fs-rdv-picker-chevron,.fs-rdv-service-trigger.is-open .fs-rdv-picker-chevron,.fs-rdv-slot-trigger.is-open .fs-rdv-picker-chevron {    transform: rotate(225deg) translate(-2px, -2px);}.fs-rdv-service-menu {    position: absolute;    z-index: 80;    top: calc(100% + 8px);    left: 0;    right: 0;    max-height: 330px;    overflow-y: auto;    padding: 8px;    border: 1px solid var(--fs-border);    border-radius: 16px;    background: var(--fs-surface);    box-shadow: 0 18px 45px rgba(20, 24, 31, .18);}.fs-rdv-service-menu[hidden] {    display: none !important;}.fs-rdv-service-option {    width: 100%;    min-height: 48px;    display: flex;    align-items: center;    gap: 11px;    padding: 10px 12px;    border: 0;    border-radius: 11px;    background: transparent;    color: var(--fs-secondary);    font: inherit;    font-weight: 600;    text-align: left;    cursor: pointer;}.fs-rdv-service-option:hover,.fs-rdv-service-option.is-selected {    background: var(--fs-surface-soft);    color: var(--fs-secondary);}.fs-rdv-service-option.is-selected {    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fs-primary) 35%, var(--fs-border));}.fs-rdv-service-option-dot {    width: 10px;    height: 10px;    flex: 0 0 10px;    border-radius: 999px;    background: var(--fs-primary);    box-shadow: 0 0 0 5px color-mix(in srgb, var(--fs-primary) 10%, transparent);}.fs-rdv-picker-error {    margin-top: 8px;    color: #b42318;    font-size: 13px;}.fs-rdv-picker-error[hidden] {    display: none !important;}/* -------------------------   Calendrier moderne   ------------------------- */.fs-rdv-calendar-booking-area {    position: relative;}.fs-rdv-booking-calendar {    padding: 20px !important;    border: 1px solid var(--fs-border) !important;    border-radius: 20px !important;    background: var(--fs-surface) !important;    box-shadow: 0 12px 32px var(--fs-shadow) !important;}.fs-rdv-calendar-head {    margin-bottom: 16px !important;}.fs-rdv-calendar-month {    color: var(--fs-secondary) !important;    font-size: 20px !important;    font-weight: 800 !important;}.fs-rdv-calendar-nav button {    width: 42px !important;    height: 42px !important;    min-width: 42px !important;    min-height: 42px !important;    border-color: var(--fs-border) !important;    border-radius: 13px !important;    background: var(--fs-surface-soft) !important;    box-shadow: none !important;}.fs-rdv-calendar-nav button:hover:not(:disabled) {    border-color: var(--fs-primary) !important;    background: color-mix(in srgb, var(--fs-primary) 8%, var(--fs-surface)) !important;}.fs-rdv-calendar-weekdays,.fs-rdv-calendar-days {    gap: 6px !important;}.fs-rdv-calendar-weekdays span {    color: var(--fs-muted) !important;    font-size: 11px !important;    letter-spacing: .06em !important;}.fs-rdv-calendar-day {    min-width: 0 !important;    min-height: 58px !important;    padding: 7px 3px !important;    border: 1px solid transparent !important;    border-radius: 14px !important;    background: transparent !important;    box-shadow: none !important;}.fs-rdv-calendar-day-number {    font-size: 16px !important;    font-weight: 800 !important;}.fs-rdv-calendar-day.is-available {    border-color: color-mix(in srgb, var(--fs-calendar-available) 28%, var(--fs-border)) !important;    background: color-mix(in srgb, var(--fs-calendar-available) 8%, var(--fs-surface)) !important;    color: var(--fs-secondary) !important;}.fs-rdv-calendar-day.is-available:hover {    border-color: var(--fs-calendar-available) !important;    background: color-mix(in srgb, var(--fs-calendar-available) 14%, var(--fs-surface)) !important;    transform: translateY(-1px) !important;}.fs-rdv-calendar-day.is-selected,.fs-rdv-calendar-day.is-selected:hover {    border-color: var(--fs-calendar-selected) !important;    background: var(--fs-calendar-selected) !important;    color: #fff !important;    box-shadow: 0 8px 18px color-mix(in srgb, var(--fs-calendar-selected) 24%, transparent) !important;}.fs-rdv-calendar-day.is-today.is-available:not(.is-selected) {    box-shadow: inset 0 0 0 2px var(--fs-calendar-today) !important;}.fs-rdv-calendar-day.is-full,.fs-rdv-calendar-day.is-closed,.fs-rdv-calendar-day.is-outside,.fs-rdv-calendar-day:disabled {    border-color: transparent !important;    background: color-mix(in srgb, var(--fs-calendar-closed) 12%, var(--fs-surface)) !important;    color: color-mix(in srgb, var(--fs-calendar-closed) 72%, #fff) !important;    opacity: .72;}/* -------------------------   Créneaux en menu flottant   ------------------------- */.fs-rdv-slot-picker {    position: relative;    margin-top: 14px;}.fs-rdv-slot-trigger:disabled {    cursor: not-allowed;    opacity: .62;    box-shadow: none;}.fs-rdv-slot-trigger-copy {    display: flex;    min-width: 0;    flex-direction: column;    gap: 2px;}.fs-rdv-slot-trigger-copy small {    color: var(--fs-muted);    font-size: 11px;    font-weight: 700;    letter-spacing: .06em;    text-transform: uppercase;}.fs-rdv-slot-trigger-copy strong {    overflow: hidden;    color: var(--fs-secondary);    font-size: 16px;    text-overflow: ellipsis;    white-space: nowrap;}.fs-rdv-slot-panel {    position: absolute !important;    z-index: 90 !important;    top: calc(100% + 9px);    left: 0;    right: 0;    margin-top: 0 !important;    padding: 14px !important;    border: 1px solid var(--fs-border) !important;    border-radius: 16px !important;    background: var(--fs-surface) !important;    box-shadow: 0 20px 48px rgba(20, 24, 31, .20) !important;}.fs-rdv-slot-panel[hidden],.fs-rdv-slot-panel.is-empty {    display: none !important;}.fs-rdv-slot-title {    margin-bottom: 2px !important;    color: var(--fs-secondary) !important;    font-size: 15px !important;}.fs-rdv-slot-subtitle {    margin-bottom: 12px !important;    color: var(--fs-muted) !important;    font-size: 12px !important;    text-transform: capitalize;}.fs-rdv-slot-buttons {    display: grid !important;    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;    gap: 8px !important;}.fs-rdv-slot-button {    min-height: 48px !important;    padding: 8px 10px !important;    border-color: var(--fs-border) !important;    border-radius: 12px !important;    background: var(--fs-surface-soft) !important;    box-shadow: none !important;}.fs-rdv-slot-button strong {    color: var(--fs-secondary);    font-size: 15px !important;}.fs-rdv-slot-button small {    color: var(--fs-calendar-available) !important;    font-size: 10px !important;}.fs-rdv-slot-button:hover:not(:disabled) {    border-color: var(--fs-primary) !important;    background: color-mix(in srgb, var(--fs-primary) 9%, var(--fs-surface)) !important;    transform: none !important;}.fs-rdv-slot-button.is-selected {    border-color: var(--fs-primary) !important;    background: var(--fs-primary) !important;}.fs-rdv-slot-button.is-selected strong,.fs-rdv-slot-button.is-selected small {    color: var(--fs-button-text) !important;}.fs-rdv-slot-button.is-occupied,.fs-rdv-slot-button:disabled {    cursor: not-allowed !important;    background: color-mix(in srgb, var(--fs-calendar-full) 8%, var(--fs-surface)) !important;    border: 1px dashed color-mix(in srgb, var(--fs-calendar-full) 38%, var(--fs-border)) !important;    opacity: 1 !important;    box-shadow: none !important;}.fs-rdv-slot-button.is-occupied strong,.fs-rdv-slot-button:disabled strong {    color: color-mix(in srgb, var(--fs-calendar-full) 52%, var(--fs-muted)) !important;    text-decoration: line-through;    text-decoration-thickness: 1.5px;}.fs-rdv-slot-button.is-occupied small,.fs-rdv-slot-button:disabled small {    color: var(--fs-calendar-full) !important;    font-weight: 800 !important;}/* -------------------------   Paiement : toujours sur une ligne   ------------------------- */.fs-rdv-choice-grid {    display: grid !important;    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;    gap: 10px !important;}.fs-rdv-choice-card {    min-width: 0;}.fs-rdv-choice-content {    min-height: 104px !important;    height: 100%;    padding: 12px 8px !important;    flex-direction: column !important;    justify-content: center !important;    gap: 8px !important;    border-color: var(--fs-border) !important;    border-radius: 14px !important;    background: var(--fs-surface) !important;    text-align: center;}.fs-rdv-choice-icon {    width: 40px !important;    height: 40px !important;    flex: 0 0 40px !important;    border-radius: 50% !important;    background: var(--fs-surface-soft) !important;    color: var(--fs-primary) !important;}.fs-rdv-choice-content strong {    color: var(--fs-secondary) !important;    font-size: 13px !important;    line-height: 1.2 !important;}.fs-rdv-choice-content small {    color: var(--fs-muted) !important;    font-size: 10px !important;    line-height: 1.25 !important;}.fs-rdv-choice-card input:checked + .fs-rdv-choice-content {    border-color: var(--fs-primary) !important;    background: color-mix(in srgb, var(--fs-primary) 9%, var(--fs-surface)) !important;    box-shadow: 0 0 0 2px color-mix(in srgb, var(--fs-primary) 10%, transparent) !important;}.fs-rdv-choice-card input:checked + .fs-rdv-choice-content .fs-rdv-choice-icon {    background: var(--fs-primary) !important;    color: var(--fs-button-text) !important;}.fs-rdv-radio-inline label {    min-height: 42px;    padding: 8px 12px;    border: 1px solid var(--fs-border);    border-radius: 999px;    background: var(--fs-surface);}@media (max-width: 680px) {    .fs-rdv-wrapper {        padding: 16px 12px 28px !important;    }    .fs-rdv-step {        padding: 18px 13px !important;        border-radius: 18px !important;    }    .fs-rdv-step-heading {        margin-bottom: 18px !important;    }    .fs-rdv-step-heading h3 {        font-size: 21px !important;        line-height: 1.2 !important;    }    .fs-rdv-booking-calendar {        padding: 13px !important;        border-radius: 18px !important;    }    .fs-rdv-calendar-head {        margin-bottom: 12px !important;    }    .fs-rdv-calendar-month {        font-size: 18px !important;    }    .fs-rdv-calendar-nav button {        width: 38px !important;        height: 38px !important;        min-width: 38px !important;        min-height: 38px !important;    }    .fs-rdv-calendar-weekdays,    .fs-rdv-calendar-days {        gap: 4px !important;    }    .fs-rdv-calendar-day {        min-height: 44px !important;        aspect-ratio: 1 / 1;        padding: 4px 1px !important;        border-radius: 12px !important;    }    .fs-rdv-calendar-day-number {        font-size: 14px !important;    }    .fs-rdv-calendar-day-state {        display: none !important;    }    .fs-rdv-calendar-empty {        min-height: 44px !important;    }    .fs-rdv-choice-grid {        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;        gap: 7px !important;    }    .fs-rdv-choice-content {        min-height: 96px !important;        padding: 10px 5px !important;    }    .fs-rdv-choice-content strong {        font-size: 12px !important;        overflow-wrap: anywhere;    }    .fs-rdv-choice-content small {        font-size: 9px !important;    }    .fs-rdv-choice-icon {        width: 34px !important;        height: 34px !important;        flex-basis: 34px !important;        font-size: 16px !important;    }    .fs-rdv-service-menu,    .fs-rdv-slot-panel {        border-radius: 14px !important;    }}