.place-detail-button {display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.4rem .7rem;margin:.5rem .4rem 0 0;border:1px solid #123a4a;border-radius:8px;background:#123a4a;color:#fff;font:600 .85rem/1.6 'Noto Sans Thai',sans-serif;cursor:pointer;max-width:100%;white-space:normal}
.place-detail-button:disabled {opacity:.5;cursor:default}
.place-detail-dialog {box-sizing:border-box;width:min(760px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #91a8a1;border-radius:18px;background:#fff;color:#123a4a;box-shadow:0 20px 80px #102e3b55;overflow:auto;overscroll-behavior:contain;font:400 1rem/1.85 'Noto Sans Thai',sans-serif}
.place-detail-dialog::backdrop {background:rgb(10 30 40 / .65)}
.place-detail-header {position:sticky;top:0;z-index:1;display:flex;align-items:start;justify-content:space-between;gap:12px;padding:18px 22px;background:#fff;border-bottom:1px solid #d4dfda}
.place-detail-header h2 {margin:0;font:600 1.3rem/1.6 'Noto Sans Thai',sans-serif;overflow-wrap:anywhere}
.place-detail-close {flex:none;min-height:48px;padding:8px 14px;background:#edf3ef;color:#123a4a;border:1px solid #91a8a1;border-radius:10px;font:600 .95rem/1.6 'Noto Sans Thai',sans-serif;cursor:pointer}
.place-detail-body {padding:20px 24px;overflow-wrap:anywhere}
.place-detail-body section {margin:1.25rem 0}
.place-detail-body h3 {font:600 1.05rem/1.6 'Noto Sans Thai',sans-serif;margin:0 0 .45rem}
.place-detail-text {white-space:pre-wrap;margin:0;line-height:1.9}
.place-detail-gallery {display:grid;gap:16px}
.place-detail-gallery figure {margin:0}
.place-detail-gallery img {display:block;width:100%;max-height:380px;object-fit:contain;background:#edf3ef;border-radius:12px}
.place-detail-dialog [hidden] {display:none!important}
.place-detail-credit,.place-detail-caution {font-size:.9rem;line-height:1.8;color:#31535d}
.place-detail-empty,.place-detail-image-error,.place-detail-caution {padding:14px 16px;border-radius:10px;background:#edf3ef}
.place-detail-link {display:block;width:fit-content;max-width:100%;min-height:48px;padding:8px 0;color:#123a4a;text-underline-offset:4px;overflow-wrap:anywhere}
.place-detail-open {overflow:hidden}
html[data-reading=comfortable] .place-detail-dialog {font-size:1rem}
html[data-reading=comfortable] .place-detail-button {font-size:1rem}
@media(max-width:600px) {
  .place-detail-dialog {width:calc(100% - 16px);max-width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:14px;font-size:1rem}
  .place-detail-header {padding:14px;gap:8px}
  .place-detail-header h2 {font-size:1.15rem}
  .place-detail-body {padding:14px}
  .place-detail-button {font-size:.95rem}
}
