.gallery-main{max-width:1180px}.gallery-section{margin-top:36px}.attraction-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-photo{margin:0;min-width:0;border:1px solid #452327;background:#151011}.gallery-photo-link{display:block;overflow:hidden;background:#090909}.gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.gallery-photo-link:hover img{transform:scale(1.03)}.gallery-photo figcaption{padding:16px}.gallery-photo h3{font-size:1.35rem;line-height:1.15;margin:0 0 8px;overflow-wrap:anywhere}.gallery-photo p{margin:0;color:#c7bbb4;font-size:.9rem;white-space:pre-line;overflow-wrap:anywhere}.gallery-viewer{width:min(1000px,94vw);max-height:92vh;padding:16px;color:#fff;background:#100d0e;border:1px solid #744047;overflow:auto}.gallery-viewer::backdrop{background:#000e}.gallery-viewer-toolbar{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-bottom:12px}.gallery-viewer-toolbar button{padding:8px 12px;min-height:44px}.gallery-viewer-toolbar span{margin-right:auto;color:#c7bbb4}.gallery-viewer>img{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}.gallery-viewer h2{font-size:1.5rem;line-height:1.2;margin:16px 0 8px}.gallery-viewer>p{white-space:pre-line;color:#c7bbb4;margin-bottom:0}.gallery-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gallery-manage-card{min-width:0}.gallery-manage-card>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px}.gallery-manage-card textarea{min-height:90px}.gallery-delete-form{margin-top:12px}.gallery-upload-preview{display:flex;gap:10px;overflow:auto;margin-bottom:16px}.gallery-upload-preview img{width:100px;height:80px;object-fit:cover;flex:0 0 auto}@media(max-width:900px){.attraction-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.attraction-gallery,.gallery-manage-grid{grid-template-columns:1fr}.gallery-viewer{padding:12px}.gallery-viewer-toolbar{gap:6px}.gallery-viewer-toolbar button{font-size:12px;padding:8px}.gallery-photo h3{font-size:1.4rem}}@media print{.gallery-viewer{display:none}.gallery-photo{break-inside:avoid}}
