/* GreenPNS gallery card/detail layout, adapted to Clean King's existing tokens.
   Loaded only on gallery.html and gallery-detail.html. */
.gallery-ui-import .gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-6) var(--space-5); }
.gallery-ui-import .gallery-card { overflow:hidden; border:1px solid var(--color-line-soft); border-radius:var(--radius-card); background:var(--color-white); box-shadow:none; }
.gallery-ui-import .gallery-card__link { display:flex; flex-direction:column; height:100%; }
.gallery-ui-import .gallery-card__image-wrap { display:block; aspect-ratio:4/3; overflow:hidden; background:var(--color-surface); }
.gallery-ui-import .gallery-card__image { display:block; width:100%; height:100%; object-fit:cover; transition:transform 240ms ease; }
.gallery-ui-import .gallery-card__content { flex:1; padding:var(--space-5); }
.gallery-ui-import .gallery-card__title { margin:0; font-size:var(--type-card-title); font-weight:700; line-height:1.45; }
.gallery-ui-import .gallery-card__date { display:block; margin-top:var(--space-3); font-size:var(--type-small); line-height:1.5; }
.gallery-ui-import .pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:var(--space-1); margin-top:var(--space-10); }
.gallery-ui-import .pagination__button { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:42px; padding:0 var(--space-2); border:0; border-radius:var(--radius-pill); background:transparent; color:var(--color-ink); font-size:var(--type-body); font-weight:600; }
.gallery-ui-import .pagination__button:hover { background:var(--color-surface); color:var(--color-primary); }
.gallery-ui-import .pagination__button.is-active { background:var(--color-primary); color:var(--color-white); }

.gallery-ui-import .gallery-detail .board-detail { width:100%; }
.gallery-ui-import .gallery-detail .board-detail__header { width:100%; margin:0 auto; padding:0 0 var(--space-8); border-bottom:1px solid var(--color-line-soft); text-align:left; }
.gallery-ui-import .gallery-detail .board-detail__title { margin:0; color:var(--color-ink); font-size:var(--type-section-title); font-weight:700; line-height:var(--line-heading); letter-spacing:-.04em; word-break:keep-all; }
.gallery-ui-import .gallery-detail .section-header__eyebrow { display:block; margin-bottom:var(--space-3); color:var(--color-primary); font-size:var(--type-caption); font-weight:700; }
.gallery-ui-import .gallery-detail .board-detail__date { display:block; margin-top:var(--space-4); color:var(--color-muted); font-size:var(--type-caption); }
.gallery-ui-import .gallery-detail .board-detail__hero { width:100%; margin:var(--space-8) 0 0; overflow:hidden; border:1px solid var(--color-line); border-radius:var(--radius-card); background:var(--color-surface); }
.gallery-ui-import .gallery-detail .board-detail__hero img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.gallery-ui-import .gallery-detail .board-detail__content { max-width:860px; margin-inline:auto; padding:var(--space-10) 0; font-size:var(--type-body); line-height:var(--line-body); overflow-wrap:anywhere; word-break:keep-all; }
.gallery-ui-import .gallery-detail .board-detail__content > * { max-width:100%; }
.gallery-ui-import .gallery-detail .board-detail__content p { margin:0 0 var(--space-5); }
.gallery-ui-import .gallery-detail .board-detail__content figure { margin:var(--space-6) 0; }
.gallery-ui-import .gallery-detail .board-detail__content img { display:block; width:auto; max-width:100%; height:auto; margin-inline:auto; }
.gallery-ui-import .gallery-detail .board-detail__content blockquote { margin:var(--space-8) 0 var(--space-5); padding:var(--space-4) var(--space-5); border-left:3px solid var(--color-primary); background:var(--color-surface); font-weight:700; }
.gallery-ui-import .gallery-detail .board-detail__content blockquote p { margin:0; }
.gallery-ui-import .gallery-detail .board-detail__content pre { white-space:pre-wrap; }
.gallery-ui-import .gallery-detail .board-detail__source { padding:var(--space-5) 0; text-align:center; }
.gallery-ui-import .gallery-detail .board-detail__source a { color:var(--color-primary); font-weight:700; text-decoration:underline; }
.gallery-ui-import [data-board-detail-nav] { display:flex; justify-content:center; margin-top:var(--space-6); }
.gallery-ui-import [data-board-detail-nav] .button { padding:var(--space-3) var(--space-6); border:1px solid var(--color-primary); border-radius:12px; background:var(--color-primary); color:var(--color-white); font:700 var(--type-body)/var(--line-heading) var(--font-sans); }
.gallery-ui-import [data-board-detail-nav] .button:is(:hover,:focus-visible) { background:var(--color-white); color:var(--color-primary); }
@media(max-width:1024px) { .gallery-ui-import .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .gallery-ui-import .gallery-grid { grid-template-columns:1fr; gap:var(--space-4); }
 .gallery-ui-import .gallery-card__content { padding:var(--space-5); }
 .gallery-ui-import .gallery-detail .board-detail__title { font-size:var(--type-card-title); }
 .gallery-ui-import .gallery-detail .board-detail__header { padding-bottom:var(--space-5); }
 .gallery-ui-import .gallery-detail .board-detail__content { padding:var(--space-8) 0; }
}
@media(max-width:480px) { .gallery-ui-import .pagination__button { min-width:38px; min-height:38px; } }
