/* Una galleria a tutta finestra, con spazio per l'opera e controlli essenziali. */
body.gallery-open{overflow:hidden}
html.modal-locked{overscroll-behavior:none}
html.modal-locked body{overscroll-behavior:none}
#lightbox{overscroll-behavior:none;touch-action:none}
:is(a,button,summary,input,textarea,select):focus-visible{outline-color:var(--olive)}
.pattern-options input:focus-visible+span{outline-color:var(--olive)}
html.pointer-input :is(a,button,summary,[role="button"]):focus{outline:none!important}
html.pointer-input .pattern-options input:focus-visible+span{outline:none}
#lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:80px clamp(22px,5vw,85px) 32px;background:#faf9f5;overflow:hidden;border:0}
#lightbox::backdrop{background:#faf9f5}
#lightbox[open]{display:flex;flex-direction:column;animation:gallery-arrive .35s ease both}
.lightbox-stage{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:clamp(20px,4vw,65px);align-items:center;flex:1;min-height:0}
#lightbox .lightbox-figure{height:100%;min-height:0;display:block;margin:0}
.lightbox-image-wrap{height:100%;display:flex;align-items:center;justify-content:center;touch-action:none;overflow:hidden}
#lightbox .lightbox-image-wrap img{width:100%;height:100%;object-fit:contain;user-select:none}
#lightbox .gallery-control{display:grid;place-items:center;position:static;width:60px;height:60px;border:1px solid #414b3d30;border-radius:50%;background:#ffffffa6;color:var(--olive);padding:18px;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}
#lightbox .gallery-control svg{display:block;width:100%;height:100%;transition:transform .25s}
#lightbox .gallery-prev svg{transform:rotate(180deg)}
#lightbox .gallery-control:hover{background:var(--olive);border-color:var(--olive);color:white;box-shadow:0 9px 24px #414b3d18;transform:scale(1.06)}
#lightbox .gallery-next:hover svg{transform:translateX(2px)}
#lightbox .gallery-prev:hover svg{transform:rotate(180deg) translateX(2px)}
#lightbox .close-dialog{position:absolute;right:30px;top:20px;width:46px;height:46px;padding:12px;border-color:#414b3d25;background:#ffffffa6}
#lightbox .close-dialog:hover svg{transform:rotate(90deg)}
.gallery-dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0;padding-top:22px;flex-shrink:0;max-width:100%;margin-inline:auto}
.gallery-dot{display:grid;place-items:center;position:relative;width:32px;height:32px;border:0;padding:0;background:none;border-radius:50%}
.gallery-dot:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#414b3d35;transition:background .25s,transform .25s,box-shadow .25s}
.gallery-dot:hover:before{background:#7e886c;transform:scale(1.25)}
.gallery-dot.is-current:before{background:var(--olive);transform:scale(1.18);box-shadow:0 0 0 4px #414b3d0c}
@keyframes gallery-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.menu-introduction .menu-contact{margin-top:0;align-self:flex-start;min-width:170px;display:flex;gap:35px;font-size:12px}
.menu-introduction .menu-contact .greater-chevron{width:16px;height:16px}
/* Tra le pagine compare soltanto il monogramma, senza etichette. */
.page-transition{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility 0s .32s}
.page-transition img{width:86px;height:86px;object-fit:contain;opacity:0;transform:scale(.96);transition:opacity .2s,transform .35s}
.page-entering .page-transition,.page-leaving .page-transition{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s ease}
.page-entering .page-transition img,.page-leaving .page-transition img{opacity:1;transform:scale(1)}
.intro-active .page-transition{display:none}
@media(max-width:700px){
 #lightbox{padding:75px 18px 22px}
 .lightbox-stage{grid-template-columns:1fr;gap:0;position:relative;padding-bottom:60px}
 #lightbox .lightbox-figure{grid-area:1/1;min-height:0}
 #lightbox .gallery-prev,#lightbox .gallery-next{position:absolute;bottom:0;top:auto;width:46px;height:46px;padding:13px}
 #lightbox .gallery-prev{left:calc(50% - 58px)}
 #lightbox .gallery-next{right:calc(50% - 58px)}
 #lightbox .close-dialog{right:14px;top:15px;width:44px;height:44px}
 .gallery-dots{padding-top:12px}.gallery-dot{width:30px;height:32px}
 .menu-layout{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding-bottom:15px}
 .menu-introduction{display:contents}
 .menu-introduction>.eyebrow{order:0;margin-bottom:0}
 .menu-links{order:1}
 .menu-introduction .menu-contact{order:2;align-self:flex-start;min-height:46px;padding:12px 20px;margin:0}
 .page-transition img{width:70px;height:70px}
}
@media(prefers-reduced-motion:reduce){#lightbox[open]{animation:none}.page-transition,.page-transition img{transition:none}}

html.cms-pending .site-shell{visibility:hidden}
html.cms-pending:not(.intro-active) .page-transition{opacity:1;visibility:visible;pointer-events:auto}
html.cms-pending:not(.intro-active) .page-transition img{opacity:1;transform:none}
@media(max-width:700px){.full-menu .menu-links>a{padding-block:10px}.full-menu .menu-item-title{font-size:clamp(30px,4.5vh,40px)}}
/* Il menu distribuisce le sette sezioni nell’altezza disponibile, senza scorrimento. */
#full-menu{overflow:hidden;touch-action:manipulation;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
#full-menu .menu-top{min-height:0;height:clamp(56px,10dvh,103px)}
#full-menu .menu-layout{flex:1;min-height:0;padding:clamp(8px,2dvh,28px) 0;align-items:stretch}
#full-menu .menu-links{min-height:0;display:grid;grid-template-rows:repeat(7,minmax(0,1fr))}
#full-menu .menu-links>a{min-height:0;padding:clamp(2px,.8dvh,10px) 8px;gap:clamp(12px,2vw,25px)}
#full-menu .menu-item-copy{min-width:0;gap:clamp(1px,.3dvh,3px)}
#full-menu .menu-item-title{font-size:clamp(18px,5.4dvh,66px);line-height:1.05}
#full-menu .menu-item-copy small{font-size:clamp(8px,1.15dvh,10px);line-height:1.3}
#full-menu .menu-introduction{gap:clamp(8px,2.5dvh,30px)}
#full-menu .menu-introduction>p{font-size:clamp(28px,5.5dvh,64px)}
#full-menu .menu-location{margin-top:0}
#full-menu .menu-bottom{min-height:32px;height:clamp(32px,6dvh,60px);padding:6px 0;gap:12px}
@media(max-height:600px){#full-menu .menu-item-copy small{display:none}#full-menu .menu-introduction{gap:10px}#full-menu .menu-contact{min-height:40px;padding-block:9px}}
@media(max-width:700px){
 #full-menu{padding-inline:20px}
 #full-menu .menu-top{height:clamp(56px,10dvh,78px)}
 #full-menu .menu-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(8px,1.6dvh,18px);padding:clamp(8px,1.8dvh,18px) 0}
 #full-menu .menu-introduction{display:contents}
 #full-menu .menu-introduction>.eyebrow{font-size:8px;line-height:1.4}
 #full-menu .menu-links>a{padding:2px;gap:15px}
 #full-menu .menu-item-title{font-size:clamp(22px,4.8dvh,40px)}
 #full-menu .menu-introduction .menu-contact{min-height:40px;padding:9px 18px;font-size:11px;min-width:155px}
 #full-menu .menu-bottom{height:clamp(32px,5dvh,45px);font-size:6px;letter-spacing:.03em;gap:8px}
 #full-menu .menu-bottom a{font-size:8px;white-space:nowrap}
}
@media(max-width:700px) and (max-height:620px){#full-menu .menu-item-copy small{display:none}}
@media(max-width:700px) and (min-width:480px) and (max-height:480px){
 #full-menu .menu-links{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));column-gap:24px;grid-auto-flow:column}
 #full-menu .menu-links>a:nth-child(5){border-top:1px solid var(--line)}
 #full-menu .menu-item-title{font-size:24px}
}
@media(min-width:701px) and (max-height:440px){#full-menu .menu-introduction>p{display:none}#full-menu .menu-introduction{justify-content:center}}

