/* Shared telephone, WeChat and inquiry shortcuts. */
.quick-contact{position:fixed;z-index:70;right:20px;top:50%;transform:translateY(-35%);width:88px;padding:8px 0;background:#fff;border:1px solid #e6eaed;border-radius:3px;box-shadow:0 5px 30px #10253612}
.quick-contact-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;min-height:86px;padding:10px 7px;border:0;background:transparent;color:#53616d;font-size:12px;line-height:1.5;text-align:center;transition:color .18s,background .18s}
.quick-contact-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #d8dfe3;border-radius:50%;transition:color .18s,background .18s,border-color .18s}
.quick-contact svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.quick-contact-trigger:hover,.quick-contact-trigger[aria-expanded=true],.quick-contact-trigger:focus-visible{color:var(--red);background:#fbf8f8}
.quick-contact-trigger:hover .quick-contact-icon,.quick-contact-trigger[aria-expanded=true] .quick-contact-icon{color:#fff;border-color:var(--red);background:var(--red)}
.quick-contact-trigger:focus-visible{outline-offset:-3px}
.quick-contact-panel{position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%);width:280px;max-height:calc(100dvh - var(--utility-height,35px) - var(--navigation-height,72px) - 50px);overflow-y:auto;overscroll-behavior:contain;padding:26px;background:#fff;border:1px solid #e6eaed;border-top:3px solid var(--red);box-shadow:0 10px 40px #1025361a;color:var(--ink);border-radius:3px}
.quick-contact-panel h2{font-size:18px;line-height:1.5;margin:0 16px 15px 0;overflow-wrap:anywhere}
.quick-contact-panel p{font-size:11px;color:#82909a;line-height:1.8;overflow-wrap:anywhere}
.quick-panel-close,.quick-dialog-close{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:30px;height:30px;padding:6px;border:0;background:transparent;color:#8a969f;border-radius:50%}
.quick-panel-close:hover,.quick-dialog-close:hover{color:var(--red);background:#f6f7f8}
.quick-panel-close svg,.quick-dialog-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.quick-phone-numbers{display:grid;gap:0;margin-bottom:15px}
.quick-phone-numbers a{display:block;width:fit-content;font:22px/1.6 Arial,sans-serif;letter-spacing:.3px;color:var(--navy);padding:6px 0}
.quick-phone-numbers a:hover{color:var(--red)}
.quick-wechat-panel{width:288px;padding:22px}
.quick-wechat-panel h2{font-size:16px;margin-bottom:12px}
.quick-wechat-image{display:block;margin-bottom:12px;background:#fff}
.quick-wechat-image img{width:100%;height:auto;object-fit:contain}
.quick-wechat-open{display:inline-block;margin-top:8px;color:var(--red);font-size:11px;text-decoration:underline;text-underline-offset:3px}
.quick-message-dialog{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:0;border-radius:4px;box-shadow:0 24px 90px #0003;overflow-y:auto;overscroll-behavior:contain;color:var(--ink);background:#fff}
.quick-message-dialog::backdrop{background:#061320a8;backdrop-filter:blur(3px)}
.quick-dialog-shell{position:relative;padding:36px 40px}
.quick-dialog-close{width:36px;height:36px;right:12px;top:12px}
.quick-dialog-close svg{width:21px;height:21px}
.quick-dialog-heading{margin-bottom:24px;padding-right:20px}
.quick-dialog-heading>.red-line{display:block;margin-bottom:15px}
.quick-dialog-heading h2{font-size:26px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.quick-dialog-heading p{margin-top:10px;font-size:12px;line-height:1.9;color:#82909a;white-space:pre-line;overflow-wrap:anywhere}
.quick-dialog-body{min-height:45px}
.quick-dialog-body .form-grid{gap:16px}
.quick-dialog-body .form-field textarea{min-height:100px}
.quick-dialog-body .submit-button{width:100%;margin-top:20px}
.quick-dialog-body .form-footnote{line-height:1.8;white-space:pre-line}
.quick-dialog-body .privacy-note{margin-top:20px;padding-top:16px}
.quick-inquiry-privacy{margin-top:16px;font-size:11px;color:#7d8a94;line-height:1.9}
.quick-inquiry-privacy summary{cursor:pointer;color:#6a7985;text-decoration:underline;text-underline-offset:3px}
.quick-inquiry-privacy summary:focus-visible{outline:2px solid #338dc9;outline-offset:4px}
.quick-inquiry-privacy p{margin-top:8px;padding:10px 13px;background:#f5f7f8;overflow-wrap:anywhere}
.quick-dialog-loading{color:var(--muted);padding:24px 0;text-align:center;font-size:13px;white-space:pre-line}
.quick-dialog-error{padding:13px 16px;margin-bottom:20px;background:#fff3f1;border:1px solid #f0d7d4;font-size:12px;line-height:1.8;color:#a73135}
.quick-dialog-error p{white-space:pre-line}
.quick-retry{margin-top:8px;padding:0;border:0;background:transparent;color:var(--red);text-decoration:underline;text-underline-offset:3px;font-size:12px;white-space:pre-line}
.quick-dialog-success{text-align:center;padding:20px 0}
.quick-dialog-success h3{font-size:24px;line-height:1.5;white-space:pre-line}
.quick-dialog-success p{color:var(--muted);font-size:13px;line-height:1.9;margin:16px 0 25px;white-space:pre-line}
.quick-dialog-success-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e8f1ec;color:#4c8164;font-size:27px;margin:0 auto 20px}
.quick-dialog-success .button{white-space:pre-line}
body.quick-dialog-open{overflow:hidden}
body.quick-dialog-open .quick-contact,body.menu-open .quick-contact{visibility:hidden;pointer-events:none}
.quick-contact-noscript{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding:16px 20px;background:#f5f7f8;border-top:1px solid var(--border);font-size:12px;color:var(--ink)}
.quick-contact-noscript a:hover{color:var(--red)}
@media(max-height:600px) and (min-width:761px){.quick-contact{top:auto;bottom:78px;transform:none}.quick-contact-trigger{min-height:70px;gap:4px;padding:6px}.quick-contact-icon{width:34px;height:34px}.quick-contact-panel{top:auto;bottom:0;transform:none;max-height:calc(100dvh - var(--utility-height,35px) - var(--navigation-height,72px) - 100px)}}
@media(max-width:1100px) and (min-width:761px){.quick-contact{right:10px;width:73px}.quick-contact-trigger{font-size:11px;min-height:80px}.quick-contact-icon{width:39px;height:39px}}
@media(max-width:760px){
  body:has(.quick-contact:not([hidden])){padding-bottom:calc(67px + env(safe-area-inset-bottom,0px))}
  .quick-contact{top:auto;right:0;bottom:0;left:0;transform:none;width:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 0 env(safe-area-inset-bottom,0px);border:0;border-top:1px solid #e4e9ec;border-radius:0;box-shadow:0 -4px 22px #1025360d}
  .quick-contact-trigger{flex-direction:row;gap:8px;min-height:66px;padding:10px 5px;font-size:11px}
  .quick-contact-icon{width:32px;height:32px;flex-shrink:0;border:0}
  .quick-contact svg{width:21px;height:21px}
  .quick-contact-panel{position:absolute;top:auto;right:12px;bottom:calc(100% + 10px);left:auto;transform:none;width:min(288px,calc(100vw - 24px));max-height:calc(100dvh - var(--utility-height,60px) - var(--navigation-height,64px) - 100px);padding:22px}
  .quick-phone-panel{left:12px;right:auto}
  .quick-wechat-panel{right:50%;transform:translateX(50%);width:min(265px,calc(100vw - 24px))}
  .quick-wechat-image{max-width:205px;margin-left:auto;margin-right:auto}
  .quick-phone-numbers a{font-size:22px}
  .quick-contact-panel h2{font-size:17px}
  .quick-message-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  .quick-dialog-shell{padding:30px 22px 25px}
  .quick-dialog-heading{margin-bottom:20px}
  .quick-dialog-heading h2{font-size:23px}
  .quick-dialog-body .form-grid{grid-template-columns:1fr;gap:14px}
  .quick-dialog-body .form-field input:not([type=checkbox]),.quick-dialog-body .form-field select,.quick-dialog-body .form-field textarea{font-size:16px}
  body:has(.quick-contact:not([hidden])) .back-top{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.quick-contact-trigger,.quick-contact-icon{transition:none}}
