.promotion-slot{margin:18px 0;text-align:center;min-width:0;max-width:100%;overflow:hidden}.promotion-slot[hidden]{display:none!important}.promotion-slot small{display:block;color:#92969f;font:10px/1.5 system-ui;letter-spacing:1px;margin-bottom:5px}.promotion-slot a{max-width:100%}.promotion-slot :is(img,video){display:block;max-width:100%;max-height:200px;object-fit:contain;margin:auto}.promotion-film-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.promotion-film-layout .detail-body{min-width:0}.promotion-film-layout>.promotion-slot{padding:0 10px}.promotion-film-layout>.promotion-slot :is(img,video){max-height:600px}.promotion-film-layout.has-left{grid-template-columns:150px minmax(0,1fr)}.promotion-film-layout.has-right{grid-template-columns:minmax(0,1fr) 150px}.promotion-film-layout.has-left.has-right{grid-template-columns:150px minmax(0,1fr) 150px}@media(max-width:900px){.promotion-film-layout.has-left,.promotion-film-layout.has-right,.promotion-film-layout.has-left.has-right{grid-template-columns:minmax(0,1fr)}.promotion-film-layout .detail-body{grid-row:1}.promotion-film-layout>.promotion-slot{padding:0 20px}.promotion-film-layout>.promotion-slot :is(img,video){max-height:200px}}

/* The complete media is a single link; CTA coordinates travel inside its bounds. */
.promotion-link{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:0;max-width:100%;min-width:0;padding:0;background:#14161a;border:1px solid #34302b;border-radius:10px;overflow:hidden;text-decoration:none;vertical-align:top;box-sizing:border-box}
.promotion-link :is(img,video){flex-shrink:0}
.promotion-button-plane{position:absolute;inset:6px;pointer-events:none;display:block;min-width:0}
.promotion-cta{position:absolute;isolation:isolate;left:var(--cta-x,50%);top:var(--cta-y,88%);transform:translate(calc(0% - var(--cta-x,50%)),calc(0% - var(--cta-y,88%)));display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--cta-width,140px);height:var(--cta-height,42px);max-width:100%;max-height:100%;padding:3px 6px;overflow:hidden;border:1px solid #ffffff70;border-radius:var(--cta-radius,24px);color:var(--cta-text,#2c1707);font:800 var(--cta-font,13px)/1.15 system-ui,sans-serif;text-align:center;overflow-wrap:anywhere;pointer-events:none;background:var(--cta-color,#ffab54);box-shadow:0 0 var(--cta-shadow,12px) var(--cta-color,#ffab54)}
.promotion-cta.cta-gradient{background:linear-gradient(110deg,var(--cta-color),var(--cta-color-to),var(--cta-color));background-size:250% 100%;animation:kino-cta-color 5s ease-in-out infinite}
.promotion-cta.cta-pulse{animation:kino-cta-pulse 2.8s ease-in-out infinite}
.promotion-cta.cta-gradient.cta-pulse{animation:kino-cta-color 5s ease-in-out infinite,kino-cta-pulse 2.8s ease-in-out infinite}
.promotion-cta.cta-shimmer::after{content:"";position:absolute;z-index:-1;inset:-30% auto -30% -65%;width:40%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-22deg);animation:kino-cta-shine 5s ease-in-out infinite}
a.promotion-link:focus-visible{outline:3px solid #ffe1a0;outline-offset:3px}
@keyframes kino-cta-color{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes kino-cta-shine{0%,35%{left:-65%}75%,100%{left:140%}}
@keyframes kino-cta-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
@media(prefers-reduced-motion:reduce){.promotion-cta[class],.promotion-cta[class]::after{animation:none}.promotion-cta::after{display:none}}

/* Page rails live in the desktop gutters; absolute positioning avoids a resize loop. */
.promotion-page-layout{position:relative}.promotion-page-rail{display:none!important}
@media(min-width:1760px){
 .promotion-page-rail:not([hidden]){display:flex!important;flex-direction:column;position:absolute;top:24px;bottom:24px;width:150px;margin:0;overflow:hidden}
 .promotion-page-rail[data-promotion="catalog-left"]{left:calc(50% - 852px)}
 .promotion-page-rail[data-promotion="catalog-right"]{right:calc(50% - 852px)}
 .promotion-rail-track{display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:space-between;gap:24px}
 .promotion-page-rail .promotion-link{width:100%;flex:none}
 .promotion-page-rail :is(img,video){width:100%;height:auto;max-height:none}

}

/* Small centre image stays proportional and collapses completely when unavailable. */
.hero>[data-promotion="catalog-hero"]{width:168px;justify-self:center;margin:16px 0;overflow:visible}
[data-promotion="catalog-hero"] .promotion-link{max-width:160px}
[data-promotion="catalog-hero"] :is(img,video){width:auto;height:auto;max-width:160px;max-height:160px}

@media(max-width:1100px){.hero>[data-promotion="catalog-hero"]{margin:0 auto 28px}}

/* Horizontal placements fill their content column, preserving the entire image. */
.promotion-slot:is([data-promotion="catalog-top"],[data-promotion="catalog-bottom"],[data-promotion="film-description"],[data-promotion="film-before-player"],[data-promotion="film-after-player"]) .promotion-link{display:flex;width:100%}
.promotion-slot:is([data-promotion="catalog-top"],[data-promotion="catalog-bottom"],[data-promotion="film-description"],[data-promotion="film-before-player"],[data-promotion="film-after-player"]) :is(img,video){width:100%;height:auto;max-height:none}

.promotion-link video{display:block;object-fit:contain;pointer-events:none;max-width:100%;height:auto}
#asset-preview{width:100%}

/* Optional crop is presentation only. Original media and target URL stay intact. */
.promotion-link.promotion-fit-cover{width:100%;aspect-ratio:4/1}
.promotion-link.promotion-fit-cover:is([data-promotion="catalog-left"],[data-promotion="catalog-right"],[data-promotion="film-left"],[data-promotion="film-right"]){aspect-ratio:1/4}
.promotion-link.promotion-fit-cover[data-promotion="catalog-hero"]{aspect-ratio:1}
.promotion-link.promotion-fit-cover :is(img,video){position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center}
