.hotel-contact{position:fixed;left:24px;bottom:max(20px,env(safe-area-inset-bottom));z-index:26;color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif}
.hotel-contact summary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 20px;border:1px solid var(--accent);background:var(--paper);color:var(--ink);box-shadow:0 4px 20px #0002;cursor:pointer;list-style:none}
.hotel-contact summary::-webkit-details-marker{display:none}
.hotel-contact summary::before{content:'✉';font-size:20px;line-height:1}
.hotel-contact[open] summary{background:var(--soft)}
.hotel-contact-panel{position:absolute;left:0;bottom:calc(100% + 10px);width:290px;max-width:calc(100vw - 24px);padding:20px;border:1px solid var(--line);background:var(--paper);box-shadow:0 6px 28px #0003}
.hotel-contact-panel p{margin:0 0 10px;font-size:18px;font-family:inherit}
.hotel-contact-panel a{display:block;padding:12px 0;overflow-wrap:anywhere;text-decoration:underline}
.hotel-contact-panel a+a{border-top:1px solid var(--line)}
.hotel-contact-panel span{display:block;font-size:12px;color:var(--muted)}
body:has(dialog[open]) .hotel-contact{visibility:hidden;pointer-events:none}
@media(max-width:600px){.hotel-contact{left:auto;right:12px;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 64px)}.hotel-contact-panel{left:auto;right:0}body{padding-bottom:148px}}
