/* FDS extension: a responsive published-insert gallery. */
.tsa-gallery-toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,220px); gap:12px; margin-block:24px 12px; }
.tsa-insert-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-block:16px 28px; }
.tsa-gallery-card { min-width:0; display:flex; flex-direction:column; padding:0; overflow:hidden; text-align:start; color:var(--fds-text,#1f2933); background:var(--fds-white,#fff); border:1px solid var(--fds-border,#e5e7eb); border-radius:12px; cursor:pointer; font:inherit; transition:border-color .15s,box-shadow .15s; }
.tsa-gallery-card:hover { border-color:var(--fds-blue-600,#2563eb); box-shadow:0 4px 16px #0000000a; }
.tsa-gallery-card:focus-visible { outline:3px solid var(--fds-blue-600,#2563eb); outline-offset:3px; }
.tsa-gallery-art { display:grid; place-items:center; position:relative; width:100%; aspect-ratio:4/3; padding:24px; box-sizing:border-box; background:var(--fds-gray-50,#f6f7f8); }
.tsa-gallery-art svg { display:block; width:100%; height:100%; max-height:170px; }
.tsa-gallery-art .ts-insert-picture { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:16px; box-sizing:border-box; }
.tsa-gallery-copy { padding:16px; }
.tsa-gallery-code { font-size:12px; letter-spacing:.08em; color:var(--fds-text-secondary,#6b7280); }
.tsa-gallery-copy h2 { font-size:15px; line-height:1.5; margin:6px 0; overflow-wrap:anywhere; }
.tsa-gallery-copy p { font-size:12px; margin:0; }
.tsa-gallery-empty { grid-column:1/-1; padding:40px 0; text-align:center; }
@media(max-width:1000px) { .tsa-insert-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) { .tsa-insert-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .tsa-gallery-toolbar { grid-template-columns:minmax(0,1fr); } .tsa-gallery-art { padding:14px; } .tsa-gallery-copy { padding:12px; } }
@media(prefers-reduced-motion:reduce) { .tsa-gallery-card { transition:none; } }
