.contact-shortcuts{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:150;display:flex;flex-direction:column;gap:12px}.contact-shortcuts[hidden],.contact-shortcut[hidden]{display:none}.contact-shortcut{display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border-radius:22px;box-shadow:0 5px 20px #0002;text-decoration:none;transition:transform .2s}.contact-shortcut:hover{transform:translateY(-3px)}.contact-shortcut:focus-visible{outline:3px solid #1a65cc;outline-offset:4px}.contact-shortcut svg{width:36px;height:36px}.contact-shortcut span{font-size:13px;font-weight:700;margin-top:3px}.contact-kakao,.contact-kakao:hover{background:#fee500;color:#3c1e1e}.contact-phone{display:none;background:#20252b;color:#fff}.contact-phone:hover{color:#fff}@media(max-width:767px){.contact-shortcuts{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.contact-shortcut{width:72px;height:72px;border-radius:19px}.contact-phone:not([hidden]){display:flex}.form-page{padding-bottom:210px}}

@media(max-width:767px){.contact-shortcuts{gap:0;border-radius:19px;box-shadow:0 5px 20px #0002}.contact-shortcut{box-shadow:none}.contact-shortcut:hover{transform:none}.contact-phone{border-radius:19px 19px 0 0}.contact-kakao{border-radius:0 0 19px 19px}.contact-shortcuts:has(.contact-phone[hidden]) .contact-kakao,.contact-shortcuts:has(.contact-kakao[hidden]) .contact-phone{border-radius:19px}}

/* Larger contact controls; desktop phone opens the number dialog. */
.contact-shortcut{width:104px;height:104px;border-radius:26px}.contact-shortcut svg{width:46px;height:46px}.contact-shortcut span{font-size:15px}.contact-phone:not([hidden]){display:flex}
.phone-dialog{width:min(440px,calc(100vw - 40px));padding:36px 24px 24px;border:0;border-radius:24px;text-align:center;box-sizing:border-box;box-shadow:0 20px 70px #0003}.phone-dialog::backdrop{background:#0008}.phone-dialog form{margin:0}.phone-dialog h2{font-size:24px;margin:12px 0 22px}.phone-dialog-number{font-size:clamp(25px,6vw,38px);font-weight:750;white-space:nowrap;margin:0 0 28px;color:#20252b;user-select:all}.phone-dialog-close{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;background:transparent;font-size:30px;cursor:pointer}.phone-dialog-confirm{width:100%;padding:15px;border:0;border-radius:12px;background:#20252b;color:#fff;font:inherit;cursor:pointer}
@media(max-width:767px){.contact-shortcut{width:88px;height:88px}.contact-shortcut svg{width:42px;height:42px}.contact-shortcut span{font-size:14px}.contact-phone{border-radius:22px 22px 0 0}.contact-kakao{border-radius:0 0 22px 22px}.contact-shortcuts{gap:0;border-radius:22px}.form-page{padding-bottom:230px}}

/* One joined control on desktop and mobile, rounded only at outer corners. */
.contact-shortcuts{--contact-radius:26px;gap:0;border-radius:var(--contact-radius);box-shadow:0 5px 20px #0002}
.contact-shortcuts .contact-shortcut{box-shadow:none;transform:none}
.contact-shortcuts .contact-phone{border-radius:var(--contact-radius) var(--contact-radius) 0 0}
.contact-shortcuts .contact-kakao{border-radius:0 0 var(--contact-radius) var(--contact-radius)}
.contact-shortcuts:has(.contact-phone[hidden]) .contact-kakao,.contact-shortcuts:has(.contact-kakao[hidden]) .contact-phone{border-radius:var(--contact-radius)}
@media(max-width:767px){.contact-shortcuts{--contact-radius:22px}}

/* Compact mobile controls, half the previous 88px size. */
@media(max-width:767px){.contact-shortcuts{--contact-radius:11px}.contact-shortcut{width:44px;height:44px}.contact-shortcut svg{width:24px;height:24px}.contact-shortcut span{display:none}.form-page{padding-bottom:130px}}

.contact-shortcuts{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.contact-shortcuts a{ -webkit-user-drag:none;touch-action:none}.contact-shortcuts.is-dragging,.contact-shortcuts.is-dragging a{cursor:grabbing}
