.partner-offers-page { width: calc(100% - 48px); max-width: 1120px; margin-inline: auto; padding-block: 32px 48px; }
.partner-offers-heading { align-items: center; gap: 16px; margin-bottom: 24px; }
.partner-offers-heading h1 { margin: 0 0 8px; font-size: 1.9rem; line-height: 1.2; letter-spacing: 0; }
.partner-offers-heading p, .partner-offers-terms { margin: 0; color: var(--muted); }
.partner-offers-heading .layout-toggle { flex-shrink: 0; }
.partner-offers-grid .partner-offer { border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
.partner-offers-grid.is-list-view .partner-offer { grid-template-columns: 200px minmax(0, 1fr); height: auto; min-height: 112px; }
.partner-offers-grid .partner-offer-logo { display: flex; align-items: center; justify-content: center; background: var(--partner-background, #fff); aspect-ratio: auto; height: 96px; }
.partner-offers-grid.is-list-view .partner-offer-logo { height: 100%; aspect-ratio: auto; }
.partner-wordmark { color: var(--partner-color, #205c46); font-size: 1.25rem; font-weight: 850; text-transform: uppercase; }
.partner-offers-grid .partner-offer-logo img { width: 100%; height: 88px; max-width: 160px; object-fit: contain; padding: 12px; transform: none; }
.partner-offers-grid.is-list-view .partner-offer-logo img { max-width: 200px; }
.partner-offers-grid .article-body { min-width: 0; overflow: visible; align-content: center; gap: 12px; padding: 16px; }
.partner-offers-grid.is-list-view .article-body { grid-template-columns: minmax(0, 1fr) 212px 212px; align-items: center; gap: 16px; padding: 14px 18px; }
.partner-offer-summary { display: grid; gap: 4px; min-width: 0; }
.partner-offers-page .partner-offers-grid .article-body h2 { display: block; overflow: visible; font-size: 1.18rem; line-height: 1.25; letter-spacing: 0; }
.partner-offer-discount { color: var(--leaf); font-size: 1rem; min-width: 0; overflow-wrap: anywhere; }
.partner-offer-bonus { display: block; font-size: .75rem; line-height: 1.25; }
:root[data-theme="night"] .partner-offer-discount, :root[data-theme="night"] .partner-offer-no-code { color: var(--leaf-light); }
.partner-offers-grid .article-body p { display: block; overflow: visible; font-size: .88rem; line-height: 1.4; }
.partner-offer-deal { display: flex; align-items: center; flex-wrap: wrap; gap: 2px 12px; min-width: 0; }
.partner-offers-grid.is-list-view .partner-offer-deal { width: 212px; max-width: 100%; justify-self: end; column-gap: 8px; }
.partner-offer-no-code { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; min-height: 44px; max-width: 100%; margin-left: auto; color: var(--leaf); font-size: .78rem; font-weight: 700; text-align: right; text-decoration: none; }
.partner-offer-no-code:hover { text-decoration: underline; }
.partner-offer-no-code:focus-visible { outline: 2px solid var(--leaf-light); outline-offset: 2px; }
.partner-offer-code { display: flex; align-items: center; justify-content: flex-end; margin-left: auto; max-width: 100%; min-width: 0; text-align: right; }
.partner-offer-code code { padding: 6px 2px; font-family: ui-monospace, Consolas, monospace; font-size: .85rem; overflow-wrap: anywhere; user-select: all; }
.partner-copy { flex-shrink: 0; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 4px; background: transparent; color: var(--ink); cursor: pointer; }
.partner-copy[hidden] { display: none; }
.partner-copy:hover { background: var(--line); }
.partner-copy:focus-visible, .partner-offer-code code:focus-visible { outline: 2px solid var(--leaf-light); outline-offset: 2px; }
.partner-offer-link { min-height: 44px; gap: 8px; max-width: 100%; text-align: center; justify-self: end; margin-left: auto; }
.partner-icon { display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; background: currentColor; mask: center / contain no-repeat; }
.partner-icon-copy { mask-image: url('icons/copy.svg'); }
.partner-icon-external { mask-image: url('icons/external-link.svg'); }
.partner-offer-status { display: block; flex-basis: 100%; min-height: 1.5em; color: var(--muted); font-size: .78rem; line-height: 1.5; overflow-wrap: anywhere; }
.partner-offers-terms { margin-top: 24px; font-size: .85rem; line-height: 1.6; }
@media (min-width: 681px) {
    .partner-offers-grid.is-list-view .partner-offer-link { width: 100%; margin-left: 0; }
    .partner-offers-grid.is-list-view .partner-offer-deal { display: grid; grid-template-columns: 62px minmax(0, 1fr); grid-template-rows: minmax(44px, auto) auto; }
    .partner-offers-grid.is-list-view .partner-offer-discount { grid-column: 1; grid-row: 1; align-self: start; padding-top: 10px; line-height: 1.25; }
    .partner-offers-grid.is-list-view .partner-offer-code, .partner-offers-grid.is-list-view .partner-offer-no-code { grid-column: 2; grid-row: 1; }
    .partner-offers-grid.is-list-view .partner-offer-status { grid-column: 1 / -1; grid-row: 2; }
}
@media (min-width: 1001px) {
    .partner-offers-grid.is-list-view .partner-copy { width: 32px; height: 32px; }
}
@media (min-width: 681px) and (max-width: 1000px) {
    .partner-offers-grid.is-list-view .article-body { grid-template-columns: minmax(0, 1fr) 44px; gap: 6px 16px; }
    .partner-offers-grid.is-list-view .partner-offer-link { padding: 0; }
    .partner-offers-grid.is-list-view .partner-offer-link-label { display: none; }
    .partner-offers-grid.is-list-view .partner-offer-summary, .partner-offers-grid.is-list-view .partner-offer-deal { grid-column: 1; }
    .partner-offers-grid.is-list-view .partner-offer-link { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 680px) {
    .partner-offers-page { width: calc(100% - 32px); }
    .partner-offers-heading { flex-wrap: wrap; }
    .partner-offers-grid.is-list-view .partner-offer { grid-template-columns: 104px minmax(0, 1fr) 44px; gap: 8px 12px; padding: 12px; }
    .partner-offers-grid.is-list-view .partner-offer-logo { grid-column: 1; grid-row: 1; height: 64px; border-radius: 4px; }
    .partner-offers-grid.is-list-view .partner-offer-logo img { height: 64px; padding: 6px; }
    .partner-offers-grid.is-list-view .article-body { display: contents; }
    .partner-offers-grid.is-list-view .partner-offer-summary { grid-column: 2 / 4; grid-row: 1; align-self: center; }
    .partner-offers-grid.is-list-view .partner-offer-deal { grid-column: 1 / 3; grid-row: 2; }
    .partner-offers-grid.is-list-view .partner-offer-link { grid-column: 3; grid-row: 2; align-self: center; }
    .partner-offer-link { width: 44px; padding: 0; }
    .partner-offer-link-label { display: none; }
}
