/**
 * 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;
}

/* CTA primaire parcours (ex. « Utiliser mon véhicule ») */
: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-booking-btn-primary:not(:disabled) {
  background: var(--sp-wp-primary, #32678a) !important;
  background-color: var(--sp-wp-primary, #32678a) !important;
  background-image: none !important;
  color: var(--sp-wp-base, #ffffff) !important;
  border: none !important;
  box-shadow: none !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-booking-btn-primary:not(:disabled):is(
    :hover,
    :focus,
    :focus-visible,
    :active
  ) {
  background: color-mix(
    in oklab,
    var(--sp-wp-primary, #32678a) 88%,
    var(--sp-wp-contrast, #00142e)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-primary, #32678a) 88%,
    var(--sp-wp-contrast, #00142e)
  ) !important;
  background-image: none !important;
  color: var(--sp-wp-base, #ffffff) !important;
  border: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-base, #ffffff) !important;
  box-shadow: none !important;
}

/* Bannière CRM « Se connecter » — texte palette9 (Kadence force souvent palette3) */
: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-crm-login-banner__cta {
  background: var(--sp-wp-primary, #32678a) !important;
  background-color: var(--sp-wp-primary, #32678a) !important;
  background-image: none !important;
  color: var(
    --sp-wp-btn-filled-text,
    var(--global-palette9, var(--sp-wp-base, #ffffff))
  ) !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(
    --sp-wp-btn-filled-text,
    var(--global-palette9, 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-crm-login-banner__cta:is(:hover, :focus, :focus-visible, :active) {
  background: var(--sp-wp-primary, #32678a) !important;
  background-color: var(--sp-wp-primary, #32678a) !important;
  background-image: none !important;
  color: var(
    --sp-wp-btn-filled-text,
    var(--global-palette9, var(--sp-wp-base, #ffffff))
  ) !important;
  -webkit-text-fill-color: var(
    --sp-wp-btn-filled-text,
    var(--global-palette9, var(--sp-wp-base, #ffffff))
  ) !important;
  opacity: 0.9 !important;
  filter: none !important;
  box-shadow: none !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-crm-login-banner__cta
  :is(.sp-auth-login__label, .sp-auth-login__icon) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* Barre préremplissage véhicule — sous 500px : actions en pleine largeur
   pour ne pas écraser le libellé (ex. « Daily · AA-123-AA »). */
@media (max-width: 499px) {
  .sp-vehicle-prefill-bar > .sp-vehicle-prefill-bar__actions {
    flex: 1 1 100%;
    width: 100%;
    justify-content: stretch;
  }

  .sp-vehicle-prefill-bar
    > .sp-vehicle-prefill-bar__actions
    > :is(button, .relative) {
    flex: 1 1 auto;
    width: 100%;
  }

  .sp-vehicle-prefill-bar
    > .sp-vehicle-prefill-bar__actions
    > .relative
    > button {
    width: 100%;
  }

  .sp-vehicle-prefill-bar
    > .sp-vehicle-prefill-bar__actions
    > button.sp-booking-btn-primary {
    text-align: center;
    justify-content: center;
  }
}

/* Barre préremplissage véhicule — lien + menu déroulant */
: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-vehicle-prefill-btn-link {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--sp-wp-primary, #32678a) !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary, #32678a) !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-vehicle-prefill-btn-link:is(:hover, :focus, :focus-visible, :active) {
  background: color-mix(
    in oklab,
    var(--sp-wp-primary, #32678a) 8%,
    var(--sp-wp-base, #ffffff)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-primary, #32678a) 8%,
    var(--sp-wp-base, #ffffff)
  ) !important;
  background-image: none !important;
  color: var(--sp-wp-primary, #32678a) !important;
  border: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: var(--sp-wp-primary, #32678a) !important;
  box-shadow: none !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
  )
  .sp-vehicle-prefill-menu
  button.sp-vehicle-prefill-menu-btn {
  background: var(--sp-wp-base, #ffffff) !important;
  background-color: var(--sp-wp-base, #ffffff) !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !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
  )
  .sp-vehicle-prefill-menu
  button.sp-vehicle-prefill-menu-btn:not(
    .sp-vehicle-prefill-menu-btn--active
  ) {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !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
  )
  .sp-vehicle-prefill-menu
  button.sp-vehicle-prefill-menu-btn--active {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !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
  )
  .sp-vehicle-prefill-menu
  button.sp-vehicle-prefill-menu-btn:not(
    .sp-vehicle-prefill-menu-btn--active
  ):is(:hover, :focus, :focus-visible, :active) {
  background: #f8fafc !important;
  background-color: #f8fafc !important;
  background-image: none !important;
  color: #0f172a !important;
  border: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: none !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
  )
  .sp-vehicle-prefill-menu
  button.sp-vehicle-prefill-menu-btn--active:is(
    :hover,
    :focus,
    :focus-visible,
    :active
  ) {
  background: color-mix(
    in oklab,
    var(--sp-wp-primary, #32678a) 10%,
    var(--sp-wp-base, #ffffff)
  ) !important;
  background-color: color-mix(
    in oklab,
    var(--sp-wp-primary, #32678a) 10%,
    var(--sp-wp-base, #ffffff)
  ) !important;
  background-image: none !important;
  color: #0f172a !important;
  border: none !important;
  opacity: 1 !important;
  filter: none !important;
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: none !important;
}

/**
 * Radius contrôle (SpCustomizer) — force le plus petit arrondi sur boutons / steps / dates récap
 * face aux styles thème (Kadence) qui peuvent écraser les utilitaires Tailwind.
 */
: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
  )
  :is(
    button.np-step,
    button.np-step-mobile,
    button.sp-recap-reserve-btn,
    button.sp-mobile-recap-cart-btn,
    button.sp-mobile-nav-side-btn,
    button.sp-mobile-nav-next-btn-disabled,
    button.sp-mobile-top-date-btn,
    button.sp-booking-btn-primary,
    button.sp-booking-btn-secondary,
    button.sp-vehicle-prefill-btn-link,
    button.sp-vehicle-prefill-menu-btn,
    button.sp-product-card-cta,
    button.sp-crm-login-banner__cta,
    .sp-recap-date-row
  ) {
  border-radius: var(--sp-ma-radius-control, 12px) !important;
}
