.am-abtc,
.am-abtc * {
    box-sizing: border-box;
}

.am-abtc {
    width: 100%;
    background: var(--am-abtc-section-bg);
    padding: var(--am-abtc-section-padding);
    overflow: hidden;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.am-abtc__inner {
    width: min(100%, var(--am-abtc-container-width));
    margin: 0 auto;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.am-abtc__heading {
    margin: 0 0 var(--am-abtc-heading-margin-bottom);
    color: var(--am-abtc-heading-color) !important;
    font-family: var(--am-abtc-title-font-family) !important;
    font-size: var(--am-abtc-heading-size);
    line-height: var(--am-abtc-heading-line-height);
    letter-spacing: var(--am-abtc-heading-letter-spacing);
    font-weight: var(--am-abtc-heading-weight);
    text-align: var(--am-abtc-heading-align);
    border: 0 !important;
    outline: 0 !important;
}

.am-abtc__grid {
    display: grid;
    grid-template-columns: repeat(var(--am-abtc-desktop-columns), minmax(0, 1fr));
    gap: var(--am-abtc-grid-row-gap) var(--am-abtc-grid-column-gap);
    align-items: stretch;
    border: 0 !important;
    outline: 0 !important;
}

.am-abtc__card {
    background: var(--am-abtc-card-bg) !important;
    border: var(--am-abtc-card-border-width) solid var(--am-abtc-card-border-color) !important;
    border-radius: var(--am-abtc-card-radius);
    box-shadow: var(--am-abtc-card-shadow) !important;
    outline: 0 !important;
    overflow: hidden;
    min-width: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    text-align: left !important;
}

.am-abtc__image-link {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    text-decoration: none;
    flex: 0 0 auto;
    border: 0 !important;
    outline: 0 !important;
}

.am-abtc__image,
.am-abtc__image-placeholder {
    display: block;
    width: 100%;
    height: 100% !important;
}

.am-abtc__image {
    object-fit: var(--am-abtc-image-fit);
    object-position: var(--am-abtc-image-position);
    transition: transform 0.3s ease;
}

.am-abtc__card:hover .am-abtc__image {
    transform: scale(1.025);
}

.am-abtc__image-placeholder {
    background: linear-gradient(135deg, rgba(0, 50, 81, 0.16), rgba(0, 50, 81, 0.04));
}

.am-abtc__content {
    padding: var(--am-abtc-content-padding);
    min-height: var(--am-abtc-content-min-height);
    display: flex;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex: 1 1 auto;
    text-align: left !important;
    border: 0 !important;
    outline: 0 !important;
}

.am-abtc__card-title {
    width: 100%;
    margin: 0 0 var(--am-abtc-content-gap) !important;
    color: var(--am-abtc-card-title-color) !important;
    font-family: var(--am-abtc-title-font-family) !important;
    font-size: var(--am-abtc-card-title-size) !important;
    line-height: var(--am-abtc-card-title-line-height) !important;
    letter-spacing: var(--am-abtc-card-title-letter-spacing) !important;
    font-weight: var(--am-abtc-card-title-weight) !important;
    text-align: left !important;
    border: 0 !important;
    outline: 0 !important;
}

.am-abtc__card-title a,
.am-abtc__card-title a:visited,
.am-abtc__card-title a:active,
.am-abtc__card-title a:focus {
    color: var(--am-abtc-card-title-color) !important;
    text-decoration: none !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}

.am-abtc__card-title a:hover {
    color: var(--am-abtc-card-title-color) !important;
    text-decoration: none !important;
}

.am-abtc__description {
    width: 100%;
    color: var(--am-abtc-description-color) !important;
    font-family: var(--am-abtc-body-font-family) !important;
    font-size: var(--am-abtc-description-size) !important;
    line-height: var(--am-abtc-description-line-height) !important;
    font-weight: var(--am-abtc-description-weight) !important;
    margin: 0 !important;
    text-align: left !important;
}

.am-abtc__description p {
    margin: 0 0 0.85em !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    text-align: left !important;
}

.am-abtc__description p:last-child {
    margin-bottom: 0 !important;
}

.am-abtc__button {
    margin-top: var(--am-abtc-button-top-gap);
    min-width: var(--am-abtc-button-min-width);
    min-height: var(--am-abtc-button-height);
    padding: var(--am-abtc-button-padding);
    border-radius: var(--am-abtc-button-radius);
    background: var(--am-abtc-button-bg) !important;
    color: var(--am-abtc-button-color) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none !important;
    font-family: var(--am-abtc-body-font-family) !important;
    font-size: var(--am-abtc-button-text-size) !important;
    line-height: var(--am-abtc-button-line-height) !important;
    font-weight: var(--am-abtc-button-weight) !important;
    letter-spacing: 0;
    border: 0 !important;
    outline: 0;
    box-shadow: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.am-abtc__button span {
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
}

.am-abtc__button:hover,
.am-abtc__button:focus-visible {
    background: var(--am-abtc-button-hover-bg) !important;
    color: var(--am-abtc-button-hover-color) !important;
    transform: translateY(-1px);
}

@media (max-width: 1024px) {
    .am-abtc {
        padding: var(--am-abtc-tablet-section-padding);
    }

    .am-abtc__inner {
        width: min(100%, var(--am-abtc-tablet-container-width));
    }

    .am-abtc__grid {
        grid-template-columns: repeat(var(--am-abtc-tablet-columns), minmax(0, 1fr));
    }

    .am-abtc__image-link {
        aspect-ratio: 1 / 1;
        height: auto !important;
    }

    .am-abtc__heading {
        font-size: var(--am-abtc-tablet-heading-size);
    }

    .am-abtc__card-title {
        font-size: var(--am-abtc-tablet-title-size) !important;
    }
}

@media (max-width: 767px) {
    .am-abtc {
        padding: var(--am-abtc-mobile-section-padding);
    }

    .am-abtc__grid {
        grid-template-columns: repeat(var(--am-abtc-mobile-columns), minmax(0, 1fr));
    }

    .am-abtc__image-link {
        aspect-ratio: 1 / 1;
        height: auto !important;
    }

    .am-abtc__content {
        padding: var(--am-abtc-mobile-content-padding);
        min-height: auto;
    }

    .am-abtc__heading {
        font-size: var(--am-abtc-mobile-heading-size);
    }

    .am-abtc__card-title {
        font-size: var(--am-abtc-mobile-title-size) !important;
    }
}
