/* Legacy-style 3-D cards; all four fit the offer column without a scrollbar. */
.abx-benefits { margin-block: 1rem; width: 100%; max-width: 100%; min-width: 0; }
.abx-flip-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    container-type: inline-size;
    gap: .35rem;
    width: 100%;
    min-width: 0;
    padding: .15rem;
    /* Flipped backs may extend over adjacent cards; no scrolling or clipping. */
    overflow: visible;
    user-select: none;
    -webkit-user-select: none;
}
.abx-flip-card {
    position: relative;
    min-width: 0;
    aspect-ratio: 1;
    perspective: 1000px;
    z-index: 0;
}
.abx-flip-card[data-touched="true"] { z-index: 5; }
.abx-flip-card:hover,
.abx-flip-card:focus-within { z-index: 10; }
.abx-flip-card-action {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: .5rem;
    background: transparent;
    overflow: visible;
    color: #0a1e53;
    font: inherit;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.abx-flip-card-action:focus-visible {
    outline: 2px solid var(--primary, #e27b26);
    outline-offset: 2px;
}
.abx-flip-card-inner {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: .5rem;
    transform-style: preserve-3d;
    transition: transform .65s ease-in-out;
}
/* Initial mouse hover behaves like the legacy widget. Once clicked,
   explicit click state wins so even a hovered back can flip to the front. */
@media (any-hover: hover) {
    .abx-flip-card:not([data-touched="true"]):hover .abx-flip-card-inner {
        transform: rotateY(180deg);
    }
}
.abx-flip-card-action[aria-pressed="true"] .abx-flip-card-inner {
    transform: rotateY(180deg);
}
.abx-flip-front, .abx-flip-back {
    position: absolute;
    box-sizing: border-box;
    top: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: .5rem;
    background: #f5f5f5;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.abx-flip-front {
    inset-inline: 0;
    bottom: 0;
    /* Legacy widget: icon occupies the top half; caption starts below it.
       Both elements align consistently regardless of caption line count. */
    display: grid;
    grid-template-rows: 1fr 1fr;
    justify-items: center;
    padding: .5rem .2rem;
    gap: 0;
    user-select: none;
}
.abx-flip-icon {
    display: block;
    align-self: end;
    margin-bottom: .4rem;
    line-height: 1;
}
.abx-flip-icon svg { display: block; max-width: 100%; width: auto; height: 1.9rem; }
.abx-flip-title {
    display: block;
    align-self: start;
    font-size: clamp(.44rem, 2.3cqw, .8rem);
    line-height: 1.25;
    font-weight: 400;
    hyphens: none;
    -webkit-hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: wrap;
}
.abx-flip-cue {
    position: absolute;
    inset-inline-end: .3rem;
    inset-block-end: .25rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1;
    color: #566c90;
}
/* A readable text panel flips over neighboring cards instead of shrinking
   its content into an unreadably narrow square. It has no inner scrollbar. */
.abx-flip-back {
    left: 0;
    right: auto;
    width: max(100%, min(12.5rem, calc(100vw - 2rem)));
    height: auto;
    padding: .65rem .55rem 1.25rem;
    transform: rotateY(180deg);
    font-size: .77rem;
    line-height: 1.3;
    text-align: center;
    overflow-wrap: break-word;
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .12);
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}
.abx-flip-back-text {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}
.abx-flip-cue-back { user-select: none !important; cursor: pointer; }
/* The second card has less room on very narrow viewports. The last
   two expand leftward, keeping the text panels within the four-card row. */
.abx-flip-card:nth-child(2) .abx-flip-back { width: max(100%, min(12.5rem, 48cqw)); }
.abx-flip-card:nth-child(n+3) .abx-flip-back { left: auto; right: 0; }
.abx-benefits-software h3 { font-size: .875rem; }
.abx-benefits-software p { font-size: .875rem; color: var(--secondary-color); }
.abx-cart-protectplus {
    margin-block: .45rem;
    font-size: .8rem;
    line-height: 1.4;
    color: var(--secondary-color, var(--muted));
}
.abx-cart-protectplus .abx-liability-trigger,
.abx-cart-protectplus .abx-liability-trigger:visited { color: inherit; }
.abx-cart-protectplus .abx-liability-trigger:hover { color: var(--link-color); }
@media (prefers-reduced-motion: reduce) {
    .abx-flip-card-inner { transition: none; }
}
