/* LF153 Core — Event Popup v1.2.0 */

html.lf153-popup-open {
    overflow: hidden;
}

.lf153-event-popup {
    position: fixed;
    z-index: 999999;
    inset: 0;
    display: none;
}

.lf153-event-popup.is-open {
    display: block;
}

.lf153-event-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.84);
    backdrop-filter: blur(4px);
}

.lf153-event-popup__panel {
    position: relative;
    z-index: 1;
    width: min(1040px, calc(100% - 40px));
    max-height: calc(100vh - 48px);
    margin: 24px auto;
    overflow: auto;
    border: 1px solid rgba(214,168,58,.7);
    background: #0d0d0d;
    color: #f5f2ea;
}

.lf153-event-popup__inner {
    padding: 54px;
}

.lf153-event-popup__close {
    position: sticky;
    z-index: 2;
    top: 14px;
    float: right;
    width: 42px;
    height: 42px;
    margin: 14px 14px -56px 0;
    border: 1px solid #d6a83a;
    border-radius: 50%;
    background: #0d0d0d;
    color: #d6a83a;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.lf153-event-popup__eyebrow {
    display: block;
    margin-bottom: 10px;
    color: #d6a83a;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.lf153-event-popup__title {
    margin: 0 0 30px;
    font-family: var(--lf153-police-titre, inherit);
    font-size: clamp(32px, 5vw, 58px);
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}

.lf153-event-popup__gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 30px;
}

.lf153-event-popup__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.lf153-event-popup__meta {
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,.14);
    border-bottom: 1px solid rgba(255,255,255,.14);
    color: #aaa79f;
}

.lf153-event-popup__meta p {
    margin: 5px 0;
}

.lf153-event-popup__video,
.lf153-event-popup__audio {
    margin-top: 28px;
}

.lf153-event-popup__video iframe {
    width: 100%;
    min-height: 500px;
}

.lf153-event-popup__video .wp-video,
.lf153-event-popup__video video {
    width: 100% !important;
    max-width: 100%;
    height: auto;
}

.lf153-event-popup__video-link {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    padding: 12px 20px;
    border: 1px solid #d6a83a;
    color: #d6a83a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-decoration: none;
    text-transform: uppercase;
}

.lf153-event-popup__audio iframe {
    width: 100%;
    min-height: 166px;
}

.lf153-event-popup__audio .wp-audio-shortcode,
.lf153-event-popup__audio audio {
    width: 100% !important;
}

.lf153-event-popup__audio-link {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    padding: 12px 20px;
    border: 1px solid #d6a83a;
    color: #d6a83a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-decoration: none;
    text-transform: uppercase;
}

.lf153-event-popup__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.lf153-event-popup__button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid #d6a83a;
    background: #d6a83a;
    color: #090909;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-decoration: none;
    text-transform: uppercase;
}

.lf153-event-popup__button--outline {
    background: transparent;
    color: #d6a83a;
}

.lf153-timeline__details {
    display: inline-flex;
    gap: 8px;
    margin-top: 10px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--lf153-core-gold, #d6a83a);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    cursor: pointer;
    text-transform: uppercase;
}


.lf153-event-popup__meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 28px 0;
    background: rgba(255,255,255,.14);
}

.lf153-event-popup__meta-card {
    min-width: 0;
    padding: 18px;
    background: #0d0d0d;
}

.lf153-event-popup__meta-label {
    display: block;
    margin-bottom: 6px;
    color: #d6a83a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.lf153-event-popup__meta-card strong,
.lf153-event-popup__meta-card a {
    color: #f5f2ea;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
}

.lf153-event-popup__map {
    margin-top: 28px;
    border: 1px solid rgba(255,255,255,.14);
}

.lf153-event-popup__map iframe {
    display: block;
    width: 100%;
    min-height: 360px;
    border: 0;
}

@media (max-width: 767px) {
    .lf153-event-popup__panel {
        width: calc(100% - 20px);
        max-height: calc(100vh - 20px);
        margin: 10px auto;
    }

    .lf153-event-popup__inner {
        padding: 54px 20px 24px;
    }

    .lf153-event-popup__gallery,
    .lf153-event-popup__meta-grid {
        grid-template-columns: 1fr;
    }

    .lf153-event-popup__video iframe {
        min-height: 240px;
    }
}


.lf153-event-popup__media-error {
    margin: 0;
    padding: 16px 18px;
    border: 1px solid rgba(214,168,58,.45);
    color: #aaa79f;
    font-size: 14px;
    line-height: 1.5;
}


.lf153-event-popup__media-section {
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.lf153-event-popup__media-label {
    display: block;
    margin-bottom: 12px;
    color: #d6a83a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

/* LF153 Core 1.4.1 — popup compact et médias plein écran */
.lf153-event-popup__map{display:none!important}
.lf153-event-popup__media-section{display:none!important}
.lf153-event-popup__media-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.lf153-media-card{position:relative;min-height:124px;padding:18px;border:1px solid rgba(214,168,58,.55);background:linear-gradient(145deg,rgba(214,168,58,.10),rgba(255,255,255,.02));color:#f5f2ea;text-align:left;cursor:pointer}
.lf153-media-card__play{display:grid;place-items:center;width:34px;height:34px;margin-bottom:20px;border:1px solid #d6a83a;border-radius:50%;color:#d6a83a;font-size:12px}
.lf153-media-card strong,.lf153-media-card small{display:block}.lf153-media-card strong{color:#d6a83a;font-size:12px;letter-spacing:1px;text-transform:uppercase}.lf153-media-card small{margin-top:6px;color:#aaa79f;font-size:11px}
.lf153-media-lightbox{position:fixed;z-index:1000001;inset:0;display:none}.lf153-media-lightbox.is-open{display:grid;place-items:center}
.lf153-media-lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.96)}
.lf153-media-lightbox__content{position:relative;z-index:1;width:min(1200px,92vw);max-height:90vh}
.lf153-media-lightbox__content iframe,.lf153-media-lightbox__content video{display:block;width:100%!important;max-height:90vh;aspect-ratio:16/9;border:0;background:#000}
.lf153-media-lightbox__content audio{width:100%}
.lf153-media-lightbox__close{position:fixed;z-index:2;top:18px;right:22px;width:44px;height:44px;border:1px solid #d6a83a;border-radius:50%;background:#090909;color:#d6a83a;font-size:28px;cursor:pointer}
.lf153-companion__stage[hidden]{display:none!important}
.lf153-companion__card{background:#d6a83a!important;color:#090909!important;border-color:#d6a83a!important}
.lf153-companion__card strong,.lf153-companion__card small,.lf153-companion__card b{color:#090909!important}
.lf153-companion__phone-icon{border-color:#090909!important}.lf153-companion__phone-icon:before{background:#090909!important}
@media(max-width:767px){.lf153-event-popup__media-strip{grid-template-columns:1fr}.lf153-media-card{min-height:96px}}


/* LF153 Core 1.4.2 — boutons Film / Interview à contraste élevé */
.lf153-event-popup__media-strip {
    gap: 14px !important;
}

.lf153-media-card {
    min-height: 112px !important;
    padding: 17px !important;
    border: 1px solid #d6a83a !important;
    background: #d6a83a !important;
    box-shadow: none !important;
    color: #090909 !important;
}

.lf153-media-card:hover,
.lf153-media-card:focus-visible {
    background: #e2bb5a !important;
    transform: translateY(-1px);
}

.lf153-media-card__play {
    width: 32px !important;
    height: 32px !important;
    margin-bottom: 15px !important;
    border-color: #090909 !important;
    color: #090909 !important;
}

.lf153-media-card strong {
    color: #090909 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: .8px !important;
}

.lf153-media-card small {
    color: rgba(9,9,9,.74) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

@media (max-width: 767px) {
    .lf153-event-popup__media-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .lf153-media-card {
        min-height: 88px !important;
        padding: 10px !important;
    }

    .lf153-media-card__play {
        width: 25px !important;
        height: 25px !important;
        margin-bottom: 10px !important;
        font-size: 9px !important;
    }

    .lf153-media-card strong {
        font-size: 10px !important;
    }

    .lf153-media-card small {
        display: none !important;
    }
}
