:root{--gat-ink:#18201f;--gat-paper:#f3efe7;--gat-night:#172524;--gat-line:rgba(24,32,31,.18)}
*{box-sizing:border-box}
.gat-page{margin:0;background:var(--gat-paper);color:var(--gat-ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.gat-page button,.gat-page input{font:inherit}.gat-page a{color:inherit}.gat-page h1,.gat-page h2,.gat-page h3{font-family:Georgia,"Times New Roman",serif;line-height:1.05}
.gat-page :focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #000}.gat-page button:disabled{cursor:not-allowed;opacity:.45}
.gat-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.gat-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--gat-accent-on-light,var(--gat-accent))}
.gat-hero .gat-kicker,.gat-entrance .gat-kicker{color:var(--gat-accent-on-dark,#fff)}
.gat-button{display:inline-flex;border:0;border-radius:999px;background:var(--gat-accent);color:var(--gat-accent-ink,#fff)!important;padding:14px 22px;text-decoration:none;font-weight:700;cursor:pointer}

/* Archivio. */
.gat-hub{min-height:100vh}.gat-hero{min-height:82vh;padding:28px clamp(24px,6vw,96px);display:grid;grid-template-rows:auto 1fr;background:var(--gat-night);color:#fff;overflow:hidden}
.gat-hero nav,.gat-hero>div{position:relative;z-index:1}.gat-hero nav a{text-decoration:none}.gat-hero>div{align-self:center;max-width:780px}.gat-hero h1{font-size:clamp(3.25rem,10vw,9rem);margin:.1em 0;overflow-wrap:anywhere}.gat-hero>div>p:not(.gat-kicker){font-size:clamp(1.05rem,2vw,1.35rem);max-width:610px;line-height:1.6;margin-bottom:28px}
.gat-section{padding:clamp(56px,9vw,130px) clamp(20px,6vw,96px)}.gat-section>header{margin-bottom:38px}.gat-section h2{font-size:clamp(2.35rem,5vw,5rem);margin:.1em 0}.gat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,6vw,90px)}
.gat-card{display:grid;gap:24px;min-width:0}.gat-card__image{aspect-ratio:4/3;background:#d9d6ce;display:grid;place-items:center;overflow:hidden;text-decoration:none}.gat-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gat-card__image:hover img{transform:scale(1.025)}.gat-card__image>span{font-size:4rem;color:var(--gat-accent-on-light,var(--gat-accent))}.gat-card h3{font-size:clamp(2rem,3vw,3.2rem);margin:.15em 0;overflow-wrap:anywhere}.gat-card h3 a{text-decoration:none}.gat-card p{line-height:1.6}.gat-date{color:#68706e}.gat-link{font-weight:700;text-underline-offset:5px}.gat-footer{display:flex;justify-content:space-between;gap:20px;padding:32px clamp(20px,6vw,96px);border-top:1px solid var(--gat-line)}

/* Visita. */
.gat-visit{overflow:hidden}.gat-gallery{height:100vh;height:100dvh;background:#d7d0c3;overflow:hidden;isolation:isolate}
.gat-entrance{position:fixed;inset:0;z-index:20;padding:28px clamp(22px,7vw,110px) 60px;display:grid;grid-template-rows:auto 1fr;background:linear-gradient(120deg,#0d1d1cf5,#162b28ed),radial-gradient(circle at 75% 35%,var(--gat-accent),transparent 38%);color:#fff;overflow-y:auto;overscroll-behavior:contain;transition:opacity .35s,transform .35s}.gat-entrance.is-open{opacity:0;transform:scale(1.015);pointer-events:none}.gat-entrance nav{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:20px;padding:6px 0 18px;background:linear-gradient(#0d1d1c 55%,transparent)}.gat-entrance nav a{text-decoration:none}.gat-entrance article{align-self:center;width:min(760px,100%);padding:42px 0 60px}.gat-entrance h1{font-size:clamp(3.1rem,8vw,7rem);margin:.08em 0;overflow-wrap:anywhere}.gat-entrance article>div{font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6}.gat-entrance details{margin:18px 0 28px}.gat-entrance summary{cursor:pointer;font-weight:700}
.gat-topbar{position:fixed;z-index:8;top:0;left:0;right:0;min-height:70px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:10px clamp(14px,3vw,42px);background:rgba(23,37,36,.97);color:#fff}.gat-topbar>a{text-decoration:none}.gat-topbar>strong{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gat-topbar>div{display:flex;justify-content:flex-end;gap:7px;min-width:0}.gat-topbar button,.gat-audio button{border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;padding:9px 13px;cursor:pointer;white-space:nowrap}
.gat-tour{height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain}.gat-tour::-webkit-scrollbar,.gat-wall::-webkit-scrollbar{display:none}
.gat-room{position:relative;flex:0 0 100%;width:100%;height:100%;min-width:0;display:grid;grid-template-columns:minmax(190px,25vw) minmax(0,1fr);gap:clamp(16px,4vw,64px);align-items:stretch;padding:100px clamp(86px,7vw,130px) 96px clamp(20px,4vw,64px);scroll-snap-align:start;background:linear-gradient(#e9e5de 0 72%,#a69c8a 72%);overflow:hidden}.gat-room>header{min-width:0;align-self:start;padding-top:10px}.gat-room>header h2{font-size:clamp(1.8rem,3.5vw,4rem);margin:.1em 0;overflow-wrap:break-word;word-break:normal;hyphens:none;text-wrap:balance}.gat-room>header p:last-child{line-height:1.45;overflow-wrap:anywhere}
.gat-wall{min-width:0;height:100%;display:flex;align-items:center;gap:clamp(38px,8vw,125px);overflow-x:auto;overflow-y:hidden;padding:20px clamp(36px,7vw,110px) 36px;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;overscroll-behavior-x:contain}
.gat-art{position:relative;z-index:1;flex:0 0 auto;max-width:min(44vw,620px);max-height:100%;border:0;background:transparent;padding:0;color:var(--gat-ink);cursor:pointer;pointer-events:auto;touch-action:manipulation;scroll-snap-align:center;transition:opacity .25s,transform .35s}.gat-art>span{display:block;padding:10px;background:#eee7dc;border:7px solid #262e2d;box-shadow:0 18px 45px rgba(18,27,26,.24)}.gat-art img{display:block;max-width:min(39vw,550px);max-height:calc(100dvh - 255px);width:auto;height:auto;object-fit:contain;pointer-events:none}.gat-art small{display:block;width:max-content;max-width:100%;margin:11px auto 0;padding:7px 11px;background:#f9f7f1;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.guide-active .gat-art:not(.is-guided){display:none}.guide-active .gat-wall{justify-content:center;padding-inline:20px}.guide-active .gat-art.is-guided{max-width:min(52vw,680px)}.guide-active .gat-door{opacity:0;pointer-events:none}
.gat-door{position:absolute;z-index:3;right:14px;bottom:100px;width:86px;height:135px;padding:14px 9px;display:flex;flex-direction:column;justify-content:space-between;border:0;background:#273b38;color:#fff;text-decoration:none;cursor:pointer;text-align:left}
.gat-controls{position:fixed;z-index:7;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:7px;background:rgba(23,37,36,.97);color:#fff;border-radius:999px}.gat-controls button{width:42px;height:42px;border:0;border-radius:50%;background:var(--gat-accent);color:var(--gat-accent-ink,#fff);cursor:pointer}.gat-controls button:disabled{background:#747b79}
.gat-audio{position:fixed;z-index:7;left:18px;bottom:18px;display:flex;gap:10px;align-items:center;padding:7px 11px;border-radius:999px;background:rgba(23,37,36,.97)}.gat-audio input{width:90px;accent-color:var(--gat-accent)}
.gat-empty{display:grid;grid-template-columns:1fr;place-items:center;text-align:center;padding-inline:24px}.gat-empty h2{font-size:clamp(2.2rem,6vw,4rem)}.gat-empty p{line-height:1.5}


/* Rifiniture layout 1.2.1. */
.gat-page .gat-door,.gat-page .gat-door:link,.gat-page .gat-door:visited{color:#fff}
.gat-controls{bottom:max(22px,calc(14px + env(safe-area-inset-bottom,0px)))}
.gat-audio{bottom:max(22px,calc(14px + env(safe-area-inset-bottom,0px)))}

@media(min-width:901px){
  .gat-room{grid-template-columns:minmax(230px,26vw) minmax(0,1fr);gap:clamp(20px,3.5vw,56px);padding:96px clamp(96px,7.5vw,138px) 108px clamp(28px,4vw,64px);background:linear-gradient(#e9e5de 0 78%,#a69c8a 78%)}
  .gat-room>header{padding-top:12px}
  .gat-room>header h2{font-size:clamp(1.9rem,2.8vw,3.25rem);line-height:.98;max-width:100%}
  .gat-wall{gap:clamp(54px,6.5vw,108px);padding:24px clamp(52px,6vw,92px) 42px;scroll-padding-inline:clamp(52px,6vw,92px)}
  .gat-art{max-width:min(40vw,590px)}
  .gat-art img{max-width:min(35vw,530px);max-height:calc(100dvh - 290px)}
  .gat-art small{margin-top:13px;padding:8px 13px;border:1px solid rgba(24,32,31,.12);border-radius:2px;background:rgba(249,247,241,.96);line-height:1.25;box-shadow:0 5px 16px rgba(0,0,0,.1)}
  .gat-door{right:clamp(20px,2vw,34px);bottom:clamp(108px,12vh,128px);width:94px;height:142px;padding:15px 11px;border:1px solid rgba(255,255,255,.16);box-shadow:0 12px 28px rgba(18,27,26,.18)}
  .gat-topbar>div{gap:6px}
  .gat-topbar button{padding:8px 12px}
}

/* Mappa e finestre modali, incluso fallback per browser senza dialog. */
.gat-map{position:fixed;z-index:12;top:70px;right:0;bottom:0;width:min(460px,100%);padding:clamp(24px,5vw,45px);background:#f4f0e8;box-shadow:-20px 0 50px rgba(0,0,0,.24);transform:translateX(105%);transition:transform .3s;overflow:auto}.map-open .gat-map{transform:none}.gat-map__close{float:right;border:0;background:transparent;font-size:2rem;cursor:pointer}.gat-map h2{font-size:clamp(2rem,7vw,2.8rem)}.gat-map>div{display:grid;gap:10px}.gat-map [data-room-target]{display:grid;grid-template-columns:50px 1fr;gap:14px;text-align:left;align-items:center;padding:15px;border:1px solid var(--gat-line);background:#fff;cursor:pointer}.gat-map [data-room-target].is-current{border-color:var(--gat-accent-on-light,var(--gat-accent));box-shadow:inset 4px 0 var(--gat-accent-on-light,var(--gat-accent))}.gat-map [data-room-target] b{font-family:Georgia,serif;font-size:1.6rem;color:var(--gat-accent-on-light,var(--gat-accent))}.gat-map [data-room-target] small{display:block;color:#66706d;margin-top:3px}
.gat-viewer:not([open]),.gat-catalog:not([open]){display:none}.gat-viewer,.gat-catalog{width:min(1180px,94vw);max-width:94vw;max-height:92vh;max-height:92dvh;border:0;padding:0;background:#f5f1e9;color:var(--gat-ink);box-shadow:0 30px 100px rgba(0,0,0,.45)}.gat-viewer::backdrop,.gat-catalog::backdrop{background:rgba(8,18,17,.86)}.gat-viewer.is-open,.gat-catalog.is-open{position:fixed;z-index:100;inset:4vh auto auto 50%;transform:translateX(-50%);display:block}.gat-modal-open:before{content:"";position:fixed;z-index:99;inset:0;background:rgba(8,18,17,.86)}.gat-modal-open{overflow:hidden}
.gat-viewer{overflow:auto}.gat-viewer>button{position:absolute;z-index:2;border:0;background:#172524;color:#fff;width:48px;height:48px;cursor:pointer}.gat-viewer>[data-close]{right:0;top:0}.gat-viewer>[data-art-prev]{left:0;top:50%}.gat-viewer>[data-art-next]{right:0;top:50%}.gat-viewer figure{margin:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);min-height:62vh}.gat-viewer img{display:block;width:100%;height:min(76vh,820px);object-fit:contain;background:#101716}.gat-viewer figcaption{align-self:center;padding:clamp(24px,4vw,42px)}.gat-viewer h3{font-size:clamp(2rem,4vw,3rem);margin:.2em 0}.gat-viewer [data-read]{border:0;border-radius:999px;background:var(--gat-accent);color:var(--gat-accent-ink,#fff);padding:11px 17px;cursor:pointer}
.gat-catalog{padding:clamp(22px,4vw,45px);overflow:auto}.gat-catalog>header{display:flex;justify-content:space-between;gap:24px;align-items:start}.gat-catalog>header h2{font-size:clamp(2.2rem,5vw,3.5rem);margin:.15em 0}.gat-catalog button{padding:10px 14px;cursor:pointer}.gat-catalog__intro{max-width:730px;line-height:1.65}.gat-catalog>section{margin-top:55px}.gat-catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gat-catalog figure{margin:0;min-width:0}.gat-catalog img{display:block;width:100%;height:230px;object-fit:contain;background:#e4dfd5}.gat-catalog figcaption{padding-top:10px;overflow-wrap:anywhere}.gat-exif{margin-top:12px;border-top:1px solid var(--gat-line);padding-top:9px}.gat-exif summary{cursor:pointer;font-weight:700}.gat-exif dl{margin:10px 0 0;font-size:.88rem}.gat-exif dl>div{display:grid;grid-template-columns:minmax(7rem,.8fr) 1.2fr;gap:10px;padding:5px 0;border-bottom:1px solid var(--gat-line)}.gat-exif dt{font-weight:700}.gat-exif dd{margin:0;overflow-wrap:anywhere}

body.admin-bar .gat-entrance,body.admin-bar .gat-topbar{top:32px}body.admin-bar .gat-map{top:102px}body.admin-bar .gat-gallery{height:calc(100dvh - 32px)}

@media(max-width:900px){
  .gat-grid{grid-template-columns:1fr}.gat-topbar{grid-template-columns:auto minmax(0,1fr);min-height:62px}.gat-topbar>strong{display:none}.gat-topbar>div{overflow-x:auto;justify-content:flex-end;padding:2px}.gat-topbar button{font-size:.8rem;padding:8px 10px}
  .gat-room{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:4px;padding:76px 12px 78px}.gat-room>header{padding:0 8px}.gat-room>header h2{font-size:clamp(1.55rem,7vw,2.8rem)}.gat-room>header p:last-child{display:none}.gat-wall{height:auto;padding:6px 14vw 18px;gap:18vw}.gat-art,.guide-active .gat-art.is-guided{max-width:78vw}.gat-art img{max-width:68vw;max-height:calc(100dvh - 275px)}.gat-door{right:6px;bottom:72px;width:64px;height:88px;padding:8px 6px;font-size:.68rem}.gat-controls{bottom:max(10px,env(safe-area-inset-bottom,0px))}.gat-audio{left:8px;bottom:max(10px,env(safe-area-inset-bottom,0px))}.gat-audio input{display:none}
  .gat-viewer figure{grid-template-columns:1fr;min-height:0}.gat-viewer img{height:min(55dvh,520px)}.gat-viewer figcaption{padding:22px}.gat-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .gat-topbar>a span{display:none}.gat-topbar{padding-inline:8px}.gat-topbar>div{gap:3px}.gat-topbar button{padding:7px 8px;font-size:.74rem}.gat-entrance{padding:16px 20px 38px}.gat-entrance nav{font-size:.86rem}.gat-entrance h1{font-size:clamp(2.7rem,15vw,4.8rem)}
  .gat-room{padding-top:70px}.gat-wall{padding-inline:12vw;gap:16vw}.gat-art,.guide-active .gat-art.is-guided{max-width:84vw}.gat-art img{max-width:76vw}.gat-art>span{padding:6px;border-width:5px}.gat-door{width:54px}.gat-controls{gap:7px;padding:4px}.gat-controls button{width:36px;height:36px}.gat-audio button{padding:7px;font-size:.7rem}
  .gat-viewer,.gat-catalog{max-width:98vw;width:98vw;max-height:96dvh}.gat-viewer img{height:min(48dvh,420px)}.gat-viewer figcaption{padding:18px}.gat-viewer>button{width:42px;height:42px}.gat-catalog__grid{grid-template-columns:1fr}.gat-catalog>header{position:sticky;top:-22px;z-index:3;background:#f5f1e9;padding:10px 0}.gat-exif dl>div{grid-template-columns:1fr}
}
@media(orientation:landscape) and (max-height:620px){
  .gat-topbar{min-height:50px;padding-block:5px}.gat-room{display:grid;grid-template-columns:minmax(125px,23vw) minmax(0,1fr);grid-template-rows:1fr;padding:58px 56px 48px 10px;gap:8px}.gat-room>header{padding:5px}.gat-room>header .gat-kicker,.gat-room>header p:last-child{display:none}.gat-room>header h2{font-size:clamp(1.15rem,3.5vw,1.9rem)}.gat-wall{height:100%;padding:4px 10vw 4px 3vw;gap:12vw}.gat-art,.guide-active .gat-art.is-guided{max-width:62vw}.gat-art img{max-width:55vw;max-height:calc(100dvh - 105px)}.gat-art small{font-size:.7rem;margin-top:4px;padding:4px 7px}.gat-door{right:4px;bottom:48px;width:48px;height:70px;font-size:.58rem}.gat-controls{bottom:max(5px,env(safe-area-inset-bottom,0px))}.gat-audio{bottom:max(5px,env(safe-area-inset-bottom,0px))}.gat-map{top:50px;width:min(390px,86vw)}.gat-viewer figure{grid-template-columns:minmax(0,1.5fr) minmax(190px,.6fr)}.gat-viewer img{height:92dvh}.gat-viewer figcaption{max-height:92dvh;overflow:auto;padding:16px}
}
@media(max-width:782px){body.admin-bar .gat-entrance,body.admin-bar .gat-topbar{top:46px}body.admin-bar .gat-map{top:108px}body.admin-bar .gat-gallery{height:calc(100dvh - 46px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.gat-card__image img,.gat-art{transform:none!important}.gat-tour,.gat-wall{scroll-snap-type:none}}
@media print{.gat-topbar,.gat-tour,.gat-controls,.gat-audio,.gat-map,.gat-entrance,.gat-viewer{display:none!important}.gat-catalog{position:static!important;display:block!important;width:100%;max-width:none;max-height:none;box-shadow:none;padding:0}.gat-catalog>header button{display:none}.gat-catalog__grid{grid-template-columns:repeat(2,1fr)}body{overflow:visible!important}}


/* 2.0 — interazione autonoma, touch e accessibilità */
.gat-gallery button,.gat-gallery a{-webkit-tap-highlight-color:transparent}
.gat-tour,.gat-wall{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.gat-tour{touch-action:pan-x pan-y}
.gat-wall{touch-action:pan-x}
.gat-art{touch-action:manipulation}
.gat-gallery :focus-visible{outline:3px solid var(--gat-accent);outline-offset:4px}
.gat-viewer[open],.gat-viewer.is-open{touch-action:pan-y}
.gat-topbar{padding-top:max(0px,env(safe-area-inset-top))}
.gat-controls{bottom:max(1rem,env(safe-area-inset-bottom))}
.gat-audio{bottom:max(1rem,env(safe-area-inset-bottom))}
@media(max-width:720px){
  .gat-viewer figure{overscroll-behavior:contain}
  .gat-viewer [data-art-prev],.gat-viewer [data-art-next]{min-width:44px;min-height:44px}
}


/* 2.0.1 — Sala fotografica: scala, controllo e leggibilità. */
.gat-gallery{
  --gat-topbar-h:70px;
  --gat-bottom-ui:74px;
}
.gat-room{
  grid-template-columns:minmax(220px,25vw) minmax(0,1fr);
  gap:clamp(22px,3.5vw,58px);
  padding:calc(var(--gat-topbar-h) + 24px) clamp(82px,6.5vw,118px) calc(var(--gat-bottom-ui) + 28px) clamp(24px,4vw,62px);
  background:linear-gradient(#e9e5de 0 84%,#aaa08e 84%);
}
.gat-room>header{
  padding-top:12px;
  align-self:start;
}
.gat-room>header h2{
  font-size:clamp(2rem,3vw,3.4rem);
  line-height:.98;
}
.gat-wall{
  align-items:center;
  gap:clamp(34px,4.5vw,72px);
  padding:12px clamp(28px,4vw,64px) 28px;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:clamp(28px,4vw,64px);
}
.gat-art{
  max-width:min(37vw,520px);
  scroll-snap-align:center;
  scroll-snap-stop:normal;
}
.gat-art>span{
  padding:8px;
  border-width:6px;
}
.gat-art img{
  max-width:min(33vw,480px);
  max-height:min(58dvh,560px);
  width:auto;
  height:auto;
  object-fit:contain;
}
.gat-art small{
  margin-top:10px;
  padding:7px 11px;
  line-height:1.2;
}
.gat-controls{
  bottom:max(12px,calc(8px + env(safe-area-inset-bottom,0px)));
  gap:8px;
  padding:5px;
  min-height:46px;
}
.gat-controls button{
  width:36px;
  height:36px;
}
.gat-controls>span{
  min-width:112px;
  text-align:center;
  font-size:.9rem;
  font-variant-numeric:tabular-nums;
}
.gat-controls__label{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.72;
}
.gat-audio{
  left:12px;
  bottom:max(12px,calc(8px + env(safe-area-inset-bottom,0px)));
  gap:7px;
  padding:5px 8px;
}
.gat-audio button{
  padding:7px 10px;
}
.gat-audio input{
  width:72px;
}
.gat-door{
  right:12px;
  bottom:calc(var(--gat-bottom-ui) + 12px);
  width:74px;
  height:112px;
  padding:11px 8px;
}

@media (min-width:901px){
  .gat-room{
    grid-template-columns:minmax(220px,24vw) minmax(0,1fr);
    gap:clamp(24px,3.2vw,52px);
    padding:calc(var(--gat-topbar-h) + 24px) clamp(82px,6.5vw,118px) calc(var(--gat-bottom-ui) + 28px) clamp(28px,4vw,64px);
    background:linear-gradient(#e9e5de 0 84%,#aaa08e 84%);
  }
  .gat-wall{
    gap:clamp(34px,4.5vw,72px);
    padding:12px clamp(28px,4vw,64px) 28px;
    scroll-padding-inline:clamp(28px,4vw,64px);
  }
  .gat-art{max-width:min(37vw,520px)}
  .gat-art img{max-width:min(33vw,480px);max-height:min(58dvh,560px)}
  .gat-door{
    right:12px;
    bottom:calc(var(--gat-bottom-ui) + 12px);
    width:74px;
    height:112px;
    padding:11px 8px;
  }
}

@media (max-width:900px){
  .gat-gallery{
    --gat-topbar-h:64px;
    --gat-bottom-ui:66px;
  }
  .gat-room{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    gap:10px;
    padding:calc(var(--gat-topbar-h) + 14px) 0 calc(var(--gat-bottom-ui) + 18px);
    background:linear-gradient(#e9e5de 0 87%,#aaa08e 87%);
  }
  .gat-room>header{
    padding:0 20px;
  }
  .gat-room>header h2{
    font-size:clamp(1.8rem,7vw,2.7rem);
    margin:.08em 0;
  }
  .gat-room>header p:last-child{
    margin:.35em 0 0;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .gat-wall{
    width:100%;
    min-height:0;
    gap:20px;
    padding:8px 11vw 22px;
    scroll-padding-inline:11vw;
  }
  .gat-art{
    max-width:78vw;
  }
  .gat-art img{
    max-width:calc(78vw - 28px);
    max-height:min(51dvh,500px);
  }
  .gat-door{
    right:8px;
    bottom:calc(var(--gat-bottom-ui) + 8px);
    width:64px;
    height:92px;
    font-size:.8rem;
  }
  .gat-controls__label{
    display:none;
  }
  .gat-controls>span{
    min-width:72px;
  }
}

@media (max-width:560px){
  .gat-topbar{
    min-height:58px;
    padding:7px 10px;
  }
  .gat-topbar>strong{
    font-size:.9rem;
  }
  .gat-topbar button{
    padding:7px 9px;
  }
  .gat-gallery{
    --gat-topbar-h:58px;
  }
  .gat-room>header{
    padding-inline:14px;
  }
  .gat-wall{
    padding-inline:8vw;
    scroll-padding-inline:8vw;
  }
  .gat-art{
    max-width:84vw;
  }
  .gat-art img{
    max-width:calc(84vw - 24px);
    max-height:min(48dvh,440px);
  }
  .gat-audio input{
    display:none;
  }
  .gat-audio button{
    padding:7px 9px;
  }
}


/* Editor curatoriale: link rapido visibile soltanto agli utenti autorizzati. */
.gat-viewer__actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.gat-curatorial-edit-link{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.65rem 1rem;border-radius:999px;
  text-decoration:none;font-weight:700;
  background:#172524;color:#fff;border:1px solid rgba(255,255,255,.16)
}
.gat-curatorial-edit-link:hover,.gat-curatorial-edit-link:focus{color:#fff;filter:brightness(1.12)}
.gat-curatorial-edit-link[hidden]{display:none!important}


/* Segnalazione curatoriale rapida */
.gat-curatorial-flag-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.65rem 1rem;border-radius:999px;
  font-weight:700;border:1px solid rgba(23,37,36,.16);
  background:transparent;color:#172524;cursor:pointer
}
.gat-curatorial-flag-button:hover,.gat-curatorial-flag-button:focus{background:rgba(23,37,36,.07)}
.gat-curatorial-flag-button.is-flagged{background:#fff1cc;border-color:#d5a329;color:#5f4300}
.gat-curatorial-flag-button:disabled{opacity:.65;cursor:wait}


/* Pannello note della segnalazione curatoriale */
.gat-review-panel{
  margin-top:1rem;
  padding:1rem;
  border:1px solid rgba(23,37,36,.15);
  border-radius:14px;
  background:rgba(255,255,255,.52)
}
.gat-review-panel[hidden]{display:none!important}
.gat-review-panel label{display:block;margin-bottom:.5rem}
.gat-review-panel textarea{
  display:block;
  width:100%;
  min-height:92px;
  box-sizing:border-box;
  resize:vertical;
  border:1px solid rgba(23,37,36,.25);
  border-radius:9px;
  padding:.7rem .8rem;
  font:inherit;
  line-height:1.4;
  color:#172524;
  background:#fff
}
.gat-review-panel textarea:focus{
  outline:2px solid #df8a34;
  outline-offset:1px;
  border-color:#df8a34
}
.gat-review-panel__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.7rem
}
.gat-review-save,.gat-review-cancel,.gat-review-remove{
  min-height:40px;
  padding:.55rem .85rem;
  border-radius:999px;
  border:1px solid rgba(23,37,36,.18);
  cursor:pointer;
  font-weight:700
}
.gat-review-save{background:#df8a34;color:#172524;border-color:#df8a34}
.gat-review-cancel{background:#fff;color:#172524}
.gat-review-remove{background:transparent;color:#8a2424;border-color:#c98585}
.gat-review-save:disabled,.gat-review-cancel:disabled,.gat-review-remove:disabled{opacity:.6;cursor:wait}
.gat-review-status{min-height:1.3em;margin:.6rem 0 0;font-size:.9em;color:#42504f}


/* v2.1.3 - Segnalazione sempre visibile */
.gat-review-panel{
  display:block!important;
  margin-top:1rem;
  padding:1rem;
  border:1px solid rgba(23,37,36,.16);
  border-radius:12px;
  background:#f8f5ee
}
.gat-review-panel[hidden]{display:block!important}

.gat-review-panel label{
  color:#172524!important;
  font-size:.95rem;
  margin-bottom:.5rem
}

.gat-review-panel textarea{
  background:#fff!important;
  color:#172524!important;
  border:1px solid #a8aaa8!important;
}

.gat-review-save{
  background:#df8a34!important;
  color:#172524!important;
  border-color:#df8a34!important;
}

.gat-curatorial-edit-link{
  background:#172524!important;
  color:#ffffff!important;
  border-color:#172524!important;
}
.gat-curatorial-edit-link:visited,
.gat-curatorial-edit-link:hover,
.gat-curatorial-edit-link:focus{
  color:#ffffff!important;
}

.gat-curatorial-flag-button{
  color:#172524!important;
  background:#f4f1ea!important;
  border-color:#c8c5bd!important;
}


/* v2.1.4 - submit WordPress tradizionale */
.gat-review-status:not(:empty){
  display:block;
  padding:.55rem .7rem;
  border-radius:8px;
  background:#edf7ed;
  color:#205c28!important;
  font-weight:700;
}
.gat-review-panel button[type="submit"]{
  position:relative;
  z-index:2;
  pointer-events:auto!important;
}


/* 2.2.1 — Sottotitolo mostra e protezione anti-sovrapposizione. */
.gat-page h1,.gat-page h2,.gat-page h3,
.gat-entrance article,.gat-card>div,.gat-catalog>header>div{
  min-width:0;
}
.gat-entrance article{
  width:min(860px,100%);
  max-width:100%;
}
.gat-entrance h1{
  max-width:100%;
  margin:.08em 0 .12em;
  line-height:.96;
  overflow-wrap:anywhere;
  word-break:normal;
  text-wrap:balance;
}
.gat-show-subtitle{
  display:block;
  position:static;
  max-width:42rem;
  margin:.2rem 0 1.15rem;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.15rem,2.2vw,1.75rem);
  font-style:italic;
  font-weight:400;
  line-height:1.3;
  letter-spacing:.01em;
  overflow-wrap:anywhere;
  word-break:normal;
}
.gat-show-subtitle--catalog{
  margin:.35rem 0 0;
  color:#59615f;
  font-size:clamp(1rem,1.7vw,1.3rem);
}
.gat-card h3{
  margin-bottom:.15em;
  max-width:100%;
  line-height:1.05;
}
.gat-card__subtitle{
  margin:.15rem 0 .8rem!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1rem,1.5vw,1.2rem);
  font-style:italic;
  line-height:1.35!important;
  color:#59615f;
  overflow-wrap:anywhere;
}
.gat-topbar{
  grid-template-columns:minmax(90px,1fr) minmax(0,2fr) minmax(240px,1fr);
  height:auto;
}
.gat-topbar>strong{
  min-width:0;
  max-width:100%;
  padding-inline:8px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gat-topbar>div{
  min-width:0;
  max-width:100%;
}
.gat-room>header{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.gat-room>header h2,
.gat-room>header p{
  max-width:100%;
  overflow-wrap:anywhere;
}
.gat-wall{
  min-width:0;
  overflow-y:hidden;
}
.gat-art{
  flex:0 0 auto;
  min-width:0;
}
.gat-art small{
  max-width:100%;
  overflow-wrap:anywhere;
}
.gat-catalog>header{
  flex-wrap:wrap;
}
.gat-catalog>header>div:first-child{
  flex:1 1 420px;
}
.gat-catalog>header>div:last-child{
  flex:0 0 auto;
}

@media(max-width:900px){
  .gat-topbar{
    grid-template-columns:auto minmax(0,1fr);
  }
  .gat-entrance article{
    padding-top:30px;
  }
  .gat-entrance h1{
    font-size:clamp(2.65rem,12vw,5rem);
    line-height:.98;
  }
  .gat-show-subtitle{
    max-width:100%;
    margin-top:.35rem;
    font-size:clamp(1.05rem,4.5vw,1.45rem);
  }
  .gat-room>header{
    overflow:visible;
  }
}

@media(max-width:560px){
  .gat-entrance{
    padding-inline:16px;
  }
  .gat-entrance nav{
    align-items:flex-start;
    flex-wrap:wrap;
    row-gap:8px;
  }
  .gat-entrance article{
    padding:24px 0 42px;
  }
  .gat-entrance h1{
    font-size:clamp(2.3rem,12.5vw,4rem);
  }
  .gat-show-subtitle{
    font-size:clamp(1rem,4.8vw,1.28rem);
    line-height:1.35;
    margin-bottom:1rem;
  }
  .gat-topbar>div{
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
  }
  .gat-catalog>header>div:first-child,
  .gat-catalog>header>div:last-child{
    flex:1 1 100%;
  }
}


/* 2.2.2 — Scheda didascalia più elegante e correzione sovrapposizioni mobile. */
.gat-viewer,
.gat-catalog{
  border-radius:20px;
  overflow:hidden;
}
.gat-viewer{
  background:#101716;
}
.gat-viewer figure{
  position:relative;
  display:block;
  min-height:min(84dvh,780px);
  padding:24px 86px 24px 24px;
  background:#101716;
}
.gat-viewer img{
  width:100%;
  height:min(80dvh,760px);
  border-radius:16px;
  object-fit:contain;
  background:#101716;
}
.gat-viewer figcaption{
  position:absolute;
  right:24px;
  bottom:24px;
  z-index:1;
  width:min(360px,calc(100% - 48px));
  max-height:min(72%,520px);
  overflow:auto;
  margin:0;
  padding:18px 20px 20px;
  background:rgba(245,241,233,.95);
  border:1px solid rgba(24,32,31,.08);
  border-radius:18px;
  box-shadow:0 18px 44px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
}
.gat-viewer .gat-kicker{
  display:block;
  margin:0 0 .35rem;
  font-size:.68rem;
  letter-spacing:.16em;
}
.gat-viewer h3{
  font-size:clamp(1.6rem,2.8vw,2.75rem);
  line-height:1.02;
  margin:.05em 0 .4em;
  text-wrap:balance;
}
.gat-viewer [data-caption]{
  margin:0;
  font-size:1rem;
  line-height:1.62;
  color:#37403e;
}
.gat-viewer__actions{
  margin-top:1rem;
  padding-top:.95rem;
  border-top:1px solid rgba(24,32,31,.1);
}
.gat-viewer>button{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:999px;
  background:rgba(23,37,36,.92);
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.gat-viewer>[data-close]{
  top:18px;
  right:18px;
}
.gat-viewer>[data-art-prev],
.gat-viewer>[data-art-next]{
  top:50%;
  transform:translateY(-50%);
}
.gat-viewer>[data-art-prev]{left:18px}
.gat-viewer>[data-art-next]{right:18px}

@media(max-width:900px){
  .gat-topbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:auto;
    padding:8px 10px;
  }
  .gat-topbar>a{
    flex:0 0 auto;
  }
  .gat-topbar>strong{
    display:block!important;
    order:3;
    flex:1 0 100%;
    min-width:0;
    padding-inline:0;
    text-align:left;
    white-space:normal;
    overflow:hidden;
    text-overflow:clip;
    line-height:1.2;
    font-size:.96rem;
  }
  .gat-topbar>div{
    order:2;
    flex:1 1 auto;
    justify-content:flex-end;
    overflow-x:auto;
    padding:0 0 2px;
  }
  .gat-gallery{
    --gat-topbar-h:102px;
  }
  .gat-room{
    padding-top:calc(var(--gat-topbar-h) + 8px);
  }
  .gat-viewer,
  .gat-catalog{
    width:min(100vw - 12px,1000px);
    max-width:calc(100vw - 12px);
    max-height:calc(100dvh - 12px);
    border-radius:18px;
  }
  .gat-viewer.is-open,
  .gat-catalog.is-open{
    inset:6px auto auto 50%;
  }
  .gat-viewer figure{
    min-height:auto;
    padding:56px 12px 78px;
  }
  .gat-viewer img{
    height:min(44dvh,390px);
    border-radius:12px;
  }
  .gat-viewer figcaption{
    position:static;
    width:100%;
    max-height:none;
    margin-top:12px;
    padding:16px 16px 18px;
    border-radius:16px;
    box-shadow:none;
  }
  .gat-viewer>[data-close]{
    top:10px;
    right:10px;
  }
  .gat-viewer>[data-art-prev],
  .gat-viewer>[data-art-next]{
    top:auto;
    bottom:max(10px,env(safe-area-inset-bottom,0px));
    transform:none;
  }
  .gat-viewer>[data-art-prev]{left:10px}
  .gat-viewer>[data-art-next]{right:10px}
}

@media(max-width:560px){
  .gat-gallery{
    --gat-topbar-h:112px;
  }
  .gat-topbar{
    padding-inline:8px;
  }
  .gat-topbar>div{
    gap:4px;
  }
  .gat-topbar button{
    padding:7px 8px;
    font-size:.73rem;
  }
  .gat-controls{
    bottom:max(8px,env(safe-area-inset-bottom,0px));
    max-width:calc(100vw - 112px);
  }
  .gat-audio{
    left:8px;
    bottom:max(8px,env(safe-area-inset-bottom,0px));
    max-width:42vw;
    padding:6px 8px;
  }
  .gat-audio button{
    padding:7px 8px;
    font-size:.68rem;
  }
  .gat-viewer figure{
    padding:54px 10px 74px;
  }
  .gat-viewer h3{
    font-size:clamp(1.45rem,7vw,2rem);
  }
  .gat-viewer [data-caption]{
    font-size:.98rem;
    line-height:1.56;
  }
}


/* 2.2.3 — Viewer museale con pannello Info discreto. */
.gat-viewer__info-toggle{
  position:absolute;
  z-index:4;
  right:76px;
  top:18px;
  width:auto!important;
  height:46px!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:999px!important;
  background:rgba(23,37,36,.78)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(8px);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.02em;
}
.gat-viewer figcaption{
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.985);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
}
.gat-viewer.is-info-open figcaption{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}
.gat-viewer.is-info-open .gat-viewer__info-toggle{
  background:var(--gat-accent)!important;
  color:var(--gat-accent-ink,#fff)!important;
  border-color:transparent!important;
}
@media(min-width:901px){
  .gat-viewer figcaption{
    width:min(335px,30vw);
    max-height:min(66%,500px);
    padding:16px 18px 18px;
  }
  .gat-viewer h3{font-size:clamp(1.55rem,2.3vw,2.45rem)}
  .gat-viewer [data-caption]{font-size:.96rem;line-height:1.55}
}
@media(max-width:900px){
  .gat-viewer__info-toggle{
    top:10px;
    right:62px;
    height:42px!important;
    padding:0 13px!important;
  }
  .gat-viewer figcaption{
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
    max-height:min(42dvh,360px);
    overflow:auto;
  }
  .gat-viewer.is-info-open figcaption{display:block}
  .gat-viewer.is-info-open figure{
    overflow-y:auto;
  }
}
@media(max-width:420px){
  .gat-viewer__info-toggle{
    right:58px;
    padding:0 11px!important;
    font-size:.78rem;
  }
}


/* 2.2.4 — Telefoni compatti: foto verticali sempre libere dai controlli. */
@media (max-width:560px) and (max-height:650px){
  .gat-wall{
    padding-bottom:30px;
  }
  .gat-art img{
    max-height:min(40dvh,calc(100dvh - var(--gat-topbar-h) - var(--gat-bottom-ui) - 150px));
  }
  .gat-art small{
    margin-top:6px;
    padding:5px 8px;
    font-size:.76rem;
    line-height:1.15;
  }
}


/* 2.2.6 — iPhone: layout fisico della sala.
   Safari portrait resta invariato. Chrome portrait usa 100svh e una griglia
   che assegna all'opera solo lo spazio realmente rimasto. In landscape la
   stessa strategia vale per tutti i browser. */

@media (max-width:560px) and (orientation:portrait){
  .gat-gallery.gat-crios{
    position:relative;
    height:100svh!important;
    min-height:0;
    overflow:hidden;
  }
  .gat-gallery.gat-crios .gat-topbar,
  .gat-gallery.gat-crios .gat-controls,
  .gat-gallery.gat-crios .gat-audio,
  .gat-gallery.gat-crios .gat-entrance,
  .gat-gallery.gat-crios .gat-map{
    position:absolute;
  }
  .gat-gallery.gat-crios .gat-entrance{inset:0;max-height:100%}
  .gat-gallery.gat-crios .gat-map{bottom:0}
  .gat-gallery.gat-crios .gat-tour,
  .gat-gallery.gat-crios .gat-room{height:100%;min-height:0}
  .gat-gallery.gat-crios .gat-room{
    grid-template-rows:auto minmax(0,1fr);
  }
  .gat-gallery.gat-crios .gat-wall{
    height:100%;
    min-height:0;
    align-items:stretch;
    overflow-y:hidden;
  }
  .gat-gallery.gat-crios .gat-art,
  .gat-gallery.gat-crios .guide-active .gat-art.is-guided{
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    align-self:stretch;
    width:min(84vw,520px);
    max-width:84vw;
    height:100%;
    max-height:100%;
    min-height:0;
  }
  .gat-gallery.gat-crios .gat-art>span{
    display:grid;
    place-items:center;
    height:100%;
    min-height:0;
    overflow:hidden;
  }
  .gat-gallery.gat-crios .gat-art img{
    width:auto;
    height:auto;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain;
  }
  .gat-gallery.gat-crios .gat-art small{
    min-height:0;
  }

  .gat-gallery.gat-crios .gat-viewer,
  .gat-gallery.gat-crios .gat-catalog{
    max-height:calc(100svh - 8px)!important;
  }
  .gat-gallery.gat-crios .gat-viewer img{
    height:min(52svh,420px)!important;
    max-height:calc(100svh - 170px)!important;
  }
  .gat-gallery.gat-crios .gat-viewer figure{
    max-height:calc(100svh - 8px)!important;
    overflow-y:auto;
  }
}

@media (orientation:landscape) and (max-height:620px){
  .gat-gallery{
    position:relative;
    height:100svh!important;
    min-height:0;
    overflow:hidden;
  }
  .gat-gallery .gat-topbar,
  .gat-gallery .gat-controls,
  .gat-gallery .gat-audio,
  .gat-gallery .gat-entrance,
  .gat-gallery .gat-map{
    position:absolute;
  }
  .gat-gallery .gat-entrance{inset:0;max-height:100%}
  .gat-gallery .gat-map{bottom:0}
  .gat-tour,
  .gat-room{height:100%;min-height:0}
  .gat-room{
    grid-template-columns:minmax(105px,22vw) minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    gap:8px;
    padding:54px max(58px,calc(54px + env(safe-area-inset-right,0px))) max(58px,calc(54px + env(safe-area-inset-bottom,0px))) max(8px,env(safe-area-inset-left,0px));
    overflow:hidden;
  }
  .gat-room>header{
    min-height:0;
    overflow:hidden;
  }
  .gat-room>header h2{
    font-size:clamp(1.05rem,3.2vw,1.65rem);
    line-height:1;
  }
  .gat-wall{
    height:100%;
    min-height:0;
    align-items:stretch;
    padding:3px 9vw 3px 2vw;
    gap:10vw;
    overflow-y:hidden;
  }
  .gat-art,
  .guide-active .gat-art.is-guided{
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    align-self:stretch;
    width:auto;
    max-width:62vw;
    height:100%;
    max-height:100%;
    min-height:0;
  }
  .gat-art>span{
    display:grid;
    place-items:center;
    height:100%;
    min-height:0;
    padding:4px;
    border-width:4px;
    overflow:hidden;
  }
  .gat-art img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain;
  }
  .gat-art small{
    max-width:100%;
    margin-top:3px;
    padding:3px 6px;
    font-size:.66rem;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .gat-topbar{
    padding-left:max(8px,env(safe-area-inset-left,0px));
    padding-right:max(8px,env(safe-area-inset-right,0px));
  }
  .gat-door{
    right:max(4px,env(safe-area-inset-right,0px));
    bottom:max(54px,calc(44px + env(safe-area-inset-bottom,0px)));
    width:46px;
    height:66px;
  }
  .gat-controls,
  .gat-audio{
    bottom:max(4px,env(safe-area-inset-bottom,0px));
  }
  .gat-audio{left:max(6px,env(safe-area-inset-left,0px))}

  /* Viewer: quando Info è chiuso la foto usa tutta la larghezza; quando è
     aperto la didascalia occupa una colonna propria senza spingere la foto
     fuori dallo schermo. */
  .gat-viewer,
  .gat-catalog{
    width:calc(100vw - 8px)!important;
    max-width:calc(100vw - 8px)!important;
    height:calc(100svh - 8px)!important;
    max-height:calc(100svh - 8px)!important;
    overflow:hidden;
    border-radius:12px;
  }
  .gat-viewer figure{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr);
    width:100%;
    height:100%;
    min-height:0;
    padding:6px 54px;
    overflow:hidden;
    align-items:stretch;
  }
  .gat-viewer:not(.is-info-open) figcaption{display:none!important}
  .gat-viewer.is-info-open figure{
    grid-template-columns:minmax(0,1.55fr) minmax(180px,.65fr);
  }
  .gat-viewer img{
    width:100%;
    height:100%!important;
    min-height:0;
    max-height:100%!important;
    object-fit:contain;
    align-self:stretch;
  }
  .gat-viewer figcaption,
  .gat-viewer.is-info-open figcaption{
    position:static;
    display:block;
    width:auto;
    max-width:none;
    height:auto;
    max-height:100%;
    margin:0;
    padding:12px;
    overflow:auto;
    border-radius:12px;
  }
  .gat-viewer__info-toggle{
    top:6px;
    right:58px;
    height:38px!important;
  }
  .gat-viewer>[data-close]{top:6px;right:6px}
  .gat-viewer>[data-art-prev],
  .gat-viewer>[data-art-next]{
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
  }
  .gat-viewer>[data-art-prev]{left:6px}
  .gat-viewer>[data-art-next]{right:6px}
}


/* 2.2.7 — iPhone: geometria misurata, senza dipendere da vh/dvh/svh.
   Attiva soltanto Chrome iOS in portrait e tutti i browser iOS in landscape.
   I valori in pixel vengono forniti da gallery.js dopo aver misurato l'area
   realmente visibile e l'altezza dei controlli. */
.gat-gallery.gat-ios-measured{
  position:relative!important;
  height:var(--gat-live-height)!important;
  min-height:var(--gat-live-height)!important;
  max-height:var(--gat-live-height)!important;
  overflow:hidden!important;
}
.gat-gallery.gat-ios-measured .gat-topbar,
.gat-gallery.gat-ios-measured .gat-controls,
.gat-gallery.gat-ios-measured .gat-audio,
.gat-gallery.gat-ios-measured .gat-entrance,
.gat-gallery.gat-ios-measured .gat-map{
  position:absolute!important;
}
.gat-gallery.gat-ios-measured .gat-entrance{inset:0!important;max-height:100%!important}
.gat-gallery.gat-ios-measured .gat-tour,
.gat-gallery.gat-ios-measured .gat-room{height:100%!important;min-height:0!important}
.gat-gallery.gat-ios-measured .gat-room{
  padding-top:calc(var(--gat-live-top) + 8px)!important;
  padding-bottom:calc(var(--gat-live-bottom) + 8px)!important;
  overflow:hidden!important;
}
.gat-gallery.gat-ios-measured .gat-wall{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-y:hidden!important;
  align-items:center!important;
}
.gat-gallery.gat-ios-measured .gat-art,
.gat-gallery.gat-ios-measured .guide-active .gat-art.is-guided{
  height:auto!important;
  max-height:100%!important;
  min-height:0!important;
}
.gat-gallery.gat-ios-measured .gat-art>span{
  display:grid!important;
  place-items:center!important;
  height:auto!important;
  max-height:calc(100% - var(--gat-caption-space,38px))!important;
  min-height:0!important;
  overflow:hidden!important;
}
.gat-gallery.gat-ios-measured .gat-art img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:var(--gat-image-max-width,76vw)!important;
  max-height:var(--gat-image-max-height,360px)!important;
  object-fit:contain!important;
}
.gat-gallery.gat-ios-measured .gat-art small{
  max-height:var(--gat-caption-space,38px)!important;
  overflow:hidden!important;
}

/* Viewer misurato: nessuna altezza viewport CSS. */
.gat-gallery.gat-ios-measured .gat-viewer,
.gat-gallery.gat-ios-measured .gat-catalog{
  max-height:calc(var(--gat-live-height) - 8px)!important;
}
.gat-gallery.gat-ios-measured .gat-viewer.is-open,
.gat-gallery.gat-ios-measured .gat-catalog.is-open{
  top:4px!important;
}
.gat-gallery.gat-ios-measured .gat-viewer figure{
  max-height:calc(var(--gat-live-height) - 8px)!important;
}
.gat-gallery.gat-ios-measured .gat-viewer img{
  width:100%!important;
  height:auto!important;
  max-height:var(--gat-viewer-image-max-height,420px)!important;
  object-fit:contain!important;
}

@media (orientation:landscape) and (max-height:620px){
  .gat-gallery.gat-ios-measured .gat-room{
    grid-template-columns:minmax(96px,20vw) minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
    padding-left:max(8px,env(safe-area-inset-left,0px))!important;
    padding-right:max(54px,calc(48px + env(safe-area-inset-right,0px)))!important;
    gap:6px!important;
  }
  .gat-gallery.gat-ios-measured .gat-room>header{min-height:0!important;overflow:hidden!important}
  .gat-gallery.gat-ios-measured .gat-wall{padding:2px 8vw 2px 2vw!important;gap:9vw!important}
  .gat-gallery.gat-ios-measured .gat-art img{max-width:var(--gat-image-max-width,56vw)!important}
  .gat-gallery.gat-ios-measured .gat-art small{font-size:.64rem!important;margin-top:3px!important;padding:3px 5px!important;white-space:nowrap!important;text-overflow:ellipsis!important}
}
