/* Direct booking link CTA */
.booking-link-cta {
    padding-top: clamp(2.5rem, 6vw, 4.5rem);
    padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.booking-link-cta__inner {
    display: flex;
    justify-content: center;
    width: 100%;
    text-align: center;
}

.booking-link-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 4rem;
    max-width: 42rem;
    padding: 1rem 2rem;
    border: 1px solid var(--ocf-primary);
    border-radius: var(--button-radius);
    background: var(--ocf-primary);
    box-shadow: var(--button-shadow);
    color: var(--ocf-heading-alt);
    font-family: var(--ocf-font-body), sans-serif;
    font-size: clamp(1rem, 2vw, 1.125rem);
    font-weight: var(--font-weight-semibold);
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    transition: background var(--duration) var(--ease), border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);
}

.booking-link-cta__button:hover,
.booking-link-cta__button:focus-visible {
    background: var(--ocf-primary-hover);
    border-color: var(--ocf-primary-hover);
    box-shadow: var(--button-shadow-hover);
    color: var(--ocf-heading-alt);
    transform: var(--button-transform-hover);
}

.booking-link-cta__button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--ocf-primary) 35%, white);
    outline-offset: 3px;
}

@media (max-width: 639px) {
    .booking-link-cta__button {
        width: 100%;
        min-height: 4.25rem;
        padding: 1rem 1.25rem;
    }
}
