.has-ad-carousel{grid-template-rows:minmax(0,1fr) auto}
.has-ad-carousel.has-app-footer{grid-template-rows:minmax(0,1fr) auto auto}
.has-ad-carousel .app-footer-menu{grid-row:3}
.pwa-ad-carousel{position:relative;z-index:14;grid-row:2;display:flex;justify-content:center;width:100%;min-width:0;padding:6px 8px;background:color-mix(in srgb,var(--app-bottom-color,#111827) 92%,#000);overflow:hidden}
.pwa-ad-carousel[hidden],.pwa-ad-slide[hidden],.pwa-ad-dots button[hidden]{display:none!important}
.pwa-ad-carousel.is-full-width{padding-right:0;padding-left:0}
.pwa-ad-shell{position:relative;width:min(var(--pwa-ad-width,360px),100%);height:var(--pwa-ad-height,180px);min-height:40px;max-height:600px;overflow:hidden;border-block:1px solid #ffffff2e;border-radius:0;background:#111827;box-shadow:0 8px 26px #02061766}
.pwa-ad-carousel.is-full-width .pwa-ad-shell{width:100%;max-width:none}
.pwa-ad-track{display:flex;gap:6px;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;cursor:grab;opacity:1;transition:opacity var(--pwa-ad-fade-half,160ms) ease}
.pwa-ad-track::-webkit-scrollbar{display:none}
.pwa-ad-track:active{cursor:grabbing}
.pwa-ad-track.is-fading{opacity:0}
.pwa-ad-slide{position:relative;flex:0 0 var(--pwa-ad-slide-basis,100%);min-width:0;height:100%;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:linear-gradient(135deg,#111827,#312e81)}
.pwa-ad-action{display:block;position:relative;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;color:#fff;text-align:left;font:inherit;cursor:default}
.pwa-ad-action:is(button){cursor:pointer}
.pwa-ad-action:is(button):focus-visible,.pwa-ad-track:focus-visible{outline:3px solid #67e8f9;outline-offset:-4px}
.pwa-ad-slide img{display:block;width:100%;height:100%;object-fit:cover}
.pwa-ad-slide-image .pwa-ad-copy{position:absolute;inset:auto 0 0;padding:calc(var(--pwa-ad-padding,8px) + 10px) var(--pwa-ad-padding,8px) var(--pwa-ad-padding,8px);background:linear-gradient(transparent,#020617e8)}
.pwa-ad-slide-text .pwa-ad-action{display:flex;align-items:center;justify-content:center;padding:var(--pwa-ad-padding,8px);text-align:center;background:radial-gradient(circle at 15% 15%,#38bdf844,transparent 38%),linear-gradient(135deg,#0f172a,#312e81)}
.pwa-ad-copy{display:flex;flex-direction:column;gap:4px;max-width:100%}
.pwa-ad-copy strong{font-size:var(--pwa-ad-heading-size,18px);line-height:1.1}
.pwa-ad-copy small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:var(--pwa-ad-content-size,13px);line-height:1.3;color:#e2e8f0}
.pwa-ad-badge{position:absolute;z-index:4;top:5px;left:7px;padding:2px 6px;border-radius:999px;background:#020617b8;color:#f8fafc;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.pwa-ad-dots{position:absolute;z-index:5;right:0;bottom:5px;left:0;display:flex;justify-content:center;gap:5px;pointer-events:none}
.pwa-ad-dots button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:#ffffff73;box-shadow:0 0 0 1px #02061770;pointer-events:auto;cursor:pointer}
.pwa-ad-dots button[aria-selected="true"]{width:17px;border-radius:8px;background:#fff}
@media(max-height:520px){.pwa-ad-carousel{padding-block:3px}.pwa-ad-shell{max-height:min(var(--pwa-ad-height,180px),32vh)}}
@media(prefers-reduced-motion:reduce){.pwa-ad-track{scroll-behavior:auto;transition:none}}
