/* Fullscreen Image Menu - stile base. I valori (colori, misure, font) arrivano dalle variabili --fsim-* generate dal pannello. */

body.fsim-lock{overflow:hidden}

/* Contenitore a schermo intero */
.fsim-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--fsim-z,1000000);display:flex;box-sizing:border-box;background:var(--fsim-bg,#fff);color:var(--fsim-color,#111);opacity:0;visibility:hidden;transition:opacity var(--fsim-dur,350ms) ease,transform var(--fsim-dur,350ms) ease,visibility var(--fsim-dur,350ms) ease}
.fsim-menu:focus{outline:none}
.fsim-menu *,.fsim-menu *:before,.fsim-menu *:after{box-sizing:border-box}
.fsim-menu.fsim-side-right{flex-direction:row-reverse}
.fsim-menu.fsim-anim-slide-down{opacity:1;transform:translateY(-100%)}
.fsim-menu.fsim-anim-slide-right{opacity:1;transform:translateX(100%)}
.fsim-menu.fsim-anim-none{transition:none}
.fsim-menu.is-open{opacity:1;visibility:visible;transform:none}

/* Foto */
.fsim-media{position:relative;flex:0 0 var(--fsim-media-w,50%);overflow:hidden;background:var(--fsim-img-bg,#222)}
.fsim-media .fsim-img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transition:opacity var(--fsim-img-dur,500ms) ease,transform calc(var(--fsim-img-dur,500ms) * 2) ease}
.fsim-media .fsim-img.is-active{opacity:1}
.fsim-effect-zoom .fsim-media .fsim-img{transform:scale(1.08)}
.fsim-effect-zoom .fsim-media .fsim-img.is-active{transform:scale(1)}

/* Pannello con logo, voci, pulsante e social */
.fsim-panel{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:var(--fsim-justify,space-between);gap:var(--fsim-gap,40px);padding:var(--fsim-pad,40px);text-align:var(--fsim-align,center);overflow-y:auto;font-family:var(--fsim-font2,inherit)}
.fsim-top,.fsim-center,.fsim-bottom{display:flex;flex-direction:column;align-items:var(--fsim-ai,center);max-width:100%}
.fsim-logo{display:block;line-height:0;text-decoration:none}
.fsim-logo img{display:block;height:var(--fsim-logo-h,60px);width:auto;max-width:100%}

/* Voci */
.fsim-links{list-style:none;margin:0;padding:0;text-align:var(--fsim-align,center)}
.fsim-links li{margin:0;padding:0;list-style:none}
.fsim-links a{display:block;padding:var(--fsim-item-gap,6px) 0;font-family:var(--fsim-font,inherit);font-size:var(--fsim-size,56px);font-weight:var(--fsim-weight,400);font-style:var(--fsim-fstyle,normal);text-transform:var(--fsim-transform,none);letter-spacing:var(--fsim-ls,0);line-height:var(--fsim-lh,1.2);color:var(--fsim-color,#111);text-decoration:none;opacity:1;transition:opacity .2s ease,color .2s ease}
.fsim-links:hover a{opacity:var(--fsim-dim,.35)}
.fsim-links a:hover,.fsim-links a:focus{opacity:1;color:var(--fsim-hover,#111)}

/* Pulsante */
.fsim-cta{display:inline-block;margin-top:var(--fsim-cta-mt,32px);padding:var(--fsim-cta-py,14px) var(--fsim-cta-px,34px);border:var(--fsim-cta-bw,2px) solid var(--fsim-cta-border,#111);border-radius:var(--fsim-cta-r,999px);background:var(--fsim-cta-bg,transparent);color:var(--fsim-cta-fg,#111);font-family:var(--fsim-font2,inherit);font-size:var(--fsim-cta-size,16px);font-weight:var(--fsim-cta-weight,600);text-transform:var(--fsim-cta-tt,none);letter-spacing:var(--fsim-cta-ls,.5px);line-height:1.2;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}
.fsim-cta:hover,.fsim-cta:focus{background:var(--fsim-cta-hbg,#111);border-color:var(--fsim-cta-hbg,#111);color:var(--fsim-cta-hfg,#fff)}

/* Social */
.fsim-social{display:flex;flex-wrap:wrap;justify-content:var(--fsim-ai,center);gap:var(--fsim-soc-gap,22px);list-style:none;margin:0;padding:0}
.fsim-social li{margin:0;padding:0;list-style:none}
.fsim-social a{display:inline-flex;align-items:center;gap:8px;color:var(--fsim-soc,#111);text-decoration:none;font-family:var(--fsim-font2,inherit);font-size:var(--fsim-soc-size,14px);text-transform:var(--fsim-soc-tt,uppercase);letter-spacing:var(--fsim-soc-ls,1.2px);line-height:1;transition:opacity .2s ease,color .2s ease}
.fsim-social a:hover,.fsim-social a:focus{color:var(--fsim-soc-hover,#111);opacity:var(--fsim-soc-hop,.6)}
.fsim-social .fsim-icon{display:block;width:var(--fsim-icon,22px);height:var(--fsim-icon,22px);flex:0 0 auto}

/* Chiusura */
.fsim-close{position:absolute;top:18px;display:flex;align-items:center;justify-content:center;width:calc(var(--fsim-close-size,32px) + 16px);height:calc(var(--fsim-close-size,32px) + 16px);margin:0;padding:0;border:0;background:none;color:var(--fsim-close-color,#111);cursor:pointer;line-height:1}
.fsim-close-right{right:18px}
.fsim-close-left{left:18px}
.fsim-close .fsim-icon{display:block;width:var(--fsim-close-size,32px);height:var(--fsim-close-size,32px)}

/* Pulsante hamburger integrato e shortcode */
.fsim-toggle{position:fixed;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;cursor:pointer;line-height:1;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.fsim-toggle .fsim-icon{display:block;width:50%;height:50%}
.fsim-shortcode{cursor:pointer}

@media (prefers-reduced-motion:reduce){
	.fsim-menu,.fsim-media .fsim-img{transition:none}
}
