/* The cinema catalog follows the final rules in the supplied index.html. */
.bimb-cinema { margin-inline:clamp(12px,1.4vw,24px); padding:clamp(58px,8vw,110px) 0; background:var(--bimb-ui-white); }
.bimb-cinema-wrap { max-width:1560px; margin-inline:auto; padding-inline:clamp(24px,3.6vw,64px); }
.bimb-cinema-heading { max-width:640px; }
.bimb-cinema-eyebrow { color:var(--bimb-ui-muted); font:400 12px/1.4 var(--bimb-ui-font-body); letter-spacing:.34em; text-transform:uppercase; }
.bimb-cinema-heading h2 { margin:16px 0; color:var(--bimb-ui-ink); font:500 clamp(23px,3.2vw,42px)/1.08 var(--bimb-ui-font-body); letter-spacing:.015em; text-transform:uppercase; }
.bimb-cinema-heading p { max-width:480px; margin:18px 0 0; color:var(--bimb-ui-muted); font:400 var(--bimb-ui-lead-size)/1.85 var(--bimb-ui-font-body); letter-spacing:var(--bimb-ui-body-tracking); }
.bimb-cinema-billboard { position:relative; display:flex; align-items:flex-end; min-height:74vh; margin-top:44px; overflow:hidden; border-radius:var(--bimb-ui-radius-l); }
.bimb-cinema-billboard > img { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:50% 8%; }
.bimb-cinema-veil { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(247,248,250,.5),transparent 60%); }
.bimb-cinema-billboard-copy { position:relative; z-index:2; max-width:540px; margin:clamp(18px,3vw,38px); padding:clamp(26px,3vw,40px); border:1px solid var(--bimb-ui-glass-border); border-radius:var(--bimb-ui-radius); background:var(--bimb-ui-glass-strong); box-shadow:var(--bimb-ui-frost-shadow); backdrop-filter:blur(14px); }
.bimb-cinema-badge { display:inline-flex; align-items:center; gap:9px; padding:11px 22px; border-radius:100px; background:var(--bimb-ui-ink); color:#fff; font:400 11px/1.4 var(--bimb-ui-font-body); letter-spacing:.18em; text-transform:uppercase; }
.bimb-cinema-badge svg { width:15px; height:15px; fill:#fff; stroke:none; }
.bimb-cinema-billboard h3 { margin:0 0 14px; color:var(--bimb-ui-ink); font:500 clamp(24px,3.4vw,40px)/1.06 var(--bimb-ui-font-body); letter-spacing:.015em; text-transform:uppercase; }
.bimb-cinema-badge + h3 { margin-top:16px; }
.bimb-cinema-billboard-copy > p { max-width:440px; margin:0 0 22px; color:var(--bimb-ui-ink-soft); }
.bimb-cinema-actions { display:flex; flex-wrap:wrap; gap:12px; }
.bimb-cinema-play { display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border:1px solid var(--bimb-ui-ink); border-radius:var(--bimb-ui-radius-s); background:#fff; color:var(--bimb-ui-ink); font:500 12px/1.2 var(--bimb-ui-font-body); letter-spacing:.1em; text-decoration:none; text-transform:uppercase; transition:background .4s,color .4s; }
.bimb-cinema-play > span { width:0; height:0; border-top:7px solid transparent; border-bottom:7px solid transparent; border-left:11px solid currentColor; }
.bimb-cinema-play:hover { background:var(--bimb-ui-ink); color:#fff; }
.bimb-cinema-carousel { position:relative; }
.bimb-cinema-track { display:flex; gap:26px; overflow-x:auto; padding:26px 8px 46px; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.bimb-cinema-track::-webkit-scrollbar { display:none; }
.bimb-cinema-slide { flex:0 0 auto; width:min(84vw,400px); scroll-snap-align:start; }
.bimb-cinema-nav { position:absolute; top:34%; z-index:5; display:flex; align-items:center; justify-content:center; width:64px; height:64px; padding:0; border:1px solid var(--bimb-ui-ink); border-radius:50%; background:var(--bimb-ui-ink); box-shadow:0 14px 34px rgba(31,34,38,.3); cursor:pointer; transform:translateY(-50%); transition:background .3s,transform .3s,opacity .3s; }
.bimb-cinema-nav:hover { background:var(--bimb-ui-graphite); transform:translateY(-50%) scale(1.07); }
.bimb-cinema-nav svg { width:26px; height:26px; fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.bimb-cinema-prev { left:-24px; }
.bimb-cinema-next { right:-24px; }
.bimb-cinema-more { display:flex; justify-content:center; margin-top:clamp(4px,1vw,14px); }
.bimb-cinema-more .bimb-ui-button { padding:22px 52px; box-shadow:0 16px 40px rgba(31,34,38,.24); font-size:13px; letter-spacing:.18em; }
@media (min-width:641px) { .bimb-cinema-next { right:max(-24px,calc(112px - (100vw - 100%)/2)); } }
@media (max-width:900px) { .bimb-cinema-nav { width:52px; height:52px; } .bimb-cinema-nav svg { width:22px; height:22px; } }
@media (max-width:640px) {
    .bimb-cinema-heading h2 { font-size:clamp(32px,9.4vw,42px); }
    .bimb-cinema-wrap { padding-inline:20px; }
    .bimb-cinema-billboard { display:block; min-height:0; border:1px solid var(--bimb-ui-gray-150); background:#fff; }
    .bimb-cinema-billboard > img { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:4/3; object-position:center; }
    .bimb-cinema-veil { display:none; }
    .bimb-cinema-billboard-copy { max-width:none; margin:0; padding:24px 22px 26px; border:0; border-radius:0; background:#fff; box-shadow:none; backdrop-filter:none; }
    .bimb-cinema-actions { display:grid; grid-template-columns:1fr; gap:10px; }
    .bimb-cinema-actions .bimb-ui-button,.bimb-cinema-play { justify-content:center; width:100%; padding:17px 20px; }
    .bimb-cinema-actions .bimb-ui-button { order:-1; }
    .bimb-cinema-prev { left:-8px; }
    .bimb-cinema-next { right:-8px; }
    .bimb-cinema-more .bimb-ui-button { width:100%; padding:20px 24px; }
    .bimb-cinema-slide .pcard { flex-direction:column; }
    .bimb-cinema-slide .pcard-ph {
        width:100%;
        flex:0 0 auto;
        aspect-ratio:4/5;
        padding:0;
        border-right:0;
        border-bottom:1px solid var(--bimb-ui-gray-150);
    }
    .bimb-cinema-slide .pcard-ph img {
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
    }
    .bimb-cinema-slide .pcard-body { width:100%; padding:18px 16px 20px; }
    .bimb-cinema-slide .pcard > .bimb-product-labels--overlay {
        top:12px;
        left:12px;
        right:12px;
        max-width:none;
    }
    .bimb-cinema-slide .pcard > .bimb-product-labels--overlay .bimb-product-label {
        max-width:100%;
        min-height:28px;
        padding:6px 11px;
        font-size:10px;
        line-height:1.25;
        letter-spacing:.08em;
        text-align:center;
        white-space:normal;
    }
}
@media (prefers-reduced-motion:reduce) { .bimb-cinema-track { scroll-behavior:auto; } }
