/* Photo gallery. Tokens from the theme, StyleKit + Practical UI component rules. */
.gc-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.gc-gallery__controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:16px}
.gc-gallery__field{display:grid;gap:6px}
.gc-gallery__field label{font-size:.9375rem;font-weight:700}
.gc-gallery .gc-gallery__field input,.gc-gallery .gc-gallery__field select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--wp--preset--color--border-dark);border-radius:8px;background:var(--wp--preset--color--tertiary);box-shadow:var(--gc-raised);color:var(--wp--preset--color--main);font:inherit;font-size:1rem}
.gc-gallery__sources{display:flex;flex-wrap:wrap;gap:8px}
.gc-gallery__count{margin:0;font-family:var(--wp--preset--font-family--red-hat-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--secondary)}
.gc-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:24px 16px;list-style:none;margin:0;padding:0}
.gc-gallery__item{list-style:none;margin:0;min-width:0}
.gc-gallery__item[hidden]{display:none}
.gc-gallery__open{display:block;width:100%;padding:0;border:1px solid var(--gc-hair);border-radius:12px;overflow:hidden;background:var(--wp--preset--color--tertiary);box-shadow:var(--gc-raised);cursor:zoom-in}
.gc-gallery__open img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--gc-ease)}
.gc-gallery__open:hover img{transform:scale(1.03)}
.gc-gallery__title{margin:8px 0 0;font-family:var(--wp--preset--font-family--primary);font-size:1.125rem;line-height:1.25}
.gc-gallery__meta{margin:2px 0 0;font-size:.875rem;color:var(--wp--preset--color--secondary)}
.gc-gallery__empty{padding:40px 20px;border:1px solid var(--gc-hair);border-radius:16px;background:var(--wp--preset--color--tertiary);text-align:center}
.gc-gallery__empty p{margin:0 0 6px}
.gc-gallery__empty-title{font-family:var(--wp--preset--font-family--primary);font-size:1.5rem}
.gc-gallery__clear,.gc-gallery__more{justify-self:center;min-height:48px;margin-top:10px;padding:12px 20px;border:1px solid var(--wp--preset--color--border-dark);border-radius:12px;background:transparent;box-shadow:var(--gc-raised);color:var(--wp--preset--color--main);font:inherit;font-weight:700;cursor:pointer;transition:background-color var(--gc-ease)}
.gc-gallery__clear:hover,.gc-gallery__more:hover{background:var(--gc-wash)}

.gc-lightbox{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);padding:0;overflow:visible;border:0;border-radius:16px;background:var(--wp--preset--color--tertiary);color:var(--wp--preset--color--main);box-shadow:var(--gc-overlay)}
.gc-lightbox::backdrop{background:rgba(28,51,38,.82)}
.gc-lightbox figure{margin:0}
.gc-lightbox img{display:block;width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:16px 16px 0 0;background:var(--wp--preset--color--main)}
.gc-lightbox figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:14px 18px}
.gc-lightbox__title{font-family:var(--wp--preset--font-family--primary);font-size:1.25rem}
.gc-lightbox__meta{font-size:.875rem;color:var(--wp--preset--color--secondary)}
.gc-lightbox__link{margin-left:auto;font-weight:700;color:var(--wp--preset--color--primary)}
.gc-lightbox__close,.gc-lightbox__nav{position:absolute;z-index:2;width:44px;height:44px;padding:0;border:1px solid var(--gc-hair);border-radius:8px;background:var(--wp--preset--color--tertiary);color:var(--wp--preset--color--main);cursor:pointer;box-shadow:var(--gc-raised)}
.gc-lightbox__close{top:12px;right:12px}
.gc-lightbox__nav{top:calc(50% - 40px)}
.gc-lightbox__nav--prev{left:12px}
.gc-lightbox__nav--next{right:12px}
.gc-lightbox__close::before,.gc-lightbox__nav::before{content:"";position:absolute;inset:12px;background:currentColor;-webkit-mask:var(--gc-i-chevron-right) center/contain no-repeat;mask:var(--gc-i-chevron-right) center/contain no-repeat}
.gc-lightbox__nav--prev::before{transform:rotate(180deg)}
.gc-lightbox__close::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E")}

@media (max-width:781px){.gc-gallery__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.gc-gallery__field--search{grid-column:1/-1}}
@media (max-width:600px){.gc-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.gc-gallery__title{font-size:1rem}}
@media (prefers-reduced-motion:reduce){.gc-gallery *{transition:none!important}}
