/* PNGCORE — Photo gallery (/photo-gallery/, page-photo-gallery.php; template-parts/media/album-card.php).
   The cover link of each album is stretched over its card (::after); preview thumbnails and caption links sit above it.
   Owner: media. */

.pc-album{position:relative;display:flex;flex-direction:column;min-width:0}
.pc-album .pc-album-grid{display:block;margin:0}
.pc-album .pc-album-grid figure{margin:0}
.pc-album .pc-album-link{position:static;display:block;overflow:hidden;color:inherit}
.pc-album .pc-album-link::after{content:"";position:absolute;inset:0;z-index:1;background:none;border-radius:inherit}
.pc-album .pc-album-link:focus-visible{outline:none}
.pc-album:has(.pc-album-link:focus-visible){outline:3px solid var(--pc-focus);outline-offset:3px}
.pc-album-img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--pc-surface-2);transition:transform var(--pc-dur-3) var(--pc-ease)}
.pc-album:hover .pc-album-img{transform:scale(1.03)}
.pc-album-body{display:flex;flex-direction:column;gap:var(--pc-s3);flex:1}
.pc-album-body > *{margin:0}
.pc-album-title{font-size:var(--pc-fs-h4);line-height:1.3;color:var(--pc-ink);text-wrap:pretty}
.pc-album:hover .pc-album-title{color:var(--pc-brand-800)}
.pc-album-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pc-s2) var(--pc-s3);font-size:var(--pc-fs-meta);color:var(--pc-muted)}
.pc-album-count{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.pc-album-count .pc-icon{width:16px;height:16px;color:var(--pc-brand-700)}
.pc-album-caption{font-size:var(--pc-fs-small);line-height:1.55;color:var(--pc-text)}
.pc-album-caption p{margin:0 0 var(--pc-s2)}
.pc-album-caption > :last-child{margin-bottom:0}
.pc-album-posts{list-style:none;margin:var(--pc-s3) 0 0;padding:var(--pc-s3) 0 0;border-top:1px solid var(--pc-line);display:grid;gap:0}
.pc-album-posts li{margin:0}
.pc-album-posts a{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:44px;font-size:var(--pc-fs-small);font-weight:600;line-height:1.35;color:var(--pc-brand-700);text-decoration:underline;text-decoration-color:var(--pc-brand-100);text-underline-offset:3px}
.pc-album-posts a:hover{color:var(--pc-brand-800);text-decoration-color:currentColor}
.pc-album-credit{font-size:var(--pc-fs-meta);color:var(--pc-muted)}
.pc-album-action{margin-top:auto;padding-top:var(--pc-s2);font-size:var(--pc-fs-small)}
.pc-album:hover .pc-album-action .pc-icon{transform:translateX(3px)}

/* Album cards */
.pc-albums{display:grid;gap:var(--pc-gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));list-style:none;margin:0;padding:0}
.pc-albums > li{display:flex;min-width:0}
.pc-albums .pc-album{flex:1;background:#fff;border-radius:var(--pc-r-lg);overflow:hidden;box-shadow:var(--pc-shadow-sm);transition:box-shadow var(--pc-dur-2) var(--pc-ease),transform var(--pc-dur-2) var(--pc-ease)}
.pc-albums .pc-album:hover{transform:translateY(-3px);box-shadow:var(--pc-shadow)}
.pc-albums .pc-album:has(.pc-album-link:focus-visible){outline-offset:2px}
.pc-albums .pc-album-body{padding:var(--pc-s5)}
@media (min-width:1200px){.pc-albums{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* A video album: poster with a play button, linking to the videos page */
.pc-album-media{overflow:hidden}
.pc-album--video .pc-album-link{display:grid}
.pc-album--video .pc-album-link > *{grid-area:1/1}
.pc-album--video .pc-play{position:static;z-index:auto;place-self:center;width:60px;height:60px;margin:0}
.pc-album--video .pc-play .pc-icon{width:26px;height:26px}
.pc-album--video:hover .pc-play{transform:scale(1.06)}

/* Latest album: cover and four thumbnails beside the text */
.pc-album--featured{display:grid;gap:var(--pc-s6);align-items:center}
.pc-album--featured .pc-album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--pc-s2)}
.pc-album--featured .pc-album-cover{grid-column:1/-1}
.pc-album--featured .pc-album-cover .pc-album-link{border-radius:var(--pc-r-lg)}
.pc-album--featured .pc-album-img{aspect-ratio:16/10;border-radius:var(--pc-r-lg)}
.pc-album--featured .pc-album-thumb{position:relative;z-index:2}
.pc-album--featured .pc-album-thumb a{border-radius:var(--pc-r)}
.pc-album--featured .pc-album-thumb img{aspect-ratio:4/3}
.pc-album-more{position:absolute;inset:0;z-index:1;display:grid;place-items:center;background:var(--pc-scrim);color:#fff;font-size:var(--pc-fs-h4);font-weight:800;letter-spacing:var(--pc-track-heading)}
.pc-album--featured .pc-album-body{gap:var(--pc-s4)}
.pc-album--featured .pc-album-title{font-size:var(--pc-fs-h2);line-height:1.15;text-wrap:balance}
.pc-album--featured .pc-album-caption{font-size:var(--pc-fs-body);line-height:var(--pc-lh-body)}
.pc-album--featured .pc-album-action{margin-top:var(--pc-s2);font-size:var(--pc-fs-body)}
.pc-album--featured .pc-eyebrow{margin-bottom:calc(var(--pc-s2) * -1)}
@media (min-width:960px){.pc-album--featured{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--pc-s8)}}

.pc-gallery-albums .pc-section-head{align-items:end}
.pc-gallery-total{display:inline-flex;align-items:center;gap:6px;margin:0 0 4px}
.pc-gallery-total .pc-icon{width:16px;height:16px}

/* QA round 1 BR1-26: one rhythm for every album card — 3:2 cover (the video album too), caption clamped to three
   lines, the album's posts behind a disclosure, credit and "View all" pinned to the bottom of the card */
.pc-albums .pc-album-media .pc-album-img,.pc-albums .pc-album-img{aspect-ratio:3/2;height:auto;object-fit:cover}
.pc-albums .pc-album-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.pc-albums .pc-album-caption p{margin:0;display:inline}
.pc-albums .pc-album-caption p + p::before{content:" "}
.pc-album-related{position:relative;z-index:2;border-top:1px solid var(--pc-line);padding-top:var(--pc-s1)}
.pc-album-related summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--pc-fs-small);font-weight:600;color:var(--pc-brand-700);cursor:pointer;list-style:none}
.pc-album-related summary::-webkit-details-marker{display:none}
.pc-album-related summary .pc-icon{width:16px;height:16px;transition:transform var(--pc-dur-2) var(--pc-ease)}
.pc-album-related[open] summary .pc-icon{transform:rotate(180deg)}
.pc-album-related summary:hover{color:var(--pc-brand-800);text-decoration:underline;text-underline-offset:3px}
.pc-album-related summary:focus-visible{outline:3px solid var(--pc-focus);outline-offset:2px;border-radius:var(--pc-r-sm)}
.pc-album-related .pc-album-posts{margin:0;padding:0 0 var(--pc-s2);border-top:0}
.pc-albums .pc-album-credit{margin-top:auto}
.pc-albums .pc-album-credit + .pc-album-action{margin-top:0;padding-top:0}
/* YouTube's hqdefault poster is 4:3 with black bars around the 16:9 picture: scale it so the 3:2 frame shows picture only */
.pc-albums .pc-album--video .pc-album-img{transform:scale(1.19)}
.pc-albums .pc-album--video:hover .pc-album-img{transform:scale(1.22)}
@media (prefers-reduced-motion:reduce){.pc-albums .pc-album--video:hover .pc-album-img{transform:scale(1.19)}}
.pc-albums .pc-album--video .pc-play{position:relative;z-index:1;inset:auto}

/* One gallery with accessible server-rendered Photos / Videos views. */
.pc-gallery-filter{padding:28px 0;border-bottom:1px solid var(--pc-line)}
.pc-gallery-filter-links{display:flex;gap:12px;flex-wrap:wrap}
.pc-gallery-filter .pc-chip{min-height:44px;padding:10px 24px;text-decoration:none}
.pc-gallery-filter .is-active{color:#fff;background:var(--pc-brand-700);border-color:var(--pc-brand-700)}
.pc-gallery-video-group{border-top:1px solid var(--pc-line);padding:14px 0}
.pc-gallery-video-group:last-child{border-bottom:1px solid var(--pc-line)}
.pc-gallery-video-group summary{font-size:var(--pc-fs-h4);font-weight:650;cursor:pointer;min-height:56px;align-content:center;padding:12px 0}
.pc-gallery-video-group .pc-video-grid{margin:24px 0 32px;list-style:none;padding:0}
.pc-gallery-video-group .pc-video-grid li{min-width:0}
