.shop-merchant-line { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.shop-info-link { position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; color: #6085a6; text-decoration: none; vertical-align: middle; }
.shop-info-link svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; }
.shop-info-link .shop-info-dot { fill: currentColor; stroke: none; }
.shop-info-link:hover { background: #eaf3fb; color: #326faa; }
.shop-info-link:focus-visible { outline: 2px solid #326faa; outline-offset: 2px; }
.catalog-offer-main-link { color: inherit; text-decoration: none; }
.catalog-offer-main-link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.catalog-offer-main-link:focus-visible { outline: none; }
.catalog-offer-main-link:focus-visible::after { outline: 2px solid #326faa; outline-offset: 3px; border-radius: 4px; }
.catalog-offer-main-link:hover strong { text-decoration: underline; text-underline-offset: 3px; }

/* Clear offer row: merchant first, with price and an explicit shop action. */
.catalog-offers { container-type: inline-size; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info.catalog-offer-item { grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 23px 0; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-copy { gap: 7px; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .shop-merchant-line { display: flex; overflow: visible; -webkit-line-clamp: unset; gap: 8px; color: var(--ink); font-size: .875rem; font-weight: 800; line-height: 1.5; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-name { color: var(--offer-muted, var(--muted)); font-size: .8125rem; line-height: 1.65; overflow-wrap: anywhere; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-actions { display: flex; align-items: center; gap: 26px; min-width: 0; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-price { flex-shrink: 0; gap: 7px; white-space: nowrap; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-price b { display: flex; align-items: baseline; gap: 5px; font-size: 1rem; white-space: nowrap; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-price .catalog-offer-price-amount { font-size: 1.4375rem; font-weight: 800; line-height: 1.2; letter-spacing: -.025em; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-price-prefix { color: var(--offer-muted, var(--muted)); font-size: .75rem; font-weight: 400; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-currency { font-size: .75rem; font-weight: 700; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-price em { font-size: .6875rem; font-weight: 500; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-main-link { display: inline-flex; align-items: center; justify-content: center; gap: 20px; flex-shrink: 0; min-width: 158px; min-height: 44px; padding: 12px 17px; border: 1px solid #326fae; border-radius: 7px; background: #326fae; color: #fff; font-size: .75rem; font-weight: 700; line-height: 1.5; text-decoration: none; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-main-link svg { width: 17px; height: 17px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-main-link:hover { background: #255b94; border-color: #255b94; }
.catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-main-link:focus-visible { outline: 2px solid #326fae; outline-offset: 4px; }
@container (max-width: 650px) {
    .catalog-offers .catalog-offer-list .catalog-offer-with-info.catalog-offer-item { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-actions { display: grid; gap: 18px; }
    .catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-price { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
    .catalog-offers .catalog-offer-list .catalog-offer-with-info .catalog-offer-main-link { width: 100%; min-width: 0; }
}
