/* Park introductions and thumbnail galleries, v20. */
.park-introduction{border-left:3px solid var(--gold,#d4af37);padding:3px 0 3px 18px;margin:8px 0 24px;max-width:85ch}
.park-introduction h3{margin:0 0 9px;font-size:1.25rem}
.park-introduction p{font-size:1rem;line-height:1.75;color:#dedbd3;margin:0}
.park-photo-section{margin:20px 0 30px}
.park-photo-title{font-size:1rem;text-transform:none;letter-spacing:0;color:#e5cb7a;margin-bottom:6px}
.park-photo-hint{font-size:.875rem;color:#c7c4bc;margin:0 0 12px}
.park-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:960px}
.park-photo-grid figure{border-color:#3a352a;border-radius:4px}
.park-photo-grid .park-photo-link{display:block;position:relative;overflow:hidden;cursor:zoom-in}
.park-photo-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;transition:transform .18s ease}
.park-photo-link:hover img{transform:scale(1.035)}
.park-photo-link::after{content:'⤢';position:absolute;right:7px;bottom:7px;display:grid;place-items:center;background:#080808dc;border:1px solid #ae9453;color:white;width:30px;height:30px;font-size:1.25rem;border-radius:3px}
.park-photo-grid figcaption{font-size:.875rem;line-height:1.5;color:#dedbd3;padding:10px 12px}
.park-photo-grid figcaption small{display:block;font-size:.75rem;color:#beb9ad;margin-top:3px}
.park-photo-grid figcaption a{color:#dfc879;text-decoration:underline;text-underline-offset:3px}
.park-photo-link:focus-visible,.park-lightbox button:focus-visible,.park-lightbox a:focus-visible{outline:3px solid #f1cc57;outline-offset:-3px}
.park-itinerary{margin:24px 0;padding:20px;border:1px solid #67582e;background:#17140d}
.park-itinerary h3{font-size:1.25rem;margin-top:0}.park-itinerary li{margin:12px 0;line-height:1.65}
.park-photo-modal-open{overflow:hidden}
.park-lightbox{box-sizing:border-box;position:fixed;inset:0;width:min(1280px,96vw);max-width:96vw;max-height:96dvh;margin:auto;padding:14px 18px;border:1px solid #756236;border-radius:6px;background:#080a0d;color:#eee;overflow:auto}
.park-lightbox::backdrop{background:rgba(0,0,0,.92)}
.park-lightbox[open]{display:flex;flex-direction:column;gap:8px}
.park-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.park-photo-counter{font-size:.95rem;color:#e5cb7a}
.park-lightbox button{min-width:44px;min-height:44px;border:1px solid #71613c;background:#181714;color:#f0d683;border-radius:4px;cursor:pointer}
.park-photo-close{font:inherit;padding:6px 12px}
.park-lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:0}
.park-lightbox-stage img{display:block;width:100%;height:min(66dvh,850px);object-fit:contain;min-width:0}
.park-photo-prev,.park-photo-next{font-size:2rem}
.park-lightbox-stage button[hidden]{visibility:hidden;display:block}
.park-lightbox-footer{text-align:center;font-size:.875rem;line-height:1.4;overflow-wrap:anywhere}
.park-photo-caption{margin:5px 0;color:white}
.park-lightbox-footer a{color:#ebce7b;text-decoration:underline;display:inline-block;margin:4px 10px;padding:3px}
.park-lightbox-footer a[hidden]{display:none}
.park-photo-error{color:#ffcbb8}
@media(max-width:650px){.park-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.park-photo-grid figcaption{padding:8px;font-size:.8125rem}.park-introduction{padding-left:12px}.park-lightbox{padding:10px;width:98vw;max-width:98vw}.park-lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:3px}.park-lightbox-stage button{min-width:36px;min-height:44px}.park-lightbox-stage img{height:58dvh}}
@media(max-height:500px){.park-lightbox-stage img{height:49dvh}.park-lightbox{padding:6px 10px;gap:2px}.park-photo-caption{margin:0}.park-lightbox-footer a{margin:0 6px}.park-photo-close{min-height:34px}}
@media(prefers-reduced-motion:reduce){.park-photo-grid img{transition:none}}
