.promo-carousel-wrapper{position:relative;width:100%;max-width:420px;margin:0 auto;-webkit-user-select:none;user-select:none}.promo-carousel-stage{position:relative;width:100%;overflow:hidden;border-radius:8px;aspect-ratio:420 / 595;background:#111}.promo-carousel-track{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-wrap:nowrap;transition:transform 0.5s ease;will-change:transform}.promo-slide{flex:0 0 100%;min-width:100%;position:relative;height:100%;overflow:hidden}.promo-slide::before{content:"PROMO";position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);font-size:clamp(34px, 11vw, 72px);font-weight:800;letter-spacing:.02em;color:rgb(255 255 255 / .13);z-index:1;pointer-events:none;transition:opacity 0.3s ease}.promo-slide-link{display:block;width:100%;height:100%;text-decoration:none;color:inherit}.promo-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.02);transition:transform 0.45s ease}.promo-slide-overlay{position:absolute;inset:0;left:0;right:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:18px 18px 46px;background:linear-gradient(to top,rgb(0 0 0 / .72) 0%,rgb(0 0 0 / .3) 22%,transparent 42%);transition:background 0.35s ease;pointer-events:none;z-index:2}.promo-tag{display:inline-block;background:rgb(255 255 255 / .18);border:1px solid rgb(255 255 255 / .48);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:8px;backdrop-filter:blur(1px)}.promo-title{font-size:22px;font-weight:700;margin:0;color:#fff;line-height:1.1;text-shadow:0 2px 5px rgb(0 0 0 / .55);transition:font-size 0.35s ease,margin 0.35s ease}.promo-desc{font-size:14px;color:rgb(255 255 255 / .92);margin:0;line-height:1.45;text-shadow:0 1px 3px rgb(0 0 0 / .5);max-height:0;opacity:0;overflow:hidden;transform:translateY(8px);transition:max-height 0.35s ease,opacity 0.35s ease,transform 0.35s ease,margin-top 0.35s ease}.promo-carousel-stage .promo-slide-overlay .promo-desc{margin-top:0}@media (hover:hover) and (pointer:fine){.promo-carousel-stage:hover .promo-slide img{transform:scale(1.06)}.promo-carousel-stage:hover .promo-slide::before{opacity:.2}.promo-carousel-stage:hover .promo-slide-overlay{background:linear-gradient(to top,rgb(0 0 0 / .85) 0%,rgb(0 0 0 / .4) 30%,transparent 52%)}.promo-carousel-stage:hover .promo-title{font-size:21px;margin-bottom:5px}.promo-carousel-stage:hover .promo-desc{max-height:120px;opacity:1;transform:translateY(0);margin-top:6px}}.promo-nav{position:absolute;top:45%;transform:translateY(-50%);background:rgb(0 0 0 / .45);color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s;z-index:20;padding:0;line-height:1}.promo-nav:hover{background:rgb(0 0 0 / .72)}.promo-nav--prev{left:10px}.promo-nav--next{right:10px}.promo-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:20}.promo-dot{width:8px;height:8px;border-radius:50%;background:rgb(255 255 255 / .5);cursor:pointer;transition:background 0.2s,transform 0.2s}.promo-dot.is-active{background:#fff;transform:scale(1.3)}@media (max-width:480px){.promo-carousel-wrapper{border-radius:0}.promo-title{font-size:18px;line-height:1.1}.promo-desc{font-size:12px;max-height:96px;opacity:1;transform:none;margin-top:6px}.promo-slide-overlay{padding:16px 14px 44px}.promo-nav{width:28px;height:28px;font-size:14px}}