/* Packages, vouchers and gift cards (WEB-05B). Tokens, breakpoints and logical properties only; mobile first. */
.sl-offers { max-inline-size: 1200px; }
.sl-offers-heading { display: grid; gap: var(--sl-space-2); margin-block-end: var(--sl-space-6); }
.sl-offers-heading .sl-h1 { margin-block-end: 0; }
.sl-offers a:not(.sl-btn):not(.sl-pill) { color: var(--sl-brand); text-underline-offset: .2em; }
.sl-offers a.sl-offers-link { display: inline-flex; align-items: center; min-block-size: var(--sl-control); }
.sl-offers .sl-btn { color: var(--sl-page); }
.sl-offers .sl-btn-secondary { color: var(--sl-brand); }
.sl-offers-tabs { display: flex; gap: var(--sl-space-2); overflow-x: auto; padding-block: var(--sl-space-2); margin-block-end: var(--sl-space-4); scroll-snap-type: inline proximity; }
.sl-offers-tabs > .sl-pill { flex: none; scroll-snap-align: start; }
.sl-offers-filter { display: flex; flex-wrap: wrap; gap: var(--sl-space-2); align-items: center; color: var(--sl-muted); }
.sl-offers-notice { max-inline-size: 65ch; padding: var(--sl-space-4); border-inline-start: 3px solid var(--sl-danger); background: var(--sl-brand-soft); color: var(--sl-ink); }
.sl-offers .sl-offers-list { list-style: none; margin: 0; padding: 0; grid-template-columns: minmax(0, 1fr); }
.sl-offers .sl-offers-list > li { min-inline-size: 0; display: flex; }
.sl-offer { display: flex; flex-direction: column; gap: var(--sl-space-2); inline-size: 100%; }
.sl-offer.sl-card { min-inline-size: 0; }
.sl-offer > .sl-btn { margin-block-start: auto; align-self: start; }
.sl-offer-media { inline-size: 100%; aspect-ratio: 16 / 9; border-radius: var(--sl-sm-radius); background: linear-gradient(135deg, var(--sl-brand-soft), var(--sl-soft)); }
.sl-offer-cover { aspect-ratio: 21 / 9; }
.sl-offer-meta { margin: 0; color: var(--sl-muted); }
.sl-offer-kind { margin: 0; color: var(--sl-brand); font-size: .85rem; font-weight: 600; letter-spacing: .04em; }
.sl-offer-name, .sl-offer h3 { margin: 0; font-size: 1.2rem; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.sl-offer-copy { margin: 0; color: var(--sl-muted); overflow-wrap: anywhere; }
.sl-offer-price { margin: 0; font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.sl-offer-page .sl-h1 { margin-block-end: var(--sl-space-2); }
.sl-offer-columns { align-items: start; }
.sl-offer-copy-column { min-inline-size: 0; }
.sl-offer-benefits { margin: 0; padding-inline-start: var(--sl-space-6); display: grid; gap: var(--sl-space-2); }
.sl-offer-buy { display: grid; gap: var(--sl-space-4); align-content: start; border-block-start: 4px solid var(--sl-brand); }
.sl-offer-buy h2 { margin-block-end: 0; }
.sl-offer-buy form { display: grid; gap: var(--sl-space-4); }
.sl-offer-buy input[type=number] { max-inline-size: 8rem; }
.sl-offer-summary { display: grid; gap: var(--sl-space-2); margin: 0; }
.sl-offer-summary > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sl-space-2); }
.sl-offer-summary dt { color: var(--sl-muted); }
.sl-offer-summary dd { margin: 0; font-variant-numeric: tabular-nums; }
.sl-offer-terms p { max-inline-size: 65ch; }
.sl-offers-table-wrap { overflow-x: auto; border: 1px solid var(--sl-line); border-radius: var(--sl-sm-radius); }
.sl-offers-table { inline-size: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.sl-offers-table th, .sl-offers-table td { padding: var(--sl-space-3) var(--sl-space-4); text-align: start; vertical-align: top; border-block-end: 1px solid var(--sl-line); }
.sl-offers-table thead { background: var(--sl-surface); }
.sl-offers-table tbody tr:last-child > * { border-block-end: 0; }
.sl-offer-order .sl-card + .sl-card { margin-block-start: var(--sl-space-6); }
.sl-offers-pages { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--sl-space-4); margin-block-start: var(--sl-space-6); }
.sl-offer-dock { display: none; }
.sl-offer-buy { scroll-margin-block-start: var(--sl-space-6); }
@media (max-width: 767px) {
  .sl-offer-page:has(.sl-offer-dock) { padding-block-end: calc(100px + var(--sl-bottom-nav-height, 0px) + env(safe-area-inset-bottom)); }
  .sl-offer-dock { position: fixed; inset-inline: 0; inset-block-end: calc(var(--sl-bottom-nav-height, 0px) + env(safe-area-inset-bottom)); z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: var(--sl-space-3); padding: var(--sl-space-3) var(--sl-space-4); border-block-start: 1px solid var(--sl-line); background: var(--sl-page); box-shadow: var(--sl-shadow); }
}
@media (min-width: 768px) {
  .sl-offers .sl-offers-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sl-offer-columns { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .sl-offer-buy { position: sticky; inset-block-start: var(--sl-space-6); }
}
@media (min-width: 1001px) {
  .sl-offers .sl-offers-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
  .sl-offers { max-inline-size: 1320px; }
}
