.kino_schedule {
        --movie-schedule-sticky-top: 0px;
        --movie-schedule-grid-template: minmax(260px, 2.2fr) minmax(120px, 1.1fr) repeat(4, minmax(110px, 1fr));
        font-family: "Inter", "Roboto", "Arial", sans-serif;
        background: #f5f6ff;
        border-radius: 28px;
        padding: 32px;
        color: #1f1f24;
        box-shadow: 0 28px 60px rgba(79, 71, 255, 0.08);
        position: relative;
}

.kino_schedule--cinema {
        --movie-schedule-grid-template: minmax(280px, 2.6fr) minmax(150px, 1.2fr) repeat(4, minmax(120px, 1fr));
        padding: 28px 30px;
        background: #ffffff;
        box-shadow: 0 32px 68px rgba(60, 55, 170, 0.14);
}

.kino_schedule--cinema .movie-schedule__table {
        gap: 20px;
}

.kino_schedule--cinema .movie-schedule__head {
        position: static;
        background: transparent;
        border-radius: 0;
        border: none;
        box-shadow: none;
        padding: 0 12px;
        height: auto;
}

.kino_schedule--cinema .movie-schedule__col {
        justify-content: flex-start;
        font-size: 13px;
        letter-spacing: 0.06em;
        color: #5d5f75;
}

.kino_schedule--cinema .movie-schedule-row {
        grid-template-columns: var(--movie-schedule-grid-template);
        border-radius: 24px;
        box-shadow: 0 26px 54px rgba(64, 58, 160, 0.16);
}

.kino_schedule--cinema .movie-schedule-row__session,
.kino_schedule--cinema .movie-schedule-row__format,
.kino_schedule--cinema .movie-schedule-row__prices {
        padding: 24px;
}

.kino_schedule--cinema .movie-schedule-row__session {
        align-items: flex-start;
        gap: 12px;
}

.kino_schedule--cinema .movie-schedule-row__session-time {
        align-items: flex-start;
        gap: 10px;
}

.kino_schedule--cinema .movie-schedule-row__session-link {
        color: inherit;
}

.kino_schedule--cinema .movie-schedule-row__session-link:hover .movie-schedule-row__session-time-value {
        color: #4f46ff;
}

.kino_schedule--cinema .movie-schedule-row__session-details {
        gap: 8px 14px;
}

.kino_schedule--cinema .movie-schedule-row__format {
        border-left: 1px solid #eceeff;
        justify-content: flex-start;
        gap: 10px;
        flex-wrap: wrap;
}

.kino_schedule--cinema .movie-schedule-row__format--empty {
        color: #b3b4c8;
}

.kino_schedule--cinema .movie-schedule-row__format-badge {
        background: #f1f1ff;
        color: #4f46ff;
}

.kino_schedule--cinema .movie-schedule-row__format-badge--note {
        background: #f7f0ff;
        color: #8a50ff;
}

.kino_schedule--cinema .movie-schedule-row__prices {
        grid-column: 3 / span 4;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        border-left: 1px solid #eceeff;
}

.kino_schedule--cinema .movie-schedule-row__price {
        justify-content: center;
        align-items: center;
        text-align: center;
}

.kino_schedule__title {
        font-size: 22px;
        font-weight: 700;
        margin-bottom: 24px;
        letter-spacing: -0.01em;
}

.kino_schedule__table {
        display: flex;
        flex-direction: column;
        gap: 16px;
}

.movie-schedule__head {
        display: grid;
        grid-template-columns: var(--movie-schedule-grid-template);
        align-items: center;
        position: sticky;
        top: var(--movie-schedule-sticky-top);
        z-index: 5;
        padding: 0 24px;
        height: 58px;
        background: rgba(245, 246, 255, 0.95);
        backdrop-filter: blur(12px);
        border-radius: 18px;
        border: 1px solid rgba(113, 116, 255, 0.12);
        box-shadow: 0 16px 40px rgba(71, 64, 173, 0.12);
}

.movie-schedule__col {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #6e6f85;
}

.movie-schedule__col--cinema {
        justify-content: flex-start;
}

.movie-schedule__body {
        display: flex;
        flex-direction: column;
        gap: 18px;
}

.movie-schedule-row {
        display: grid;
        grid-template-columns: var(--movie-schedule-grid-template);
        background: #ffffff;
        border-radius: 22px;
        border: 1px solid #e4e5f6;
        box-shadow: 0 22px 48px rgba(74, 70, 170, 0.12);
        transition: transform 0.25s ease, box-shadow 0.25s ease;
        position: relative;
        overflow: hidden;
        column-gap: 0;
}

.movie-schedule-row:hover {
        transform: translateY(-4px);
        box-shadow: 0 32px 64px rgba(60, 56, 160, 0.16);
}

.movie-schedule-row__info,
.movie-schedule-row__time,
.movie-schedule-row__prices {
        padding: 20px 24px;
        box-sizing: border-box;
}

.movie-schedule-row__info {
        grid-column: 1 / 2;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px 14px;
}

.movie-schedule-row__cinema {
        display: inline-flex;
        align-items: center;
        font-size: 18px;
        font-weight: 600;
        color: #1f1f24;
        text-decoration: none;
        transition: color 0.2s ease;
}

.movie-schedule-row__cinema:hover {
        color: #4f46ff;
}

.movie-schedule-row__info-details {
        display: inline-flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
}

.movie-schedule-row__info-divider {
        display: inline-flex;
        align-items: center;
        color: #d3d4ec;
}

.movie-schedule-row__info-detail {
        font-size: 13px;
        color: #7a7b91;
}

.movie-schedule-row__info-detail--hall {
        font-weight: 600;
        color: #4b4c63;
}

.movie-schedule-row__info-detail--language {
        display: inline-flex;
        align-items: center;
        padding: 6px 12px;
        border-radius: 999px;
        background: #ebeefe;
        color: #5348ff;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.08em;
}

.movie-schedule-row__session,
.movie-schedule-row__format {
        padding: 20px 24px;
        box-sizing: border-box;
}

.movie-schedule-row__session {
        grid-column: 1 / 2;
        display: flex;
        flex-direction: column;
        gap: 12px;
}

.movie-schedule-row__session-time {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
}

.movie-schedule-row__session-link {
        display: inline-flex;
        flex-direction: column;
        gap: 6px;
        text-decoration: none;
        color: inherit;
}

.movie-schedule-row__session-link:hover {
        text-decoration: none;
}

.movie-schedule-row__session-details {
        display: inline-flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px 12px;
}

.movie-schedule-row__session-divider {
        display: inline-flex;
        align-items: center;
        color: #d3d4ec;
}

.movie-schedule-row__session-detail {
        font-size: 13px;
        color: #7a7b91;
}

.movie-schedule-row__session-detail--hall {
        font-weight: 600;
        color: #4b4c63;
}

.movie-schedule-row__session-detail--language {
        display: inline-flex;
        align-items: center;
        padding: 6px 12px;
        border-radius: 999px;
        background: #ebeefe;
        color: #5348ff;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.08em;
}

.movie-schedule-row__session-detail--format {
        font-weight: 600;
        color: #5348ff;
}

.movie-schedule-row__format {
        grid-column: 2 / 3;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border-left: 1px solid #f0f1ff;
        text-align: center;
        flex-wrap: wrap;
}

.movie-schedule-row__format-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 6px 16px;
        border-radius: 999px;
        background: #ebeefe;
        color: #5348ff;
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
}

.movie-schedule-row__format-badge--note {
        background: #f6f0ff;
        color: #8a50ff;
}

.movie-schedule-row__format--empty {
        font-size: 13px;
        color: #9c9db3;
}

.movie-schedule-row__time {
        grid-column: 2 / 3;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border-left: 1px solid #f0f1ff;
        text-align: center;
}

.movie-schedule-row__time-value {
        font-size: 24px;
        font-weight: 700;
        color: #4437ff;
        letter-spacing: 0.02em;
}

.movie-schedule-row__time-note {
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: #7a7b92;
        background: #f1f1ff;
        border-radius: 999px;
        padding: 4px 10px;
}

.movie-schedule-row__prices {
        grid-column: 3 / span 4;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        border-left: 1px solid #f0f1ff;
        flex-wrap: nowrap;
}

.movie-schedule-row__price {
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 6px;
        display: flex;
        flex-direction: column;
        flex: 1 1 0;
        min-width: 110px;
}

.movie-schedule-row__price-value {
        font-size: 18px;
        font-weight: 700;
        color: #1f1f24;
}

.movie-schedule-row__price-value--empty {
        color: #b3b3c6;
}

.movie-schedule-row__price-label {
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #8a8aa3;
        display: block;
}

.schedule-toolbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin: 24px 0 12px;
        padding: 12px 18px;
        border-radius: 20px;
        background: rgba(240, 240, 255, 0.9);
        border: 1px solid rgba(86, 86, 222, 0.14);
        box-shadow: 0 14px 30px rgba(74, 68, 210, 0.08);
}

.schedule-toolbar__left,
.schedule-toolbar__right {
        display: flex;
        align-items: center;
        gap: 12px;
}

.toggle-group,
.chip-group {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: rgba(225, 224, 255, 0.8);
        padding: 6px;
        border-radius: 999px;
}

.toggle-btn,
.chip-btn {
        border: none;
        background: transparent;
        color: #585876;
        font-size: 13px;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        padding: 8px 20px;
        border-radius: 999px;
        cursor: pointer;
        transition: all 0.25s ease;
        position: relative;
}

.toggle-btn::after,
.chip-btn::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        box-shadow: 0 10px 20px rgba(76, 68, 255, 0.22);
        opacity: 0;
        transition: opacity 0.25s ease;
        pointer-events: none;
}

.toggle-btn:hover,
.chip-btn:hover {
        color: #4035ff;
}

.toggle-btn.active,
.chip-btn.active {
        background: linear-gradient(135deg, #5348ff 0%, #776bff 100%);
        color: #ffffff;
        box-shadow: 0 16px 30px rgba(67, 57, 220, 0.35);
}

.toggle-btn.active::after,
.chip-btn.active::after {
        opacity: 1;
}

.chip-group {
        background: transparent;
        padding: 0;
        gap: 8px;
        flex-wrap: wrap;
}

.chip-btn {
        background: rgba(228, 227, 255, 0.7);
        color: #4d4d74;
        padding: 7px 20px;
}

.chip-btn.active {
        background: linear-gradient(135deg, #5a4fff 0%, #8479ff 100%);
}

.movie-schedule-row--past {
        opacity: 0.55;
}

.movie-schedule-row--past .movie-schedule-row__time-value {
        color: #8d8dcc;
}

@media (max-width: 1280px) {
        .schedule-toolbar {
                margin-top: 20px;
        }

        .kino_schedule {
                --movie-schedule-grid-template: minmax(220px, 1.6fr) minmax(110px, 1fr) repeat(4, minmax(90px, 0.9fr));
                padding: 28px;
        }

        .kino_schedule--cinema {
                --movie-schedule-grid-template: minmax(250px, 2.3fr) minmax(140px, 1.1fr) repeat(4, minmax(110px, 1fr));
                padding: 26px 26px;
        }

        .movie-schedule-row__info,
        .movie-schedule-row__time,
        .movie-schedule-row__session,
        .movie-schedule-row__format,
        .movie-schedule-row__prices {
                padding: 18px 20px;
        }

        .movie-schedule__head {
                padding: 0 20px;
        }

        .kino_schedule--cinema .movie-schedule__head {
                padding: 0 14px;
        }

        .kino_schedule--cinema .movie-schedule-row__session,
        .kino_schedule--cinema .movie-schedule-row__format,
        .kino_schedule--cinema .movie-schedule-row__prices {
                padding: 20px 22px;
        }
}

@media (max-width: 960px) {
        .schedule-toolbar {
                flex-direction: column;
                align-items: stretch;
                gap: 16px;
                padding: 14px;
        }

        .schedule-toolbar__left,
        .schedule-toolbar__right {
                justify-content: space-between;
                flex-wrap: wrap;
        }

        .schedule-toolbar__right {
                justify-content: flex-start;
        }

        .toggle-group,
        .chip-group {
                width: 100%;
                justify-content: center;
        }

        .toggle-btn,
        .chip-btn {
                flex: 1 1 auto;
                text-align: center;
        }

        .kino_schedule {
                --movie-schedule-grid-template: 1fr;
                --movie-schedule-sticky-top: 12px;
                padding: 24px 18px;
                border-radius: 24px;
                box-shadow: 0 18px 44px rgba(70, 60, 255, 0.16);
                background: #ffffff;
        }

        .movie-schedule__head {
                display: flex;
                gap: 8px;
                padding: 10px 12px;
                background: #f2f2ff;
                border-radius: 16px;
                border: 1px solid rgba(110, 114, 255, 0.18);
                box-shadow: none;
                overflow-x: auto;
                height: auto;
        }

        .movie-schedule__head::-webkit-scrollbar {
                display: none;
        }

        .movie-schedule__col {
                min-width: max-content;
                justify-content: flex-start;
                font-size: 10px;
                padding: 0 4px;
                letter-spacing: 0.06em;
        }

        .movie-schedule__col--cinema {
                display: none;
        }

        .movie-schedule__body {
                gap: 14px;
        }

        .movie-schedule-row {
                grid-template-columns: 1fr;
                border-radius: 18px;
                padding: 16px;
                gap: 12px;
                box-shadow: 0 16px 36px rgba(61, 56, 160, 0.16);
        }

        .movie-schedule-row__info,
        .movie-schedule-row__time,
        .movie-schedule-row__session,
        .movie-schedule-row__format,
        .movie-schedule-row__prices {
                padding: 0;
                border: none;
                grid-column: 1 / -1;
        }

        .movie-schedule-row__info {
                gap: 6px 10px;
                align-items: flex-start;
        }

        .movie-schedule-row__session {
                gap: 6px 10px;
                align-items: flex-start;
        }

        .movie-schedule-row__time {
                justify-content: flex-start;
                text-align: left;
                gap: 6px;
        }

        .movie-schedule-row__format {
                justify-content: flex-start;
                text-align: left;
                gap: 6px;
        }

        .movie-schedule-row__time-value {
                font-size: 24px;
        }

        .movie-schedule-row__time-note {
                padding: 4px 10px;
        }

        .movie-schedule-row__prices {
                flex-wrap: nowrap;
                gap: 6px;
                justify-content: space-between;
        }

        .movie-schedule-row__price {
                align-items: center;
                text-align: center;
                gap: 4px;
                flex: 1 1 0;
                min-width: 0;
                padding: 6px 4px;
        }

        .movie-schedule-row__price-value {
                font-size: 16px;
                letter-spacing: -0.012em;
        }

        .movie-schedule-row__price-label {
                font-size: 10px;
                letter-spacing: 0.06em;
        }

        .kino_schedule--cinema {
                --movie-schedule-grid-template: minmax(220px, 2.2fr) minmax(130px, 1.1fr) repeat(4, minmax(110px, 1fr));
                padding: 22px 22px;
                border-radius: 24px;
                box-shadow: 0 22px 48px rgba(70, 60, 255, 0.16);
        }

        .kino_schedule--cinema .movie-schedule__head {
                display: grid;
                grid-template-columns: var(--movie-schedule-grid-template);
                background: transparent;
                border-radius: 0;
                border: none;
                box-shadow: none;
                padding: 0 6px;
                gap: 10px;
        }

        .kino_schedule--cinema .movie-schedule__col {
                min-width: 0;
                font-size: 11px;
                padding: 0;
                justify-content: flex-start;
        }

        .kino_schedule--cinema .movie-schedule__col--cinema {
                display: flex;
        }

        .kino_schedule--cinema .movie-schedule__body {
                gap: 18px;
        }

        .kino_schedule--cinema .movie-schedule-row {
                grid-template-columns: var(--movie-schedule-grid-template);
                padding: 18px 20px;
                gap: 10px;
        }

        .kino_schedule--cinema .movie-schedule-row__session,
        .kino_schedule--cinema .movie-schedule-row__format,
        .kino_schedule--cinema .movie-schedule-row__prices {
                padding: 18px 20px;
                border: none;
        }

        .kino_schedule--cinema .movie-schedule-row__prices {
                grid-column: 3 / span 4;
                display: flex;
                gap: 14px;
                justify-content: space-between;
        }
		.kino_schedule--cinema .movie-schedule-row {display: table-row;}
}

@media (max-width: 640px) {
        .kino_schedule {
                padding: 20px 14px;
                border-radius: 20px;
                box-shadow: 0 16px 32px rgba(58, 52, 160, 0.18);
        }

        .schedule-toolbar {
                gap: 12px;
                padding: 12px;
        }

        .toggle-btn,
        .chip-btn {
                padding: 7px 16px;
                font-size: 12px;
        }

        .movie-schedule__head {
                padding: 9px 10px;
                gap: 6px;
        }

        .movie-schedule-row {
                padding: 14px;
                gap: 10px;
                box-shadow: 0 12px 28px rgba(61, 56, 160, 0.14);
        }

        .movie-schedule-row__cinema {
                font-size: 16px;
        }

        .movie-schedule-row__info-detail {
                font-size: 12px;
        }

        .movie-schedule-row__time-value {
                font-size: 22px;
        }

        .movie-schedule-row__prices {
                gap: 6px;
                justify-content: space-between;
        }

        .movie-schedule-row__price {
                padding: 4px 2px;
        }

        .movie-schedule-row__price-value {
                font-size: 14px;
                letter-spacing: -0.018em;
        }

        .movie-schedule-row__price-label {
                font-size: 9px;
                letter-spacing: 0.04em;
                padding-top: 0;
        }

        .kino_schedule--cinema {
                padding: 18px 16px;
                border-radius: 22px;
        }

        .kino_schedule--cinema .movie-schedule__head {
                padding: 0;
        }

        .kino_schedule--cinema .movie-schedule-row {
                padding: 16px;
        }

        .kino_schedule--cinema .movie-schedule-row__prices {
                gap: 8px;
                flex-wrap: wrap;
                justify-content: space-between;
        }
}

  .c-trailer .c-trailer-poster { display:block; object-fit: cover; height: 100%; }
  .c-trailer-scrim {
    position:absolute; inset:0; 
    background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,.1) 40%, transparent);
    pointer-events:none;
  }
  .c-play-btn {
    left:50%; top:50%; transform:translate(-50%,-50%);
    display:flex; align-items:center;
	position: absolute !important;
  }
  .c-play-ico {
    width:0; height:0; border-left:14px solid currentColor; border-top:10px solid transparent; border-bottom:10px solid transparent;
    display:inline-block;
  }