.coverflow-ads { position: relative; margin: 0 0 26px; outline-offset: 4px; }
.coverflow-ads [hidden] { display: none !important; }
.ad-carousel-stage { position: relative; height: clamp(220px, 22vw, 310px); overflow: hidden; isolation: isolate; touch-action: pan-y pinch-zoom; }
.coverflow-ads .ad-slide { position: absolute; left: 50%; top: 8px; width: 52%; max-width: 720px; aspect-ratio: 2.4; transform: translateX(-50%); border-radius: 10px; overflow: hidden; box-shadow: 0 10px 26px #14223a20; transition: transform .45s ease, filter .45s ease, opacity .45s ease; z-index: 2; display: block; background: #f0f2f5; }
.coverflow-ads .ad-slide > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.coverflow-ads .ad-slide[data-position="left"] { left: 0; transform: scale(.86); transform-origin: left center; z-index: 1; filter: brightness(.96); }
.coverflow-ads .ad-slide[data-position="right"] { left: auto; right: 0; transform: scale(.86); transform-origin: right center; z-index: 1; filter: brightness(.96); }
.coverflow-ads .ad-slide[data-position="hidden"] { visibility: hidden; opacity: 0; pointer-events: none; }
.coverflow-ads .ad-slide:focus-visible { outline: 3px solid var(--brand, var(--red)); outline-offset: -3px; }
.ad-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #ffffff90; border-radius: 50%; background: #ffffffed; color: #414956; box-shadow: 0 3px 12px #18263b14; font-size: 17px; cursor: pointer; }
.ad-arrow:hover { background: #fff; color: var(--brand, var(--red)); }
.ad-arrow.prev { left: 14px; }
.ad-arrow.next { right: 14px; }
.ad-controls { display: flex; align-items: center; justify-content: center; gap: 16px; min-height: 30px; margin-top: 2px; }
.ad-dots { display: flex; align-items: center; gap: 5px; }
.ad-dot { position: relative; width: 23px; height: 26px; border: 0; background: none; padding: 0; cursor: pointer; }
.ad-dot::after { content: ''; position: absolute; height: 3px; left: 3px; right: 3px; top: 12px; border-radius: 3px; background: #d4d8df; transition: background .2s; }
.ad-dot[aria-pressed="true"]::after { background: var(--brand, var(--red)); }
.coverflow-ads button:focus-visible, .ad-carousel:focus-visible { outline: 2px solid #e96b70; outline-offset: 3px; }
.ad-count, .ad-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.coverflow-ads.is-single .ad-slide { width: min(100%, 720px); }
@media (min-width: 1550px) { .ad-carousel-stage { height: 312px; } }

@media(prefers-reduced-motion:reduce){.coverflow-ads .ad-slide{transition:none}}
