.vvc-contact-buttons{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.utility .container{height:auto;min-height:48px;padding-top:6px;padding-bottom:6px}
.utility .vvc-contact-buttons--utility{margin-left:auto}
.vvc-closing-actions{flex-shrink:0}
.vvc-closing-actions>.vvc-contact-buttons{margin-top:0}
.vvc-closing-actions>.btn{margin-top:14px;background:transparent;padding:8px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:12px}
.menu-open .vvc-contact-floating{visibility:hidden;pointer-events:none}
.vvc-contact-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:14px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.02em;text-decoration:none!important;text-align:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;color:inherit}
.vvc-contact-buttons--inline{margin-top:24px}
.vvc-contact-button svg{display:block;flex:0 0 22px;width:22px;height:22px}
.vvc-contact-button--kakao{background:#fee500!important;color:#251e00!important;border-color:#ebd300}
.vvc-contact-button--telegram{background:#087db8!important;color:#fff!important;border-color:#0872a8}
.vvc-contact-arrow{font-size:15px;line-height:1;opacity:.85}
.vvc-contact-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(20,48,30,.12)}
.vvc-contact-button:focus-visible,.vvc-contact-dialog button:focus-visible,.vvc-contact-dialog a:focus-visible,.vvc-contact-id:focus-visible{outline:3px solid #244a35;outline-offset:4px}
.vvc-contact-buttons--header,.vvc-contact-buttons--utility{gap:7px;flex-wrap:nowrap}
.vvc-contact-buttons--header .vvc-contact-button,.vvc-contact-buttons--utility .vvc-contact-button{min-height:36px;padding:7px 11px;font-size:12px;border-radius:10px;white-space:nowrap}
.vvc-contact-buttons--header svg,.vvc-contact-buttons--utility svg{width:17px;height:17px;flex-basis:17px}
.vvc-contact-buttons--header .vvc-contact-arrow,.vvc-contact-buttons--utility .vvc-contact-arrow{display:none}
.vvc-contact-panel{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:28px;margin:48px 0;padding:32px 36px;border:1px solid #dce5d9;border-radius:24px;background:#f2f6ef;color:#203d2c}
.vvc-contact-eyebrow{margin:0 0 10px!important;font:700 10px/1.4 sans-serif;letter-spacing:.15em;color:#55735c}
.vvc-contact-panel h2{margin:0 0 10px;font-family:inherit;font-size:clamp(22px,2.4vw,30px);font-weight:700;line-height:1.4;letter-spacing:-.04em;color:#203d2c}
.vvc-contact-panel-copy>p:last-child{margin:0;font-size:15px;line-height:1.75;color:#536556}
.vvc-contact-buttons--panel{flex-shrink:0;max-width:100%}
.vvc-contact-buttons--footer{margin-top:20px}
.footer .vvc-contact-buttons--footer .vvc-contact-button{display:inline-flex;margin:0;min-height:44px;padding:10px 15px;font-size:13px}
.vvc-contact-floating{position:fixed;right:24px;bottom:24px;z-index:80;padding:8px;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(16,38,24,.18)}
.vvc-contact-buttons--floating{flex-direction:column;gap:7px}
.vvc-contact-buttons--floating .vvc-contact-button{min-width:174px;min-height:46px;padding:11px 16px;font-size:14px}
.vvc-contact-dialog{box-sizing:border-box;margin:auto;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:32px;border:1px solid #e0e7dc;border-radius:24px;background:#fff;color:#203d2c;box-shadow:0 24px 80px rgba(0,0,0,.24);font-family:inherit;overflow:auto;overscroll-behavior:contain}
.vvc-contact-dialog:not([open]){display:none}
.vvc-contact-dialog[open]{display:block}
.vvc-contact-dialog::backdrop{background:rgba(12,29,20,.54)}
.vvc-contact-dialog.vvc-contact-dialog--fallback{position:fixed;inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%);z-index:10000;box-shadow:0 0 0 100vmax rgba(12,29,20,.54),0 24px 80px rgba(0,0,0,.24)}
.vvc-contact-dialog-open{overflow:hidden}
.vvc-contact-close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#f2f5ef;color:#36533f;font:400 28px/1 sans-serif;cursor:pointer}
.vvc-contact-dialog h2{margin:0 24px 12px 0;font-family:inherit;font-size:24px;font-weight:700;line-height:1.4;letter-spacing:-.03em;color:#203d2c}
.vvc-contact-status{min-height:44px;margin:12px 0 18px;font-size:14px;line-height:1.6;color:#48634f}
.vvc-contact-id-label{display:block;margin:0 0 7px;font-size:12px;font-weight:700;color:#536556}
.vvc-contact-id{box-sizing:border-box;display:block;width:100%;padding:13px 15px;border:1px solid #cbd8c8;border-radius:12px;background:#f6f8f3;color:#1e3728;font:600 21px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.025em;user-select:all;-webkit-user-select:all}
.vvc-contact-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.vvc-contact-copy,.vvc-contact-open{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 12px;border:1px solid #d8e1d4;border-radius:12px;background:#fff;color:#294832!important;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none!important;cursor:pointer}
.vvc-contact-open{border-color:#ebd300;background:#fee500;color:#251e00!important}
.vvc-contact-copy:disabled{opacity:.55;cursor:wait}
.vvc-contact-help{margin:17px 0 0;font-size:12px;line-height:1.75;color:#647268}
@media(max-width:1100px){.vvc-contact-panel{align-items:flex-start;flex-direction:column;gap:22px}.utility .container>.vvc-utility-themes{display:none}.vvc-closing-actions{flex-shrink:1}}
@media(max-width:900px){.utility .container>.utility-tagline{display:none}}
@media(max-width:700px){
 .utility .vvc-contact-buttons--utility{display:none}.utility .container>.utility-tagline{display:block}.utility .container{min-height:38px;padding-top:0;padding-bottom:0}
 .vvc-closing-actions{width:100%}.vvc-closing-actions>.vvc-contact-buttons{display:grid;grid-template-columns:1fr 1fr}.vvc-closing-actions .vvc-contact-button{padding:12px 8px;font-size:13px;gap:6px}
 .vvc-contact-panel{margin:32px 0;padding:24px 20px;border-radius:20px;gap:20px}
 .vvc-contact-buttons--panel{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
 .vvc-contact-buttons--panel .vvc-contact-button{padding:12px 10px;font-size:13px;gap:7px}
 .vvc-contact-floating{left:0;right:0;bottom:0;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border:0;border-top:1px solid #dfe5dc;border-radius:18px 18px 0 0;box-shadow:0 -5px 22px rgba(16,38,24,.09)}
 .vvc-contact-buttons--floating{display:grid;grid-template-columns:1fr 1fr;gap:9px}
 .vvc-contact-buttons--floating .vvc-contact-button{min-width:0;min-height:46px;padding:11px 8px;font-size:13px;border-radius:12px;gap:7px}
 body.vvc-contact-has-floating,body:has(.vvc-contact-floating){padding-bottom:calc(75px + env(safe-area-inset-bottom))}
 .vvc-contact-dialog{padding:28px 22px;border-radius:20px}
 .vvc-contact-dialog h2{font-size:22px}
 .vvc-contact-dialog-actions{gap:8px}
 .vvc-contact-copy,.vvc-contact-open{font-size:13px}
}
@media(max-width:360px){.vvc-contact-buttons--panel{grid-template-columns:1fr}.vvc-contact-buttons--floating .vvc-contact-button{font-size:12px;gap:5px}.vvc-contact-buttons--floating .vvc-contact-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.vvc-contact-button{transition:none}.vvc-contact-button:hover{transform:none}}
@media print{.vvc-contact-floating,.vvc-contact-dialog,.vvc-contact-buttons--header,.vvc-contact-buttons--utility{display:none!important}body.vvc-contact-has-floating,body:has(.vvc-contact-floating){padding-bottom:0}}
