.gt-popup:not([open]) { display: none; }
.gt-popup { position: fixed; inset: 0; margin: auto; padding: 0; border: 0; border-radius: 16px; width: min(var(--gt-popup-width, 600px), calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); overflow: auto; background: #fff; color: #172033; box-shadow: 0 24px 80px #0005; }
.gt-popup::backdrop { background: rgb(10 20 35 / 65%); }
.gt-popup-media { width: 100%; aspect-ratio: var(--gt-popup-ratio, auto); }
.gt-popup-media a { display: block; width: 100%; height: 100%; }
.gt-popup .gt-popup-image { display: block; width: 100%; height: 100%; max-height: calc(100dvh - 120px); object-fit: contain; }
.gt-popup button { cursor: pointer; font: inherit; }
.gt-popup .gt-popup-x { position: sticky; top: 10px; float: right; margin: 10px 10px -50px 0; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #ddd; border-radius: 50%; background: #fff; color: #172033; font-size: 28px; line-height: 1; box-shadow: 0 2px 8px #0002; }
.gt-popup-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 16px; background: #fff; }
.gt-popup-actions button { min-height: 44px; padding: 8px 12px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; font-size: 14px; }
.gt-popup-actions [data-popup-hide] { text-decoration: underline; border-color: transparent; padding-left: 0; }
.gt-popup button:focus-visible, .gt-popup a:focus-visible { outline: 3px solid #2563eb; outline-offset: -3px; }
