.carousel,.dots{width:min(100%,310px);margin-inline:auto}
.slide{display:flex;flex-direction:column;gap:10px}
.campaign-card{display:flex;flex-direction:column;height:clamp(310px,calc(100vw - 40px),345px);padding:17px;border:1px solid #ffffff30;border-radius:23px;background:#1a1a1d;color:#fff;text-align:left;box-shadow:0 18px 40px #0007;overflow:hidden}
.campaign-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:24px}
.campaign-brand{font-size:11px;letter-spacing:-.04em;font-weight:700;color:#fff}.campaign-brand span{color:#ff1650}
.campaign-kind{padding:5px 7px;border:1px solid #ffffff36;border-radius:20px;color:#e7e3e6;font-size:7px;font-weight:700;letter-spacing:.08em;white-space:nowrap}
.campaign-card h2{margin:12px 0 4px;font-size:clamp(22px,6vw,26px);line-height:1.08;letter-spacing:-.04em;font-weight:700}
.campaign-card p{margin:0;color:#b9b4b9;font-size:10px;line-height:1.35}
.campaign-media{display:block;flex:1 1 auto;min-height:0;overflow:hidden;margin:12px 0 10px;border-radius:13px;background:#f7f4f2}
.campaign-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 76%}
.campaign-offer{align-self:flex-start;max-width:100%;padding:5px 8px;border-radius:6px;background:#ff165026;color:#ff8aa7;font-size:9px;line-height:1.2;font-weight:700}
.campaign-footer{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:28px;margin-top:9px;padding-top:8px;border-top:1px solid #ffffff27;color:#a8a4a9;font-size:9px}
.campaign-footer strong{color:#fff;font-size:19px;line-height:1;font-weight:700;white-space:nowrap}
.campaign-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:9px 11px;border:1px solid #ff5980;border-radius:15px;background:#f31650;color:#fff;text-decoration:none;font-size:12px;font-weight:700;box-shadow:0 9px 23px #f3165040;transition:transform .2s,background .2s}
.campaign-button img{display:block;width:17px;height:17px;object-fit:contain}.campaign-button span{font-size:17px;font-weight:400}
.campaign-button:hover,.campaign-button:focus-visible{transform:translateY(-2px);background:#d80b41}.campaign-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:360px){.campaign-card{padding:14px}.campaign-card h2{font-size:21px}.campaign-kind{font-size:6px}.campaign-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.campaign-button{transition:none}}
