/* Shared color states for rectangular CTA buttons. Component files own sizing and layout. */
:is(
    .header-booking,
    .booking-bar__button,
    .home-partners__button,
    .site-footer__booking,
    .home-rooms__booking,
    .rooms-catalog-card__button,
    .services-card__more,
    .special-offer-cta__button,
    .restaurants-menu-card a,
    .restaurants-oko-card a,
    .home-about__button,
    .home-conference__booking,
    .conference-popup__submit,
    .business-booking__submit,
    .private-events-form__submit
) {
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

:is(
    .header-booking,
    .booking-bar__button,
    .home-partners__button,
    .site-footer__booking,
    .home-rooms__booking,
    .rooms-catalog-card__button--booking,
    .services-card__more,
    .special-offer-cta__button,
    .restaurants-menu-card a
):focus-visible {
    outline: 2px solid var(--color-primary-hover);
    outline-offset: 3px;
}

:is(
    .home-about__button,
    .home-conference__booking,
    .conference-popup__submit,
    .business-booking__submit,
    .private-events-form__submit,
    .restaurants-oko-card a,
    .rooms-catalog-card__button--details
):focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 3px;
}

@media (min-width: 1000px) {
    :is(
        .header-booking,
        .booking-bar__button,
        .home-partners__button,
        .site-footer__booking,
        .home-rooms__booking,
        .rooms-catalog-card__button--booking,
        .services-card__more,
        .special-offer-cta__button,
        .restaurants-menu-card a
    ) {
        color: var(--color-black);
        background-color: var(--color-gold);
        border-width: 1px;
        border-style: solid;
        border-color: var(--color-gold);
    }

    :is(
        .home-about__button,
        .home-conference__booking,
        .conference-popup__submit,
        .business-booking__submit,
        .private-events-form__submit,
        .restaurants-oko-card a
    ) {
        color: var(--color-white);
        background-color: var(--color-primary);
        border-width: 1px;
        border-style: solid;
        border-color: var(--color-primary);
    }

    :is(
        .rooms-catalog-card__button--details
    ) {
        color: var(--color-primary);
        background-color: transparent;
        border-width: 1px;
        border-style: solid;
        border-color: var(--color-primary);
    }
}

@media (min-width: 1000px) and (hover: hover) and (pointer: fine) {
    :is(
        .header-booking,
        .booking-bar__button,
        .home-partners__button,
        .site-footer__booking,
        .home-rooms__booking,
        .rooms-catalog-card__button--booking,
        .services-card__more,
        .special-offer-cta__button,
        .restaurants-menu-card a
    ):not([disabled]):not(.is-disabled):not([aria-disabled="true"]):hover {
        color: var(--color-black);
        background-color: var(--color-gold-hover);
        border-color: var(--color-gold-hover);
        box-shadow: none;
        filter: none;
        transform: none;
    }

    :is(
        .home-about__button,
        .home-conference__booking,
        .conference-popup__submit,
        .business-booking__submit,
        .private-events-form__submit,
        .restaurants-oko-card a
    ):not([disabled]):not(.is-disabled):not([aria-disabled="true"]):hover {
        color: var(--color-white);
        background-color: var(--color-primary-hover);
        border-color: var(--color-primary-hover);
        box-shadow: none;
        filter: none;
        transform: none;
    }

    :is(
        .rooms-catalog-card__button--details
    ):not([disabled]):not(.is-disabled):not([aria-disabled="true"]):hover {
        color: var(--color-white);
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        box-shadow: none;
        filter: none;
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .header-booking,
        .booking-bar__button,
        .home-partners__button,
        .site-footer__booking,
        .home-rooms__booking,
        .rooms-catalog-card__button,
        .services-card__more,
        .special-offer-cta__button,
        .restaurants-menu-card a,
        .restaurants-oko-card a,
        .home-about__button,
        .home-conference__booking,
        .conference-popup__submit,
        .business-booking__submit,
        .private-events-form__submit
    ) {
        transition-duration: 0.01ms;
    }
}
