:root{--offer-navy:#092a3a;--offer-teal:#0f97a5;--offer-mint:#2dd4bf;--offer-coral:#ff6b4a;--offer-surface:#f4fbfc}
.offers-page{min-height:70vh;background:linear-gradient(180deg,#effbfc 0,#fff 32%);padding:42px 0 72px;color:#123}
.offers-hero{position:relative;overflow:hidden;border-radius:28px;padding:42px clamp(20px,5vw,64px);background:linear-gradient(125deg,#083344,#0f97a5 62%,#2dd4bf);color:#fff;box-shadow:0 22px 55px rgba(8,51,68,.18);margin-bottom:30px}
.offers-hero:after{content:"%";position:absolute;left:5%;top:-45px;font-size:190px;font-weight:800;line-height:1;color:rgba(255,255,255,.1);transform:rotate(-12deg)}
.offers-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(255,255,255,.12);font-size:13px;font-weight:700}
.offers-hero h1{font-size:clamp(28px,4.2vw,48px);margin:16px 0 8px;line-height:1.25}.offers-hero p{max-width:670px;margin:0;color:#e9feff;line-height:1.9;font-size:clamp(14px,2vw,18px)}
.offers-filters{display:flex;gap:8px;overflow:auto;padding:3px 0 18px;scrollbar-width:thin}.offers-filter{flex:0 0 auto;text-decoration:none;color:#31515c;background:#fff;border:1px solid #d5e8eb;padding:9px 16px;border-radius:999px;font-weight:700;font-size:13px}.offers-filter:hover,.offers-filter.is-active{background:var(--offer-navy);color:#fff;border-color:var(--offer-navy)}
.offers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.offer-card{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dcecef;border-radius:22px;box-shadow:0 12px 34px rgba(8,51,68,.09);transition:transform .2s ease,box-shadow .2s ease}.offer-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,51,68,.15)}.offer-card.is-featured{border-color:#6ee7d8}
.offer-media{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#dff8f7,#edf9ff);overflow:hidden}.offer-media img{width:100%;height:100%;object-fit:cover;display:block}.offer-media-placeholder{height:100%;display:grid;place-items:center;color:var(--offer-teal);font-size:64px;font-weight:800}.offer-badges{position:absolute;right:14px;top:14px;display:flex;gap:7px;flex-wrap:wrap}.offer-badge{padding:6px 10px;border-radius:999px;color:#fff;background:var(--offer-coral);font-weight:800;font-size:12px;box-shadow:0 5px 16px rgba(0,0,0,.13)}.offer-badge.featured{background:var(--offer-navy)}
.offer-body{display:flex;flex:1;flex-direction:column;padding:19px}.offer-provider{color:var(--offer-teal);font-size:12px;font-weight:800;margin-bottom:6px}.offer-title{font-size:20px;line-height:1.45;margin:0 0 8px;color:#102f3b}.offer-copy{color:#607984;line-height:1.8;font-size:14px;margin:0 0 14px}.offer-details{color:#47616c;line-height:1.75;font-size:13px;margin:0 0 16px;white-space:pre-line}
.offer-pricing{display:flex;align-items:baseline;gap:9px;min-height:36px;margin-top:auto;margin-bottom:14px}.offer-price{font-size:23px;font-weight:800;color:var(--offer-navy)}.offer-old-price{text-decoration:line-through;color:#91a5ad;font-size:14px}.offer-cta{display:flex;justify-content:center;align-items:center;min-height:46px;border-radius:13px;text-decoration:none;background:linear-gradient(100deg,var(--offer-teal),#0b7f8b);color:#fff;font-weight:800;transition:filter .2s,transform .2s}.offer-cta:hover{filter:brightness(.95);transform:translateY(-1px)}.offer-expiry{display:block;text-align:center;color:#789099;font-size:11px;margin-top:10px}
.offers-empty{text-align:center;background:#fff;border:1px dashed #bcd9de;border-radius:22px;padding:54px 20px}.offers-empty-icon{font-size:58px}.offers-empty h2{margin:12px 0 6px;color:var(--offer-navy)}.offers-empty p{color:#65808a;margin:0}
@media(max-width:980px){.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.offers-page{padding:20px 0 90px}.offers-hero{border-radius:20px;padding:28px 20px;margin-bottom:20px}.offers-hero:after{font-size:120px;left:-8px;top:-20px}.offers-grid{grid-template-columns:1fr;gap:15px}.offer-card{border-radius:18px}.offer-body{padding:16px}}
@media(prefers-reduced-motion:reduce){.offer-card,.offer-cta{transition:none}}
