/* Extend the supplied gpc_ system; no framework or sitewide overrides. */
.gpc_photos .gpc_photos-layout { grid-template-areas: "results sidebar"; }
.gpc_photos .gpc_photos-results { min-width: 0; }
.gpc_photos .gpc_photos-layout > .gpc_photos-results { grid-area: results; }
.gpc_photos .gpc_photos-sidebar { position: static; min-width: 0; }
.gpc_photos .gpc_photos-layout > .gpc_photos-sidebar { grid-area: sidebar; }
.gpc_photos summary { cursor: pointer; }
.gpc_photos .gpc_photos-years { max-height: 27rem; overflow-y: auto; scrollbar-gutter: stable; }
.gpc_photos .gpc_photos-years a { display: flex; justify-content: space-between; gap: .75rem; min-height: 2rem; }
.gpc_photos a[aria-current="true"] { font-weight: 800; text-decoration: underline; text-underline-offset: .25em; }
.gpc_photos .gpc_photos-excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.gpc_photos .gpc_photos-lines { white-space: pre-line; overflow-wrap: anywhere; }
.gpc_photos .gpc_photos-ad { max-width: 100%; overflow-x: auto; }
.gpc_photos .gpc_card-media img, .gpc_photos .gpc_gallery-button img { object-position: center 25%; }
.gpc_photos .gpc_story-card:focus-within { outline: .2rem solid var(--gpc-focus); outline-offset: .2rem; }
.gpc_photos .gpc_gallery-button:focus-visible { outline-offset: .15rem; }
.gpc_photos .btn, .gpc_photos .page-link { min-height: 44px; }
.gpc_photos .gpc_photos-viewer { padding: 0; border: 1px solid var(--gpc-line); border-radius: var(--gpc-radius); width: min(70rem,96vw); max-height: 94dvh; overflow-y: auto; background: var(--gpc-surface); color: var(--gpc-ink); }
.gpc_photos .gpc_photos-viewer::backdrop { background: rgba(0,0,0,.85); }
.gpc_photos .gpc_photos-viewer .gpc_gallery-modal-image { height: min(62vh,48rem); max-height: none; }
.gpc_photos-viewer[open] { display: block; }
@media (max-width: 991.98px) {
 .gpc_photos .gpc_photos-layout { grid-template-areas: "sidebar" "results"; }
 .gpc_photos .gpc_photos-layout > .gpc_photos-sidebar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
 .gpc_photos .gpc_photos-layout .gpc_photos-ad, .gpc_photos .gpc_photos-layout .gpc_ad { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
 .gpc_photos .gpc_photos-layout > .gpc_photos-sidebar { display: block; }
 .gpc_photos .gpc_photos-years { max-height: 14rem; }
 .gpc_photos .gpc_gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .gpc_photos .gpc_photos-viewer .gpc_gallery-modal-image { height: 45vh; }
}
@media (prefers-reduced-motion: reduce) {
 .gpc_photos .gpc_gallery-button img, .gpc_photos .gpc_card-media img { transition: none; transform: none !important; }
}
@media print {
 .gpc_photos .gpc_photos-sidebar, .gpc_photos .gpc_pagination, .gpc_photos .gpc_photos-viewer { display:none; }
 .gpc_photos .gpc_content-grid { display:block; }
}

/* Equal text boxes for anchor and button controls, including outline borders. */
.gpc_photos .btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 44px; padding: .55rem .85rem; border-width: 2px; border-style: solid; line-height: 1.25; font-size: 1rem; font-weight: 700; vertical-align: middle; text-align: center; }
.gpc_photos a.gpc_btn-outline { color: var(--gpc-ink); }
.gpc_photos a.gpc_btn-outline:hover, .gpc_photos a.gpc_btn-outline:focus { color: #fff; }

/* Events/Models toggle: matches the News/Interviews toggle. */

.gpc_photos .gpc_photos-content-toggle {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .375rem;
  max-width: 100%;
  background: var(--gpc-magenta-soft);
  border: 1px solid var(--gpc-line);
  border-radius: .625rem;
}
.gpc_photos .gpc_photos-content-toggle a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  padding: .75rem 1.25rem;
  border: 2px solid transparent;
  border-radius: .375rem;
  color: var(--gpc-ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}
.gpc_photos .gpc_photos-content-toggle a:hover {
  color: var(--gpc-magenta-dark);
  background: #fff;
  text-decoration: underline;
}
.gpc_photos .gpc_photos-content-toggle a[aria-current="true"] {
  color: #fff;
  background: var(--gpc-magenta-dark);
  border-color: var(--gpc-magenta-dark);
  text-decoration: underline;
  text-underline-offset: .2em;
}
.gpc_photos .gpc_photos-content-toggle a:focus-visible {
  outline: .2rem solid var(--gpc-focus);
  outline-offset: .125rem;
}
@media (max-width: 575.98px) {
  .gpc_photos .gpc_photos-content-toggle { display: flex; }
  .gpc_photos .gpc_photos-content-toggle a { flex: 1 1 12rem; }
}
