/* Shared contact launcher; no vendor UI overrides. */
.fg-contact{position:fixed;right:0;bottom:18vh;z-index:800;font-family:Arial,'Microsoft YaHei',sans-serif;color:#302b24}
.fg-contact[hidden],.fg-contact [hidden]{display:none!important}
body:has(.gallery-entrance) .fg-contact,body:has(dialog[open]) .fg-contact{visibility:hidden;pointer-events:none}
.fg-contact button{font:inherit;cursor:pointer}.fg-contact button:focus-visible{outline:2px solid #947b50;outline-offset:4px}
.fg-contact-toggle{display:flex;align-items:center;justify-content:center;gap:12px;flex-direction:column;width:48px;min-height:150px;padding:18px 10px;border:1px solid #665847;border-right:0;border-radius:12px 0 0 12px;background:#302b24;color:#f8f2e6;box-shadow:0 5px 20px #302b2438;margin-left:auto}
.fg-contact-toggle:hover,.fg-contact-toggle[aria-expanded="true"]{background:#4b4032}
.fg-contact-label{writing-mode:vertical-rl;font-size:14px;font-weight:600;letter-spacing:.06em;white-space:nowrap}
.fg-contact[data-language="zh"] .fg-contact-label{letter-spacing:.16em}
.fg-contact svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.fg-contact-panel{position:absolute;right:62px;bottom:0;box-sizing:border-box;width:310px;max-width:calc(100vw - 78px);max-height:75dvh;overflow:auto;padding:22px;border:1px solid #d9cebd;border-radius:16px;background:#fcf9f3;box-shadow:0 12px 40px #302b2421}
.fg-contact-panel h2{font:23px 'SimSun',Georgia,serif;margin:0 0 8px}.fg-contact-intro{font-size:13px;line-height:1.6;color:#756b5e;margin:0 0 18px}
.fg-contact-row{display:flex;align-items:center;gap:14px;width:100%;min-height:68px;text-align:left;border:0;border-top:1px solid #e7ded1;padding:12px 4px;background:transparent;color:#302b24}
.fg-contact-row:not(:disabled):hover{background:#f1ebdf}.fg-contact-row:disabled{cursor:default;color:#837b70}.fg-contact-row span{min-width:0}.fg-contact-row strong{display:block;font-size:14px;font-weight:500}.fg-contact-row small{display:block;font-size:12px;line-height:1.5;color:#796f61;margin-top:4px}
.fg-contact-status{font-size:12px;line-height:1.6;color:#756b5e;margin:12px 0 0}.fg-contact-badge{position:absolute;right:4px;top:-8px;background:#a23e31;color:white;border-radius:12px;font-size:11px;padding:3px 6px}
@media(max-width:600px){.fg-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.fg-contact-toggle{flex-direction:row;width:auto;min-height:48px;padding:12px 16px;gap:8px;border:1px solid #665847;border-radius:24px}.fg-contact-label{writing-mode:horizontal-tb;letter-spacing:0}.fg-contact-panel{right:0;bottom:62px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px);padding:20px}}
