/* Ergänzende Darstellung: keine Änderungen an Reise- oder Bilddaten. */
#detailModal .detail-experience-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 24px; }
#detailModal .detail-experience-actions > a { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0; padding:18px 20px; min-height:76px; border:1px solid #baccc0; border-radius:14px; background:#edf3ee; color:#264d40; font:600 14px/1.5 inherit; font-size:14px; line-height:1.5; letter-spacing:0; text-transform:none; text-decoration:none; box-shadow:none; }
#detailModal .detail-experience-actions > a[hidden] { display:none; }
#detailModal .detail-experience-actions > a:hover { background:#e0ebe2; border-color:#638674; }
#detailModal .detail-experience-actions > a span { flex-shrink:0; color:inherit; }
#detailModal .detail-experience-actions > a { font-family:inherit; font-weight:600; }
#detailModal .detail-gallery-viewer, #detailModal .culinary-viewer { display:none; }
#detailModal .detail-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
#detailModal .detail-gallery button { aspect-ratio:4/3; border-radius:12px; cursor:zoom-in; }
#detailModal .detail-gallery-item.active button { border-color:#648674; box-shadow:none; }
#detailModal .detail-gallery-item.active img { transform:none; }
#detailModal .detail-gallery-item figcaption { font-size:12px; line-height:1.5; padding:0 3px; }
.detail-hero-open { position:relative; display:block; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.detail-hero-open img { width:100%; height:100%; object-fit:cover; }
.detail-hero-open span { position:absolute; bottom:20px; right:20px; padding:10px 16px; border-radius:24px; background:#fffef8ed; color:#264d40; font-size:13px; }
#detailModal .detail-culinary { margin-top:40px; padding:26px; border:1px solid #dddccf; border-radius:20px; background:#f5f3eb; }
#detailModal .culinary-heading { align-items:start; gap:16px; }
#detailModal .culinary-heading h3 { font-size:26px; line-height:1.2; color:#264d40; }
#detailModal .culinary-count { background:#e7ebe1; color:#365849; border-radius:24px; padding:8px 12px; white-space:nowrap; }
#detailModal .culinary-filter { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; padding:0; border:0; background:transparent; }
#detailModal .culinary-filter button { min-height:44px; padding:10px 18px; border-radius:24px; border:1px solid #c7d1c5; background:transparent; color:#365849; }
#detailModal .culinary-filter button.active { background:#365849; color:white; border-color:#365849; }
#detailModal .culinary-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
#detailModal .culinary-grid button { aspect-ratio:auto; display:flex; flex-direction:column; padding:0; border:1px solid #d9ded4; border-radius:13px; background:#fffdf8; opacity:1; text-align:left; cursor:zoom-in; box-shadow:none; }
#detailModal .culinary-grid button.active { border-color:#648674; }
#detailModal .culinary-grid img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.culinary-tile-label { display:grid; gap:4px; padding:12px; color:#264d40; }
.culinary-tile-label b { font-size:13px; }
.culinary-tile-label small { color:#667466; font-size:12px; }
#detailModal .culinary-atlas-link { display:flex; justify-content:space-between; gap:16px; margin-top:24px; padding:16px; background:transparent; color:#365849; border:1px solid #b9c9bb; border-radius:12px; font-size:13px; line-height:1.5; text-decoration:none; }
.photo-open .detail-panel { overflow:hidden; }
.atlas-photo-dialog { box-sizing:border-box; width:min(1320px,96vw); max-width:96vw; height:94dvh; max-height:94dvh; margin:auto; padding:0; border:1px solid #ffffff26; border-radius:18px; background:#17201d; color:#fffdf7; box-shadow:0 24px 90px #0008; overflow:auto; }
.atlas-photo-dialog[open] { display:flex; flex-direction:column; }
.atlas-photo-dialog::backdrop { background:#07120eed; }
.photo-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 22px; flex-shrink:0; }
.photo-toolbar > span { font-size:13px; color:#c9d9ce; }
.atlas-photo-dialog button { min-width:46px; min-height:46px; padding:10px 16px; border:1px solid #ffffff50; border-radius:24px; background:#253a31; color:white; cursor:pointer; font-size:16px; }
.atlas-photo-dialog button:hover { background:#3b5849; }
.atlas-photo-dialog button:disabled { opacity:.35; cursor:default; }
.photo-stage { display:grid; grid-template-columns:64px minmax(0,1fr) 64px; align-items:center; gap:12px; padding:0 16px; flex:1; min-height:140px; overflow:hidden; }
.photo-stage img { width:100%; height:100%; min-height:0; max-height:66dvh; object-fit:contain; }
.photo-caption { position:relative; flex-shrink:0; padding:16px 26px 22px; background:#1e2b25; max-height:25dvh; overflow:auto; }
.photo-caption > span { float:right; margin-left:15px; font:500 13px/1.5 sans-serif; color:#c9d9ce; }
.photo-caption h3 { margin:0 0 7px; color:#fffdf7; font-size:21px; line-height:1.3; }
.photo-caption p { margin:4px 0; color:#d8e2da; font-size:14px; line-height:1.5; }
#photoMeta { color:#afc7b6; font-size:12px; }
.atlas-photo-dialog :focus-visible, #detailModal a:focus-visible, #detailModal button:focus-visible { outline:3px solid #82bca1; outline-offset:3px; }
[data-theme="dark"] #detailModal .detail-culinary { background:#1d3029; border-color:#4d6356; }
[data-theme="dark"] #detailModal .culinary-heading h3 { color:#e6eee8; }
@media(max-width:700px) {
 #detailModal .detail-experience-actions { grid-template-columns:1fr; }
 #detailModal .detail-experience-actions > a { min-height:64px; padding:14px 16px; }
 #detailModal .detail-gallery, #detailModal .culinary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 #detailModal .detail-culinary { padding:16px; border-radius:14px; }
 #detailModal .culinary-heading { flex-direction:column; }
 #detailModal .culinary-heading h3 { font-size:23px; }
 .atlas-photo-dialog { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border:0; border-radius:0; }
 .photo-toolbar { padding:10px 12px; }
 .photo-stage { position:relative; display:flex; padding:0; }
 .photo-stage img { max-height:68dvh; }
 .photo-stage button { position:absolute; z-index:1; bottom:12px; background:#14291edb; }
 .photo-stage [data-photo-previous] { left:12px; }
 .photo-stage [data-photo-next] { right:12px; }
 .photo-caption { padding:16px; }
}
@media(prefers-reduced-motion:reduce) { #detailModal .detail-gallery img { transition:none; } }
