/* Gallery pages: /photos/ (/fotos/), album pages and photo pages. Shared album cards,
   photo tiles and the viewer live in viewer.css, which every photo surface loads. */

/* Heads */
.photos-masthead,.album-head { padding:var(--s-2) 0 var(--s-6); }
.photos-page h1 { margin:var(--s-3) 0 var(--s-4); max-width:18ch; }
.photos-album h1,.photo-detail-page h1 { font-size:var(--t-title); line-height:var(--lh-title); }
.photos-masthead .g-lede,.album-head .g-lede { max-width:56ch; margin-bottom:var(--s-3); }
.photos-stats { color:var(--ink-3); font:var(--t-dense)/var(--lh-dense) var(--sans); margin:0 0 var(--s-3); }
.photo-links { display:flex; flex-wrap:wrap; gap:0 var(--s-5); margin:0; font:600 var(--t-dense)/var(--lh-dense) var(--sans); }
.photo-links a { display:inline-flex; align-items:center; min-height:var(--hit); color:var(--celeste); }

/* Index: one band per place, each led by a large album */
.photo-group { padding:var(--s-6) 0 var(--s-5); border-top:2px solid var(--rule-strong); }
.photo-group+.photo-group { margin-top:var(--s-6); }
.photo-group-head { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:var(--s-1) var(--col-gap); align-items:baseline; margin-bottom:var(--s-5); }
.photo-group-head h2 { grid-row:span 2; margin:0; font:800 var(--t-title)/var(--lh-title) var(--display); }
.photo-group-head p { margin:0; }
.photo-group-head .photo-links { grid-column:2; }

/* Search the whole collection: closed until asked for */
.photo-browse { margin:var(--s-7) 0 0; border-top:2px solid var(--rule-strong); }
.photo-browse>summary { display:flex; align-items:center; gap:var(--s-3); min-height:calc(var(--hit) + var(--s-4)); cursor:pointer; list-style:none; font:700 var(--t-sub)/var(--lh-head) var(--sans); color:var(--ink); }
.photo-browse>summary::-webkit-details-marker { display:none; }
.photo-browse>summary::before { content:'+'; display:grid; place-items:center; width:28px; height:28px; border:2px solid var(--ink); font:700 var(--t-sub)/1 var(--sans); }
.photo-browse[open]>summary::before { content:'−'; }
.photo-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto; align-items:end; gap:var(--s-4); margin:var(--s-3) 0 var(--s-4); font:var(--t-dense)/var(--lh-dense) var(--sans); }
.photo-filters label { display:grid; gap:var(--s-2); min-width:0; }
.photo-filters :is(input,select) { width:100%; }

/* Album page */
.photo-more { margin-top:var(--s-8); padding-top:var(--s-5); border-top:2px solid var(--rule-strong); }
.photo-more h2 { margin:0 0 var(--s-2); font:800 var(--t-head)/var(--lh-head) var(--display); }

/* Photo page */
.photo-detail-title { margin-bottom:var(--s-2); }
.photo-detail-figure { margin:0; }
.photo-detail-figure .photo-stage { width:min(100%,calc(78svh * var(--photo-ratio))); margin:var(--s-4) 0 0; }
.photo-detail-info { display:grid; gap:var(--s-2); margin:var(--s-4) 0 var(--s-5); font:var(--t-dense)/var(--lh-dense) var(--sans); }
.photo-detail-info p { margin:0; }
.photo-detail-info span { display:inline-block; min-width:5em; color:var(--ink-3); font-weight:600; }
.photo-detail-caption { font:var(--t-body)/var(--lh-body) var(--sans) !important; }
.photo-detail-credit { color:var(--ink-3); }
.photo-detail-info a,.photo-detail-places a { display:inline-flex; align-items:center; min-height:32px; }
.photo-paging { display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--s-3); margin:var(--s-5) 0; }

/* Home and legacy surfaces */
.photo-home-feature { display:grid; grid-template-columns:7fr 4fr; align-items:center; gap:var(--s-7); margin:var(--s-7) 0; }
.photo-home-feature img { width:100%; height:auto; max-height:480px; object-fit:cover; display:block; }
.photo-home-feature>a { text-decoration:none; }
.photo-home-credit { display:block; padding-top:var(--s-2); color:var(--ink-3); font:var(--t-micro)/var(--lh-dense) var(--sans); }
.g-discovery .photo-discovery-cover a,.g-discovery .photo-discovery-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.g-discovery .photo-discovery-cover figcaption { display:block; position:absolute; bottom:0; right:0; padding:var(--s-2) var(--s-3); font:var(--t-micro)/var(--lh-dense) var(--sans); }

/* Cajas visitor guide: the albums before the logistics, and a strip per named lake */
.photo-band { margin:var(--s-6) 0 var(--s-7); }
.photo-band-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:var(--s-2) var(--s-5); }
.photo-band-head h2 { margin:0; font:800 var(--t-head)/var(--lh-head) var(--display); }
.photo-band-head a { display:inline-flex; align-items:center; min-height:var(--hit); font:600 var(--t-dense)/var(--lh-dense) var(--sans); }
.photo-band .photo-albums { grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--s-3); margin-top:var(--s-3); }
.photo-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s-2); list-style:none; margin:var(--s-3) 0; padding:0; }
.photo-strip li { margin:0; }
.photo-strip a { display:block; }
.photo-strip img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }

@media(max-width:850px) {
 .photo-group-head { grid-template-columns:1fr; }
 .photo-group-head h2 { grid-row:auto; }
 .photo-group-head .photo-links { grid-column:1; }
 .photo-band .photo-albums { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .photo-home-feature { grid-template-columns:1fr; gap:var(--s-5); }
}
@media(max-width:600px) {
 .photo-filters { grid-template-columns:1fr; }
 .photo-band .photo-albums { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .photo-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
