/* Scoped resource buttons and their single, inline viewer. */
.galera-media { margin-block:0 3.5rem; color:var(--ink,#252525); }
.galera-media-heading { margin:0 0 1.25rem; color:var(--dark-blue,#243d51); font-size:clamp(1.5rem,3vw,2rem); line-height:1.25; }
.galera-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.galera-media-button { --media-color:#3668a0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; min-height:126px; padding:20px 10px; border:1px solid #dedede; border-radius:16px; color:var(--ink,#343434); background:#fff; font:inherit; font-size:15px; line-height:1.4; text-align:center; cursor:pointer; overflow-wrap:anywhere; }
.galera-media-button--audio { --media-color:#a53726; }
.galera-media-button--panorama { --media-color:#247268; }
.galera-media-button--video { --media-color:#3668a0; }
.galera-media-button--video360 { --media-color:#79529b; }
.galera-media-button--model3d { --media-color:#ab641d; }
.galera-media-button--ar { --media-color:#a73c73; }
.galera-media-button--link { --media-color:#537339; }
.galera-media-button:hover { border-color:var(--media-color); background:color-mix(in srgb, var(--media-color) 5%, white); }
.galera-media-button[aria-expanded="true"] { border-color:var(--media-color); background:color-mix(in srgb, var(--media-color) 7%, white); outline:2px solid var(--media-color); outline-offset:2px; }
.galera-media-icon { flex:none; width:34px; height:34px; fill:var(--media-color); }
.galera-media button:focus-visible, .galera-media a:focus-visible, .galera-media summary:focus-visible, .galera-media canvas:focus-visible, .galera-media video:focus-visible, .galera-media audio:focus-visible { outline:3px solid #154e83; outline-offset:4px; box-shadow:0 0 0 2px #fff; }
.galera-media-title:focus { outline:0; }
.galera-media-panel { margin-top:1.5rem; padding:clamp(1rem,3vw,1.75rem); border:1px solid #d5dce0; border-radius:16px; background:#fff; box-shadow:0 4px 20px rgb(0 0 0 / 7%); overflow-wrap:anywhere; }
.galera-media-panel[hidden], .galera-media [hidden] { display:none !important; }
.galera-media-panel-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1rem; margin-bottom:1.2rem; }
.galera-media-title { flex:1 1 180px; margin:0; color:var(--dark-blue,#243d51); font-size:1.35rem; line-height:1.35; }
.galera-media-panel-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.galera-media-fullscreen, .galera-media-close, .galera-media .galera-immersive__button, .galera-media .galera-model__actions button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; padding:.55rem .85rem; border:1px solid #7c8992; border-radius:8px; color:#243d51; background:#fff; font:inherit; font-weight:600; line-height:1.25; cursor:pointer; }
.galera-media-close > [aria-hidden] { font-size:1.7rem; font-weight:400; line-height:.7; }
.galera-media-fullscreen:hover, .galera-media-close:hover, .galera-media .galera-immersive__button:hover, .galera-media .galera-model__actions button:hover { background:#edf2f5; }
.galera-media-status, .galera-media-notice { padding:.85rem 1rem; margin:0 0 1rem; border-radius:8px; background:#edf2f5; color:#243d51; line-height:1.6; }
.galera-media-status.is-error { background:#fff0ed; color:#8a2618; }
.galera-media-host { min-width:0; }
.galera-media-native { display:block; width:100%; }
.galera-media-native--video { max-height:70svh; min-height:180px; background:#111; border-radius:10px; }
.galera-media-native--audio { margin-block:1rem; }
.galera-media-external-notice { margin:0 0 .6rem; color:#475866; font-size:.95rem; line-height:1.6; }
.galera-media-external-link { display:inline-flex; align-items:center; min-height:44px; color:#154e83; font-weight:700; text-decoration:underline; }
.galera-media-iframe { display:block; width:100%; height:clamp(320px,60vh,680px); margin-top:1rem; border:1px solid #d5dce0; border-radius:8px; background:#f4f6f7; }
.galera-media-text { margin-top:1rem; border:1px solid #d5dce0; border-radius:8px; }
.galera-media-text summary { padding:.9rem 1rem; color:#243d51; font-weight:700; cursor:pointer; }
.galera-media-text-content { padding:0 1rem 1rem; white-space:pre-wrap; line-height:1.75; }
.galera-media-panel:fullscreen, .galera-media-panel.is-fullscreen-fallback { width:100%; height:100%; box-sizing:border-box; margin:0; border:0; border-radius:0; padding:clamp(.8rem,2vw,1.5rem); background:#fff; overflow:auto; overscroll-behavior:contain; }
.galera-media-panel.is-fullscreen-fallback { position:fixed; inset:0; z-index:10000; height:100dvh; }
.galera-media-panel:fullscreen .galera-media-panel-header, .galera-media-panel.is-fullscreen-fallback .galera-media-panel-header { position:sticky; top:-1px; z-index:2; padding-block:.4rem .75rem; background:#fff; }
.galera-media-panel:fullscreen .galera-media-native--video, .galera-media-panel.is-fullscreen-fallback .galera-media-native--video { height:calc(100dvh - 150px); max-height:none; }
.galera-media .galera-immersive { width:100%; }
.galera-media .galera-immersive__stage { position:relative; width:100%; height:clamp(260px,54vw,560px); min-height:240px; overflow:hidden; border-radius:10px; background:#111; }
.galera-media .galera-immersive__canvas { display:block; width:100%; height:100%; touch-action:none; }
.galera-media .galera-immersive__toolbar, .galera-media .galera-model__actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-top:.8rem; }
.galera-media .galera-immersive__help, .galera-media .galera-immersive__video-help, .galera-media .galera-model__help { margin:.8rem 0; color:#475866; font-size:.95rem; line-height:1.6; }
.galera-media .galera-immersive__video { display:block; width:100%; height:84px; object-fit:contain; background:#111; margin-top:.7rem; border-radius:8px; }
.galera-media .galera-immersive__caption { position:absolute; inset-inline:5%; bottom:1rem; padding:.5rem .75rem; color:#fff; background:rgb(0 0 0 / 85%); text-align:center; white-space:pre-line; line-height:1.5; pointer-events:none; }
.galera-media .galera-immersive__caption-error, .galera-media .galera-immersive__status, .galera-media .galera-model__status { margin:.8rem 0; line-height:1.6; }
.galera-media .galera-immersive__caption-error { color:#8a2618; }
.galera-media .galera-model { width:100%; }
.galera-media .galera-model__viewport { display:block; width:100%; min-height:320px; height:clamp(320px,60vh,640px); border-radius:10px; background:#eef2f4; }
.galera-media-panel:fullscreen .galera-immersive__stage, .galera-media-panel.is-fullscreen-fallback .galera-immersive__stage { height:calc(100dvh - 270px) !important; }
.galera-media-panel:fullscreen .galera-model__viewport, .galera-media-panel.is-fullscreen-fallback .galera-model__viewport { height:calc(100dvh - 210px) !important; }
@media (max-width:600px) {
  .galera-media { margin-bottom:2rem; }
  .galera-media-grid { gap:.75rem; }
  .galera-media-button { flex-direction:column; gap:.65rem; min-height:126px; padding:20px 10px; font-size:15px; border-radius:16px; }
  .galera-media-icon { width:34px; height:34px; }
  .galera-media-panel-header { align-items:flex-start; }
  .galera-media-panel-actions { width:100%; justify-content:flex-end; }
  .galera-media-title { flex-basis:100%; }
  .galera-media-iframe { height:60svh; }
}
@media (prefers-reduced-motion:reduce) {
  .galera-media *, .galera-media *::before, .galera-media *::after { scroll-behavior:auto !important; }
}
