/* Hierarquia da capa: uma ação principal, navegação leve, utilidades distintas. */
#gallery-stage .gallery-top{align-items:center;gap:20px}
#gallery-stage #all{min-height:44px;padding:10px 0;border:0;border-radius:0;background:transparent;color:#302a36;font-size:13px;text-decoration:underline;text-underline-offset:5px}
#gallery-stage #all:not(:disabled):hover{background:transparent;color:#563393;outline:none}
#gallery-stage .gallery-utilities{gap:20px}
#gallery-stage #counter{font:10px/1.4 monospace;letter-spacing:.08em;background:transparent;color:#3e3547}
#gallery-stage #gallery-contact{min-height:44px;padding:10px 16px;border:1px solid #65516f;border-radius:28px;background:#ffffffeb;color:#352047;font-size:12px;font-weight:500}
#gallery-stage #gallery-contact:hover{background:#ece3f6;outline:none;border-color:#563393}
#gallery-stage .gallery-bottom{left:7%;right:7%;bottom:5vh;align-items:end}
#gallery-stage #category{font:10px/1.5 monospace;letter-spacing:.13em;margin:0 0 8px;color:#3e3547}
#gallery-stage #project-title{font-size:clamp(16px,1.8vw,25px);font-weight:500;line-height:1.3;max-width:620px;margin:0 0 18px;pointer-events:auto}
#gallery-stage #more{display:inline-flex;align-items:center;gap:24px;min-height:48px;padding:14px 22px;border:1px solid #563393;border-radius:6px;background:#563393;color:#fff;font-size:14px;font-weight:600;box-shadow:0 3px 15px #21142c16}
#gallery-stage #more:not(:disabled):hover{background:#40236f;color:#fff;border-color:#40236f;outline:none}
#gallery-stage #more .more-arrow{display:inline-block;margin:0;font-size:18px;color:inherit}
#gallery-stage .slide .slot{border:0;padding:0;background:transparent;font-size:9px;letter-spacing:.1em;max-width:70%;color:#3e3547}
#gallery-stage .gallery-actions{position:static}
#gallery-stage #prev,#gallery-stage #next{position:absolute;top:46%;width:48px;height:56px;display:grid;place-items:center;padding:0;border:0;border-radius:0;background:transparent;color:#302039;pointer-events:auto}
#gallery-stage #prev{left:-6vw}#gallery-stage #next{right:-6vw}
/* A barra inferior não deve ser a referência de posição das setas. */
#gallery-stage .gallery-bottom{position:static}
#gallery-stage .gallery-bottom>div:first-child{position:absolute;left:7%;bottom:5vh;max-width:76%}
#gallery-stage #prev{left:1.5vw}#gallery-stage #next{right:1.5vw}
#gallery-stage #prev span,#gallery-stage #next span{display:block;width:13px;height:13px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
#gallery-stage #prev span{transform:rotate(-135deg)}
#gallery-stage #prev:not(:disabled):hover,#gallery-stage #next:not(:disabled):hover{background:#ffffffa8;color:#563393;outline:none}
#gallery-stage :is(#all,#more,#prev,#next,#gallery-contact):focus-visible{outline:3px solid #7753ad;outline-offset:4px}
.gallery-scroll-cue{position:absolute;right:2.6vw;top:62%;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;font:10px/1 monospace;letter-spacing:.08em;color:#3e3547;pointer-events:none}
.gallery-scroll-cue svg{width:16px;height:52px;overflow:visible}
.gallery-scroll-cue path{fill:none;stroke:currentColor;stroke-width:1.2}
#gallery.reading .gallery-scroll-cue{display:none}
#cover-pointer-hint{position:fixed;left:0;top:0;z-index:60;pointer-events:none;padding:7px 10px;border-radius:20px;background:#ffffffed;color:#352047;font:11px/1.3 Arial,sans-serif;opacity:0;transition:opacity .15s;white-space:nowrap}
#cover-pointer-hint.visible{opacity:1}
.sound-dock #sound-toggle{min-height:44px;padding:8px 10px;gap:7px;font-size:11px;border-color:#d3cbd9;background:#ffffffed;box-shadow:none}
.sound-dock .sound-bars{height:12px;gap:2px}
body:not(.map-mode) .sound-dock{top:82px;right:22px}
@media(max-width:700px){
 #gallery-stage .gallery-top{left:5%;right:5%;gap:10px}
 #gallery-stage .gallery-utilities{gap:10px}
 #gallery-stage #gallery-contact{padding:10px 12px;font-size:11px}
 #gallery-stage #all{font-size:12px}
 #gallery-stage .gallery-bottom>div:first-child{left:7%;bottom:max(28px,env(safe-area-inset-bottom));max-width:80%}
 #gallery-stage #project-title{font-size:17px;max-width:290px}
 #gallery-stage #more{min-height:48px;padding:12px 18px;font-size:13px}
 .gallery-scroll-cue{right:3%;top:58%;font-size:9px}
 body:not(.map-mode) .sound-dock{top:76px;right:12px}
}
@media(max-height:520px){#gallery-stage .slide .slot{display:none}#gallery-stage .gallery-bottom>div:first-child{bottom:18px}#gallery-stage #project-title{margin-bottom:8px}.gallery-scroll-cue{display:none}}
@media(pointer:coarse){#cover-pointer-hint{display:none}}
@media(prefers-reduced-motion:reduce){#cover-pointer-hint{transition:none}}
