/* F1SYH v15 : installation PWA */
.pwa-install-button{
    position:fixed;
    right:max(18px,env(safe-area-inset-right));
    bottom:max(18px,env(safe-area-inset-bottom));
    z-index:8500;
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:11px 15px;
    border:1px solid rgba(51,215,255,.62);
    border-radius:999px;
    color:#06111d;
    background:#33d7ff;
    box-shadow:0 16px 42px rgba(0,0,0,.35),0 0 24px rgba(51,215,255,.16);
    font:800 .82rem/1 system-ui,sans-serif;
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease;
}
.pwa-install-button:hover,
.pwa-install-button:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 20px 48px rgba(0,0,0,.4),0 0 30px rgba(51,215,255,.22);
    outline:none;
}
.pwa-install-button[hidden]{
    display:none;
}
.pwa-install-icon{
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border:1px solid rgba(7,17,31,.3);
    border-radius:50%;
    font-size:1rem;
}
.pwa-dialog{
    position:fixed;
    inset:0;
    z-index:9000;
    display:grid;
    place-items:center;
    padding:20px;
    background:rgba(0,0,0,.76);
    backdrop-filter:blur(8px);
}
.pwa-dialog[hidden]{
    display:none;
}
.pwa-dialog-panel{
    position:relative;
    width:min(100%,470px);
    padding:30px;
    border:1px solid var(--line);
    border-radius:22px;
    color:var(--text);
    background:var(--surface);
    box-shadow:0 28px 80px rgba(0,0,0,.45);
}
.pwa-dialog-panel h2{
    margin:14px 0 10px;
}
.pwa-dialog-panel p{
    color:var(--muted);
    line-height:1.65;
}
.pwa-dialog-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border:1px solid rgba(51,215,255,.38);
    border-radius:17px;
    color:var(--accent);
    font-size:2rem;
}
.pwa-dialog-close{
    position:absolute;
    top:13px;
    right:13px;
    width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--text);
    background:var(--surface-2);
    font-size:1.25rem;
    cursor:pointer;
}
.pwa-dialog-open{
    overflow:hidden;
}
.pwa-update-toast{
    position:fixed;
    left:50%;
    bottom:max(18px,env(safe-area-inset-bottom));
    z-index:8600;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    width:min(calc(100% - 32px),720px);
    padding:15px 17px;
    border:1px solid rgba(51,215,255,.38);
    border-radius:16px;
    color:var(--text);
    background:var(--surface);
    box-shadow:0 20px 60px rgba(0,0,0,.42);
    transform:translateX(-50%);
}
.pwa-update-actions{
    display:flex;
    flex:0 0 auto;
    gap:8px;
}
.pwa-update-actions .button{
    padding:8px 11px;
}
@media(max-width:600px){
    .pwa-install-button{
        right:14px;
        bottom:max(14px,env(safe-area-inset-bottom));
    }
    .pwa-update-toast{
        align-items:stretch;
        flex-direction:column;
    }
    .pwa-update-actions{
        width:100%;
    }
    .pwa-update-actions .button{
        flex:1;
    }
}
@media(display-mode:standalone){
    .pwa-install-button{
        display:none!important;
    }
}

/* F1SYH v15.1 : logo réel dans l’en-tête */
.brand .brand-logo{
    display:block;
    width:46px;
    height:46px;
    flex:0 0 46px;
    border-radius:12px;
    object-fit:cover;
    box-shadow:0 0 0 1px rgba(51,215,255,.24),0 8px 20px rgba(0,0,0,.24);
}
@media(max-width:680px){
    .brand .brand-logo{
        width:40px;
        height:40px;
        flex-basis:40px;
        border-radius:10px;
    }
}
