/* CTA [sp_booking_quick_book] — une seule ligne (icône + label), métriques .button Kadence. */
.sp-booking-quick-book {
  --sp-qb-bg: var(--sp-color-btn-bg, var(--sp-color-primary, #32678a));
  --sp-qb-fg: var(--sp-color-btn-fg, var(--sp-color-base, #ffffff));
  --sp-qb-bg-hover: var(
    --sp-color-btn-bg-hover,
    var(--sp-color-secondary, #00142e)
  );
  --sp-qb-fg-hover: var(
    --sp-color-btn-fg-hover,
    var(--sp-color-base, #ffffff)
  );
  /* row !important : évite l’empilement icône/texte (svg block / flex-column thème). */
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center;
  gap: 0.4em;
  margin: 0;
  vertical-align: middle;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  font-family: inherit;
  font-weight: inherit;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.2s ease;
}

.sp-booking-quick-book--tone-secondary {
  --sp-qb-bg: var(--sp-color-secondary, var(--sp-color-secondary, #00142e));
  --sp-qb-fg: var(--sp-color-btn-fg, var(--sp-color-base, #ffffff));
  --sp-qb-bg-hover: var(
    --sp-color-secondary,
    var(--sp-color-primary, #32678a)
  );
  --sp-qb-fg-hover: var(
    --sp-color-btn-fg-hover,
    var(--sp-color-base, #ffffff)
  );
}

/* Couleurs forcées ; métriques : Kadence `.button` si présent, sinon fallback plugin. */
.sp-booking-quick-book.button.sp-booking-quick-book--button,
.sp-booking-quick-book--button {
  border: 0 !important;
  border-radius: 3px !important;
  background: var(--sp-qb-bg) !important;
  background-color: var(--sp-qb-bg) !important;
  background-image: none !important;
  color: var(--sp-qb-fg) !important;
  -webkit-text-fill-color: var(--sp-qb-fg) !important;
  text-decoration: none;
}

.sp-booking-quick-book--button:not(.button) {
  font-size: 1rem;
}

.sp-booking-quick-book.button.sp-booking-quick-book--button:hover,
.sp-booking-quick-book.button.sp-booking-quick-book--button:focus,
.sp-booking-quick-book.button.sp-booking-quick-book--button:focus-visible,
.sp-booking-quick-book.button.sp-booking-quick-book--button:active,
.sp-booking-quick-book--button:hover,
.sp-booking-quick-book--button:focus,
.sp-booking-quick-book--button:focus-visible,
.sp-booking-quick-book--button:active {
  background: var(--sp-qb-bg-hover) !important;
  background-color: var(--sp-qb-bg-hover) !important;
  background-image: none !important;
  color: var(--sp-qb-fg-hover) !important;
  -webkit-text-fill-color: var(--sp-qb-fg-hover) !important;
  text-decoration: none;
  box-shadow: 0 15px 25px -7px rgba(0, 0, 0, 0.1);
}

.sp-booking-quick-book--link {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--sp-qb-bg) !important;
  -webkit-text-fill-color: var(--sp-qb-bg) !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  box-shadow: none;
}

.sp-booking-quick-book--link:hover,
.sp-booking-quick-book--link:focus-visible {
  background: transparent !important;
  color: var(--sp-qb-bg-hover) !important;
  -webkit-text-fill-color: var(--sp-qb-bg-hover) !important;
  text-decoration: underline;
  box-shadow: none;
}

.sp-booking-quick-book:disabled,
.sp-booking-quick-book[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none !important;
}

.sp-booking-quick-book__icon {
  flex: 0 0 auto !important;
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sp-booking-quick-book__label {
  flex: 0 1 auto;
  display: inline !important;
  line-height: inherit;
  white-space: nowrap;
}
