/* Shared service availability and owner-configured presentation counter. */
/* Contact brand marks are local SVGs, shared by the picker and desktop dock. */
.channel-logo{display:block;width:24px;height:24px;flex:0 0 24px;object-fit:contain}
.contact-channel-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px;line-height:1.6}
.channel-select{position:relative;min-width:0}
.channel-select>[data-channel-trigger]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;text-align:left;border:1px solid #c9d0da;border-radius:1px;background:#fff;padding:10px 12px;color:var(--ink);font-size:14px;line-height:1.5}
.channel-selected,.channel-option-main{display:flex;align-items:center;gap:10px;min-width:0}
.channel-chevron{width:16px;height:16px;flex:0 0 16px;transform:rotate(90deg);color:var(--muted)}
[data-channel-trigger][aria-expanded=true]{border-color:var(--ink)}
[data-channel-trigger][aria-expanded=true]>.channel-chevron{transform:rotate(-90deg)}
.channel-options{position:absolute;z-index:80;inset:calc(100% + 6px) 0 auto;list-style:none;margin:0;padding:5px;background:#fff;border:1px solid #d5d9dc;box-shadow:0 14px 36px #181c211a;border-radius:3px}
.channel-options>[role=option]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:9px 10px;font-size:14px;cursor:pointer;line-height:1.5}
.channel-options>[role=option].is-active{background:#f2f4f3}
.channel-check{width:17px;height:17px;flex:0 0 17px;color:var(--accent);visibility:hidden}
.channel-options>[aria-selected=true]>.channel-check{visibility:visible}
.contact-dock{position:fixed;right:26px;bottom:32px;z-index:90;display:none}
.contact-dock-trigger{display:grid;place-items:center;width:62px;height:62px;border:1px solid #dde3de;border-radius:50%;background:white;box-shadow:0 5px 24px #142c1a24;transition:box-shadow .18s,transform .18s}
.contact-dock-trigger>.channel-logo{width:34px;height:34px}
.contact-dock-trigger:hover,.contact-dock-trigger[aria-expanded=true]{box-shadow:0 8px 30px #142c1a38;transform:translateY(-2px)}
.contact-dock-panel{position:absolute;right:100%;bottom:0;width:304px;padding-right:16px}
.contact-dock-card{background:#fff;border:1px solid #e0e4e0;border-radius:8px;box-shadow:0 12px 45px #15221a24;overflow:hidden;animation:contact-reveal .16s ease-out}
.contact-dock-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 20px 16px;border-bottom:1px solid #edf0ed}
.contact-dock-heading strong{font-size:16px;font-weight:600}
.contact-dock-heading>span{font-size:10px;letter-spacing:.05em;color:#397456;background:#edf6f0;padding:3px 7px;border-radius:3px}
.contact-dock-link{display:flex;align-items:center;gap:13px;min-height:73px;padding:14px 20px;color:var(--ink)}
.contact-dock-link:hover,.contact-dock-link:focus-visible{background:#f4f7f4}
.contact-dock-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px}
.contact-dock-icon .channel-logo{width:28px;height:28px}
.contact-dock-link>span:nth-child(2){display:grid;gap:3px;min-width:0}
.contact-dock-link strong{font-size:14px;font-weight:550;line-height:1.4}
.contact-dock-link small{font-size:11px;color:var(--muted);line-height:1.5}
.contact-dock-link>.icon{margin-left:auto;width:15px;height:15px;flex:0 0 15px;color:#687269}
.contact-dock-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f6f3;border-top:1px solid #edf0ed;font-size:11px;min-height:44px;padding:12px 20px;color:var(--muted)}
.contact-dock-footer>.icon{width:15px;height:15px}
@keyframes contact-reveal{from{opacity:0;transform:translateX(5px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:1024px){.contact-dock{display:block}}
@media(max-width:767px){.contact-channel-field{font-size:12px}.channel-select>[data-channel-trigger],.channel-options>[role=option]{font-size:16px}}
@media(max-width:599px){.contact-channel-field,.form-grid>label:has(input[name=name]){grid-column:1/-1}}
body:has(dialog[open]) .contact-dock{display:none}
@media(prefers-reduced-motion:reduce){.contact-dock-card{animation:none}.contact-dock-trigger{transition:none}}
@media print{.contact-dock{display:none!important}}
.response-status{color:var(--ink);min-width:0}
.response-status-label{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:500;line-height:1.6}
.response-status-dot{position:relative;width:7px;height:7px;flex:0 0 7px;background:#417361;border-radius:50%}
.response-status-dot:after{content:'';position:absolute;inset:-4px;border:1px solid #41736160;border-radius:50%;animation:concierge-pulse 1.6s ease-out 3}
.response-status-note{margin-top:13px;font-size:11px;line-height:1.7}
.response-status-time{display:flex;align-items:baseline;gap:8px;margin-top:12px;font-size:12px;line-height:1.5;color:var(--muted);white-space:nowrap}
.response-status-time[hidden],.response-status-detail[hidden]{display:none}
.response-status-time strong{display:inline-block;min-width:3ch;text-align:center;color:var(--ink);font-size:30px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.2;letter-spacing:-.04em}
.response-status-compact .response-status-time{margin-top:0;font-size:11px;gap:6px}
.response-status-compact .response-status-time strong{font-size:22px}
.contact-options>.response-status .response-status-time{color:#c2c8cf}
.contact-options>.response-status .response-status-time strong{color:white}
.response-status-compact{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.contact-options>.response-status{grid-column:1/-1;color:#fff;border-bottom:1px solid #ffffff26;padding-bottom:22px;margin-bottom:8px}
.contact-options>.response-status .response-status-dot{background:#9ac5b1}
.contact-options>.response-status .response-status-dot:after{border-color:#9ac5b170}
.contact-options>.button:nth-child(2){grid-column:1/-1}
/* The contact dialog has its own composition, independent of the enquiry form. */
.contact-dialog{width:min(820px,calc(100% - 48px));max-width:820px;padding:0;border:0;border-radius:4px;background:#fff;max-height:calc(100dvh - 48px)}
.contact-dialog::backdrop{background:#12171cd1;backdrop-filter:blur(4px)}
.contact-dialog>.dialog-header{padding:30px 34px 22px;gap:24px;align-items:center}
.contact-dialog>.dialog-header .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:9px}
.contact-dialog>.dialog-header h2{font-size:29px;font-weight:550;line-height:1.3}
.contact-dialog>.dialog-header .icon-button{margin:0;align-self:flex-start;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;min-width:38px}
.contact-dialog-response{margin:0 34px 28px;padding:15px 0;border-block:1px solid var(--line)}
.contact-dialog #contact-body{padding:0 34px 30px}
.wechat-panel{display:grid;grid-template-columns:242px minmax(0,1fr);gap:36px;align-items:center}
.wechat-panel.wechat-panel-no-qr{grid-template-columns:1fr}
.wechat-code{margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.wechat-code-well{padding:16px;background:#f5f4f0;border:1px solid #e9e6df;width:242px;max-width:100%;aspect-ratio:1;display:grid;place-items:center}
.contact-dialog #contact-body .wechat-code img{width:208px;height:208px;max-width:100%;max-height:none;object-fit:contain;margin:0;background:white}
.wechat-code figcaption{font-size:12px;line-height:1.7;color:var(--muted)}
.wechat-download{font-size:11px;min-height:28px}
.wechat-details{display:flex;flex-direction:column;gap:22px;min-width:0}
.contact-dialog #contact-body .wechat-intro h3{font-size:23px;line-height:1.45;letter-spacing:-.025em;margin:0 0 12px;font-weight:550}
.contact-dialog #contact-body .wechat-intro p{font-size:13px;line-height:1.85}
.wechat-account{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 16px;padding:16px 0 0;border-top:1px solid var(--line)}
.wechat-identity{display:flex;flex-direction:column;gap:5px;min-width:0}
.wechat-account-label{font-size:10px;color:var(--muted);letter-spacing:.04em}
.contact-dialog .contact-value{margin:0;padding:0;background:none;font-size:20px;letter-spacing:.01em;font-weight:550;line-height:1.5;user-select:all;overflow-wrap:anywhere}
.wechat-copy{font-size:11px;min-height:36px;white-space:nowrap}
.contact-dialog #contact-body .wechat-copy-feedback{grid-column:1/-1;min-height:19px;font-size:11px;line-height:1.7;color:#417361;margin-top:4px}
.wechat-actions{margin-top:-10px}
.wechat-actions>.button{width:100%;min-height:48px;font-size:13px;gap:15px;padding-inline:18px}
.wechat-actions>.button:after{content:'↗';font-size:18px;line-height:1;font-weight:400}
.contact-dialog #contact-body .wechat-note{font-size:11px;line-height:1.8;margin-top:-10px}
.contact-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;background:#f7f7f5;border-top:1px solid #e9e7e3;padding:19px 34px;color:var(--muted);font-size:12px}
.contact-dialog #contact-to-quote{width:auto;min-height:36px;font-size:12px;color:var(--ink)}
@keyframes concierge-pulse{0%{transform:scale(.65);opacity:.65}85%,100%{transform:scale(1.6);opacity:0}}
@media(max-width:767px){
 .contact-options>.response-status{padding-bottom:18px;margin-bottom:5px}
 .contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
 .contact-dialog>.dialog-header{padding:23px 22px 17px;gap:12px}.contact-dialog>.dialog-header h2{font-size:24px}.contact-dialog>.dialog-header .eyebrow{font-size:8px;margin-bottom:7px}
 .contact-dialog>.dialog-header .icon-button{width:34px;height:34px;min-width:34px}
 .contact-dialog #contact-body{padding:0 22px 20px}.wechat-panel{display:flex;flex-direction:column;gap:18px;align-items:stretch}
 .wechat-details{display:contents}.wechat-intro{display:none}.wechat-actions{order:1;margin:0}.wechat-code{order:2;gap:8px}.wechat-account{order:3;padding-top:14px}.wechat-note{order:4}
 .wechat-code-well{width:224px;padding:14px}.contact-dialog #contact-body .wechat-code img{width:194px;height:194px}
 .contact-dialog #contact-body .wechat-note{margin-top:-12px;font-size:10px;text-align:center}
 .contact-dialog .contact-value{font-size:19px}.wechat-copy{font-size:11px}.wechat-account-label{font-size:10px}
 .contact-dialog-footer{padding:14px 22px;gap:6px 15px;font-size:11px}.contact-dialog #contact-to-quote{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.response-status-dot:after{animation:none;opacity:.45}}

.response-status-detail{display:block;margin-top:12px;font-size:12px;color:var(--muted)}
.response-status-compact .response-status-detail{margin:0;font-size:11px}
.contact-options>.response-status .response-status-detail{color:#c2c8cf}
.support-hours>.response-status .response-status-label{display:none}
@media(max-width:767px){.contact-dialog-response{margin:0 22px 20px;padding-block:13px}.contact-dialog-response .response-status{gap:8px 18px}.contact-dialog-response .response-status-detail{font-size:10px}.wechat-copy,.wechat-download,.contact-dialog #contact-to-quote{min-height:40px}}
