/* Campaign geometry is independent of product-card dimensions. */
.campaign-carousel{margin-block:24px;overflow:hidden;border-radius:18px;border:1px solid #c7aa65;background:#151514;min-width:0;box-shadow:0 12px 32px #211c1012}
.campaign-viewport{position:relative}
.campaign-slide{position:relative;display:block;height:390px;overflow:hidden;text-decoration:none;color:#fffdf8;background:#151514}
.campaign-slide[hidden],.campaign-carousel[hidden]{display:none}
.campaign-slide picture,.campaign-slide picture img{display:block;width:100%;height:100%}
.campaign-slide picture img{object-fit:cover}
.campaign-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15151400 10%,#151514e8 68%);pointer-events:none}
[dir=ltr] .campaign-slide:after{transform:scaleX(-1)}
.campaign-copy{position:absolute;inset-block:0;inset-inline-start:5%;width:44%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:13px;z-index:1;padding-block:24px;min-width:0}
.campaign-copy small{font-size:11px;font-weight:600;letter-spacing:.06em;color:#e7c570;line-height:1.7}
.campaign-copy strong{font-size:clamp(26px,3vw,40px);font-weight:700;line-height:1.4;overflow-wrap:anywhere;color:#fffdf8;max-width:100%}
.campaign-description{display:block;font-size:14px;line-height:1.85;color:#ded9cb;max-width:39em}
.campaign-copy .campaign-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 18px;border-radius:8px;min-height:44px;background:#e4bd52;color:#211e17;font-size:13px;font-weight:700;margin-top:4px}
.campaign-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
[dir=ltr] .campaign-cta svg{transform:rotate(180deg)}
.campaign-copy .campaign-logo{width:154px;height:auto;object-fit:contain;display:block;margin-bottom:3px}
.campaign-slide--cinematic picture{position:absolute;inset-block:0;inset-inline-end:0;width:70%}
.campaign-slide--cinematic picture img{object-position:left center;animation:campaign-drift 12s ease-out both}
[dir=ltr] .campaign-slide--cinematic picture{transform:scaleX(-1)}
.campaign-slide--cinematic:after{background:linear-gradient(90deg,#15151400 15%,#15151435 45%,#151514f5 61%,#151514 100%)}
.campaign-slide--cinematic .campaign-copy{animation:campaign-reveal .7s ease-out both}
.campaign-chapter{position:absolute;bottom:21px;inset-inline-end:25px;z-index:1;direction:ltr;color:#e4dcc6;font:11px/1.5 system-ui;letter-spacing:.12em}
.campaign-chapter b{font-size:20px;color:#f1cd70;font-weight:500}
.campaign-carousel[data-paused=true] .campaign-slide--cinematic picture img,.campaign-carousel:hover .campaign-slide--cinematic picture img,.campaign-carousel:focus-within .campaign-slide--cinematic picture img{animation-play-state:paused}
.campaign-controls{display:flex;justify-content:center;align-items:center;gap:10px;padding:5px 14px;min-height:56px;background:#fffdf8;border-top:1px solid #ded5c3}
.campaign-controls button{display:grid;place-items:center;border:1px solid transparent;border-radius:8px;background:transparent;color:#514329;min-width:44px;min-height:44px;cursor:pointer}
.campaign-controls button:hover{background:#f1eadb}
.campaign-controls button:focus-visible,.campaign-slide:focus-visible{outline:3px solid #b58b26;outline-offset:-3px}
.campaign-controls>[data-slide-control=previous],.campaign-controls>[data-slide-control=next]{font-size:25px;border-color:#ded5c3;width:44px;height:44px}
[dir=rtl] .campaign-controls>[data-slide-control=previous],[dir=rtl] .campaign-controls>[data-slide-control=next]{transform:scaleX(-1)}
.campaign-dots{display:flex;min-width:0;overflow-x:auto}
.campaign-dots button{min-width:32px;width:32px;flex-shrink:0;padding:0}
.campaign-dots i{display:block;width:6px;height:6px;margin:auto;border-radius:100%;background:#b3a78f;transition:width .25s ease}
.campaign-dots [aria-current=true] i{width:22px;border-radius:5px;background:#8b681b}
.campaign-controls .campaign-play{font-size:12px;padding:4px 12px;border-inline-start:1px solid #ded5c3;border-radius:0;min-width:64px}
#liveMidBanners .campaign-slide{height:300px}
@keyframes campaign-drift{from{transform:scale(1)}to{transform:scale(1.065)}}
@keyframes campaign-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.campaign-slide{height:370px}.campaign-copy{width:46%;gap:11px}.campaign-copy strong{font-size:28px}.campaign-description{font-size:13px}.campaign-copy .campaign-logo{width:132px}}
@media(max-width:760px){
 /* Match the compact home banner: artwork and copy share one horizontal panel. */
 .campaign-carousel{margin-block:12px;border-radius:12px}
 .campaign-slide,#liveMidBanners .campaign-slide,.campaign-slide--cinematic{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);min-height:190px;height:auto}
 .campaign-slide[hidden]{display:none}
 .campaign-slide picture,.campaign-slide--cinematic picture{position:absolute;inset:0;width:100%;height:100%}
 .campaign-slide picture img,.campaign-slide--cinematic picture img{object-position:left center;animation:none}
 .campaign-slide:after,.campaign-slide--cinematic:after{inset:0;height:auto;background:linear-gradient(90deg,#15151408 0%,#151514b8 40%,#151514f5 72%);transform:none}
 [dir=ltr] .campaign-slide:after{transform:scaleX(-1)}
 .campaign-copy,.campaign-slide--cinematic .campaign-copy{position:relative;inset:auto;grid-column:1;width:auto;min-height:190px;padding:16px 14px;gap:8px;justify-content:center;animation:none}
 .campaign-copy strong{font-size:clamp(17px,4.5vw,21px);line-height:1.4}
 .campaign-copy small,.campaign-copy .campaign-logo{display:none}
 .campaign-description{font-size:11px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .campaign-copy .campaign-cta{min-height:44px;font-size:11px;padding:8px 10px;gap:10px;max-width:100%;margin-top:0}
 .campaign-cta svg{width:15px;height:15px}
 .campaign-chapter{bottom:auto;top:8px;inset-inline-end:10px;font-size:9px;padding:2px 6px;border-radius:5px;background:#151514aa}
 .campaign-chapter b{font-size:12px}
 .campaign-controls{gap:1px;padding:2px 4px;min-height:48px}
 .campaign-dots button{min-width:26px;width:26px}
 .campaign-controls>[data-slide-control=previous],.campaign-controls>[data-slide-control=next]{min-width:36px;width:36px}
 .campaign-controls .campaign-play{min-width:48px;padding:4px;font-size:11px}
}
/* Match the measured main banner, including controls; use 320px when it is hidden. */
@media(min-width:761px){
 .campaign-carousel{--campaign-total-height:320px;display:flex;flex-direction:column;height:var(--campaign-total-height);border-radius:12px}
 .campaign-viewport{flex:1;min-height:0}
 .campaign-slide,#liveMidBanners .campaign-slide{height:100%}
 .campaign-controls{flex:none;min-height:54px;padding-block:4px}
 .campaign-copy{padding-block:12px;gap:6px;justify-content:safe center;overflow-y:auto;scrollbar-width:thin}
 .campaign-copy .campaign-logo{width:112px;margin-bottom:0;flex:none}
 .campaign-copy small{display:none}
 .campaign-copy strong{font-size:clamp(23px,2.2vw,30px);line-height:1.35;flex:none}
 .campaign-description{font-size:13px;line-height:1.65;flex:none}
 .campaign-copy .campaign-cta{min-height:44px;padding:9px 14px;font-size:12px;gap:14px;margin-top:0;flex:none}
 .campaign-chapter{bottom:12px;inset-inline-end:18px}
}
@media(min-width:761px) and (max-width:900px){
 .campaign-copy{width:50%;gap:7px;padding-block:12px}
 .campaign-copy .campaign-logo{display:none}
 .campaign-copy strong{font-size:24px}
 .campaign-description{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.campaign-carousel *{scroll-behavior:auto;animation:none!important;transition:none!important}}
