.sbs-stores {
    margin: 1em 0;
    padding: .85em 1em;
    border: 1px solid #dce3e7;
    border-radius: 8px;
}

.sbs-stores .sbs-stores__title {
    margin: 0 0 .4em;
    font-weight: 600;
}

.sbs-stores .sbs-stores__rows,
.sbs-details .sbs-stores__rows {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sbs-stores__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: .7em;
    padding: .55em 0;
    line-height: 1.4;
}

.sbs-stores__row + .sbs-stores__row {
    border-top: 1px solid #dce3e7;
}

.sbs-stores__address {
    display: block;
    margin-top: .15em;
    font-size: .9em;
}

.sbs-stores__quantity {
    font-weight: 600;
    text-align: right;
    white-space: nowrap;
}

.sbs-stores__quantity.in-stock {
    color: #17663b;
}

.sbs-stores__quantity.out-of-stock,
.sbs-stock-unknown {
    color: #596168;
}

.sbs-details {
    position: relative;
    margin: .35em 0 .65em;
    text-align: left;
}

.sbs-details > summary {
    cursor: pointer;
    text-decoration: underline dotted;
    text-underline-offset: .2em;
}

.sbs-details__content {
    margin-top: .25em;
    padding: .2em .65em;
    border: 1px solid #dce3e7;
    border-radius: 6px;
    background: #fff;
    color: #20262b;
}

@media (hover: hover) {
    @supports selector(details::details-content) {
        .sbs-details:not([open]):hover::details-content {
            content-visibility: visible;
        }

        .sbs-details:not([open]):hover > .sbs-details__content {
            position: absolute;
            z-index: 3;
            inset-inline: 0;
            margin-top: 0;
            box-shadow: 0 4px 14px rgb(0 0 0 / 12%);
        }
    }
}
