/* Contact rail rules copied from bank-ao.com public stylesheet, 2026-10-30. */
.quick-contact{right:24px;bottom:max(24px,env(safe-area-inset-bottom))}
.contact-rail{display:flex;flex-direction:column;align-items:center;gap:11px}
.contact-rail .round-contact{--contact-icon-cutout: #103d66;display:grid;place-items:center;width:64px;height:64px;min-width:64px;min-height:64px;padding:0;border:0;border-radius:50%;color:#fff;background:#103d66;cursor:pointer;box-shadow:0 7px 24px #112d3a22;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.contact-rail .contact-whatsapp{--contact-icon-cutout: #079b50;background:#079b50}
.contact-rail .contact-wechat{--contact-icon-cutout: #169c24;background:#169c24}
.contact-rail .contact-top{color:#15384b;background:#dbb147}
.contact-rail .round-contact:hover{transform:translateY(-2px);box-shadow:0 9px 28px #112d3a32}
.contact-rail .round-contact:focus-visible{outline:3px solid #173d64;outline-offset:4px}
.quick-contact .contact-panel{position:absolute;right:80px;bottom:0;width:320px;max-width:calc(100vw - 112px);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);margin-bottom:0;border-radius:12px}
.quick-contact .quick-qr button{min-height:44px}
@media (max-width:680px){.quick-contact{right:14px;bottom:max(14px,env(safe-area-inset-bottom))}.contact-rail{gap:9px}.contact-rail .round-contact{width:52px;height:52px;min-width:52px;min-height:52px}.contact-rail .round-contact>svg{width:24px;height:24px}.quick-contact .contact-panel{right:64px;max-width:calc(100vw - 92px);width:320px;padding:18px;max-height:calc(100dvh - 28px)}.quick-contact .quick-qr{align-items:center;gap:10px;flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.contact-rail .round-contact{transition:none}.contact-rail .round-contact:hover{transform:none}}
@media  print{.quick-contact{display:none!important}}
.contact-phone-list{display:grid;gap:10px;margin-top:20px}
.contact-phone-list>a{display:flex;align-items:center;gap:12px;padding:13px 12px;border:1px solid #dfe5e5;border-radius:8px;color:#103d66;font-size:11px}
.contact-phone-list strong{display:block;font-size:17px;margin-top:3px}
.contact-phone-list p{color:#60737d;font-size:11px}
.quick-contact .contact-panel .quick-qr{margin-top:20px}
.quick-contact .contact-panel .whatsapp-link svg{width:20px;height:20px}
.quick-contact .contact-panel .contact-panel-head h3{font-size:20px}
.quick-contact .round-contact[aria-expanded=true]{box-shadow:0 0 0 3px #fff,0 0 0 5px #143b5b44,0 9px 24px #112d3a30}
.contact-mobile-label{display:none}
.contact-rail .round-contact:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #805631}
@media (min-width:1280px)and (max-width:1599px){.quick-contact.quick-contact{right:8px}.contact-rail .round-contact{width:44px;height:44px;min-width:44px;min-height:44px}.contact-rail .round-contact>svg{width:23px;height:23px}.quick-contact .contact-panel{right:58px}}
@media (max-width:1279px){body:has(.quick-contact){padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}.quick-contact.quick-contact{right:12px;left:12px;bottom:max(10px,env(safe-area-inset-bottom,0px));width:auto;padding:10px 12px 28px;border:1px solid #d8d1c7;border-radius:16px;background:#fffefaf5;box-shadow:0 6px 28px #112d3a26}.contact-rail{flex-direction:row;justify-content:space-evenly;align-items:center;gap:12px}.contact-rail .round-contact{position:relative;width:48px;height:48px;min-width:48px;min-height:48px}.contact-rail .round-contact>svg{width:24px;height:24px}.contact-mobile-label{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);display:block;color:#20343e;font-size:11px;line-height:1.4;white-space:nowrap}.quick-contact .contact-panel{right:0;bottom:calc(100% + 12px);width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 126px)}body:has(.field :is(input,textarea,select):focus) .quick-contact{visibility:hidden;pointer-events:none}}
@media (max-width:767px){.quick-contact.quick-contact{padding:8px 10px 24px}.contact-rail .round-contact{width:44px;height:44px;min-width:44px;min-height:44px}.contact-mobile-label{top:calc(100% + 4px)}body:has(.quick-contact){padding-bottom:var(--mobile-contact-clearance)}}
.quick-contact{position:fixed;bottom:24px;right:24px;z-index:80}
.contact-panel{width:320px;max-height:calc(100vh - 120px);overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff;padding:24px;box-shadow:0 12px 45px #112d3a26;margin-bottom:12px}
.contact-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}
.contact-panel-head small{font-size:8px;letter-spacing:.2em;color:var(--copper)}
.contact-panel-head h3{font-family:"Noto Serif SC",serif;font-size:21px}
.contact-panel-head button{display:grid;place-items:center;background:transparent;border:0;min-width:44px;min-height:44px}
.contact-panel .button{margin-top:24px;width:100%;font-size:12px;gap:12px}
.whatsapp-link{display:flex;gap:10px;align-items:center;font-size:12px;min-height:48px;color:#2c6457}
.quick-qr{display:flex;align-items:center;gap:20px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quick-qr>img{width:81px;height:100px}
.quick-qr strong,.quick-qr span{display:block;font-size:11px}
.quick-qr button{display:flex;align-items:center;gap:6px;font-size:10px;border:0;background:#eee9df;padding:5px 8px;min-height:35px;margin-top:5px}
.contact-panel>a:not(.button):not(.whatsapp-link){display:flex;align-items:center;gap:8px;font-size:12px;padding:12px 0}
.contact-panel>small{display:block;font-size:10px}
@media (max-width:760px){.quick-contact{right:14px;bottom:14px}.contact-panel{width:min(320px,calc(100vw - 28px));padding:22px}}
@media  print{.quick-contact{display:none!important}}
.quick-qr button{min-height:44px;min-width:44px}

/* Own business content, without changing reference rail geometry. */
.quick-contact{--line:#dcdedb;--copper:#8b5832;--ink:#20343e;--navy:#112d3a;color:var(--ink);font-family:'Noto Sans SC','PingFang SC','Microsoft YaHei',sans-serif;line-height:1.7}
.quick-contact [hidden]{display:none!important}.quick-contact p{margin:0 0 14px}.quick-contact h3{color:#20343e;margin:0;line-height:1.35}
.quick-contact .contact-panel-head button{font-size:25px;color:#20343e;cursor:pointer}.quick-contact .button{display:flex;align-items:center;justify-content:center;padding:12px 18px;min-height:44px;background:#112d3a;color:#fff;border:1px solid #112d3a;border-radius:2px;line-height:1.7;text-decoration:none}.quick-contact .muted{color:#5c6b70;line-height:1.7}.quick-contact .contact-phone-list svg{width:17px;height:17px;flex-shrink:0}.dock-author{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #dcdedb}.dock-author img{width:44px;height:48px;object-fit:cover;object-position:center 25%;border-radius:6px}.dock-author strong{display:block;font-size:13px;color:#20343e}.dock-author span{display:block;font-size:10px;color:#5c6b70}.quick-contact .quick-qr button{border-radius:2px}.quick-contact [data-copy-status]{display:block;font-size:10px;color:#5c6b70}.quick-contact a:focus-visible{outline:2px solid #8b5832;outline-offset:4px}
@media(max-width:767px){body:has(.quick-contact){--mobile-contact-clearance:calc(100px + env(safe-area-inset-bottom,0px))}}
@media(max-width:1279px){body:has(#inquiry-dialog[open]) .quick-contact{visibility:hidden;pointer-events:none}}
