.bc-button,
.elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 44px;
    border: 0;
    border-radius: var(--bc-radius-sm);
    padding: 14px 20px;
    font-family: var(--bc-font-body);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bc-button--primary,
.elementor-button {
    background: var(--bc-color-blue);
    color: var(--bc-color-white);
}

.bc-button--primary:hover,
.elementor-button:hover {
    background: var(--bc-color-blue-hover);
    color: var(--bc-color-white);
}

.bc-card {
    background: var(--bc-color-white);
    border-radius: var(--bc-radius-sm);
    box-shadow: var(--bc-shadow-soft);
    overflow: hidden;
}

.bc-card--padded {
    padding: 40px;
}

.bc-input,
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
select,
textarea {
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--bc-color-border);
    border-radius: 0;
    background: var(--bc-color-white);
    color: var(--bc-color-text);
    font-family: var(--bc-font-body);
    font-size: 1rem;
    outline: 0;
}

input:focus,
select:focus,
textarea:focus {
    border-bottom-color: var(--bc-color-yellow);
}

.bc-accordion {
    border-top: 2px solid rgba(224,225,234,.5);
}

.bc-accordion__item {
    padding: 10px 0 5px;
    border-top: 2px solid rgba(224,225,234,.5);
}

.bc-accordion__title {
    font-family: var(--bc-font-heading);
    font-size: 1.5rem;
    font-weight: 600;
}

.bc-destination-card {
    display: block;
    background: var(--bc-color-white);
    box-shadow: 0 3px 5px rgba(224,225,234,.5);
    text-decoration: none;
    overflow: hidden;
}

.bc-destination-card img {
    width: 100%;
    aspect-ratio: 398 / 242;
    object-fit: cover;
    transition: transform .25s ease;
}

.bc-destination-card:hover img {
    transform: scale(1.02);
}

.bc-destination-card__label {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    color: var(--bc-color-text);
    font-family: var(--bc-font-body);
}
