/* Stable page geometry and a single bottom control row. */
#chatbot-dock[data-mode=compact] #chatbot-panel .chatbot-body,
#chatbot-dock[data-mode=compact] #chatbot-panel .chatbot-header,
#chatbot-dock[data-mode=compact] #chatbot-panel .chatbot-footer{display:none!important}
#chatbot-dock[data-mode=compact] #chatbot-panel{height:auto!important;min-height:0!important}
#chat-launcher[hidden],body.on-assistant-section #chat-launcher{display:none!important}
#chatbot-media img,.chatbot-lightbox>img{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#chatbot-section-slot{overflow:hidden;contain:layout}
#chatbot-panel .chatbot-body{min-height:0;flex:1;overflow:hidden}
#chatbot-panel #chatbot-media img{flex:none!important}
#chatbot-panel #chatbot-media figcaption,#chatbot-panel [data-cb=hide-media]{color:inherit!important}
@media(max-width:900px){
 :root,:is(#citta,#arredi,#palazzo-butera){--panel-bottom:60px!important;--panel-top:calc(var(--compact-header-height,84px) + 24px)!important;--mobile-panel-height:calc(100dvh - var(--panel-top) - var(--panel-bottom))}
 .urban-pin{--board-height:var(--mobile-panel-height)!important;gap:8px!important;padding-bottom:var(--panel-bottom)!important}
 .board-window,.butera-window{height:var(--mobile-panel-height)!important;flex:0 0 var(--mobile-panel-height)!important}
 .board-track,.butera-track{height:100%!important}
 .project-intro,.project-outro,.project-board,.butera-panel{height:100%!important;max-height:none!important}
 .board-meter{flex:none;height:2px!important;margin-top:0!important}
 .gallery-window,.exterior-window,#casa:not(.is-minimized) .byat-window{height:var(--mobile-panel-height)!important;max-height:none!important;flex-shrink:0!important}
 .gallery-track,.exterior-track,#casa:not(.is-minimized) .byat-track{height:100%!important}
 .furniture-lead,.furniture-card,.exterior-panel,#casa:not(.is-minimized) .interior-panel{height:100%!important;max-height:none!important}
 .furniture-pin,.byat-pin{padding-bottom:var(--panel-bottom)!important}
 .byat-copy,.butera-panel,.project-intro,.project-outro{overscroll-behavior-y:contain!important}
 .exterior-panel .photo-stage .photo-slide:nth-of-type(2){object-fit:cover!important;object-position:center}
 #hold-animation:not([hidden]){bottom:calc(var(--hud-inset,0px) + 12px)!important;min-height:44px!important;height:44px!important;width:136px;max-width:calc(100vw - 176px);padding:4px 7px!important;gap:5px!important;font-size:10px!important;line-height:1.1;white-space:normal!important;justify-content:center;box-sizing:border-box}
 #hold-animation svg{width:24px!important;height:24px!important}
 html.hud-hold-visible #page-scroll-indicator{display:none!important}
 #chatbot-section{height:var(--scene-height,100svh)!important;min-height:var(--scene-height,100svh)!important;padding:0!important;overflow:visible!important}
 #chatbot-section-slot{position:sticky!important;top:0!important;height:min(100dvh,var(--scene-height,100svh))!important;min-height:0!important;padding:var(--panel-top) var(--page-margin) var(--panel-bottom)!important;box-sizing:border-box}
 #chatbot-section #chatbot-panel{height:100%!important;min-height:0!important;margin:0!important;width:100%}
 #chatbot-dock[data-mode=popup]{left:12px!important;right:12px!important;bottom:calc(var(--hud-inset,0px) + 64px)!important;transform:none!important;width:auto!important}
 #chatbot-dock[data-mode=popup] #chatbot-panel{display:flex;flex-direction:column;height:calc(100dvh - 176px);max-height:calc(100dvh - 176px)!important}
 html.chat-writing #chatbot-panel{height:var(--chat-visible-height,100dvh)!important;max-height:none!important}
}
@media(hover:hover) and (pointer:fine){
 .furniture-card>img{transition:transform .35s ease,filter .35s ease!important;transform:scale(1)!important}
 .furniture-card:is(:hover,:focus-visible)>img{transform:scale(1.035)!important;filter:brightness(1.035)}
}
@media(prefers-reduced-motion:reduce){.furniture-card>img{transition:none!important}.furniture-card:is(:hover,:focus-visible)>img{transform:none!important}}
/* Image collections are permanent conversation messages, each with its own index. */
#chatbot-panel .chatbot-media-message{display:flex;flex-direction:column;gap:8px;width:100%;max-width:100%;margin:0 0 16px;padding:14px;border:var(--brand-border-width) solid var(--brand-border);border-radius:calc(var(--brand-radius) * 0.6666666666666666);background:var(--brand-surface-dark);color:var(--brand-white);box-sizing:border-box;overflow:hidden;flex:none}
#chatbot-panel .chatbot-media-message>small{text-transform:uppercase;letter-spacing:.08em;font-size:10px;opacity:.7}
#chatbot-panel .chatbot-media-message>figcaption{font-size:16px;line-height:1.3;color:inherit}
#chatbot-panel .chatbot-media-message>img{display:block;flex:none;align-self:center;width:auto;height:auto;max-width:100%;max-height:min(48dvh,440px);object-fit:contain;border-radius:10px;cursor:zoom-in;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#chatbot-panel .chatbot-media-message>nav{display:flex;align-items:center;gap:6px;width:100%;min-width:0}
#chatbot-panel .chatbot-media-message [data-image-step]{flex:none;width:36px;height:36px;padding:4px;display:grid;place-items:center}
#chatbot-panel .chatbot-media-message .photo-dots{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;justify-content:safe center!important;overscroll-behavior:contain}
#chatbot-panel .chatbot-media-message .chatbot-media-page{align-self:flex-start;font-size:13px;padding:7px 12px;background:var(--brand-primary);color:var(--brand-plum);border:0}
