/* Shared photo geometry and content slots for static and searched cards. */
:root{--card-photo-ratio:16/9;--card-padding:20px;--card-gap:18px;--card-title-size:18px;--card-copy-size:12px;--card-caption-size:10.5px}
.search-cards,.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap);align-items:stretch}
.place-card{padding:var(--card-padding);border:1px solid var(--line);min-width:0;display:flex;flex-direction:column;background:#fff}
.place-card h3{font-size:var(--card-title-size);margin:0 0 10px;line-height:1.45;overflow-wrap:anywhere}
.place-card .eyebrow{font-size:10px;letter-spacing:.7px;line-height:1.6;margin:0 0 6px}
.place-card p{font-size:var(--card-copy-size);line-height:1.75;margin:0 0 10px;overflow-wrap:anywhere}
.place-card .card-caption{font-size:var(--card-caption-size);line-height:1.65;color:var(--muted);margin:0 0 10px}
.place-card .location-note{font-size:var(--card-caption-size)!important;line-height:1.65!important;margin:0 0 10px!important}
.place-card .place-meta{color:var(--muted);font-size:11px;line-height:1.7}
.place-card .card-links{margin-top:auto;padding-top:10px;display:flex;gap:8px 14px;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;font-size:12px}
.place-card>.booking-disclosure{font-size:10px;line-height:1.65;margin:6px 0 0}
.card-photo{position:relative;width:100%;aspect-ratio:var(--card-photo-ratio);margin:0 0 14px;background:var(--foam);overflow:hidden;flex-shrink:0}
.card-photo-open,.card-photo>img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0}
.card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.card-photo img.photo-contain{object-fit:scale-down}
.card-photo-credit,.card-photo.photo-full-frame .card-photo-credit{position:absolute;top:7px;bottom:auto;right:7px;background:#173541e6;color:#fff;font-size:10px;line-height:1.5;padding:6px 9px;text-decoration:underline;text-underline-offset:2px;z-index:1}
.card-photo-open:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}.card-photo-credit:focus-visible{outline:3px solid var(--orange)}
.card-photo.photo-reference{display:grid;place-items:center;text-align:center;padding:18px;border:1px solid var(--line)}
.guide-photo-media{aspect-ratio:var(--card-photo-ratio)}.guide-photo figcaption{font-size:var(--card-caption-size);line-height:1.65;margin-top:8px}
.photo-credits-list img{width:100%;aspect-ratio:var(--card-photo-ratio);object-fit:cover}
.photo-credits-list img.photo-contain{object-fit:scale-down;background:var(--foam)}
.photo-credits-list article{padding:var(--card-padding);min-width:0;display:flex;flex-direction:column}
.photo-credits-list h3{font-size:16px;line-height:1.45;margin:12px 0 8px;overflow-wrap:anywhere}
.photo-credits-list p{font-size:var(--card-caption-size);line-height:1.7;margin:0 0 10px}
.photo-credits-list .source-links{margin:0;padding-top:8px}
/* Shared rows align neighboring cards without clipping translated descriptions. */
@supports(grid-template-rows:subgrid){
 .search-cards,.place-grid,.photo-credits-list,.destination-guide .guide-next-places{row-gap:0}
 .place-card{display:grid;grid-template-rows:subgrid;grid-row:span 9;row-gap:0;margin-bottom:var(--card-gap);align-items:start}
 .place-card>.card-photo{grid-row:1}.place-card>.card-caption{grid-row:2}.place-card>.eyebrow{grid-row:3}.place-card>h3{grid-row:4}.place-card>.card-description{grid-row:5}.place-card>.place-meta{grid-row:6}.place-card>.location-note,.place-card>.booking-condition{grid-row:7}.place-card>.card-links{grid-row:8;margin-top:0;align-self:stretch}.place-card>.booking-disclosure{grid-row:9}
 .photo-credits-list article{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;margin-bottom:var(--card-gap);align-items:start}
 .photo-credits-list article>img{grid-row:1}.photo-credits-list article>h3{grid-row:2}.photo-credits-list article>p{grid-row:3}.photo-credits-list article>.source-links{grid-row:4}
}
@media(max-width:1100px){.search-cards,.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.search-cards,.place-grid{grid-template-columns:1fr}.card-photo-credit{min-height:32px;display:flex;align-items:center}}
