/*
|--------------------------------------------------------------------------
| STUDIO FINDER — FLUIDITY CORE V1
|--------------------------------------------------------------------------
| Stabilizza la geometria dell'app prima del primo paint e rende continui
| i passaggi tra documenti PHP senza cambiare routing, form o dati.
|--------------------------------------------------------------------------
*/

:root {
    --sf-fluidity-duration-out: 90ms;
    --sf-fluidity-duration-in: 125ms;
    --sf-fluidity-ease: cubic-bezier(.22, .72, .22, 1);
}

/* Evita il cambio di larghezza quando una pagina ha scrollbar e l'altra no. */
html.sf-mode-desktop {
    scrollbar-gutter: stable;
}

/*
|--------------------------------------------------------------------------
| Shell telefono preflight
|--------------------------------------------------------------------------
| La classe arriva dal piccolo script inline nel <head>. Le stesse misure
| definitive della shell vengono quindi applicate prima di DOMContentLoaded.
| Quando pwa-app.js monta topbar e tabbar, la geometria non cambia.
|--------------------------------------------------------------------------
*/
@media (max-width: 900px) {
    html.sf-phone-shell-preflight {
        --sf-iphone-topbar-height: 58px;
        --sf-iphone-tabbar-height: 62px;
        --sf-iphone-page-x: 14px;
        --sf-iphone-bg: #F6F6F6;
        background: var(--sf-iphone-bg) !important;
        color-scheme: light;
        overscroll-behavior-y: none;
    }

    html.sf-phone-shell-preflight,
    html.sf-phone-shell-preflight body {
        min-height: 100%;
        background: var(--sf-iphone-bg) !important;
    }

    html.sf-phone-shell-preflight body {
        min-height: 100dvh;
        overflow-x: hidden !important;
        padding-top: var(--sf-pwa-safe-top, env(safe-area-inset-top, 0px)) !important;
        padding-bottom: 0 !important;
    }

    /* Placeholder neutro: occupa esattamente la topbar finale. */
    html.sf-phone-shell-preflight body::after {
        content: "";
        position: fixed;
        z-index: 10029;
        top: var(--sf-pwa-safe-top, env(safe-area-inset-top, 0px));
        right: 0;
        left: 0;
        height: var(--sf-iphone-topbar-height);
        border-bottom: 1px solid rgba(15, 23, 42, .07);
        background: rgba(255, 255, 255, .96);
        pointer-events: none;
        backdrop-filter: blur(22px) saturate(1.35);
        -webkit-backdrop-filter: blur(22px) saturate(1.35);
    }

    html.sf-phone-shell-preflight .sf-artist-sidebar,
    html.sf-phone-shell-preflight .sf-studio-sidebar,
    html.sf-phone-shell-preflight .sidebar.sf-artist-sidebar,
    html.sf-phone-shell-preflight .sf-artist-menu-button,
    html.sf-phone-shell-preflight .sf-studio-menu-button,
    html.sf-phone-shell-preflight .sf-artist-menu-overlay,
    html.sf-phone-shell-preflight .sf-studio-menu-overlay,
    html.sf-phone-shell-preflight .sf-studio-pwa-more-backdrop,
    html.sf-phone-shell-preflight .sf-studio-pwa-more-sheet,
    html.sf-phone-shell-preflight .mobile-menu-toggle,
    html.sf-phone-shell-preflight [data-mobile-menu-toggle] {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html.sf-phone-shell-preflight .app,
    html.sf-phone-shell-preflight .app-layout,
    html.sf-phone-shell-preflight .dashboard-layout {
        display: block !important;
        min-height: 100dvh !important;
    }

    html.sf-phone-shell-preflight .content,
    html.sf-phone-shell-preflight .main-content,
    html.sf-phone-shell-preflight main.content,
    html.sf-phone-shell-preflight .sf-studio-main,
    html.sf-phone-shell-preflight .app-layout > main.content,
    html.sf-phone-shell-preflight .app > main.content,
    html.sf-phone-shell-preflight .hub-main:not(.public),
    html.sf-phone-shell-preflight .sf-news-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding:
            calc(var(--sf-iphone-topbar-height) + 13px)
            var(--sf-iphone-page-x)
            calc(
                var(--sf-iphone-tabbar-height)
                + var(--sf-pwa-safe-bottom, env(safe-area-inset-bottom, 0px))
                + 24px
            ) !important;
        overflow: visible !important;
    }
}

/*
|--------------------------------------------------------------------------
| Navigazione documenti — WebView safe
|--------------------------------------------------------------------------
| Cross-document View Transitions disattivate intenzionalmente.
| Il preflight mobile sopra resta invariato.
|--------------------------------------------------------------------------
*/
