/* Shared commercial values are also used in baskets, requests and emails. */
.offer-commercial { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-block: 8px; font-size: 14px; }
.offer-price, .offer-quantity { display: grid; gap: 2px; }
.offer-price strong { font-size: 18px; }
.offer-commercial .muted { color: #586a77; font-size: 12px; }
.offer-selection-note { flex-basis: 100%; margin: 6px 0 0; font-size: .875rem; }

.offers-table-wrap { margin-top: 24px; border: 1px solid #dce2e6; border-radius: 8px; }
.offers-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; text-align: left; font-size: 1rem; line-height: 1.45; }
.offers-table th, .offers-table td { padding: 18px 12px; overflow-wrap: anywhere; }
.offers-table thead th { color: #586a77; font-size: .875rem; font-weight: 600; vertical-align: middle; }
.offers-table .offer-article-column { width: 9.25rem; }
.offers-table .offer-brand-column { width: 5.5rem; }
.offers-table.has-names .offer-stock-column { width: 14.5rem; }
.offers-table .offer-price-column { width: 8rem; }
.offers-table .offer-selection-column { width: 12rem; }
.offers-table tbody th, .offers-table tbody td { border-top: 1px solid #edf0f2; vertical-align: middle; }
.offers-table .offer-variant + .offer-variant tr:first-child > * { border-top-color: #dce2e6; }
.offers-table tbody .offer-article, .offers-table tbody .offer-brand, .offers-table tbody .offer-name { vertical-align: top; }
.offers-table .offer-article { font-weight: 400; }
.offers-table .offer-article strong { font-family: ui-monospace, monospace; font-size: .9375rem; font-weight: 600; }
.offers-table .offer-brand { font-size: .9375rem; }
.offer-variant-name { white-space: pre-line; }
.offers-table .offer-weight { display: block; margin-top: 6px; color: #586a77; font-size: .8125rem; }
.offers-table .offer-location { display: grid; gap: 4px; min-width: 0; }
.offers-table .availability { font-size: .9375rem; }
.offers-table .offer-city { font-size: .875rem; }
.offers-table .offer-location small { color: #586a77; font-size: .8125rem; }
.offers-table .offer-public-text { margin: 6px 0 0; font-size: .875rem; }
.offers-table .offer-commercial { margin: 0; }
.offers-table .offer-price strong { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.offers-table .offer-price > .muted { display: none; }
.offers-table .add-to-basket { display: flex; flex-wrap: wrap; align-items: end; margin: 0; gap: 8px; }
.offers-table .add-to-basket label { flex: 0 1 4rem; min-width: 0; font-size: .875rem; }
.offers-table .add-to-basket input { width: 100%; min-width: 0; min-height: 44px; padding: 8px; margin-top: 4px; font-size: 1rem; }
.offers-table .add-to-basket button { min-width: 0; min-height: 44px; padding: 8px 12px; font-size: .875rem; }
.offers-table .offer-mobile-label { display: none; }
.offers-table .offer-choice-hint { display: block; margin-top: 6px; color: #586a77; font-size: .8125rem; }
.offers-table .offer-details-row > td { border-top: 0; padding: 0 12px 12px; }
.offer-warehouses > summary { width: fit-content; max-width: 100%; cursor: pointer; padding: 10px 4px; min-height: 44px; font-size: .875rem; color: #246073; }
.offer-warehouses > summary:hover { text-decoration: underline; }
.offer-warehouses > summary:focus-visible { outline: 2px solid #246073; outline-offset: 2px; border-radius: 3px; }
.offer-warehouses:not([open]) > :not(summary) { display: none; }
.offer-collapse-label, .offer-warehouses[open] .offer-expand-label { display: none; }
.offer-warehouses[open] .offer-collapse-label { display: inline; }
.warehouse-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; background: #f7f9fa; border-radius: 6px; }
.warehouse-table .offer-city { font-weight: 500; }

@media (max-width: 68rem) {
    .offers-table-wrap { border: 0; border-radius: 0; }
    .offers-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .offers-table, .offers-table .offer-variant { display: block; width: 100%; }
    .offers-table .offer-variant { margin-bottom: 16px; border: 1px solid #dce2e6; border-radius: 8px; }
    .offers-table .offer-summary-row, .offers-table .offer-warehouse-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 12px 20px; padding: 16px; }
    .offers-table .offer-warehouse-row + .offer-warehouse-row { border-top: 1px solid #edf0f2; }
    .offers-table tbody th, .offers-table tbody td { display: block; width: auto; min-width: 0; border: 0; padding: 0; }
    .offers-table .offer-mobile-label { display: block; color: #586a77; font-size: .875rem; font-weight: 400; margin-bottom: 3px; }
    .offers-table .offer-article { grid-column: 1; }
    .offers-table .offer-brand { grid-column: 2; }
    .offers-table .offer-name, .offers-table .offer-stock { grid-column: 1 / -1; }
    .offers-table .offer-price > .muted { display: block; font-size: .875rem; }
    .offers-table .offer-sale { grid-column: 1; align-self: end; }
    .offers-table .offer-selection { grid-column: 2; }
    .offers-table .offer-empty { display: none; }
    .offers-table .add-to-basket label { flex: 0 1 5rem; }
    .offers-table .add-to-basket { justify-content: flex-end; }
    .offers-table .offer-details-row, .warehouse-table, .warehouse-table > tbody { display: block; width: 100%; }
    .offers-table .offer-details-row > td { padding: 0 16px 12px; }
    .warehouse-table .offer-city { grid-column: 1 / -1; }
}
@media (max-width: 30rem) {
    .offers-table .offer-selection { grid-column: 1 / -1; }
    .offers-table .add-to-basket { justify-content: flex-start; }
}
.promotion-badge { display: inline-block; width: fit-content; max-width: 100%; margin: 3px 0; padding: 2px 6px; border-radius: 4px; font-size: 11px; font-weight: 400; line-height: 1.25; white-space: normal; }
.promotion-clearance { color: #8b380a; background: #fff0dc; border: 1px solid #edc394; }
.promotion-half-price { color: #932637; background: #ffedf0; border: 1px solid #edb7c0; }
.offer-name .promotion-badge { display: block; }
