/* hcpsy-addons 前台基礎樣式（設計階段再依配色細修） */

/* ── 理監事 ── */
.hcpsy-board__term { margin: 0 0 2.5rem; }
.hcpsy-board__title { margin: 0 0 1rem; }
.hcpsy-board__period { font-size: .8em; font-weight: 400; opacity: .7; }
.hcpsy-board__group { margin: 0 0 1rem; }
.hcpsy-board__group-title { margin: 0 0 .5rem; }
.hcpsy-board__list { list-style: none; margin: 0; padding: 0; }
.hcpsy-board__member { display: flex; flex-wrap: wrap; gap: .75rem; padding: .35rem 0; }
.hcpsy-board__role { font-weight: 600; min-width: 6em; }
.hcpsy-board__workplace { opacity: .7; }

/* ── 好站連結 ── */
.hcpsy-links__cat { margin: 0 0 1.5rem; }
.hcpsy-links__cat-title { margin: 0 0 .5rem; }
.hcpsy-links__list { margin: 0; padding-left: 1.2em; }
.hcpsy-links__item { padding: .25rem 0; }

/* ── 活動圖庫 ── */
.hcpsy-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .75rem; }
.hcpsy-gallery__item { display: block; overflow: hidden; border-radius: 8px; }
.hcpsy-gallery__item img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; cursor: zoom-in; transition: transform .3s ease; }
.hcpsy-gallery__item:hover img { transform: scale(1.05); }

/* ── lightbox ── */
.hcpsy-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 4vmin; background: rgba(0, 0, 0, .85); }
.hcpsy-lightbox.is-open { display: flex; }
.hcpsy-lightbox__img { max-width: 100%; max-height: 90vh; object-fit: contain; border-radius: 6px; }
.hcpsy-lightbox__close { position: absolute; top: 2vmin; right: 3vmin; padding: 0; background: none; border: 0; color: #fff; font-size: 2.5rem; line-height: 1; cursor: pointer; }
body.hcpsy-lightbox-open { overflow: hidden; }

/* ── 會員簡介 ── */
.hcpsy-members { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.hcpsy-member { padding: 1.25rem 1.5rem; border: 1px solid rgba(0, 0, 0, .08); border-radius: 12px; }
.hcpsy-member__name { margin: 0 0 .25rem; }
.hcpsy-member__org { margin: 0 0 .75rem; opacity: .7; }
.hcpsy-member__row { display: grid; grid-template-columns: 4em 1fr; gap: .5rem; padding: .3rem 0; font-size: .92em; }
.hcpsy-member__label { font-weight: 600; opacity: .65; }
