:root{
    --kino-bg:#fafafa;
    --kino-surface:#ffffff;
    --kino-text:#111111;
    --kino-muted:#5b5b5b;
    --kino-border:#e1e1e1;
    --kino-accent:#7a1111;
    --kino-accent-dark:#4f0a0a;
    --kino-shadow:0 16px 40px rgba(0,0,0,.08);
    --kino-container:1400px;
    --kino-content:860px;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    overflow-x:hidden;
}

body{
    margin:0;
    overflow-x:hidden;
    background:var(--kino-bg);
    color:var(--kino-text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    font-size:16px;
    line-height:1.6;
}

img,
svg,
video,
iframe{
    max-width:100%;
}

img{
    height:auto;
}

iframe,
video{
    display:block;
}

button,
input,
select,
textarea{
    font:inherit;
}

a{
    color:var(--kino-text);
    text-underline-offset:.18em;
}

a:hover{
    color:var(--kino-accent);
}

.kino-jdk-site a:focus-visible,
.kino-jdk-site button:focus-visible{
    outline:3px solid #ffffff;
    outline-offset:3px;
    box-shadow:0 0 0 6px var(--kino-accent);
}

.kino-jdk-skip-link{
    position:absolute;
    z-index:1000;
    top:1rem;
    left:1rem;
    transform:translateY(-160%);
    padding:.75rem 1rem;
    background:#111;
    color:#fff;
    border-radius:6px;
}

.kino-jdk-skip-link:focus{
    transform:translateY(0);
}

.kino-jdk-content-start{
    outline:0;
}

.kino-jdk-page{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.kino-jdk-container{
    width:100%;
    max-width:var(--kino-container);
    margin:0 auto;
    padding:0 1.5rem;
}

.kino-jdk-container--content{
    max-width:var(--kino-content);
}

.kino-jdk-container--wide{
    width:min(100% - 32px,1400px);
    max-width:var(--kino-container);
    padding-right:0;
    padding-left:0;
}

.kino-jdk-main--wide .kino-jdk-entry,
.kino-jdk-main--wide .kino-jdk-entry__content,
.kino-jdk-site--wide .kino-jdk-entry,
.kino-jdk-site--wide .kino-jdk-entry__content{
    min-width:0;
    max-width:none;
}

.kino-jdk-site-header{
    position:relative;
    z-index:50;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--kino-border);
}

.kino-jdk-site-header__inner{
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
}

.kino-jdk-brand{
    min-width:0;
}

.kino-jdk-brand .custom-logo-link{
    display:inline-flex;
    align-items:center;
}

.kino-jdk-brand img{
    width:auto;
    max-height:54px;
}

.kino-jdk-brand__text{
    display:inline-block;
    color:#111;
    font-size:1.35rem;
    font-weight:800;
    line-height:1.1;
    text-decoration:none;
}

.kino-jdk-primary-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

.kino-jdk-menu,
.kino-jdk-footer-menu{
    margin:0;
    padding:0;
    list-style:none;
}

.kino-jdk-menu{
    display:flex;
    align-items:center;
    gap:1.35rem;
}

.kino-jdk-menu a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
    color:#151515;
    font-weight:650;
    text-decoration:none;
}

.kino-jdk-menu a:hover{
    color:var(--kino-accent);
}

.kino-jdk-menu-toggle{
    display:none;
    align-items:center;
    gap:.65rem;
    min-height:44px;
    padding:.45rem .75rem;
    border:1px solid #cfcfcf;
    border-radius:7px;
    background:#fff;
    color:#111;
    cursor:pointer;
}

.kino-jdk-menu-toggle__bar,
.kino-jdk-menu-toggle__bar::before,
.kino-jdk-menu-toggle__bar::after{
    display:block;
    width:20px;
    height:2px;
    background:#111;
    content:"";
}

.kino-jdk-menu-toggle__bar{
    position:relative;
}

.kino-jdk-menu-toggle__bar::before,
.kino-jdk-menu-toggle__bar::after{
    position:absolute;
    left:0;
}

.kino-jdk-menu-toggle__bar::before{
    top:-6px;
}

.kino-jdk-menu-toggle__bar::after{
    top:6px;
}

.kino-jdk-main{
    flex:1;
    padding:3rem 0 4rem;
}

.kino-jdk-front{
    padding-top:2rem;
}

.kino-jdk-front-section{
    margin:0 0 3.5rem;
}

.kino-jdk-front-section--hero{
    margin-bottom:4rem;
}

.kino-jdk-front-cta{
    text-align:center;
}

.kino-jdk-section-title,
.kino-jdk-entry__title,
.kino-jdk-archive-header h1,
.kino-jdk .kino-jdk-event-section > h2{
    margin:0 0 1.5rem;
    color:#111;
    font-size:2.15rem;
    line-height:1.15;
    letter-spacing:0;
}

.kino-jdk-section-title,
.kino-jdk-entry__title,
.kino-jdk .kino-jdk-event-section > h2{
    position:relative;
    padding-left:1rem;
}

.kino-jdk-section-title::before,
.kino-jdk-entry__title::before,
.kino-jdk .kino-jdk-event-section > h2::before{
    position:absolute;
    top:.08em;
    bottom:.08em;
    left:0;
    width:4px;
    background:var(--kino-accent);
    border-radius:999px;
    content:"";
}

.kino-jdk-entry{
    background:transparent;
}

.kino-jdk-entry__content > *:first-child{
    margin-top:0;
}

.kino-jdk-entry__content > *:last-child{
    margin-bottom:0;
}

.kino-jdk-entry__content p{
    color:#242424;
}

.kino-jdk-entry__media{
    margin:0 0 1.5rem;
}

.kino-jdk-post-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2rem;
}

.kino-jdk-post-grid .kino-jdk-entry{
    padding:1.25rem;
    background:var(--kino-surface);
    border:1px solid var(--kino-border);
    border-radius:8px;
    box-shadow:0 10px 28px rgba(0,0,0,.05);
}

.button,
.btn,
.wp-block-button__link,
.kino-jdk-cta-button,
.kino-jdk .kino-jdk-ticket-button,
.kino-jdk .kino-jdk-ticket-available{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:.75rem 1.1rem;
    border:1px solid #111;
    border-radius:7px;
    background:#111;
    color:#fff;
    font-weight:750;
    text-decoration:none;
    box-shadow:0 8px 18px rgba(0,0,0,.12);
    transition:transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.button:hover,
.btn:hover,
.wp-block-button__link:hover,
.kino-jdk-cta-button:hover,
.kino-jdk .kino-jdk-ticket-button:hover,
.kino-jdk .kino-jdk-ticket-available:hover{
    transform:translateY(-1px);
    background:#2a2a2a;
    color:#fff;
    box-shadow:0 12px 24px rgba(0,0,0,.16);
}

.kino-jdk .kino-jdk-button-secondary,
.kino-jdk .kino-jdk-ticket-pending{
    background:#fff;
    color:#111;
    border-color:#555;
    box-shadow:none;
}

.kino-jdk .kino-jdk-button-secondary:hover,
.kino-jdk .kino-jdk-ticket-pending:hover{
    background:#f2f2f2;
    color:#111;
}

.kino-jdk .kino-jdk-poster-slider,
.kino-jdk .kino-jdk-event-section,
.kino-jdk .kino-jdk-repertuar,
.kino-jdk .kino-jdk-film-page{
    max-width:var(--kino-container);
    margin-left:auto;
    margin-right:auto;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-wrap,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-wrap,
.kino-jdk-main--wide .kino-jdk .kino-jdk-repertuar,
.kino-jdk-site--wide .kino-jdk .kino-jdk-repertuar{
    width:100%;
    max-width:100%;
    min-width:0;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px;
    width:100%;
    max-width:100%;
    min-width:0;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-weekday,
.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-day,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-weekday,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-day{
    min-width:0;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-day,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-day{
    min-height:0;
    padding:.55rem;
    overflow:hidden;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-day-events,
.kino-jdk-main--wide .kino-jdk .kino-jdk-screening,
.kino-jdk-main--wide .kino-jdk .kino-jdk-screening__content,
.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-event-link,
.kino-jdk-site--wide .kino-jdk .kino-jdk-day-events,
.kino-jdk-site--wide .kino-jdk .kino-jdk-screening,
.kino-jdk-site--wide .kino-jdk .kino-jdk-screening__content,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-event-link{
    min-width:0;
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-screening,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-screening{
    display:grid;
    grid-template-columns:40px minmax(0,1fr);
    gap:.4rem;
    padding:.35rem;
    font-size:.78rem;
    line-height:1.25;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-premiere-poster,
.kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-premiere-poster{
    width:40px;
    max-width:40px;
    aspect-ratio:2/3;
    height:auto;
    object-fit:cover;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-premiere-badge,
.kino-jdk-site--wide .kino-jdk .kino-jdk-premiere-badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    white-space:nowrap;
    font-size:.62rem;
    line-height:1;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-screening__time,
.kino-jdk-site--wide .kino-jdk .kino-jdk-screening__time{
    font-size:.82rem;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-screening__status,
.kino-jdk-site--wide .kino-jdk .kino-jdk-screening__status{
    font-size:.7rem;
    line-height:1.2;
}

.kino-jdk-main--wide .kino-jdk .kino-jdk-day-open,
.kino-jdk-site--wide .kino-jdk .kino-jdk-day-open{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
}

.kino-jdk .kino-jdk-poster-slider{
    padding-top:1rem;
}

.kino-jdk .kino-jdk-poster-slider__show-wrap,
.kino-jdk .kino-jdk-poster-slider__dots{
    text-align:center;
}

.kino-jdk .kino-jdk-event-card,
.kino-jdk .kino-jdk-calendar-day,
.kino-jdk .kino-jdk-film-day,
.kino-jdk .kino-jdk-film-poster__image,
.kino-jdk .kino-jdk-film-poster__placeholder{
    border-radius:8px;
}

.kino-jdk-site-footer{
    margin-top:auto;
    background:#fff;
    border-top:1px solid var(--kino-border);
}

.kino-jdk-site-footer__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:2rem;
    padding:2rem 0;
    border-bottom:1px solid var(--kino-border);
}

.kino-jdk-footer-menu{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 1.35rem;
}

.kino-jdk-footer-menu a{
    color:#222;
    font-weight:600;
}

.kino-jdk-site-footer__brand{
    display:flex;
    align-items:center;
    gap:1rem;
    white-space:nowrap;
}

.kino-jdk-facebook-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:50%;
    background:#111;
    color:#fff;
    font-size:1.25rem;
    font-weight:800;
    text-decoration:none;
}

.kino-jdk-facebook-link:hover{
    background:var(--kino-accent);
    color:#fff;
}

.kino-jdk-partner-logos{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.5rem;
    align-items:center;
    margin:0;
    padding:1.5rem 0 2rem;
    list-style:none;
}

.kino-jdk-partner-logo{
    min-width:0;
    text-align:center;
}

.kino-jdk-partner-logo__image{
    display:block;
    width:auto;
    max-width:100%;
    height:auto;
    max-height:90px;
    margin-inline:auto;
    object-fit:contain;
}

.kino-jdk-partner-logo__placeholder{
    display:inline-block;
    color:var(--kino-muted);
    font-size:.9rem;
    line-height:1.35;
}

.site-footer__credit{
    margin:0;
    margin-top:24px;
    padding-top:16px;
    padding-bottom:1.5rem;
    border-top:1px solid #e5e5e5;
    color:#666;
    font-size:.875rem;
    line-height:1.5;
    text-align:center;
}

.site-footer__credit a{
    color:inherit;
    text-decoration:underline;
    text-underline-offset:.18em;
}

.site-footer__credit a:hover,
.site-footer__credit a:focus-visible{
    color:#7a1111;
}

.nav-links{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:2rem;
}

.nav-links a,
.nav-links .current{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:42px;
    padding:.45rem .75rem;
    border:1px solid var(--kino-border);
    border-radius:6px;
    background:#fff;
}

.nav-links .current{
    background:#111;
    color:#fff;
}

@media (prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
    }
}

@media (max-width:1023px){
    .kino-jdk-site-header__inner{
        min-height:72px;
        gap:1rem;
    }

    .kino-jdk-menu{
        gap:.9rem;
    }

    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar,
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-weekday,
    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-day-empty,
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-weekday,
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-day-empty{
        display:none;
    }
}

@media (max-width:767px){
    .kino-jdk-container{
        padding:0 1rem;
    }

    .kino-jdk-site-header__inner{
        min-height:68px;
        flex-wrap:wrap;
    }

    .kino-jdk-brand{
        flex:1 1 auto;
    }

    .kino-jdk-brand__text{
        font-size:1.12rem;
    }

    .kino-jdk-menu-toggle{
        display:inline-flex;
    }

    .kino-jdk-primary-nav{
        display:none;
        flex:0 0 100%;
        width:100%;
        padding:0 0 1rem;
    }

    .kino-jdk-primary-nav.is-open{
        display:block;
    }

    .kino-jdk-menu{
        display:grid;
        gap:.25rem;
        width:100%;
    }

    .kino-jdk-menu a{
        width:100%;
        padding:.65rem 0;
        border-top:1px solid var(--kino-border);
    }

    .kino-jdk-main{
        padding:2rem 0 3rem;
    }

    .kino-jdk-front-section{
        margin-bottom:2.75rem;
    }

    .kino-jdk-section-title,
    .kino-jdk-entry__title,
    .kino-jdk-archive-header h1,
    .kino-jdk .kino-jdk-event-section > h2{
        font-size:1.75rem;
    }

    .kino-jdk-post-grid,
    .kino-jdk-partner-logos{
        grid-template-columns:1fr;
    }

    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar,
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar{
        grid-template-columns:1fr;
    }

    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-weekday,
    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-day-empty,
    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-day:not(.has-events),
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-weekday,
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-day-empty,
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-day:not(.has-events){
        display:none;
    }

    .kino-jdk-site--wide .kino-jdk .kino-jdk-calendar-day,
    .kino-jdk-main--wide .kino-jdk .kino-jdk-calendar-day{
        width:100%;
        min-height:0;
    }

    .kino-jdk-site-footer__top{
        align-items:flex-start;
        flex-direction:column;
    }

    .kino-jdk-footer-menu{
        flex-direction:column;
        gap:.5rem;
    }

    .kino-jdk-site-footer__brand{
        white-space:normal;
    }

    .kino-jdk .kino-jdk-poster-slider,
    .kino-jdk .kino-jdk-event-section,
    .kino-jdk .kino-jdk-repertuar,
    .kino-jdk .kino-jdk-film-page{
        width:100%;
        max-width:100%;
    }
}
