html.lw-dialog-open { overflow: hidden; }
dialog.lw-dialog { padding: 0; border: 1px solid #E4D8C6; border-radius: 12px; width: min(680px, calc(100% - 32px)); max-width: 680px; max-height: calc(100dvh - 40px); margin: auto; color: #29352A; background: #FFFEFA; box-shadow: 0 24px 80px #17201940; font-family: "Manrope", sans-serif; font-size: 16px; line-height: 1.65; overflow: auto; }
dialog.lw-dialog::backdrop { background: #172019a6; backdrop-filter: blur(3px); }
.lw-dialog [hidden] { display: none !important; }
.lw-dialog .lw-dialog-header { position: relative; padding: 30px 72px 30px 32px; background: #465847; color: #F2DDBA; }
.lw-dialog .lw-dialog-eyebrow { margin: 0 0 12px; color: #F2DDBA; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.lw-dialog h2 { color: #F2DDBA; font-family: inherit; font-size: clamp(26px, 5vw, 36px); font-weight: 700; line-height: 1.2; margin: 0; overflow-wrap: anywhere; }
.lw-dialog .lw-dialog-close { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid #F2DDBA66; border-radius: 50%; background: transparent; color: #F2DDBA; font: 30px/1 sans-serif; cursor: pointer; }
.lw-dialog .lw-dialog-close:hover { background: #F2DDBA; color: #465847; }
.lw-dialog .lw-dialog-body { padding: 30px 32px 32px; }
.lw-dialog .lw-dialog-meta { margin: 0 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 20px; background: #F8F3EB; border: 1px solid #E4D8C6; border-radius: 8px; }
.lw-dialog .lw-dialog-meta dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: #5E665E; }
.lw-dialog .lw-dialog-meta dd { margin: 4px 0 0; font-weight: 600; }
.lw-dialog [data-lw="location"] { grid-column: 1 / -1; }
.lw-dialog .lw-dialog-description p { margin: 0 0 16px; }
.lw-dialog .lw-dialog-description a { color: #465847; text-decoration: underline; }
.lw-dialog .lw-dialog-description img { max-width: 100%; height: auto; }
.lw-dialog .lw-dialog-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 28px; }
.lw-dialog .lw-dialog-ical { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 10px 18px; border-radius: 6px; background: #465847; color: #F2DDBA; font-weight: 700; text-decoration: none; }
.lw-dialog .lw-dialog-ical:hover { background: #384638; }
.lw-dialog a:focus-visible, .lw-dialog button:focus-visible { outline: 3px solid #B68E52; outline-offset: 3px; }
@media (max-width: 479px) { .lw-dialog .lw-dialog-header { padding: 26px 68px 26px 20px; } .lw-dialog .lw-dialog-body { padding: 24px 20px; } .lw-dialog .lw-dialog-meta { grid-template-columns: 1fr; gap: 14px; padding: 16px; } .lw-dialog .lw-dialog-ical { width: 100%; } }

.lw-dialog .lw-dialog-address { display: block; }
.lw-dialog .lw-dialog-map { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 10px 18px; border: 1px solid #465847; border-radius: 6px; background: transparent; color: #465847; font-weight: 700; text-decoration: none; }
.lw-dialog .lw-dialog-map:hover { background: #F2DDBA; }
@media (max-width: 479px) { .lw-dialog .lw-dialog-map { width: 100%; } }
