/* Shared responsive campaign layout: admin preview and storefront use the same rules. */
.campaign-slider{container-type:inline-size;padding:0;display:block;overflow:hidden;position:relative;min-height:0}
.campaign{background:var(--campaign-bg);color:var(--campaign-fg);position:relative;min-width:0}
.campaign-product{display:grid;grid-template-columns:1.08fr 1fr;min-height:225px;gap:0}
.campaign-product .banner-copy{padding:16px 24px}
.campaign .banner-copy h1{color:var(--campaign-fg)}
.campaign .banner-copy h1 span,.campaign .eyebrow{color:var(--campaign-accent)}
.campaign .banner-copy p{color:inherit;opacity:.85}
.campaign .primary,.campaign .banner-price{background:var(--campaign-accent);color:#fff}
.campaign .banner-price{position:absolute;right:0;bottom:5px;min-width:150px;padding:14px 17px}
.campaign .banner-price small{display:block;margin-top:5px}
.campaign .banner-visual{position:relative;min-height:170px;margin:14px 16px 14px 0}
.campaign .banner-visual>img{width:100%;height:180px;object-fit:contain;mix-blend-mode:normal}
.campaign-right .banner-copy{order:2}
.campaign-right .banner-visual{order:1;margin:14px 0 14px 16px}
.campaign-artwork{height:clamp(200px,23cqw,300px)}
.campaign-artwork img,.campaign-artwork>a:not(.campaign-art-cta){display:block;width:100%;height:100%}
.campaign-art-cta{position:absolute;bottom:20px;left:28px}
.campaign-controls{display:flex;justify-content:space-between;align-items:center;padding:8px 15px;background:#fff;border-top:1px solid var(--line,#dedbd7);gap:12px}
.campaign-controls>div{display:flex;align-items:center;gap:10px}
.campaign-controls .banner-switches{position:static}
.campaign-controls button{border:1px solid var(--line,#dedbd7);border-radius:6px;background:#fff;color:#171719;cursor:pointer;padding:3px 10px;min-height:28px}
.campaign-controls .banner-switches button{padding:0;width:8px;height:8px;min-height:8px;border-radius:100%;background:#dedbd7;border:0}
.campaign-controls .banner-switches button[aria-pressed=true]{background:#941419}
.campaign-controls span{font-size:11px}
.campaign-empty{padding:35px;color:#52525b;background:#f5f4f2}
.campaign a:focus-visible,.campaign-controls button:focus-visible{outline:3px solid #941419;outline-offset:3px}
@container(max-width:600px){
 .campaign-product{grid-template-columns:1fr 1fr}
 .campaign-product .banner-copy{padding:20px 12px 20px 16px}
 .campaign-product .banner-copy h1{font-size:30px}
 .campaign-product .banner-copy p{font-size:11px}
 .campaign-product .banner-copy .primary{font-size:11px;padding:9px}
 /* Keep the phone centered when narrow-screen copy makes the slide taller. */
 .campaign-product .banner-visual{margin:14px 12px 14px 0;display:flex;align-items:center;justify-content:center}
 .campaign-right .banner-visual{margin:14px 0 14px 12px}
 .campaign .banner-visual>img{height:160px}
 .campaign .banner-price{position:relative;right:auto;bottom:auto;min-width:0;padding:10px;font-size:10px}
 .campaign .banner-price b{font-size:19px}
 .campaign-artwork{height:260px}
 .campaign-art-cta{left:15px;bottom:15px}
}
