/* Shared flat button theme. Loaded after the legacy component styles.
   Labels, destinations, responsive widths and control behaviour stay in place. */
body.frc-buttons-light {
  --frc-btn-bg: #075985;
  --frc-btn-ink: #ffffff;
  --frc-btn-edge: #075985;
  --frc-btn-hover-bg: #0b3a5b;
  --frc-btn-hover-ink: #ffffff;
  --frc-btn-hover-edge: #0b3a5b;
  --frc-btn-active-bg: #082f49;
  --frc-btn-padding: 10px 18px;
  --frc-btn-line-height: 1.35;
  --frc-btn-shadow: none;
  --frc-btn-outline: 0;
  --frc-btn-duration: .18s;
}

/* The component selectors match the specificity of the old cove and header
   rules. Custom properties keep variants and interaction states consistent. */
html body.frc-buttons-light[class] .page.page :is(
  a.button.button,
  button.button.button,
  input.button.button,
  .frc-contact-actions.frc-contact-actions > a.button.button,
  .swiper-slide-caption.swiper-slide-caption a.button.button,
  .page-header.frc-nav-ready.frc-nav-ready .rd-navbar-nav-wrap__element .button.button,
  section.section-lg:is(.bg-default, .bg-gray-lighter) > .container > .row > .col-md-10.col-lg-6:first-child > a.button.button
) {
  box-sizing: border-box !important;
  min-height: 44px !important;
  height: auto !important;
  max-height: none !important;
  padding: var(--frc-btn-padding) !important;
  border: 1px solid var(--frc-btn-edge) !important;
  border-radius: 10px !important;
  background: var(--frc-btn-bg) !important;
  color: var(--frc-btn-ink) !important;
  -webkit-text-fill-color: var(--frc-btn-ink) !important;
  font-weight: 600 !important;
  line-height: var(--frc-btn-line-height) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: none !important;
  box-shadow: var(--frc-btn-shadow) !important;
  outline: var(--frc-btn-outline) !important;
  outline-offset: 3px !important;
  /* The old 16px clipping mask cuts the new 10px border and keyboard ring. */
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  contain: none !important;
  overflow: visible !important;
  filter: none !important;
  transform: none !important;
  white-space: normal !important;
  transition: background-color var(--frc-btn-duration) ease, border-color var(--frc-btn-duration) ease, color var(--frc-btn-duration) ease !important;
}

body.frc-buttons-light .button:is(.button-primary-outline, .frc-contact-secondary) {
  --frc-btn-bg: #f5f9fc;
  --frc-btn-ink: #075985;
  --frc-btn-edge: #5b8da8;
  --frc-btn-hover-bg: #e6f2f9;
  --frc-btn-hover-ink: #075985;
  --frc-btn-hover-edge: #075985;
  --frc-btn-active-bg: #d8edf8;
}

/* A flat warm accent preserves the booking action's visual priority. */
body.frc-buttons-light .page-header .rd-navbar-nav-wrap__element .button {
  --frc-btn-bg: #c2410c;
  --frc-btn-ink: #ffffff;
  --frc-btn-edge: #c2410c;
  --frc-btn-hover-bg: #9a3412;
  --frc-btn-hover-ink: #ffffff;
  --frc-btn-hover-edge: #9a3412;
  --frc-btn-active-bg: #7c2d12;
  --frc-btn-padding: 8px 12px;
  --frc-btn-line-height: 1.2;
}

body.frc-buttons-light .swiper-slide-caption .button {
  --frc-btn-edge: #bae6fd;
  --frc-btn-hover-edge: #ffffff;
}

body.frc-buttons-light .frc-fleet-section .button,
body.frc-buttons-light .frc-content-actions .button {
  --frc-btn-padding: 10px 14px;
}

body.frc-buttons-light .button.button:is(:hover, :focus-visible) {
  --frc-btn-bg: var(--frc-btn-hover-bg);
  --frc-btn-ink: var(--frc-btn-hover-ink);
  --frc-btn-edge: var(--frc-btn-hover-edge);
}

body.frc-buttons-light .button.button:active {
  --frc-btn-bg: var(--frc-btn-active-bg);
}

/* Keyboard focus stays clear on both white sections and dark hero imagery. */
body.frc-buttons-light .button:focus-visible {
  --frc-btn-outline: 3px solid #ffffff;
  --frc-btn-shadow: 0 0 0 6px #075985;
}

body.frc-buttons-light .button.button:is(:disabled, [disabled], .disabled, [aria-disabled="true"]) {
  --frc-btn-bg: #e8eff5;
  --frc-btn-ink: #31465b;
  --frc-btn-edge: #8ba5bf;
}

/* Icon controls keep their existing size and positioning; only their finish
   is simplified, preserving menu, gallery and back-to-top visibility rules. */
html body.frc-buttons-light .frc-scroll-top:not(:focus-visible),
html body.frc-buttons-light[class] .page.page .page-header.frc-nav-ready.frc-nav-ready .rd-navbar-toggle:not(:focus-visible),
html body.frc-buttons-light[class] .page.page .swiper-form-wrap.frc-video-only-hero .frc-video-control:not(:focus-visible),
html body.frc-buttons-light[class] .page.page .owl-carousel.carousel-post-gallery :is(.owl-prev, .owl-next):not(:focus-visible),
html body.frc-buttons-light .frc-lightbox__button:not(:focus-visible) {
  box-shadow: none !important;
  filter: none !important;
}

html body.frc-buttons-light[class] .page.page .swiper-form-wrap.frc-video-only-hero .frc-video-control {
  border-radius: 10px !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

@media (max-width: 767.98px) {
  body.frc-buttons-light {
    --frc-btn-padding: 10px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.frc-buttons-light {
    --frc-btn-duration: 0s;
  }
}

@media (forced-colors: active) {
  body.frc-buttons-light .button {
    --frc-btn-bg: ButtonFace !important;
    --frc-btn-ink: ButtonText !important;
    --frc-btn-edge: ButtonText !important;
    --frc-btn-shadow: none !important;
  }

  body.frc-buttons-light .button:focus-visible {
    --frc-btn-outline: 3px solid Highlight !important;
  }
}
