/**
 * Surcharges boutons booking — chargé en dernier (après Kadence / child theme).
 * Annule button:hover global WP/Kadence sur les CTA React isolés.
 */

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-recap-cart-btn:not(:disabled) {
  background: var(--sp-wp-base, #ffffff) !important;
  background-color: var(--sp-wp-base, #ffffff) !important;
  background-image: none !important;
  color: var(--sp-wp-primary) !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary) !important;
  -webkit-tap-highlight-color: transparent;
}

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-recap-cart-btn:not(:disabled):is(
    :hover,
    :focus,
    :focus-visible,
    :active
  ) {
  background: color-mix(
    in oklab,
    var(--sp-wp-contrast) 6%,
    var(--sp-wp-base)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-contrast) 6%,
    var(--sp-wp-base)
  ) !important;
  background-image: none !important;
  color: var(--sp-wp-primary) !important;
  border: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary) !important;
  box-shadow: 0 4px 14px
    color-mix(in oklab, var(--sp-wp-contrast) 16%, transparent) !important;
}

/* Bouton « Réserver » — outline blanc/vert (désactivé) ou plein vert + ombre (actif) */
:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-recap-reserve-btn[data-ready="true"] {
  background: var(--sp-wp-success, #2e7d32) !important;
  background-color: var(--sp-wp-success, #2e7d32) !important;
  background-image: none !important;
  color: var(--sp-wp-base, #ffffff) !important;
  border: 2px solid var(--sp-wp-success, #2e7d32) !important;
  box-shadow: 0 4px 16px
    color-mix(in oklab, var(--sp-wp-success, #2e7d32) 36%, transparent) !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-base, #ffffff) !important;
  -webkit-tap-highlight-color: transparent;
}

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-recap-reserve-btn[data-ready="true"]:not(:disabled):is(
    :hover,
    :focus,
    :focus-visible,
    :active
  ) {
  background: color-mix(
    in oklab,
    var(--sp-wp-success, #2e7d32) 92%,
    var(--sp-wp-contrast, #00142e)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-success, #2e7d32) 92%,
    var(--sp-wp-contrast, #00142e)
  ) !important;
  background-image: none !important;
  color: var(--sp-wp-base, #ffffff) !important;
  border: 2px solid var(--sp-wp-success, #2e7d32) !important;
  box-shadow: 0 6px 20px
    color-mix(in oklab, var(--sp-wp-success, #2e7d32) 42%, transparent) !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-base, #ffffff) !important;
}

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-recap-reserve-btn[data-ready="false"] {
  background: var(--sp-wp-base, #ffffff) !important;
  background-color: var(--sp-wp-base, #ffffff) !important;
  background-image: none !important;
  color: var(--sp-wp-success, #2e7d32) !important;
  border: 2px solid var(--sp-wp-success, #2e7d32) !important;
  box-shadow: none !important;
  opacity: 0.72 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-success, #2e7d32) !important;
  cursor: pointer !important;
}

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-recap-reserve-btn[data-ready="false"][data-busy="true"] {
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Boutons Précédent / Suivant actif — surcharge :active Kadence */
:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-nav-side-btn:not(:disabled) {
  background: var(--sp-wp-base, #ffffff) !important;
  background-color: var(--sp-wp-base, #ffffff) !important;
  background-image: none !important;
  color: var(--sp-wp-primary) !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary) !important;
  -webkit-tap-highlight-color: transparent;
}

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-nav-side-btn:not(:disabled):is(
    :hover,
    :focus,
    :focus-visible,
    :active
  ) {
  background: color-mix(
    in oklab,
    var(--sp-wp-contrast) 6%,
    var(--sp-wp-base)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-contrast) 6%,
    var(--sp-wp-base)
  ) !important;
  background-image: none !important;
  color: var(--sp-wp-primary) !important;
  border: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary) !important;
  box-shadow: none !important;
}

/* Bouton Suivant désactivé — surcharge :active Kadence */
:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-nav-next-btn-disabled:disabled {
  background: color-mix(
    in oklab,
    var(--sp-wp-base, #ffffff) 58%,
    var(--sp-wp-primary, #32678a)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-base, #ffffff) 58%,
    var(--sp-wp-primary, #32678a)
  ) !important;
  background-image: none !important;
  color: var(--sp-wp-primary) !important;
  border: 1px solid
    color-mix(in oklab, var(--sp-wp-base, #ffffff) 22%, transparent) !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary) !important;
  -webkit-tap-highlight-color: transparent;
}

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-nav-next-btn-disabled:disabled:is(
    :hover,
    :focus,
    :focus-visible,
    :active
  ) {
  background: color-mix(
    in oklab,
    var(--sp-wp-base, #ffffff) 58%,
    var(--sp-wp-primary, #32678a)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-base, #ffffff) 58%,
    var(--sp-wp-primary, #32678a)
  ) !important;
  background-image: none !important;
  color: var(--sp-wp-primary) !important;
  border: 1px solid
    color-mix(in oklab, var(--sp-wp-base, #ffffff) 22%, transparent) !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary) !important;
  box-shadow: none !important;
}

/* Bouton dates — barre haute mobile (surcharge :active Kadence) */
:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-top-date-btn {
  background: var(--sp-wp-muted, #f8f9fa) !important;
  background-color: var(--sp-wp-muted, #f8f9fa) !important;
  background-image: none !important;
  color: var(--sp-wp-contrast) !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-contrast) !important;
  -webkit-tap-highlight-color: transparent;
}

:is(
    .entry-content .sp-booking-process-container,
    .entry-content .sp-booking-form-container,
    .sp-booking-process-container,
    .sp-booking-form-container,
    .sp-booking-process,
    .sp-booking-form,
    .sp-booking-portal,
    #wrapper
  )
  button.sp-mobile-top-date-btn:is(:hover, :focus, :focus-visible, :active) {
  background: var(--sp-wp-muted, #f8f9fa) !important;
  background-color: var(--sp-wp-muted, #f8f9fa) !important;
  background-image: none !important;
  color: var(--sp-wp-contrast) !important;
  border: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-contrast) !important;
  box-shadow: none !important;
}
