.detail-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.artwork-image-button, .detail-thumbnails button { padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.detail-thumbnails { display: flex; gap: .7rem; margin-top: 1rem; overflow-x: auto; }
.detail-thumbnails img { width: 76px; height: 76px; border-radius: 8px; object-fit: cover; }
.artwork-contact-dialog { width: min(92vw, 620px); max-height: 88vh; padding: 0; border: 1px solid var(--border-color); border-radius: 20px; background: #0d1f18; color: #f4fff6; }
.artwork-contact-dialog::backdrop, .artwork-lightbox::backdrop { background: rgb(0 0 0 / 82%); backdrop-filter: blur(4px); }
.artwork-contact-dialog form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 28px; }
.artwork-contact-dialog header, .artwork-contact-dialog footer, .artwork-contact-dialog label:has(textarea), .artwork-contact-dialog output { grid-column: 1 / -1; }
.artwork-contact-dialog header, .artwork-contact-dialog footer { display: flex; justify-content: space-between; align-items: center; }
.artwork-contact-dialog h2 { margin: 0; font: 500 32px 'Playfair Display', serif; }
.artwork-contact-dialog header button { border: 0; background: transparent; color: #fff; font-size: 28px; cursor: pointer; }
.artwork-contact-dialog label { display: grid; gap: 6px; }
.artwork-contact-dialog input, .artwork-contact-dialog textarea { width: 100%; padding: 11px; border: 1px solid var(--border-color); border-radius: 9px; background: #08150f; color: #fff; font: inherit; }
.artwork-contact-dialog [data-licensing-fields] { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.artwork-contact-dialog [data-licensing-fields][hidden] { display: none; }
.artwork-contact-dialog output { min-height: 1.4rem; color: var(--accent-primary); }
.artwork-lightbox { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; border:0; border-radius:0; padding:0; overflow:hidden; background:rgb(0 0 0 / 95%); color:#fff; }
.lightbox-stage { display:flex; width:100%; height:100%; align-items:center; justify-content:center; overflow:hidden; padding:64px 8px 96px; }
.lightbox-stage img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; user-select:none; transition:transform .2s ease-out; }
.artwork-lightbox button { display:flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid #ffffff33; border-radius:99px; background:#000b; color:#fff; cursor:pointer; }
.artwork-lightbox button:hover { background:#ffffff33; }.artwork-lightbox button:disabled { opacity:.5; cursor:default; }
.artwork-lightbox button:focus-visible { outline:2px solid white; outline-offset:3px; }.artwork-lightbox [hidden] { display:none; }
.lightbox-close { position:absolute; top:max(1rem,env(safe-area-inset-top)); right:max(1rem,env(safe-area-inset-right)); z-index:3; height:44px; padding:0 16px; gap:8px; font-size:14px; font-weight:600; }.lightbox-close span { font-size:24px; }
.lightbox-previous,.lightbox-next { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:44px; height:44px; font-size:30px; }.lightbox-previous { left:8px; }.lightbox-next { right:8px; }
.lightbox-tools { position:absolute; bottom:max(1rem,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); z-index:3; display:flex; align-items:center; gap:4px; max-width:calc(100vw - 2rem); padding:6px; border:1px solid #ffffff26; border-radius:99px; background:#000b; }
.lightbox-tools button { width:40px; height:40px; border:0; background:transparent; }.lightbox-tools svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.lightbox-divider { width:1px; height:24px; margin:0 4px; background:#ffffff4d; }.lightbox-reset-mark { width:20px; height:20px; border:1px solid white; border-radius:50%; font-size:12px; line-height:18px; }
.lightbox-counter { position:absolute; bottom:max(5.5rem,calc(env(safe-area-inset-bottom) + 4.5rem)); left:50%; transform:translateX(-50%); z-index:2; border-radius:99px; background:#000b; padding:4px 12px; font-size:14px; }
@media(min-width:640px) { .lightbox-stage { padding:80px 64px 96px; }.lightbox-previous { left:16px; }.lightbox-next { right:16px; } }
@media(prefers-reduced-motion:reduce) { .lightbox-stage img { transition:none; } }
.screen-reader-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media (max-width: 650px) { .artwork-contact-dialog form { grid-template-columns: 1fr; }.artwork-contact-dialog [data-licensing-fields] { grid-template-columns: 1fr; } }
