/**
 * Token-aligned button focus (overrides main.css legacy teal on .button:focus).
 * Loaded after main.css. Skins tune Book CTA via --dv-button-book-* in :root.
 */

.button:focus,
.button:focus-visible,
.menu-button a:focus,
.menu-button a:focus-visible,
.btn:focus,
.btn:focus-visible {
  background-color: var(--dv-button-bg);
  border-color: var(--dv-button-bg);
  color: var(--dv-button-color);
}

.button:hover:focus,
.button:hover:focus-visible,
.menu-button a:hover:focus,
.menu-button a:hover:focus-visible,
.btn:hover:focus,
.btn:hover:focus-visible {
  background-color: var(--dv-button-hover-bg);
  border-color: var(--dv-button-hover-bg);
  color: var(--dv-button-color);
}

.button--book:focus,
.button--book:focus-visible {
  background-color: var(--dv-button-book-bg, var(--dv-color-primary));
  border-color: var(--dv-button-book-bg, var(--dv-color-primary));
  color: var(--dv-button-book-color, var(--dv-color-primary-contrast));
}

.button--book:hover:focus,
.button--book:hover:focus-visible {
  background-color: var(--dv-button-book-hover-bg, var(--dv-color-accent));
  border-color: var(--dv-button-book-hover-bg, var(--dv-color-accent));
  color: var(--dv-button-book-hover-color, var(--dv-color-accent-contrast));
}

.button--clear:focus,
.button--clear:focus-visible {
  background-color: transparent;
  border-color: var(--dv-color-primary);
  color: var(--dv-color-primary);
}

.button--clear:hover:focus,
.button--clear:hover:focus-visible {
  background-color: var(--dv-color-primary);
  border-color: var(--dv-color-primary);
  color: var(--dv-color-primary-contrast);
}

.button--white:focus,
.button--white:focus-visible {
  background-color: transparent;
  border-color: var(--dv-color-bg-alt, #fff);
  color: var(--dv-color-primary-contrast, #fff);
}

.button--white:hover:focus,
.button--white:hover:focus-visible {
  background-color: var(--dv-color-bg-alt, #fff);
  border-color: var(--dv-color-bg-alt, #fff);
  color: var(--dv-color-primary);
}

.button--link:focus,
.button--link:focus-visible {
  background-color: transparent;
  color: var(--dv-color-primary);
  border-color: var(--dv-color-primary);
}

.booking-mask__button input:focus,
.booking-mask__button input:focus-visible,
.wpcf7-submit:focus,
.wpcf7-submit:focus-visible,
.newsletter__form input[type="submit"]:focus,
.newsletter__form input[type="submit"]:focus-visible,
.ff-btn-submit:focus,
.ff-btn-submit:focus-visible {
  background-color: var(--dv-button-bg);
  border-color: var(--dv-button-bg);
  color: var(--dv-button-color);
}

.booking-mask__button input:hover:focus,
.booking-mask__button input:hover:focus-visible,
.wpcf7-submit:hover:focus,
.wpcf7-submit:hover:focus-visible,
.newsletter__form input[type="submit"]:hover:focus,
.newsletter__form input[type="submit"]:hover:focus-visible,
.ff-btn-submit:hover:focus,
.ff-btn-submit:hover:focus-visible {
  background-color: var(--dv-button-hover-bg);
  border-color: var(--dv-button-hover-bg);
  color: var(--dv-button-color);
}
