/* PagineUrbane · shared minisite navigation fixes */
#site-menu .mini-menu-parent{
    position:relative;
    display:flex;
    align-items:center;
    flex:0 0 auto;
    min-width:max-content;
}

#site-menu .mini-menu-group.mini-submenu-toggle{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:.48rem!important;
    width:auto!important;
    min-width:max-content!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    outline:0;
    box-shadow:none!important;
    background:transparent!important;
    color:var(--ink)!important;
    font:inherit!important;
    font-size:.9rem!important;
    font-weight:650!important;
    line-height:1.2!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    cursor:pointer;
}

#site-menu .mini-menu-group.mini-submenu-toggle>span:first-child{
    display:inline-block!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    transform:none!important;
    rotate:none!important;
}

/* Never depend on a font glyph for the dropdown arrow. */
body #site-menu .mini-menu-group .mini-menu-chevron{
    display:none!important;
}

#site-menu .mini-menu-group.mini-submenu-toggle::after{
    content:'';
    display:block;
    flex:0 0 auto;
    width:7px;
    height:7px;
    margin-top:-3px;
    border-right:1.6px solid currentColor;
    border-bottom:1.6px solid currentColor;
    transform:rotate(45deg);
    transform-origin:center;
    transition:transform .18s ease,margin-top .18s ease;
}

#site-menu .mini-menu-parent.is-open>.mini-submenu-toggle::after{
    margin-top:3px;
    transform:rotate(225deg);
}

#site-menu .mini-menu-group.mini-submenu-toggle:focus-visible{
    outline:2px solid color-mix(in srgb,var(--accent) 75%,transparent)!important;
    outline-offset:5px!important;
    border-radius:4px!important;
}

.site-theme-editoriale #site-menu .mini-menu-group.mini-submenu-toggle{
    color:#fff!important;
}

/* Studio: dropdown trigger must look exactly like the other navigation items. */
.site-theme-studio #site-menu .mini-menu-group.mini-submenu-toggle{
    padding:.72rem .78rem!important;
    color:var(--ink)!important;
    font-size:.82rem!important;
    font-weight:750!important;
    letter-spacing:.015em!important;
}

.site-theme-studio #site-menu .mini-menu-parent:hover>.mini-submenu-toggle,
.site-theme-studio #site-menu .mini-menu-parent.is-open>.mini-submenu-toggle{
    color:var(--accent)!important;
}

.site-theme-studio #site-menu .mini-submenu{
    margin-top:-2px;
}

/* Dark palettes (Noir Oro etc.): dropdown panels use a dark surface, so their
   text must use the palette foreground instead of --ink. This also fixes desktop
   submenus, where the same black-on-black contrast problem could appear. */
.site-theme-dark #site-menu .mini-submenu{
    background:var(--theme-surface,#181510)!important;
    border-color:color-mix(in srgb,var(--theme-text,#f4efe5) 18%,transparent)!important;
    box-shadow:0 16px 40px rgba(0,0,0,.36)!important;
}

.site-theme-dark #site-menu .mini-submenu a{
    color:var(--theme-text,#f4efe5)!important;
}

.site-theme-dark #site-menu .mini-submenu a:hover{
    background:color-mix(in srgb,var(--theme-text,#f4efe5) 9%,transparent)!important;
    color:var(--accent)!important;
}

@media(max-width:800px){
    #site-menu .mini-menu-parent{
        display:block;
        min-width:0;
    }

    #site-menu .mini-menu-group.mini-submenu-toggle{
        width:100%!important;
        min-width:0!important;
        justify-content:space-between!important;
        padding:.72rem 0!important;
        color:var(--ink)!important;
        font-size:.94rem!important;
    }

    #site-menu .mini-menu-group.mini-submenu-toggle>span:first-child{
        min-width:0!important;
        white-space:normal!important;
        text-align:left!important;
    }

    #site-menu .mini-menu-group.mini-submenu-toggle::after{
        width:8px;
        height:8px;
        margin-right:3px;
    }

    .site-theme-editoriale #site-menu .mini-menu-group.mini-submenu-toggle{
        color:var(--ink)!important;
    }

    /* On mobile the open menu itself uses --paper. In a dark palette --paper is
       dark too, therefore every top-level item and dropdown trigger needs the
       light palette foreground. */
    .site-theme-dark #site-menu.is-open{
        background:var(--paper,#0d0c0a)!important;
        border-bottom-color:color-mix(in srgb,var(--theme-text,#f4efe5) 18%,transparent)!important;
        box-shadow:0 18px 34px rgba(0,0,0,.36)!important;
    }

    .site-theme-dark #site-menu.is-open>a,
    .site-theme-dark #site-menu.is-open>.mini-menu-parent>.mini-submenu-toggle{
        color:var(--theme-text,#f4efe5)!important;
    }

    .site-theme-dark #site-menu.is-open>a:hover,
    .site-theme-dark #site-menu.is-open>.mini-menu-parent>.mini-submenu-toggle:hover,
    .site-theme-dark #site-menu.is-open>.mini-menu-parent.is-open>.mini-submenu-toggle{
        color:var(--accent)!important;
    }

    .site-theme-dark #site-menu .mini-submenu{
        background:var(--soft,#1d1913)!important;
    }
}

/* Mobile preview toolbar: keep the site at viewport width and turn the theme picker
   into a compact sheet instead of a floating desktop popover. */
@media(max-width:850px){
    html,body{max-width:100%;overflow-x:hidden}
    .mini-preview-shell,
    .mini-preview-notice,
    .mini-nav-preview{width:100%!important;max-width:100%!important}
    .mini-preview-notice{padding:.75rem!important}
    .mini-preview-notice>.mini-container{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) auto!important;
        gap:.65rem .75rem!important;
        align-items:center!important;
    }
    .mini-preview-copy{
        grid-column:1/-1!important;
        min-width:0!important;
        font-size:.92rem!important;
    }
    .mini-preview-copy small{font-size:.78rem!important}
    .mini-preview-switch{justify-self:start!important}
    .mini-preview-themes{position:static!important;justify-self:end!important}
    .mini-preview-themes>summary{padding:.48rem .78rem!important;white-space:nowrap!important}
    .mini-preview-cta{
        grid-column:1/-1!important;
        width:100%!important;
        min-width:0!important;
        padding:.7rem .85rem!important;
        white-space:normal!important;
        text-align:center!important;
        line-height:1.25!important;
    }
    .mini-preview-theme-panel{
        position:fixed!important;
        z-index:1000!important;
        left:12px!important;
        right:12px!important;
        top:auto!important;
        bottom:12px!important;
        width:auto!important;
        max-width:none!important;
        max-height:min(72vh,620px)!important;
        overflow:auto!important;
        margin:0!important;
        padding:1rem!important;
        border-radius:18px!important;
        box-shadow:0 24px 80px rgba(0,0,0,.36)!important;
    }
    .mini-preview-theme-links{gap:.5rem!important}
    .mini-preview-theme-links a{padding:.55rem .72rem!important;font-size:.82rem!important}
}

@media(max-width:480px){
    .mini-preview-notice{padding:.68rem!important}
    .mini-preview-notice>.mini-container{gap:.55rem!important}
    .mini-preview-copy strong{font-size:.9rem!important}
    .mini-preview-copy small{font-size:.74rem!important}
    .mini-preview-switch a{padding:.35rem .65rem!important;font-size:.79rem!important}
    .mini-preview-themes>summary{padding:.42rem .68rem!important;font-size:.79rem!important}
    .mini-preview-cta{font-size:.84rem!important}
    .mini-preview-theme-panel{left:8px!important;right:8px!important;bottom:8px!important;padding:.9rem!important}
}
