/* =============================================================================
   PUBLISHERS VALLEY — BUTTON STYLES
   Gold and outline CTAs share a skewed plum hover wipe.
   Gold fills remain visible beneath the wipe; reduced-motion is respected.
   ============================================================================= */

/* --- Shared layout --- */
.btn-cta-primary,
.btn-cta-secondary,
.btn-primary-custom,
.btn-secondary-custom,
.btn-submit,
.btn-submit-modal,
.pv-btn,
.pv-btn-primary,
.pv-btn-blue,
.pv-btn-outline,
.pv-btn-ink-outline,
.pv-btn-gold,
.pv-btn-teal,
.pv-btn-outline-light,
.bp-page .btn-primary,
.bp-page .btn-ghost,
.bp-page .btn-ghost-ink,
.bp-page .btn-gold,
.bp-page .btn-sky,
.bp-page .btn-outline,
.btn-cpb-primary,
.btn-cpb,
.cpb-btn-primary,
.btn-cpb-outline,
.btn-form-submit,
.header-main .navbar-menu .nav-btns .contact,
.header-top .professional-book .form button,
.main-left-btns ul li button,
.bbook-contact .start,
.bbook-contact .contact,
.hero-offer-form .btn-submit {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  vertical-align: middle !important;
  isolation: isolate !important;
  font-family: inherit !important;
  transition: color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease,
              filter 0.25s ease !important;
}

.btn-cta-primary i,
.btn-cta-secondary i,
.btn-primary-custom i,
.btn-secondary-custom i,
.pv-btn i,
.pv-btn-primary i,
.pv-btn-blue i,
.pv-btn-outline i,
.bp-page .btn-primary i,
.bp-page .btn-ghost i,
.bp-page .btn-outline i,
.header-main .navbar-menu .nav-btns .contact i,
.main-left-btns ul li button i,
.bbook-contact .start i,
.bbook-contact .chat i,
.bbook-contact .contact i {
  color: inherit !important;
  position: static !important;
  z-index: auto !important;
}

/* The skewed wipe is reserved for gold-filled buttons. */
.btn-cta-primary::before,
.btn-primary-custom::before,
.btn-submit::before,
.btn-submit-modal::before,
.pv-btn-primary::before,
.pv-btn-gold::before,
.pv-btn-teal::before,
.bp-page .btn-primary::before,
.bp-page .btn-gold::before,
.bp-page .btn-sky::before,
.btn-cpb-primary::before,
.btn-cpb::before,
.cpb-btn-primary::before,
.btn-form-submit::before,
.header-main .navbar-menu .nav-btns .contact::before,
.header-top .professional-book .form button::before,
.main-left-btns ul li button:not(.chat)::before,
.bbook-contact .start::before,
.hero-offer-form .btn-submit::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -1;
  pointer-events: none;
  background: var(--valley-plum-950, #260f2a);
  transform: translateX(-110%) skewX(-24deg);
  transition: transform 500ms cubic-bezier(0.65, 0, 0.35, 1);
}

/* =============================================================================
   GOLD BUTTONS
   Rest: gold fill + dark text + gold border
   Hover: gold fill remains; the plum wipe passes under white text
   ============================================================================= */
.btn-cta-primary,
.btn-primary-custom,
.btn-submit,
.btn-submit-modal,
.pv-btn-primary,
.pv-btn-gold,
.pv-btn-teal,
.bp-page .btn-primary,
.bp-page .btn-gold,
.bp-page .btn-sky,
.btn-cpb-primary,
.btn-cpb,
.cpb-btn-primary,
.btn-form-submit,
.header-main .navbar-menu .nav-btns .contact,
.header-top .professional-book .form button,
.main-left-btns ul li button,
.bbook-contact .start,
.hero-offer-form .btn-submit {
  background: linear-gradient(135deg, var(--valley-gold-700, #a98235), var(--valley-gold-100, #f6e4ae) 54%, var(--valley-gold-500, #d8b65e)) !important;
  color: #260f2a !important;
  border: 2px solid var(--valley-gold-500, #d8b65e) !important;
  box-shadow: 0 4px 16px rgba(169, 130, 53, 0.35) !important;
}

.btn-cta-primary,
.btn-primary-custom,
.bbook-contact .start,
.header-main .navbar-menu .nav-btns .contact,
.header-top .professional-book .form button,
.main-left-btns ul li button {
  padding: 12px 28px !important;
  font-size: 15px !important;
}

.btn-submit,
.hero-offer-form .btn-submit {
  padding: 14px 32px !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  width: 100% !important;
  margin-top: 8px !important;
}

.btn-submit-modal,
.launch-modal .btn-submit-modal {
  padding: 15px 50px !important;
  font-size: 18px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  width: auto !important;
}

.bp-page .btn-primary,
.bp-page .btn-gold,
.bp-page .btn-sky,
.btn-cpb-primary,
.btn-cpb,
.btn-form-submit {
  padding: 12px 28px !important;
}

.btn-cta-primary:hover,
.btn-cta-primary:focus,
.btn-primary-custom:hover,
.btn-primary-custom:focus,
.btn-submit:hover,
.btn-submit:focus,
.btn-submit-modal:hover,
.btn-submit-modal:focus,
.launch-modal .btn-submit-modal:hover,
.pv-btn-primary:hover,
.pv-btn-primary:focus,
.pv-btn-gold:hover,
.pv-btn-gold:focus,
.pv-btn-teal:hover,
.pv-btn-teal:focus,
.bp-page .btn-primary:hover,
.bp-page .btn-gold:hover,
.bp-page .btn-sky:hover,
.btn-cpb-primary:hover,
.btn-cpb:hover,
.btn-form-submit:hover,
.header-main .navbar-menu .nav-btns .contact:hover,
.header-top .professional-book .form button:hover,
.main-left-btns ul li button:not(.chat):hover,
.bbook-contact .start:hover,
.hero-offer-form .btn-submit:hover {
  color: #ffffff !important;
  border-color: var(--valley-gold-500, #d8b65e) !important;
  box-shadow: 0 8px 24px rgba(122, 92, 28, 0.45) !important;
  transform: translateY(-2px) !important;
  filter: none !important;
}

/* =============================================================================
   PURPLE / OUTLINE BUTTONS
   Rest: transparent or plum fill + WHITE text + gold/plum border
   Hover: darker plum fill, same border, white text
   ============================================================================= */
.btn-cta-secondary,
.btn-secondary-custom,
.bbook-contact .contact,
.pv-btn-outline,
.pv-btn-outline-light,
.bp-page .btn-ghost,
.bp-page .btn-outline,
.btn-cpb-outline {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid var(--valley-gold-500, #d8b65e) !important;
  box-shadow: none !important;
}

/* Outline phone CTAs are also used on light hero backgrounds. */
.btn-cta-secondary,
.bbook-contact .contact {
  color: #260f2a !important;
}

.btn-cta-secondary,
.btn-secondary-custom,
.bbook-contact .contact,
.bp-page .btn-ghost,
.bp-page .btn-outline,
.btn-cpb-outline {
  padding: 12px 28px !important;
  font-size: 15px !important;
}

/* Filled purple */
.pv-btn-blue {
  background: var(--valley-plum-700, #512054) !important;
  color: #ffffff !important;
  border: 2px solid var(--valley-plum-700, #512054) !important;
  box-shadow: 0 4px 16px rgba(81, 32, 84, 0.35) !important;
}

/* Ink outline on light cards: dark text so it reads on white */
.pv-btn-ink-outline,
.bp-page .btn-ghost-ink {
  background: transparent !important;
  color: #260f2a !important;
  border: 2px solid var(--valley-plum-800, #401945) !important;
  padding: 12px 28px !important;
}

/* Hero Live Chat sits next to a gold Get Started — treat it as outline/purple */
.main-left-btns ul li button.chat {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid var(--valley-gold-500, #d8b65e) !important;
  box-shadow: none !important;
}

.bbook-contact .chat {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid var(--valley-gold-500, #d8b65e) !important;
  box-shadow: none !important;
  transition: color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}

.btn-cta-secondary:hover,
.btn-cta-secondary:focus,
.btn-secondary-custom:hover,
.btn-secondary-custom:focus,
.bbook-contact .contact:hover,
.bbook-contact .contact:focus,
.pv-btn-outline:hover,
.pv-btn-outline:focus,
.pv-btn-outline-light:hover,
.pv-btn-outline-light:focus,
.pv-btn-blue:hover,
.pv-btn-blue:focus,
.bp-page .btn-ghost:hover,
.bp-page .btn-outline:hover,
.btn-cpb-outline:hover,
.main-left-btns ul li button.chat:hover,
.main-left-btns ul li button.chat:focus {
  background: #1a0a1d !important;
  color: #ffffff !important;
  border-color: var(--valley-gold-500, #d8b65e) !important;
  box-shadow: 0 8px 24px rgba(26, 10, 29, 0.4) !important;
  transform: translateY(-2px) !important;
}

.bbook-contact .chat:hover,
.bbook-contact .chat:focus-visible {
  background: #1a0a1d !important;
  color: #ffffff !important;
  border-color: var(--valley-gold-500, #d8b65e) !important;
  box-shadow: 0 8px 24px rgba(26, 10, 29, 0.4) !important;
  transform: translateY(-2px) !important;
}

.pv-btn-blue:hover,
.pv-btn-blue:focus {
  border-color: var(--valley-plum-700, #512054) !important;
}

.pv-btn-ink-outline:hover,
.pv-btn-ink-outline:focus,
.bp-page .btn-ghost-ink:hover,
.bp-page .btn-ghost-ink:focus {
  background: #1a0a1d !important;
  color: #ffffff !important;
  border-color: var(--valley-plum-800, #401945) !important;
  transform: translateY(-2px) !important;
}

/* Light-section outline: keep dark text until hover */
.pv-section:not(.pv-section-dark) .pv-btn-outline,
.pv-hero:not(.pv-hero-dark) .pv-btn-outline {
  color: #260f2a !important;
}

.pv-section:not(.pv-section-dark) .pv-btn-outline:hover,
.pv-hero:not(.pv-hero-dark) .pv-btn-outline:hover {
  color: #ffffff !important;
}

/* Final CTA panels are dark even when their containing section is not. */
.pv-section:not(.pv-section-dark) .pv-final-cta .pv-btn-outline,
.pv-section:not(.pv-section-dark) .pv-final-cta .pv-btn-outline:focus {
  color: #ffffff !important;
}

/* High-contrast dark service panels. Several legacy page-level styles use the
   old blue palette, which becomes difficult to read on the Valley plum theme. */
.pv-section-dark .pv-n-card {
  background: #321337 !important;
  border-color: rgba(216, 182, 94, 0.35) !important;
}
.pv-section-dark .pv-n-card .voice-wave i {
  background: #d8b65e !important;
}
.pv-section-dark .pv-n-card h4 {
  color: #ffffff !important;
}
.pv-section-dark .pv-n-card p {
  color: #f4edf5 !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}
.pv-section-dark .pv-n-card .genres {
  color: #f6e4ae !important;
  font-size: 0.72rem !important;
}
.pv-meter {
  border: 1px solid rgba(216, 182, 94, 0.4) !important;
  background: #2b102f !important;
}
.pv-meter h4,
.pv-meter-row .lbl {
  color: #ffffff !important;
}
.pv-meter > p {
  color: #f4edf5 !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}
.pv-process-side {
  border: 1px solid rgba(216, 182, 94, 0.4) !important;
  background: #2b102f !important;
}
.pv-process-side .pv-eyebrow.on-dark,
.pv-process-side .pv-chip.on-dark {
  color: #f6e4ae !important;
}
.pv-process-side p {
  color: #f4edf5 !important;
  line-height: 1.7 !important;
}
.pv-process-side .pv-btn-blue {
  color: #260f2a !important;
  border-color: #d8b65e !important;
  background: linear-gradient(135deg, #a98235, #f6e4ae 55%, #d8b65e) !important;
}
.pv-tech-col.featured {
  border-color: rgba(216, 182, 94, 0.4) !important;
  background: #2b102f !important;
}
.pv-tech-col.featured .pv-tech-best {
  color: #f6e4ae !important;
}
.pv-tech-col.featured h3 {
  color: #ffffff !important;
}
.pv-tech-col.featured li {
  color: #f4edf5 !important;
}
.pv-tech-col.featured li::before {
  color: #d8b65e !important;
}
.pv-voice-card {
  border-color: rgba(216, 182, 94, 0.4) !important;
  background: linear-gradient(145deg, #260f2a, #401945) !important;
}
.pv-voice-card .quote-mark {
  color: #f6e4ae !important;
}
.pv-voice-card blockquote {
  color: #ffffff !important;
}
.pv-voice-card .author-tag {
  color: #f6e4ae !important;
}
.pv-voice-card .author-tag::before {
  background: #d8b65e !important;
}
.pv-voice-card .pv-waveform span {
  background: linear-gradient(180deg, #f6e4ae, #d8b65e) !important;
}

/* Dark sections always get white outline text */
.pv-section-dark .pv-btn-outline,
.pv-hero-dark .pv-btn-outline,
.cta-sec .btn-cta-secondary,
.cta__2 .btn-cta-secondary,
.cta-sec .bbook-contact .contact,
.cta__2 .bbook-contact .contact {
  color: #ffffff !important;
}

/* Pressed */
.btn-cta-primary:active,
.btn-cta-secondary:active,
.btn-primary-custom:active,
.btn-secondary-custom:active,
.btn-submit:active,
.btn-submit-modal:active,
.pv-btn-primary:active,
.pv-btn-blue:active,
.pv-btn-outline:active,
.bbook-contact .start:active,
.bbook-contact .chat:active,
.bbook-contact .contact:active {
  transform: translateY(0) !important;
}

/* Stats boxes are not buttons */
.pv-stats-container {
  position: static !important;
  overflow: visible !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

.pv-stats-container::before {
  display: none !important;
  content: none !important;
}

/* Beat later page CSS (services.css, book-cover.css) that forces white text on gold */
.pv-btn.pv-btn-primary,
.pv-btn.pv-btn-gold,
.pv-btn.pv-btn-teal,
a.pv-btn.pv-btn-primary,
a.pv-btn.pv-btn-gold,
button.pv-btn.pv-btn-primary {
  background: linear-gradient(135deg, var(--valley-gold-700, #a98235), var(--valley-gold-100, #f6e4ae) 54%, var(--valley-gold-500, #d8b65e)) !important;
  color: #260f2a !important;
  border: 2px solid var(--valley-gold-500, #d8b65e) !important;
}

.pv-btn.pv-btn-primary:hover,
.pv-btn.pv-btn-primary:focus,
.pv-btn.pv-btn-gold:hover,
.pv-btn.pv-btn-gold:focus,
.pv-btn.pv-btn-teal:hover,
.pv-btn.pv-btn-teal:focus,
a.pv-btn.pv-btn-primary:hover,
button.pv-btn.pv-btn-primary:hover {
  color: #ffffff !important;
  border-color: var(--valley-gold-500, #d8b65e) !important;
}

.pv-btn.pv-btn-blue,
a.pv-btn.pv-btn-blue {
  background: var(--valley-plum-700, #512054) !important;
  color: #ffffff !important;
  border: 2px solid var(--valley-plum-700, #512054) !important;
}

.pv-btn.pv-btn-blue:hover,
.pv-btn.pv-btn-blue:focus,
a.pv-btn.pv-btn-blue:hover {
  background: #1a0a1d !important;
  color: #ffffff !important;
  border-color: var(--valley-plum-700, #512054) !important;
}

.pv-btn.pv-btn-outline,
.pv-btn.pv-btn-outline-light,
a.pv-btn.pv-btn-outline {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid var(--valley-gold-500, #d8b65e) !important;
}

.pv-btn.pv-btn-outline:hover,
.pv-btn.pv-btn-outline:focus,
.pv-btn.pv-btn-outline-light:hover,
a.pv-btn.pv-btn-outline:hover {
  background: #1a0a1d !important;
  color: #ffffff !important;
  border-color: var(--valley-gold-500, #d8b65e) !important;
}

.pv-btn.pv-btn-ink-outline:hover,
.pv-btn.pv-btn-ink-outline:focus {
  background: #1a0a1d !important;
  color: #ffffff !important;
  border-color: var(--valley-plum-800, #401945) !important;
}

/* Site-wide CTA normalization: every call-to-action uses one of two styles.
   Interactive tabs, filters, and icon-only close controls remain unchanged. */
.pv-btn:not(.pv-btn-primary):not(.pv-btn-gold):not(.pv-btn-teal):not(.pv-btn-blue):not(.pv-btn-outline):not(.pv-btn-outline-light):not(.pv-btn-ink-outline),
.btn.btn-primary,
.btn.btn-gold,
.btn.btn-sky,
.btn-hero-slide-trigger,
.btn-hero-slide-submit,
.pv-cta-banner .pv-btn.pv-btn-blue,
.cta-actions .cta-phone,
.cta-direct-phone {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 28px !important;
  border: 2px solid var(--valley-gold-500, #d8b65e) !important;
  border-radius: 4px !important;
  color: #260f2a !important;
  background: linear-gradient(135deg, var(--valley-gold-700, #a98235), var(--valley-gold-100, #f6e4ae) 54%, var(--valley-gold-500, #d8b65e)) !important;
  box-shadow: 0 4px 16px rgba(169, 130, 53, 0.35) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease !important;
}

.pv-btn:not(.pv-btn-primary):not(.pv-btn-gold):not(.pv-btn-teal):not(.pv-btn-blue):not(.pv-btn-outline):not(.pv-btn-outline-light):not(.pv-btn-ink-outline):hover,
.btn.btn-primary:hover,
.btn.btn-gold:hover,
.btn.btn-sky:hover,
.btn-hero-slide-trigger:hover,
.btn-hero-slide-submit:hover,
.pv-cta-banner .pv-btn.pv-btn-blue:hover,
.cta-actions .cta-phone:hover,
.cta-direct-phone:hover {
  color: #ffffff !important;
  background: #260f2a !important;
  border-color: var(--valley-gold-500, #d8b65e) !important;
  box-shadow: 0 8px 24px rgba(38, 15, 42, 0.35) !important;
  transform: translateY(-2px) !important;
}

.btn.btn-ghost,
.btn.btn-outline,
.btn.btn-ghost-ink {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 12px 28px !important;
  border: 2px solid var(--valley-plum-700, #512054) !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  background: var(--valley-plum-700, #512054) !important;
  box-shadow: 0 4px 16px rgba(81, 32, 84, 0.35) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease !important;
}

.btn.btn-ghost:hover,
.btn.btn-outline:hover,
.btn.btn-ghost-ink:hover {
  color: #ffffff !important;
  background: #1a0a1d !important;
  border-color: var(--valley-gold-500, #d8b65e) !important;
  box-shadow: 0 8px 24px rgba(26, 10, 29, 0.4) !important;
  transform: translateY(-2px) !important;
}

.btn-cta-primary:hover,
.btn-cta-primary:focus-visible,
.btn-primary-custom:hover,
.btn-primary-custom:focus-visible,
.btn-submit:hover,
.btn-submit:focus-visible,
.btn-submit-modal:hover,
.btn-submit-modal:focus-visible,
.launch-modal .btn-submit-modal:hover,
.launch-modal .btn-submit-modal:focus-visible,
.pv-btn-primary:hover,
.pv-btn-primary:focus-visible,
.pv-btn-gold:hover,
.pv-btn-gold:focus-visible,
.pv-btn-teal:hover,
.pv-btn-teal:focus-visible,
.bp-page .btn-primary:hover,
.bp-page .btn-primary:focus-visible,
.bp-page .btn-gold:hover,
.bp-page .btn-gold:focus-visible,
.bp-page .btn-sky:hover,
.bp-page .btn-sky:focus-visible,
.btn-cpb-primary:hover,
.btn-cpb-primary:focus-visible,
.btn-cpb:hover,
.btn-cpb:focus-visible,
.cpb-btn-primary:hover,
.cpb-btn-primary:focus-visible,
.btn-form-submit:hover,
.btn-form-submit:focus-visible,
.header-main .navbar-menu .nav-btns .contact:hover,
.header-main .navbar-menu .nav-btns .contact:focus-visible,
.header-top .professional-book .form button:hover,
.header-top .professional-book .form button:focus-visible,
.main-left-btns ul li button:not(.chat):hover,
.main-left-btns ul li button:not(.chat):focus-visible,
.bbook-contact .start:hover,
.bbook-contact .start:focus-visible,
.hero-offer-form .btn-submit:hover,
.hero-offer-form .btn-submit:focus-visible,
.pv-btn.pv-btn-primary:hover,
.pv-btn.pv-btn-primary:focus-visible,
.pv-btn.pv-btn-gold:hover,
.pv-btn.pv-btn-gold:focus-visible,
.pv-btn.pv-btn-teal:hover,
.pv-btn.pv-btn-teal:focus-visible,
a.pv-btn.pv-btn-primary:hover,
a.pv-btn.pv-btn-primary:focus-visible,
a.pv-btn.pv-btn-gold:hover,
a.pv-btn.pv-btn-gold:focus-visible,
button.pv-btn.pv-btn-primary:hover,
button.pv-btn.pv-btn-primary:focus-visible {
  background: linear-gradient(135deg, var(--valley-gold-700, #a98235), var(--valley-gold-100, #f6e4ae) 54%, var(--valley-gold-500, #d8b65e)) !important;
  color: #ffffff !important;
}

.btn-cta-primary:hover *,
.btn-cta-primary:focus-visible *,
.btn-primary-custom:hover *,
.btn-primary-custom:focus-visible *,
.btn-submit:hover *,
.btn-submit:focus-visible *,
.btn-submit-modal:hover *,
.btn-submit-modal:focus-visible *,
.pv-btn-primary:hover *,
.pv-btn-primary:focus-visible *,
.pv-btn-gold:hover *,
.pv-btn-gold:focus-visible *,
.pv-btn-teal:hover *,
.pv-btn-teal:focus-visible *,
.bp-page .btn-primary:hover *,
.bp-page .btn-primary:focus-visible *,
.bp-page .btn-gold:hover *,
.bp-page .btn-gold:focus-visible *,
.bp-page .btn-sky:hover *,
.bp-page .btn-sky:focus-visible *,
.btn-cpb-primary:hover *,
.btn-cpb-primary:focus-visible *,
.btn-cpb:hover *,
.btn-cpb:focus-visible *,
.cpb-btn-primary:hover *,
.cpb-btn-primary:focus-visible *,
.btn-form-submit:hover *,
.btn-form-submit:focus-visible *,
.header-main .navbar-menu .nav-btns .contact:hover *,
.header-main .navbar-menu .nav-btns .contact:focus-visible *,
.header-top .professional-book .form button:hover *,
.header-top .professional-book .form button:focus-visible *,
.main-left-btns ul li button:not(.chat):hover *,
.main-left-btns ul li button:not(.chat):focus-visible *,
.bbook-contact .start:hover *,
.bbook-contact .start:focus-visible *,
.hero-offer-form .btn-submit:hover *,
.hero-offer-form .btn-submit:focus-visible *,
.pv-btn.pv-btn-primary:hover *,
.pv-btn.pv-btn-primary:focus-visible *,
.pv-btn.pv-btn-gold:hover *,
.pv-btn.pv-btn-gold:focus-visible *,
.pv-btn.pv-btn-teal:hover *,
.pv-btn.pv-btn-teal:focus-visible *,
a.pv-btn.pv-btn-primary:hover *,
a.pv-btn.pv-btn-primary:focus-visible *,
a.pv-btn.pv-btn-gold:hover *,
a.pv-btn.pv-btn-gold:focus-visible *,
button.pv-btn.pv-btn-primary:hover *,
button.pv-btn.pv-btn-primary:focus-visible * {
  color: #ffffff !important;
}

.btn-cta-primary:hover::before,
.btn-cta-primary:focus-visible::before,
.btn-primary-custom:hover::before,
.btn-primary-custom:focus-visible::before,
.btn-submit:hover::before,
.btn-submit:focus-visible::before,
.btn-submit-modal:hover::before,
.btn-submit-modal:focus-visible::before,
.pv-btn-primary:hover::before,
.pv-btn-primary:focus-visible::before,
.pv-btn-gold:hover::before,
.pv-btn-gold:focus-visible::before,
.pv-btn-teal:hover::before,
.pv-btn-teal:focus-visible::before,
.bp-page .btn-primary:hover::before,
.bp-page .btn-primary:focus-visible::before,
.bp-page .btn-gold:hover::before,
.bp-page .btn-gold:focus-visible::before,
.bp-page .btn-sky:hover::before,
.bp-page .btn-sky:focus-visible::before,
.btn-cpb-primary:hover::before,
.btn-cpb-primary:focus-visible::before,
.btn-cpb:hover::before,
.btn-cpb:focus-visible::before,
.cpb-btn-primary:hover::before,
.cpb-btn-primary:focus-visible::before,
.btn-form-submit:hover::before,
.btn-form-submit:focus-visible::before,
.header-main .navbar-menu .nav-btns .contact:hover::before,
.header-main .navbar-menu .nav-btns .contact:focus-visible::before,
.header-top .professional-book .form button:hover::before,
.header-top .professional-book .form button:focus-visible::before,
.main-left-btns ul li button:not(.chat):hover::before,
.main-left-btns ul li button:not(.chat):focus-visible::before,
.bbook-contact .start:hover::before,
.bbook-contact .start:focus-visible::before,
.hero-offer-form .btn-submit:hover::before,
.hero-offer-form .btn-submit:focus-visible::before,
.pv-btn.pv-btn-primary:hover::before,
.pv-btn.pv-btn-primary:focus-visible::before,
.pv-btn.pv-btn-gold:hover::before,
.pv-btn.pv-btn-gold:focus-visible::before,
.pv-btn.pv-btn-teal:hover::before,
.pv-btn.pv-btn-teal:focus-visible::before,
a.pv-btn.pv-btn-primary:hover::before,
a.pv-btn.pv-btn-primary:focus-visible::before,
a.pv-btn.pv-btn-gold:hover::before,
a.pv-btn.pv-btn-gold:focus-visible::before,
button.pv-btn.pv-btn-primary:hover::before,
button.pv-btn.pv-btn-primary:focus-visible::before {
  transform: translateX(0) skewX(0);
}

@media (prefers-reduced-motion: reduce) {
  .btn-cta-primary::before,
  .btn-primary-custom::before,
  .btn-submit::before,
  .btn-submit-modal::before,
  .pv-btn-primary::before,
  .pv-btn-gold::before,
  .pv-btn-teal::before,
  .bp-page .btn-primary::before,
  .bp-page .btn-gold::before,
  .bp-page .btn-sky::before,
  .btn-cpb-primary::before,
  .btn-cpb::before,
  .cpb-btn-primary::before,
  .btn-form-submit::before,
  .header-main .navbar-menu .nav-btns .contact::before,
  .header-top .professional-book .form button::before,
  .main-left-btns ul li button::before,
  .bbook-contact .start::before,
  .hero-offer-form .btn-submit::before {
    transition: none;
  }
}
