.openquota-reservation{--openquota-font-family:inherit,Arial,sans-serif;--openquota-text-xs:.833rem;--openquota-text-sm:1rem;--openquota-text-lg:1.44rem;--openquota-space-1:8px;--openquota-space-2:16px;--openquota-space-3:24px;--openquota-space-4:32px;--openquota-color-text:#202020;--openquota-color-muted:#747474;--openquota-color-border:#e1e1e1;--openquota-color-surface:#fff;--openquota-color-soft:#f6f6f4;--openquota-color-primary:#202020;--openquota-color-primary-text:#fff;--openquota-color-error:#a12828;--openquota-color-success:#286b38;--openquota-radius:8px;width:min(100%,560px);margin:0 auto;padding:var(--openquota-space-4);border-radius:12px;background:var(--openquota-color-surface);color:var(--openquota-color-text);font-family:var(--openquota-font-family);font-size:var(--openquota-text-sm);line-height:1.4}.openquota-reservation *,.openquota-reservation *:before,.openquota-reservation *:after{box-sizing:border-box}.openquota-reservation button,.openquota-reservation input,.openquota-reservation textarea{max-width:100%;font-family:var(--openquota-font-family)}.openquota-reservation__header{display:grid;gap:var(--openquota-space-1);margin-bottom:var(--openquota-space-3)}.openquota-reservation__title{margin:0;font-size:var(--openquota-text-lg);font-weight:600;line-height:1.2}.openquota-reservation__intro{margin:0;color:var(--openquota-color-muted);font-size:var(--openquota-text-xs)}.openquota-reservation__form{display:grid;gap:var(--openquota-space-3)}.openquota-reservation__section{min-width:0;margin:0;padding:0;border:0}.openquota-reservation [hidden]{display:none!important}.openquota-reservation__legend{width:100%;margin:0 0 var(--openquota-space-2);padding:0;font-size:var(--openquota-text-sm);font-weight:600}[data-openquota-confirmation]{margin-top:var(--openquota-space-1)}.openquota-reservation__hint{margin:var(--openquota-space-1) 0 0;color:var(--openquota-color-muted);font-size:var(--openquota-text-xs)}.openquota-reservation__button{min-height:40px;padding:0 var(--openquota-space-2);border:1px solid var(--openquota-color-primary);border-radius:var(--openquota-radius);background:var(--openquota-color-primary);color:var(--openquota-color-primary-text);font-size:var(--openquota-text-xs);font-weight:600;cursor:pointer}.openquota-reservation__button:hover:not(:disabled){opacity:.9}.openquota-reservation__button:disabled{opacity:.4;cursor:not-allowed}.openquota-reservation__button--next{min-width:112px;justify-self:end}.openquota-reservation__people-row{display:grid;grid-template-columns:auto 1fr;gap:var(--openquota-space-2);align-items:start}.openquota-reservation__people-group{display:grid;align-content:start;min-width:0}.openquota-reservation__people-control{display:grid;grid-template-columns:40px 56px 40px;width:max-content;max-width:100%;overflow:hidden;border:1px solid var(--openquota-color-border);border-radius:var(--openquota-radius)}.openquota-reservation__people-control:focus-within{box-shadow:0 0 0 1px var(--openquota-color-text)}.openquota-reservation__people-button{width:40px;height:40px;padding:0;border:0;background:#fff;color:var(--openquota-color-text);cursor:pointer}.openquota-reservation__people-button:focus{outline:0;box-shadow:none}.openquota-reservation__people-button:hover:not(:disabled){background:var(--openquota-color-soft)}.openquota-reservation__people-input{width:56px;min-width:0;height:40px;padding:0;border:0;border-right:1px solid var(--openquota-color-border);border-left:1px solid var(--openquota-color-border);background:#fff;text-align:center;font-weight:600;-moz-appearance:textfield}.openquota-reservation__people-input:focus{outline:0;box-shadow:none;border-top:0;border-bottom:0;border-right:1px solid var(--openquota-color-border);border-left:1px solid var(--openquota-color-border)}.openquota-reservation__people-input::-webkit-inner-spin-button,.openquota-reservation__people-input::-webkit-outer-spin-button{appearance:none;margin:0}.openquota-reservation__input{width:100%;min-height:40px;padding:0 var(--openquota-space-2);border:1px solid var(--openquota-color-border);border-radius:var(--openquota-radius);background:#fff;color:var(--openquota-color-text);font-size:var(--openquota-text-xs)}.openquota-reservation__textarea{min-height:96px;padding:10px var(--openquota-space-2);line-height:1.4;resize:vertical}.openquota-reservation__summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--openquota-space-2);align-items:center;width:100%;min-height:40px;padding:var(--openquota-space-1) var(--openquota-space-2);border:1px solid var(--openquota-color-border);border-radius:var(--openquota-radius);background:#fff}.openquota-reservation__summary-value{min-width:0;font-size:var(--openquota-text-xs);font-weight:600}.openquota-reservation__summary-action{padding:0;border:0;background:transparent;color:var(--openquota-color-muted);font-size:var(--openquota-text-xs);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.openquota-reservation__picker{display:grid;gap:var(--openquota-space-2);width:100%;min-width:0}.openquota-reservation__calendar{display:grid;gap:var(--openquota-space-1);width:100%;min-width:0;padding:var(--openquota-space-2);border:1px solid var(--openquota-color-border);border-radius:var(--openquota-radius);background:#fff}.openquota-reservation__calendar-header{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:var(--openquota-space-1);align-items:center}.openquota-reservation__calendar-title{text-align:center;font-size:var(--openquota-text-xs);font-weight:600}.openquota-reservation__calendar-button{width:32px;height:32px;padding:0;border:0;border-radius:var(--openquota-radius);background:transparent;cursor:pointer}.openquota-reservation__calendar-button:hover:not(:disabled){background:var(--openquota-color-soft)}.openquota-reservation__calendar-button:disabled{opacity:.3;cursor:not-allowed}.openquota-reservation__calendar-weekdays,.openquota-reservation__calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.openquota-reservation__calendar-weekday{padding:4px 0;color:var(--openquota-color-muted);text-align:center;font-size:.694rem;font-weight:600}.openquota-reservation__calendar-day{width:100%;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--openquota-color-text);font-size:var(--openquota-text-xs);cursor:pointer}.openquota-reservation__calendar-day:hover:not(:disabled):not([aria-selected=true]){background:var(--openquota-color-soft)}.openquota-reservation__calendar-day[aria-selected=true]{background:var(--openquota-color-primary);color:#fff}.openquota-reservation__calendar-day:disabled{opacity:.22;cursor:not-allowed}.openquota-reservation__calendar-day--empty{visibility:hidden}.openquota-reservation__times{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--openquota-space-1)}.openquota-reservation__time-option{min-width:0;min-height:40px;padding:0 4px;border:1px solid var(--openquota-color-border);border-radius:var(--openquota-radius);background:#fff;color:var(--openquota-color-text);font-size:var(--openquota-text-xs);font-weight:500;cursor:pointer}.openquota-reservation__time-option:hover{background:var(--openquota-color-soft)}.openquota-reservation__time-option[aria-pressed=true]{border-color:var(--openquota-color-primary);background:var(--openquota-color-primary);color:#fff}.openquota-reservation__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--openquota-space-2)}.openquota-reservation__field{display:grid;gap:var(--openquota-space-1);min-width:0}.openquota-reservation__field--full,.openquota-reservation__consent{grid-column:1/-1}.openquota-reservation__label{font-size:var(--openquota-text-xs);font-weight:500}.openquota-reservation__optional{color:var(--openquota-color-muted);font-weight:400}.openquota-reservation__consent{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--openquota-space-1);align-items:start}.openquota-reservation__checkbox{width:16px;height:16px;margin:0}.openquota-reservation__consent-label{font-size:var(--openquota-text-xs);overflow-wrap:anywhere}.openquota-reservation__link{color:inherit;text-decoration:underline;text-underline-offset:4px}.openquota-reservation__actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--openquota-space-2);align-items:center}.openquota-reservation__message{min-width:0;margin:0;font-size:var(--openquota-text-xs)}.openquota-reservation__message--error{color:var(--openquota-color-error)}.openquota-reservation__message--success{color:var(--openquota-color-success)}.openquota-reservation__honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:768px){.openquota-reservation__times{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:560px){.openquota-reservation{padding:var(--openquota-space-3);border-radius:8px}.openquota-reservation__people-row{grid-template-columns:minmax(0,1fr) auto}.openquota-reservation__fields,.openquota-reservation__actions{grid-template-columns:1fr}.openquota-reservation__actions .openquota-reservation__button{width:100%}.openquota-reservation__times{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:420px){.openquota-reservation{padding:var(--openquota-space-2)}.openquota-reservation__people-row{grid-template-columns:1fr}.openquota-reservation__button--next{width:100%;justify-self:stretch}.openquota-reservation__times{grid-template-columns:repeat(2,minmax(0,1fr))}}
.openquota-reservation__message-title{display:block;margin-bottom:var(--openquota-space-1);font-weight:600}

.openquota-reservation__message--centered{text-align:center}.openquota-reservation-credit{width:min(100%,560px);margin:8px auto 0;color:#747474;font-family:inherit,Arial,sans-serif;font-size:.694rem;line-height:1.4;text-align:center}

/* ==========================================================
   OPENQUOTA — verrouillage du design contre le thème / Elementor
   ========================================================== */

.openquota-reservation button,
.openquota-reservation input,
.openquota-reservation textarea,
.openquota-reservation a {
    font-family: var(--openquota-font-family);
}

.openquota-reservation__people-button,
.openquota-reservation__people-button:hover,
.openquota-reservation__people-button:focus,
.openquota-reservation__people-button:focus-visible,
.openquota-reservation__people-button:active {
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--openquota-color-text);
    box-shadow: none;
    outline: 0;
}

.openquota-reservation__people-button:hover:not(:disabled) {
    background: var(--openquota-color-soft);
    color: var(--openquota-color-text);
}

.openquota-reservation__people-button:disabled,
.openquota-reservation__people-button:disabled:hover {
    background: #fff;
    color: var(--openquota-color-text);
}

.openquota-reservation__people-input,
.openquota-reservation__people-input:hover,
.openquota-reservation__people-input:focus,
.openquota-reservation__people-input:focus-visible,
.openquota-reservation__people-input:active {
    border-top: 0;
    border-bottom: 0;
    border-right: 1px solid var(--openquota-color-border);
    border-left: 1px solid var(--openquota-color-border);
    border-radius: 0;
    background: #fff;
    color: var(--openquota-color-text);
    box-shadow: none;
    outline: 0;
}

.openquota-reservation__button,
.openquota-reservation__button:hover,
.openquota-reservation__button:focus,
.openquota-reservation__button:focus-visible,
.openquota-reservation__button:active {
    border: 1px solid var(--openquota-color-primary);
    border-radius: var(--openquota-radius);
    background: var(--openquota-color-primary);
    color: var(--openquota-color-primary-text);
    box-shadow: none;
    outline: 0;
    text-decoration: none;
}

.openquota-reservation__button:hover:not(:disabled),
.openquota-reservation__button:focus:not(:disabled),
.openquota-reservation__button:active:not(:disabled) {
    border-color: var(--openquota-color-primary);
    background: var(--openquota-color-primary);
    color: var(--openquota-color-primary-text);
    opacity: .9;
}

.openquota-reservation__calendar-button,
.openquota-reservation__calendar-button:hover,
.openquota-reservation__calendar-button:focus,
.openquota-reservation__calendar-button:focus-visible,
.openquota-reservation__calendar-button:active {
    border: 0;
    border-radius: var(--openquota-radius);
    background: transparent;
    color: var(--openquota-color-text);
    box-shadow: none;
    outline: 0;
}

.openquota-reservation__calendar-button:hover:not(:disabled),
.openquota-reservation__calendar-button:focus:not(:disabled),
.openquota-reservation__calendar-button:active:not(:disabled) {
    background: var(--openquota-color-soft);
    color: var(--openquota-color-text);
}

.openquota-reservation__calendar-day,
.openquota-reservation__calendar-day:hover,
.openquota-reservation__calendar-day:focus,
.openquota-reservation__calendar-day:focus-visible,
.openquota-reservation__calendar-day:active {
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--openquota-color-text);
    box-shadow: none;
    outline: 0;
}

.openquota-reservation__calendar-day:hover:not(:disabled):not([aria-selected="true"]),
.openquota-reservation__calendar-day:focus:not(:disabled):not([aria-selected="true"]),
.openquota-reservation__calendar-day:active:not(:disabled):not([aria-selected="true"]) {
    background: var(--openquota-color-soft);
    color: var(--openquota-color-text);
}

.openquota-reservation__calendar-day[aria-selected="true"],
.openquota-reservation__calendar-day[aria-selected="true"]:hover,
.openquota-reservation__calendar-day[aria-selected="true"]:focus,
.openquota-reservation__calendar-day[aria-selected="true"]:active {
    background: var(--openquota-color-primary);
    color: #fff;
}

.openquota-reservation__calendar-day:disabled,
.openquota-reservation__calendar-day:disabled:hover,
.openquota-reservation__calendar-day:disabled:focus,
.openquota-reservation__calendar-day:disabled:active {
    background: transparent;
    color: var(--openquota-color-text);
}

.openquota-reservation__summary-action,
.openquota-reservation__summary-action:hover,
.openquota-reservation__summary-action:focus,
.openquota-reservation__summary-action:focus-visible,
.openquota-reservation__summary-action:active {
    border: 0;
    background: transparent;
    color: var(--openquota-color-muted);
    box-shadow: none;
    outline: 0;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.openquota-reservation__time-option,
.openquota-reservation__time-option:hover,
.openquota-reservation__time-option:focus,
.openquota-reservation__time-option:focus-visible,
.openquota-reservation__time-option:active {
    border: 1px solid var(--openquota-color-border);
    border-radius: var(--openquota-radius);
    background: #fff;
    color: var(--openquota-color-text);
    box-shadow: none;
    outline: 0;
}

.openquota-reservation__time-option:hover:not([aria-pressed="true"]),
.openquota-reservation__time-option:focus:not([aria-pressed="true"]),
.openquota-reservation__time-option:active:not([aria-pressed="true"]) {
    border-color: var(--openquota-color-border);
    background: var(--openquota-color-soft);
    color: var(--openquota-color-text);
}

.openquota-reservation__time-option[aria-pressed="true"],
.openquota-reservation__time-option[aria-pressed="true"]:hover,
.openquota-reservation__time-option[aria-pressed="true"]:focus,
.openquota-reservation__time-option[aria-pressed="true"]:active {
    border-color: var(--openquota-color-primary);
    background: var(--openquota-color-primary);
    color: #fff;
}

.openquota-reservation__message,
.openquota-reservation__message:hover,
.openquota-reservation__message:focus,
.openquota-reservation__message:active,
.openquota-reservation__message-title,
.openquota-reservation__message-title:hover,
.openquota-reservation__message-title:focus,
.openquota-reservation__message-title:active {
    background: transparent;
    box-shadow: none;
    text-decoration: none;
}

/* ==========================================================
   OPENQUOTA — corrections graphiques résiduelles
   ========================================================== */

.openquota-reservation input[type="number"].openquota-reservation__people-input,
.openquota-reservation input[type="number"].openquota-reservation__people-input:hover,
.openquota-reservation input[type="number"].openquota-reservation__people-input:focus,
.openquota-reservation input[type="number"].openquota-reservation__people-input:focus-visible,
.openquota-reservation input[type="number"].openquota-reservation__people-input:active {
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-right: 1px solid var(--openquota-color-border) !important;
    border-left: 1px solid var(--openquota-color-border) !important;
    border-radius: 0 !important;
}

.openquota-reservation .openquota-reservation__button,
.openquota-reservation .openquota-reservation__button:hover,
.openquota-reservation .openquota-reservation__button:focus,
.openquota-reservation .openquota-reservation__button:focus-visible,
.openquota-reservation .openquota-reservation__button:active {
    border-radius: var(--openquota-radius) !important;
}

.openquota-reservation .openquota-reservation__calendar-button,
.openquota-reservation .openquota-reservation__calendar-button:hover,
.openquota-reservation .openquota-reservation__calendar-button:focus,
.openquota-reservation .openquota-reservation__calendar-button:focus-visible,
.openquota-reservation .openquota-reservation__calendar-button:active {
    border-radius: var(--openquota-radius) !important;
}

.openquota-reservation .openquota-reservation__calendar-day,
.openquota-reservation .openquota-reservation__calendar-day:hover,
.openquota-reservation .openquota-reservation__calendar-day:focus,
.openquota-reservation .openquota-reservation__calendar-day:focus-visible,
.openquota-reservation .openquota-reservation__calendar-day:active {
    border-radius: 6px !important;
}

.openquota-reservation .openquota-reservation__time-option,
.openquota-reservation .openquota-reservation__time-option:hover,
.openquota-reservation .openquota-reservation__time-option:focus,
.openquota-reservation .openquota-reservation__time-option:focus-visible,
.openquota-reservation .openquota-reservation__time-option:active {
    border: 1px solid var(--openquota-color-border) !important;
    border-radius: var(--openquota-radius) !important;
}

/* OPENQUOTA — alignement CTA final et champs de contact */
.openquota-reservation .openquota-reservation__actions {
    grid-template-columns: 1fr;
    gap: 0;
}

.openquota-reservation .openquota-reservation__actions .openquota-reservation__button,
.openquota-reservation [data-openquota-confirmation] {
    width: 100%;
}

.openquota-reservation input[type="text"].openquota-reservation__input,
.openquota-reservation input[type="email"].openquota-reservation__input,
.openquota-reservation input[type="tel"].openquota-reservation__input,
.openquota-reservation input[type="text"].openquota-reservation__input:hover,
.openquota-reservation input[type="email"].openquota-reservation__input:hover,
.openquota-reservation input[type="tel"].openquota-reservation__input:hover,
.openquota-reservation input[type="text"].openquota-reservation__input:focus,
.openquota-reservation input[type="email"].openquota-reservation__input:focus,
.openquota-reservation input[type="tel"].openquota-reservation__input:focus {
    border-radius: var(--openquota-radius) !important;
}

