/* Only the content scrolls: the close control stays in the dialog header. */
#modal{overflow:hidden;overscroll-behavior:none}
#modal #modal-content{display:flex;flex-direction:column;min-height:0;max-height:90dvh;overflow:hidden}
#modal .modalhead{flex:none;align-items:center;background:#fff;z-index:2}
#modal .modalhead>.iconbutton{flex:none;min-width:44px;min-height:44px}
#modal .modalbody{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#modal[data-presentation="menu"] #modal-content{max-height:92dvh}
#modal[data-presentation="booking"] #modal-content{max-height:100%}
#modal[data-presentation="booking"] .modalhead{gap:8px;padding:6px 12px}
#modal[data-presentation="booking"] .modalhead h2{font-size:.95rem;margin:0}
#modal[data-presentation="booking"] .modalbody{overflow:hidden}
#modal[data-presentation="booking"] .local-booking-intro{padding:6px 12px}
#modal[data-presentation="booking"] .local-booking-intro p{font-size:.75rem;margin-bottom:5px}
#modal[data-presentation="booking"] .local-booking-intro .btn{min-height:34px;padding:6px 10px;font-size:.75rem}
@media(max-width:760px){#modal[data-presentation="booking"] .modalhead{padding-top:max(6px,env(safe-area-inset-top))}}

#modal[data-presentation="event"]{width:min(720px,calc(100% - 28px))}
.event-card[data-event-card],.dining-card[data-dining-card]{cursor:pointer}
.event-dialog-related{margin-top:28px;padding-top:22px;border-top:1px solid var(--portal-line,var(--line))}
.event-dialog-related h3{font-size:1.05rem;line-height:1.35;margin:0 0 14px;color:var(--portal-ink,var(--dark))}
.event-related-list{display:grid;gap:10px}
.event-related-button{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:1px solid var(--portal-line,var(--line));border-radius:14px;background:#fff;color:var(--portal-ink,var(--dark));font:inherit;text-align:left;cursor:pointer;min-width:0}
.event-related-button:hover{background:var(--portal-soft,#f3f6ee)}
.event-related-button:focus-visible{outline:2px solid var(--green,#46704e);outline-offset:3px}
.event-related-button>img,.event-related-symbol{width:64px;height:64px;border-radius:9px;object-fit:cover;flex:none;background:var(--portal-soft,#f3f6ee)}
.event-related-symbol{display:grid;place-items:center}.event-related-symbol .icon{width:24px;height:24px}
.event-related-copy{display:grid;gap:4px;flex:1;min-width:0}.event-related-copy strong{font-size:.9rem;line-height:1.35}.event-related-copy>span{font-size:.76rem;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:400px){.event-related-button{gap:9px;padding:8px}.event-related-button>img,.event-related-symbol{width:50px;height:58px}}

.rating-link{font-size:.75rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px;min-height:28px;display:flex;align-items:center}

