/* Compact live-offer teaser under affiliate partner logos (home discoveries, offers bundle and partner cards). */
.teaser{display:flex;flex-direction:column;gap:10px;margin:14px 0 0;padding:14px;border-radius:18px;background:#f4eeff;box-shadow:inset 0 0 0 1px #6334b51f;color:#24123e;text-align:left}
.teaser-stage{min-height:98px}
.teaser-slide{display:flex;flex-direction:column;gap:6px;animation:teaser-in .28s ease both}
.teaser-meta{margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.teaser-type{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6334b5}
.teaser-code{font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:4px 8px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px #6334b54d;color:#24123e;letter-spacing:.04em;overflow-wrap:anywhere}
.teaser-title{margin:0;font-weight:700;font-size:15px;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#24123e}
.teaser-end{margin:0;font-size:12px;color:#5d4f6b}
.teaser-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.teaser-nav{display:flex;align-items:center;gap:6px}
.teaser-arrow{width:40px;height:40px;flex:none;border-radius:50%;border:1.5px solid #6334b5;background:#fff;color:#6334b5;font-weight:800;font-size:16px;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.teaser-arrow:hover{background:#6334b5;color:#fff}
.teaser-count{font-size:12px;font-weight:700;color:#5d4f6b;min-width:4.2em;text-align:center;white-space:nowrap}
.teaser-details{border:0;border-radius:999px;padding:9px 16px;min-height:40px;display:inline-flex;align-items:center;background:#6334b5;color:#fff;font-weight:800;font-size:13px;line-height:1;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .2s}
.teaser-details:hover{background:#4a2590}
.teaser :focus-visible{outline:3px solid #6334b5;outline-offset:2px}
.teaser.is-empty{min-height:0}
.teaser-empty{margin:0;font-size:13px;line-height:1.45;color:#5d4f6b}
@keyframes teaser-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.teaser-slide{animation:none}.teaser-arrow,.teaser-details{transition:none}}
@media (max-width:600px){.teaser{padding:12px}.teaser-foot{gap:8px}}

/* Approved advertiser image on brand cards: one small area, original aspect ratio, never cropped, lazy loaded. */
.brand-media{margin:12px 0 0;border-radius:16px;overflow:hidden;background:#fffdf8;box-shadow:0 0 0 1px #6334b51f;color:#24123e}
.brand-media[hidden]{display:none}
.brand-media picture{display:block;background:#fffdf8}
.brand-media img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain;margin:0 auto}
.brand-media figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 12px 10px;font-size:12px;line-height:1.4;color:#5d4f6b}
.brand-media figcaption span{flex:1 1 100%}
.brand-media-credit{font-size:11px;color:#5d4f6b}
.brand-media-link{font-weight:800;font-size:13px;color:#4a2590;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:4px 0;min-height:32px;cursor:pointer}
.brand-media-link:focus-visible{outline:3px solid #6334b5;outline-offset:2px}
