.abf-rv-anchor { height: 1px; margin-bottom: -1px; clear: both; }
.abf-rv[hidden], .abf-rv [hidden] { display: none !important; }
.abf-rv { clear: both; width: 100%; max-width: 100%; margin: 56px 0 64px; padding-top: 32px; border-top: 1px solid #e9e5df; }
.abf-rv .abf-rv-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; }
.abf-rv h2 { margin: 0; color: #072966; font-size: 26px; line-height: 1.5; letter-spacing: .03em; }
.abf-rv-controls { display: flex; gap: 8px; flex-shrink: 0; }
.abf-rv-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid #d4d4d4; background: #fff; color: #072966; font-size: 22px; line-height: 1; cursor: pointer; }
.abf-rv-controls button:hover:not(:disabled) { border-color: #072966; }
.abf-rv-controls button:disabled { opacity: .35; cursor: default; }
.abf-rv .abf-rv-list { display: flex; gap: 24px; list-style: none; margin: 0; padding: 0 0 12px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #b9b3aa #f4f1ec; }
.abf-rv .abf-rv-card { flex: 0 0 calc((100% - 72px) / 4); min-width: 0; margin: 0; padding: 0; scroll-snap-align: start; }
.abf-rv-card-link { display: block; color: #222; text-decoration: none; }
.abf-rv-image { position: relative; aspect-ratio: 1 / 1.4; background: #faf9f7; overflow: hidden; }
.abf-rv .abf-rv-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.abf-rv .abf-rv-name { margin: 14px 0 8px; font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1.7; color: #222; overflow-wrap: anywhere; }
.abf-rv-card-link:hover .abf-rv-name { color: #072966; text-decoration: underline; }
.abf-rv-price { font-size: 14px; line-height: 1.7; color: #222; }
.abf-rv-price small { font-size: 11px; color: #666; white-space: nowrap; }
.abf-rv-stock { position: absolute; left: 8px; bottom: 8px; padding: 4px 8px; color: #fff; background: #444; font-size: 12px; line-height: 1.5; }
.abf-rv a:focus-visible, .abf-rv button:focus-visible { outline: 2px solid #072966; outline-offset: -2px; }
@media (max-width: 1199px) {
    .abf-rv .abf-rv-card { flex-basis: calc((100% - 48px) / 3); }
}
@media (max-width: 767px) {
    .abf-rv { margin: 36px 0 40px; padding-top: 24px; }
    .abf-rv .abf-rv-heading { margin-bottom: 18px; gap: 8px; }
    .abf-rv h2 { font-size: 19px; letter-spacing: 0; }
    .abf-rv-controls { gap: 6px; }
    .abf-rv .abf-rv-list { gap: 14px; }
    .abf-rv .abf-rv-card { flex-basis: calc((100% - 14px) / 2); }
    .abf-rv .abf-rv-name { font-size: 13px; margin-top: 12px; }
    .abf-rv-price { font-size: 13px; }
}
@media (max-width: 359px) {
    .abf-rv h2 { font-size: 17px; }
}
