.promo-card.svelte-jx46jz{display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:16px;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .15s}.promo-card.svelte-jx46jz:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-medium)}.promo-body.svelte-jx46jz{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px}.promo-banner.svelte-jx46jz{position:relative;aspect-ratio:3 / 1;background:var(--color-bg-tertiary)}.promo-banner.svelte-jx46jz img:where(.svelte-jx46jz){display:block;width:100%;height:100%;object-fit:cover;object-position:70% 50%}.promo-type-badge.on-banner.svelte-jx46jz{position:absolute;top:10px;right:10px;background:#ffffffeb;color:var(--color-text);box-shadow:0 1px 4px #00000014}.with-banner.svelte-jx46jz .promo-body:where(.svelte-jx46jz){padding-top:0}.with-banner.svelte-jx46jz .promo-top:where(.svelte-jx46jz){align-items:flex-end}.with-banner.svelte-jx46jz .promo-logo:where(.svelte-jx46jz){width:52px;height:52px;margin-top:-24px;position:relative;border:3px solid white;box-shadow:0 2px 8px #0000001a}.with-banner.svelte-jx46jz .promo-top-text:where(.svelte-jx46jz){padding-bottom:2px}.promo-top.svelte-jx46jz{display:flex;align-items:center;gap:10px}.promo-logo.svelte-jx46jz{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#fff;flex-shrink:0}.promo-logo.svelte-jx46jz img:where(.svelte-jx46jz){width:100%;height:100%;object-fit:contain}.promo-top-text.svelte-jx46jz{flex:1;min-width:0;display:flex;flex-direction:column;text-decoration:none;color:inherit}a.promo-top-text.svelte-jx46jz:hover .promo-company:where(.svelte-jx46jz){text-decoration:underline}a.promo-logo.svelte-jx46jz{display:block}.promo-company.svelte-jx46jz{font-size:12px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.promo-expiry.svelte-jx46jz{font-size:11px;color:var(--color-text-muted)}.promo-expiry.urgent.svelte-jx46jz{color:var(--color-error);font-weight:600}.promo-type-badge.svelte-jx46jz{font-size:10px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--color-primary-light);color:var(--color-primary);flex-shrink:0}.promo-title.svelte-jx46jz{font-size:14px;font-weight:700;margin:0;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.promo-desc.svelte-jx46jz{font-size:12px;color:var(--color-text-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.promo-bottom.svelte-jx46jz{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px;flex-wrap:wrap}.voucher-chip.svelte-jx46jz{display:inline-flex;align-items:center;gap:6px;border:1px dashed var(--color-border-focus);background:var(--color-bg-tertiary);color:var(--color-border-focus);border-radius:8px;padding:5px 10px;cursor:pointer;transition:background .15s;font-family:inherit}.voucher-chip.svelte-jx46jz:hover{background:#fff}.voucher-chip.svelte-jx46jz code:where(.svelte-jx46jz){font-family:SF Mono,Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.5px}.cashback-badge.svelte-jx46jz{display:inline-flex;align-items:center;background:var(--color-primary-light);color:var(--color-primary);padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600}
