/* ================================================================
   CINÉ AALST — Modern Cinema UI Overrides
   Requires Bootstrap 3.  Drop this AFTER style.css.
   ================================================================ */

/* ----------------------------------------------------------------
   1. TYPOGRAPHY
   Montserrat for headings; keep Roboto Condensed for body.
   ---------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', 'Roboto Condensed', sans-serif;
}

/* Larger, bolder section headings for a premium cinema feel */
h2 {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2.5px;
}

h3 {
    font-weight: 600;
}

/* Hero: heavier weight for more drama */
#hero .container .blurb h1,
#content_hero .container .blurb h1 {
    font-size: 56px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.1;
}

@media (max-width: 600px) {
    #hero .container .blurb h1,
    #content_hero .container .blurb h1 {
        font-size: 36px;
    }
}

/* Body text: slightly darker for WCAG AA contrast */
body {
    color: #3d3d3d;
}

/* ----------------------------------------------------------------
   2. ACCESSIBILITY — Focus states
   The existing style.css blanket-removes all outlines.  Restore
   them here with targeted selectors so user-agent and high-contrast
   modes are not unnecessarily overridden.
   ---------------------------------------------------------------- */

/* Interactive elements: visible gold focus ring */
a:focus,
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
[role="button"]:focus,
.btn:focus {
    outline: 2px solid #FED684;
    outline-offset: 2px;
}

.btn:focus {
    box-shadow: 0 0 0 4px rgba(254, 214, 132, 0.3);
}

/* Form fields: visible border ring replaces the outline */
input:focus,
textarea:focus,
select:focus,
.form-control:focus {
    outline: none;
    border-color: #FED684 !important;
    box-shadow: 0 0 0 3px rgba(254, 214, 132, 0.25) !important;
}

/* ----------------------------------------------------------------
   3. NAVBAR
   ---------------------------------------------------------------- */

/* Sticky clone: darker with subtle glass effect */
.navbar.banner--clone.banner--stick {
    background: rgba(8, 8, 8, 0.97) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.45);
}

/* Nav links: reduce letter-spacing, add weight */
.nav li a {
    letter-spacing: 2px;
    font-weight: 600;
    font-family: 'Montserrat', 'Roboto Condensed', sans-serif;
}

/* Cart icon link: vertically centred & larger touch target */
.nav li a .material-icons {
    font-size: 22px;
    vertical-align: middle;
}

/* Mobile: give navbar a dark background when menu is expanded */
@media (max-width: 767px) {
    .navbar-header {
        background: rgba(10, 10, 10, 0.88);
        width: 100%;
    }
    .navbar-collapse.in {
        background: rgba(10, 10, 10, 0.95);
    }
}

/* ----------------------------------------------------------------
   4. BUTTONS
   ---------------------------------------------------------------- */

.btn {
    font-family: 'Montserrat', 'Roboto Condensed', sans-serif;
    font-weight: 700;
    letter-spacing: 2px;
    border-radius: 28px;
    -webkit-transition: background-color 0.22s ease, -webkit-transform 0.18s ease, box-shadow 0.22s ease;
    transition: background-color 0.22s ease, transform 0.18s ease, box-shadow 0.22s ease;
}

/* Remove the old pseudo-element skew-sweep animation */
.btn-default:before,
.btn-ghost:before {
    display: none !important;
}

/* Default button: rich dark blue */
.btn-default {
    background: #1e2462 !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
}

.btn-default:hover,
button.btn-default:hover {
    background: #FED684 !important;
    color: #101010 !important;
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(254, 214, 132, 0.35);
}

/* Primary button: gold CTA */
.btn-primary {
    background: #FED684 !important;
    background-image: none !important;
    color: #101010 !important;
    border: none !important;
}

.btn-primary:hover,
button.btn-primary:hover {
    background: #e6bf6a !important;
    color: #101010 !important;
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(254, 214, 132, 0.4);
}

/* Remove/delete button in kassa (was btn-warning) → red */
.btn-warning.btn-xs {
    background-color: #e74c3c !important;
    border-color: #e74c3c !important;
    color: #fff !important;
    border-radius: 4px !important;
    letter-spacing: 0 !important;
    font-weight: 700;
}

.btn-warning.btn-xs:hover {
    background-color: #c0392b !important;
    border-color: #c0392b !important;
}

/* ----------------------------------------------------------------
   5. MOVIE POSTER / SLICK CAROUSEL  — cinematic dark overlay
   ---------------------------------------------------------------- */

/* Poster container */
.slick-slide .movie-poster {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    background: #000;
}

/* Image: subtle zoom on hover, no grayscale */
.slick-slide .movie-poster img {
    display: block;
    width: 100%;
    -webkit-transition: -webkit-transform 0.38s ease, opacity 0.38s ease !important;
    transition: transform 0.38s ease, opacity 0.38s ease !important;
}

.slick-slide .movie-poster:hover img {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    transform: scale(1.06);
    opacity: 0.55;
    filter: none !important;
}

/* Replace yellow sweep with a flat dark overlay */
.slick-slide .movie-poster:before {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100% !important;
    height: 100% !important;
    content: '';
    background: rgba(0, 0, 0, 0.60) !important;
    background-image: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    opacity: 0;
    -webkit-transition: opacity 0.32s ease !important;
    transition: opacity 0.32s ease !important;
    border-radius: 10px;
}

.slick-slide .movie-poster:hover:before {
    opacity: 1;
}

/* Overlay text content */
.slick-slide .movie-poster aside {
    top: 0;
    left: 0;
}

.slick-slide .movie-poster aside .read-more {
    display: inline-block;
    background: rgba(254, 214, 132, 0.92);
    color: #101010 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 1.5px;
    padding: 6px 16px;
    border-radius: 20px;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.slick-slide .movie-poster aside .date {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(0, 0, 0, 0.5);
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
}

.slick-slide .movie-poster aside i.material-icons {
    color: #FED684;
    font-size: 28px;
    margin-bottom: 6px;
}

/* ----------------------------------------------------------------
   6. MOVIE LABEL BADGES (NIEUW / VERWACHT)
   ---------------------------------------------------------------- */

.movie-label {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 4 !important;
    background: #FED684 !important;
    color: #101010 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    padding: 4px 9px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

/* ----------------------------------------------------------------
   7. MOVIE TITLE CARD (below poster in carousels)
   ---------------------------------------------------------------- */

.movie-slide h4 {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #222;
}

.movie-slide h4 a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #222 !important;
    font-size: 14px;
    font-weight: 600;
    -webkit-transition: color 0.2s ease;
    transition: color 0.2s ease;
}

.movie-slide h4 a:hover {
    color: #FED684 !important;
}

/* ----------------------------------------------------------------
   8. SHOWTIME BUTTONS (programma & film detail pages)
   ---------------------------------------------------------------- */

.movie-tabs .time,
ul.show-times li .time {
    background-color: #1e2462 !important;
    border-radius: 6px !important;
    font-family: 'Montserrat', 'Roboto Condensed', sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
    -webkit-transition: background-color 0.2s ease, -webkit-transform 0.15s ease, box-shadow 0.2s ease;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    display: inline-block;
}

a.movie-tabs .time,
a.time {
    text-decoration: none;
}

.movie-tabs .time:hover,
ul.show-times li .time:hover {
    background-color: #FED684 !important;
    color: #101010 !important;
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.movie-tabs .time.past,
ul.show-times li .time.past {
    background-color: #555 !important;
    opacity: 0.5;
}

/* ----------------------------------------------------------------
   9. FORM CONTROLS — modern, accessible
   ---------------------------------------------------------------- */

.form-control {
    border-radius: 7px !important;
    border: 1.5px solid #ddd !important;
    height: 42px !important;
    font-size: 15px;
    color: #333 !important;
    -webkit-transition: border-color 0.2s ease, box-shadow 0.2s ease;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    background-color: #fff !important;
    box-shadow: none !important;
}

textarea.form-control {
    height: auto !important;
    min-height: 100px;
}

/* ----------------------------------------------------------------
   10. COOKIE BANNER — modern pill at bottom of viewport
   ---------------------------------------------------------------- */

#cookie-banner {
    position: fixed !important;
    bottom: 20px !important;
    left: 50% !important;
    right: auto !important;
    -webkit-transform: translateX(-50%) !important;
    -ms-transform: translateX(-50%) !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    max-width: 92vw !important;
    min-width: 0 !important;
    background: #151515 !important;
    border: 1px solid rgba(254, 214, 132, 0.35) !important;
    border-radius: 50px !important;
    padding: 12px 22px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45) !important;
    z-index: 9999;
}

#cookie-banner .cookie-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 14px;
}

#cookie-banner .cookie-text {
    font-size: 13px !important;
    color: #ccc !important;
    white-space: normal;
}

#cookie-banner .cookie-text a {
    color: #FED684 !important;
    text-decoration: underline;
}

#cookie-accept {
    background: #FED684 !important;
    color: #101010 !important;
    border: none !important;
    border-radius: 22px !important;
    padding: 7px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.5px;
    cursor: pointer;
    white-space: nowrap;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: background 0.2s ease;
    transition: background 0.2s ease;
}

#cookie-accept:hover {
    background: #e6bf6a !important;
}

@media (max-width: 600px) {
    #cookie-banner {
        border-radius: 14px !important;
        max-width: 88vw !important;
        bottom: 12px !important;
        padding: 10px 16px !important;
    }
    #cookie-banner .cookie-inner {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 8px;
    }
    #cookie-banner .cookie-text {
        white-space: normal !important;
    }
}

/* ----------------------------------------------------------------
   11. FOOTER — spacing & readability improvements
   ---------------------------------------------------------------- */

footer h6 {
    margin-bottom: 18px !important;
    font-size: 13px;
    letter-spacing: 2.5px;
}

footer ul li {
    margin-bottom: 8px;
}

footer ul li a {
    opacity: 0.82;
    letter-spacing: 1px;
    -webkit-transition: opacity 0.2s ease, color 0.2s ease;
    transition: opacity 0.2s ease, color 0.2s ease;
}

footer ul li a:hover {
    opacity: 1;
    color: #FED684;
}

/* Copyright */
footer .copyright {
    margin-top: 40px;
}

footer .copyright p {
    color: rgba(255, 255, 255, 0.55);
    font-size: 12px;
    letter-spacing: 0.5px;
}

footer .copyright a {
    color: rgba(255, 255, 255, 0.55);
}

footer .copyright a:hover {
    color: #FED684;
}

/* ----------------------------------------------------------------
   12. PANEL / CARD improvements (kassa & programma)
   ---------------------------------------------------------------- */

.panel {
    border-radius: 10px !important;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08) !important;
    border: none !important;
}

.panel-heading {
    border-radius: 10px 10px 0 0 !important;
}

/* Kassa "Jouw gegevens" panel — soften the harsh yellow */
.panel.panel-default[style*="FED684"],
.panel[style*="background-color: #FED684"],
.panel[style*="background-color:#FED684"] {
    background-color: #fffbf0 !important;
    border: 1px solid #f0d8a3 !important;
}

/* ----------------------------------------------------------------
   13. SECTIONS — slight top/bottom padding trim on mobile
   ---------------------------------------------------------------- */

@media (max-width: 767px) {
    .section {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }
}

/* ----------------------------------------------------------------
   14. MOVIE TABS (programma list view)
   ---------------------------------------------------------------- */

.movie-tabs {
    border-radius: 6px;
    -webkit-transition: box-shadow 0.2s ease;
    transition: box-shadow 0.2s ease;
}

.movie-tabs:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
}

.movie-tabs img {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    border-radius: 10px;
}

/* ----------------------------------------------------------------
   15. SECTION HEADINGS — gradient underline: wider = more impact
   ---------------------------------------------------------------- */

h2:after,
h3:after,
h4:after,
h5:after {
    width: 80px;
    height: 3px;
    background-image: -webkit-linear-gradient(left, #FDC573, #FED684);
    background-image: linear-gradient(to right, #FDC573, #FED684);
}

/* ----------------------------------------------------------------
   16. SMOOTH SCROLL — respect users who prefer reduced motion
   ---------------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* ----------------------------------------------------------------
   17. NAVBAR DROPDOWN — mobile accessibility fix
   ---------------------------------------------------------------- */

@media (max-width: 767px) {
    .nav li.dropdown .dropdown-menu {
        background-color: #1a1a1a !important;
        background-image: none !important;
    }
    .nav li.dropdown .dropdown-menu li a {
        color: #FED684 !important;
        font-size: 13px;
    }
    .nav li.dropdown .dropdown-menu li a:hover {
        background: rgba(254, 214, 132, 0.12) !important;
        color: #fff !important;
    }
}

/* ----------------------------------------------------------------
   18. HERO "Ontdek" button — keep text dark on gold sweep
   ---------------------------------------------------------------- */

#hero .btn-default span,
#content_hero .btn-default span {
    color: #fff;
    position: relative;
    z-index: 1;
}

/* ----------------------------------------------------------------
   19. MISC  UI bug fixes
   ---------------------------------------------------------------- */

/* Ensure movie-label badge stays above overlay */
.movie-poster .movie-label {
    z-index: 5 !important;
}

/* Remove duplicate border on nav border-bottom */
.nav {
    border-bottom: none;
}

/* Better line-height for body text readability */
body {
    line-height: 1.65;
}

/* img alt text visible even if image fails to load */
img[alt] {
    font-size: 12px;
    color: #888;
}