/* Contact widget: one compact launcher, one deliberate open state. */
.contact-widget{--contact-ink:#292720;--contact-muted:#77746e;position:fixed;right:24px;bottom:24px;z-index:25;font-family:Roboto,Arial,sans-serif}
/* Overlapping branded SVG cards act as one accessible button. */
.contact-toggle{position:relative;display:block;width:150px;height:64px;padding:0;border:0;border-radius:24px;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.contact-stack{position:absolute;inset:4px 0;display:block;isolation:isolate}
.contact-stack-card{position:absolute;top:2px;width:52px;height:52px;display:grid;place-items:center;border:3px solid #fff;border-radius:18px;box-shadow:0 3px 9px #29272026;transition:transform .23s cubic-bezier(.2,.7,.2,1),box-shadow .2s;overflow:hidden}
.contact-stack-card img{width:100%;height:100%;object-fit:contain;display:block}
.stack-max{left:2px;z-index:1;background:#fff;transform:translateY(3px) rotate(-10deg)}
.stack-telegram{left:32px;z-index:2;background:#299ed8;transform:rotate(-4deg)}
.stack-telegram img{width:48px;height:48px}
.stack-whatsapp{left:62px;z-index:3;background:#26a755;transform:translateY(2px) rotate(4deg)}
.stack-whatsapp img{width:29px;height:29px;filter:brightness(0) invert(1)}
.stack-phone{left:92px;z-index:4;background:var(--contact-ink);color:white}
.stack-phone svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linejoin:round;stroke-linecap:round}
.stack-phone-symbol,.stack-close-symbol{display:grid;place-items:center;grid-area:1/1;transition:transform .2s,opacity .15s}
.stack-close-symbol{position:absolute;opacity:0;transform:rotate(-60deg) scale(.6)}
.contact-toggle[aria-expanded=true] .stack-phone-symbol{opacity:0;transform:rotate(35deg) scale(.6)}
.contact-toggle[aria-expanded=true] .stack-close-symbol{opacity:1;transform:rotate(0) scale(1)}
.contact-toggle[aria-expanded=true] .stack-max{transform:translateY(0) rotate(-5deg)}
.contact-toggle[aria-expanded=true] .stack-whatsapp{transform:rotate(0)}
.contact-toggle-hint{position:absolute;right:calc(100% + 8px);top:18px;background:var(--contact-ink);color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;line-height:1.3;opacity:0;pointer-events:none;transition:opacity .15s;white-space:nowrap}
@media(hover:hover){.contact-toggle:hover .stack-max{transform:translate(-6px,0) rotate(-12deg)}.contact-toggle:hover .stack-telegram{transform:translate(-4px,-3px) rotate(-5deg)}.contact-toggle:hover .stack-whatsapp{transform:translate(-2px,-2px) rotate(3deg)}.contact-toggle:hover .stack-phone{transform:translateY(-2px);box-shadow:0 5px 12px #29272030}.contact-toggle:not([aria-expanded=true]):hover .contact-toggle-hint{opacity:1}}
.contact-toggle:not([aria-expanded=true]):focus-visible .contact-toggle-hint{opacity:1}
.contact-options{position:absolute;right:0;bottom:calc(100% + 14px);width:328px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 106px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9c5bd #fff;background:#fff;color:var(--contact-ink);border:0;border-radius:24px;padding:22px 18px 10px;box-shadow:0 12px 50px #29272024,0 2px 8px #2927200d;transform-origin:bottom right;animation:contact-reveal .22s cubic-bezier(.2,.7,.2,1)}
.contact-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0 1px 20px}
.contact-panel-heading h2{font-size:23px;font-weight:700;line-height:1.15;text-align:left;letter-spacing:-.35px;margin:0 0 7px}
.contact-panel-heading p{font-size:13px;line-height:1.3;color:var(--contact-muted);margin:0}
.contact-panel-close{display:grid;place-items:center;flex:none;width:36px;height:36px;border:0;border-radius:50%;background:#f4f3f0;color:#75716b;margin:-5px -4px 0 0}
.contact-panel-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}.contact-panel-close:hover{color:#292720;background:#eceae5}
.contact-option{text-decoration:none;min-width:0}
.contact-call{display:flex;align-items:center;gap:11px;border:0;background:#f5f3ee;padding:16px 12px;border-radius:16px;color:var(--contact-ink);transition:background .16s}
.contact-call:hover{background:#eeebe3}.call-symbol{display:grid;place-items:center;flex:none;width:35px;height:35px;color:#716046}
.call-symbol svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-call small{display:block;font-size:12px;color:#6d685e;line-height:1.3;margin-bottom:4px}.contact-call strong{display:block;font-size:19px;line-height:1.15;font-weight:700;white-space:nowrap;letter-spacing:-.3px}
.contact-arrow{margin-left:auto;align-self:center}.contact-arrow svg{width:18px;height:18px;stroke:#7a7265;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 4px}
.contact-channel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-height:112px;padding:13px 4px 12px;border:0;border-radius:15px;background:#f6f6f5;color:var(--contact-ink);text-align:center;transition:background .16s}
.contact-channel:hover:not(:disabled){background:#ebf4eb}.contact-channel:disabled{cursor:default;background:#f7f7f6;color:#74736f}
.channel-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:9px;border-radius:10px;overflow:hidden}.channel-icon img{width:32px;height:32px;display:block;object-fit:contain}.channel-whatsapp{background:#26a755;padding:5px;border-radius:50%}.channel-whatsapp img{width:22px;height:22px;filter:brightness(0) invert(1)}.contact-channel:disabled .channel-icon{opacity:.7}
.channel-name{font-size:12px;line-height:1.3;font-weight:600}.channel-hint{font-size:10px;line-height:1.3;color:#818078;margin-top:3px}.contact-channel:not(:disabled) .channel-hint{color:#46734d}
.widget-callback{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 5px 10px;border:0;background:transparent;color:#71634e;font-size:13px;font-weight:500;text-align:left}
.widget-callback:hover{color:#292720}.widget-callback svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.contact-widget :focus-visible{outline:2px solid #b46a15;outline-offset:3px}
@keyframes contact-reveal{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.contact-widget{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.contact-toggle{width:138px;height:60px}.contact-stack-card{width:48px;height:48px;border-radius:16px}.stack-max{left:2px}.stack-telegram{left:29px}.stack-telegram img{width:44px;height:44px}.stack-whatsapp{left:56px}.stack-whatsapp img{width:27px;height:27px}.stack-phone{left:83px}.contact-toggle-hint{display:none}.contact-options{width:320px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 100px);padding:21px 16px 9px;bottom:calc(100% + 10px)}.contact-panel-heading h2{font-size:22px}.contact-call{gap:8px;padding:15px 10px}.contact-call strong{font-size:18px}.call-symbol{width:31px}.contact-channel{min-height:108px}}
@media(max-width:359px){.contact-options{padding-inline:13px}.contact-call strong{font-size:17px}.contact-call{gap:6px}.contact-arrow{display:none}.contact-channels{gap:6px}.contact-panel-heading h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){.contact-options{animation:none}.contact-widget *{transition:none!important}}
