.bt-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0, 0, 0, 0);
}

.bt-text-gradient {
    background: var(--bt-gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.bt-no-margin {
    margin: 0;
}

.bt-list-orange-discs li::marker {
    color: var(--bt-color-accent-orange);
    line-height: 1.75em;
}

.bt-text-center {
    text-align: center;
}

.bt-text-left {
    text-align: left;
}

.bt-type-h1 {
    font-family: var(--bt-font-family-heading);
    font-size: var(--bt-font-size-h1);
    font-weight: var(--bt-font-weight-black);
    line-height: var(--bt-line-height-tight);
}

.bt-type-h2 {
    font-family: var(--bt-font-family-heading);
    font-size: var(--bt-font-size-h2);
    font-weight: var(--bt-font-weight-black);
    line-height: var(--bt-line-height-tight);
}

.bt-type-h3 {
    font-family: var(--bt-font-family-heading);
    font-size: var(--bt-font-size-h3);
    font-weight: var(--bt-font-weight-black);
    line-height: var(--bt-line-height-tight);
}

.bt-type-h4 {
    font-family: var(--bt-font-family-heading);
    font-size: var(--bt-font-size-h4);
    font-weight: var(--bt-font-weight-black);
    line-height: var(--bt-line-height-tight);
}

.bt-type-h5 {
    font-family: var(--bt-font-family-heading);
    font-size: var(--bt-font-size-h5);
    font-weight: var(--bt-font-weight-semibold);
    line-height: var(--bt-line-height-normal);
}

.bt-type-p {
    font-family: var(--bt-font-family-base);
    font-size: var(--bt-font-size-p);
    font-weight: var(--bt-font-weight-regular);
    line-height: var(--bt-line-height-loose);
}

.bt-type-category-title {
    font-family: var(--bt-font-family-base);
    font-size: var(--bt-font-size-category-title);
    font-weight: var(--bt-font-weight-bold);
    line-height: var(--bt-line-height-normal);
}

.bt-type-menu-button {
    font-family: var(--bt-font-family-base);
    font-size: var(--bt-font-size-menu-button);
    font-weight: var(--bt-font-weight-semibold);
    line-height: var(--bt-line-height-normal);
}

.bt-width-narrow {
    max-width: 720px;
}

.bt-width-medium {
    max-width: 920px;
}

.bt-width-wide {
    max-width: var(--bt-container-max);
}

.bt-mx-auto {
    margin-inline: auto;
}

.bt-hidden-mobile {
    display: initial;
}

.bt-visible-mobile {
    display: none;
}

/*
 * Region visibility utilities.
 *
 * The global region detector stores the selected region in localStorage as
 * "bt_region" and applies it to <body data-region="emea|latam">.
 *
 * Divi editors can add:
 * - bt-region-emea  to show a block only for EMEA
 * - bt-region-latam to show a block only for LATAM
 * - bt-contact-region-emea    to show a contact block only for EMEA
 * - bt-contact-region-america to show a contact block only for LATAM/America
 */
body:not([data-region])
    :is(
        .bt-region-emea,
        .bt-region-latam,
        .bt-contact-region-emea,
        .bt-contact-region-america
    ) {
    display: none !important;
}

body[data-region='emea'] .bt-region-latam,
body[data-region='latam'] .bt-region-emea,
body[data-region='emea'] .bt-contact-region-america,
body[data-region='latam'] .bt-contact-region-emea {
    display: none !important;
}

@media (max-width: 767px) {
    .bt-hidden-mobile {
        display: none;
    }

    .bt-visible-mobile {
        display: initial;
    }
}
