#contact-dialog{max-width:490px;padding:46px 30px 30px;border:1px solid var(--beige);border-radius:18px;background:var(--cream);color:var(--brown)}
#contact-dialog[open]{animation:contact-in .22s ease both}
#contact-dialog[open]::backdrop{animation:contact-backdrop-in .22s ease both}
#contact-dialog.closing{animation:contact-out .18s ease both}
#contact-dialog.closing::backdrop{animation:contact-backdrop-out .18s ease both}
#contact-dialog h2{font-size:38px}
#contact-dialog .contact-intro{margin:17px 0 24px;font-size:15px;line-height:1.65;color:#726758}
.contact-options{display:grid;gap:12px}
.contact-option{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid #a39b7466;border-radius:12px;background:#faf6ef;text-align:left;font-size:16px;color:var(--olive);transition:background .2s,transform .2s}
.contact-option:hover{background:var(--beige);transform:translateY(-2px)}
.contact-option img{width:30px;height:30px;object-fit:contain;flex-shrink:0}
.contact-option span:last-child{margin-left:auto}
#contact-dialog .contact-note{font-size:12px;color:#796f5e;margin-top:19px}
.floating-book{display:flex;left:auto;right:22px;bottom:22px;transform:none;position:fixed;z-index:15;border-radius:40px;box-shadow:0 4px 25px #23281930;border:1px solid #e8dccb55}
.floating-book:hover{transform:translateY(-2px)}
@keyframes contact-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes contact-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes contact-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes contact-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:540px){#contact-dialog{padding:44px 22px 25px}#contact-dialog h2{font-size:33px}.floating-book{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){#contact-dialog,#contact-dialog::backdrop{animation:none!important}.contact-option{transition:none}}

/* Reserve the original button width without the Unicode arrow rendered as emoji on some devices. */
[data-book] .contact-spacer{display:inline-block;inline-size:20px;flex:0 0 20px}
