/* Base scope: navigation, home video captions, project information. */
.scroll-video-play[hidden] { display: none; }
.scroll-video-play {
    position: absolute; top: 76px; right: 16px; z-index: 110;
    min-height: 44px; padding: 10px 16px; background: #fff; color: #111;
    border: 1px solid #111; border-radius: 0; font: inherit; cursor: pointer;
}
.acceuil-block .acceuil-cover-video video {
    width: 100%; height: 100%; object-fit: cover;
}
.plus_button { border: 0; padding: 0; background: transparent; color: inherit; }
.scroll-info-close { display: none; }
#site-navigation a:focus-visible, .hamburger:focus-visible,
.plus_button:focus-visible, #post_title_content:focus-visible,
.scroll-info-close:focus-visible, .scroll-video-play:focus-visible {
    outline: 2px solid currentColor; outline-offset: 3px;
}
@media (max-width: 767px) {
    #site-navigation { margin: 10px 12px !important; }
    #site-navigation .hamburger { width: 44px; height: 44px; padding: 10px; }
    #site-navigation #primary-menu {
        position: absolute; top: 64px; left: 12px; right: 12px;
        margin: 0; padding: 8px; background: #fff; color: #111;
        flex-wrap: wrap; justify-content: flex-start; gap: 0;
        max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px);
        overflow-y: auto; border: 1px solid #ddd;
    }
    #site-navigation #primary-menu li { flex: 0 0 33.333%; margin: 0; min-width: 0; }
    #site-navigation #primary-menu a {
        min-height: 44px; display: flex; justify-content: center; align-items: center;
        padding: 8px 4px; font-size: 16px; line-height: 1.35; white-space: normal;
    }
    .acceuil-block .acceuil-description {
        bottom: max(68px, calc(env(safe-area-inset-bottom) + 48px));
        width: calc(100% - 32px); max-width: 36rem; font-size: 16px;
    }
    .acceuil-block .acceuil-description p {
        margin: 0; padding: 10px 12px; color: #fff !important;
        background: rgba(0, 0, 0, .78); line-height: 1.45; letter-spacing: .02em;
    }
    .acceuil-block .acceuil-description span { display: none; }
    .page-projet table { width: 100%; table-layout: fixed; }
    .page-projet table td {
        font-size: 14px !important; line-height: 1.5; white-space: normal !important;
        overflow-wrap: anywhere; vertical-align: top; padding-right: 12px;
    }
    .page-projet table td:first-child { width: 40%; }
    .page-projet table td:last-child { padding-right: 0; }
    .page-projet .projet_desc_main td:nth-child(odd) { width: 40%; }
    .page-projet .projet_desc_main td:nth-child(even) { width: 60%; }
    .page-projet .plus_button {
        width: 44px; height: 44px; display: inline-flex; align-items: center;
        justify-content: center; bottom: 0; right: -32px;
    }
    #post_title_content { display: inline-block; min-height: 44px; padding: 10px 0; }
    #hidden-plus-box {
        position: fixed; inset: 72px 12px 76px; width: auto; max-height: none;
        overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y;
        background: #fff; color: #111; z-index: 2000; font-size: 16px;
        -webkit-overflow-scrolling: touch;
    }
    #hidden-plus-box .scroll-info-close {
        display: block; position: sticky; top: 0; margin-left: auto; z-index: 2;
        min-width: 76px; min-height: 44px; padding: 10px 16px;
        background: #fff; color: #111; border: 0; border-radius: 0; font: inherit;
    }
    #hidden-plus-box .plus-wrapper { padding: 0 16px 24px !important; }
    #hidden-plus-box .plus-wrapper-inner-container { overflow: visible; }
    #hidden-plus-box .plus-paragraph {
        columns: auto; text-align: left; font-size: 16px; line-height: 1.55; height: auto !important;
    }
    #hidden-plus-box #plus-initial { display: block !important; }
    #hidden-plus-box #plus-runoff1, #hidden-plus-box #plus-runoff2,
    #hidden-plus-box #plus-runoff3, #hidden-plus-box .down-arrow-left,
    #hidden-plus-box .down-arrow-right { display: none !important; }
    #hidden-plus-box .plus-infos { padding-bottom: 20px; }
    #hidden-plus-box .plus-infos td { font-size: 16px !important; }
}
