/* Mitt contact: one circular LINE trigger, using the existing account. */
#mitt-contact {
  --contact-ease:var(--mitt-motion-ease,cubic-bezier(.3,1,.3,1));
  --contact-time:240ms;
  position:fixed;right:24px;bottom:calc(24px + var(--mitt-contact-clearance,0px) + env(safe-area-inset-bottom,0px));
  z-index:45;color:#171717;font-family:inherit;line-height:1.5;-webkit-tap-highlight-color:transparent;
  transition:opacity 160ms var(--contact-ease),visibility 160ms;
}
#mitt-contact[hidden] {display:none!important}
#mitt-contact.is-obscured {opacity:0;visibility:hidden;pointer-events:none}
#mitt-contact *,#mitt-contact *::before,#mitt-contact *::after {box-sizing:border-box}
:where(#mitt-contact) a {text-decoration:none;color:inherit}
:where(#mitt-contact) button {font:inherit;color:inherit;cursor:pointer}
#mitt-contact .mitt-contact-rail {display:flex;align-items:center;gap:12px}
#mitt-contact .mitt-contact-bubble {
  display:flex;align-items:center;justify-content:center;border:1px solid #1717170a;background:#fff;
  box-shadow:0 5px 16px #1717170a,0 12px 32px #17171712;
  transition:transform 200ms var(--contact-ease),box-shadow 200ms ease,opacity 160ms ease,visibility 160ms,color var(--mitt-motion-time,500ms) var(--contact-ease) 100ms,border-color var(--mitt-motion-time,500ms) var(--contact-ease);
}
#mitt-contact .mitt-contact-bubble {position:relative;isolation:isolate;flex:none;width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;font-size:16px;font-weight:550;white-space:nowrap}
#mitt-contact .mitt-contact-hover-copy {position:absolute;z-index:-1;right:calc(100% - 20px);top:-1px;display:flex;align-items:center;height:56px;width:max-content;padding:0 32px 0 22px;background:#fff;border-radius:999px 0 0 999px;box-shadow:0 5px 20px #1717170a;opacity:0;visibility:hidden;transform:translateX(14px);pointer-events:none;transition:transform var(--contact-time) var(--contact-ease),opacity 160ms ease,visibility var(--contact-time)}
#mitt-contact .mitt-contact-bubble>.mitt-contact-line-icon {width:36px;height:36px}
#mitt-contact .mitt-contact-bubble {user-select:none;-webkit-user-select:none}
#mitt-contact:not(.is-open) .mitt-contact-bubble:focus-visible .mitt-contact-hover-copy {opacity:1;visibility:visible;transform:none;pointer-events:auto}
#mitt-contact .mitt-contact-line-icon {display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:50%;background:#06c755;color:#fff}
#mitt-contact .mitt-contact-line-icon svg {display:block;width:25px;height:25px;overflow:visible}
#mitt-contact .mitt-contact-panel {
  position:absolute;right:0;bottom:calc(100% + 12px);width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 128px - var(--mitt-contact-clearance,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;padding:30px 20px 20px;border:1px solid #17171712;border-radius:24px;background:#fff;
  box-shadow:0 7px 20px #17171708,0 18px 48px #17171719;transform-origin:calc(100% - 29px) 100%;
  opacity:0;visibility:hidden;transform:translateY(8px) scale(.975);pointer-events:none;
  transition:opacity var(--contact-time) ease,transform var(--contact-time) var(--contact-ease),visibility var(--contact-time);
}
#mitt-contact .mitt-contact-close {position:absolute;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;transition:background 160ms ease}
#mitt-contact .mitt-contact-close svg {width:22px;height:22px}
#mitt-contact .mitt-contact-action {display:flex;align-items:center;gap:12px;min-height:52px;width:100%;padding:10px 12px;border:0;border-radius:12px;background:#fff;text-align:left;font-size:16px;font-weight:600;--mm-fill-color:#171717;--mm-hover-ink:#fff}
#mitt-contact .mitt-contact-primary {justify-content:center;min-height:56px;padding:11px 14px;border-radius:14px;background:#171717;color:#fff;font-size:17px;font-weight:500;--mm-hover-ink:#fff}
#mitt-contact .mitt-contact-qr {display:flex;justify-content:center;margin:16px 0 20px;padding:0}
#mitt-contact .mitt-contact-qr img {display:block;flex:none;width:205px;height:205px;max-width:100%;object-fit:contain;image-rendering:pixelated}
#mitt-contact.is-open .mitt-contact-panel {visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-property:opacity,transform}
#mitt-contact:not(.is-open) .mitt-contact-bubble {transition-property:transform,box-shadow,opacity,color,border-color}
#mitt-contact :is(a,button):focus-visible {outline:2px solid #466987;outline-offset:4px}
@media (hover:hover) and (pointer:fine) {
  #mitt-contact:not(.is-open) .mitt-contact-bubble:hover .mitt-contact-hover-copy {opacity:1;visibility:visible;transform:none;pointer-events:auto}
  #mitt-contact .mitt-contact-bubble:hover {box-shadow:0 7px 20px #17171710,0 14px 36px #1717171a}
  #mitt-contact .mitt-contact-close:hover {background:#f0f1ed}
}
#mitt-contact .mitt-contact-bubble:active {transform:scale(.97)}
#mitt-contact .mitt-contact-action:active {transform:scale(.985)}
@media (max-width:760px) {
  #mitt-contact {right:16px;bottom:calc(16px + var(--mitt-contact-clearance,0px) + env(safe-area-inset-bottom,0px))}
  #mitt-contact .mitt-contact-rail {gap:9px}
  #mitt-contact .mitt-contact-bubble {flex:none;width:52px;height:52px;min-height:52px;padding:0;gap:0;font-size:15px;border-radius:50%}
  #mitt-contact .mitt-contact-line-icon {width:30px;height:30px}
  #mitt-contact .mitt-contact-hover-copy {height:52px}
  #mitt-contact .mitt-contact-panel {width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 112px - var(--mitt-contact-clearance,0px) - env(safe-area-inset-bottom,0px));padding:30px 20px 20px;transform-origin:calc(100% - 26px) 100%}
}
@media (prefers-reduced-motion:reduce) {
  #mitt-contact,#mitt-contact *,#mitt-contact *::before,#mitt-contact *::after {transition:none!important;animation:none!important}
  #mitt-contact .mitt-contact-bubble:hover,#mitt-contact .mitt-contact-action:active {transform:none}
}

/* Local B1 candidate. Both existing actions share the contact component's rail. */
#mitt-contact.has-digital-consult {
  --consult-ink:#243a2e;
  --consult-edge:rgba(39,52,42,.1);
  --consult-shadow:0 2px 4px rgba(30,42,34,.025),0 10px 30px rgba(30,42,34,.10);
  font-family:inherit;
}
#mitt-contact.has-digital-consult .mitt-contact-rail {gap:13px;align-items:center}
#mitt-contact.has-digital-consult .mitt-chat-entry {
  position:relative;inset:auto;z-index:auto;display:inline-flex;align-items:center;gap:11px;
  min-height:54px;padding:10px 21px 10px 13px;border:1px solid var(--consult-edge);
  border-radius:18px;background:#fff;color:var(--consult-ink);box-shadow:var(--consult-shadow);
  font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;
  letter-spacing:.025em;text-decoration:none;white-space:nowrap;
  transition:box-shadow 180ms ease,background-color 180ms ease,border-color 180ms ease,transform 120ms ease;
}
#mitt-contact.has-digital-consult .mitt-chat-entry::after {
  content:"";position:absolute;right:-5px;top:calc(50% - 5px);width:9px;height:9px;
  border-top:1px solid var(--consult-edge);border-right:1px solid var(--consult-edge);
  background:inherit;transform:rotate(45deg);pointer-events:none;
}
#mitt-contact.has-digital-consult .mitt-consult-icon {
  display:grid;place-items:center;flex:none;width:32px;height:32px;
  border-radius:50%;background:#edf2ed;color:#375440;
}
#mitt-contact.has-digital-consult .mitt-consult-icon svg {display:block;width:22px;height:22px}
#mitt-contact.has-digital-consult .mitt-contact-bubble {
  width:64px;height:64px;min-height:64px;border:1px solid var(--consult-edge);
  background:#fff;box-shadow:var(--consult-shadow);
  transition:box-shadow 180ms ease,border-color 180ms ease,transform 120ms ease;
}
#mitt-contact.has-digital-consult .mitt-contact-brand {display:flex;align-items:center;flex-direction:column;gap:5px;pointer-events:none}
#mitt-contact.has-digital-consult .mitt-contact-brand img {display:block;width:42px;height:16px;object-fit:contain}
#mitt-contact.has-digital-consult .mitt-contact-channel {font:700 9px/1 Arial,sans-serif;letter-spacing:.06em;color:#287443}
#mitt-contact.has-digital-consult .mitt-contact-panel {border-radius:22px;border-color:var(--consult-edge);box-shadow:0 8px 40px #2033271c}
#mitt-contact.has-digital-consult .mitt-consult-note {
  position:absolute;right:0;bottom:calc(100% + 12px);width:290px;max-width:calc(100vw - 32px);
  padding:18px 48px 18px 20px;border:1px solid var(--consult-edge);border-radius:18px;
  background:#fff;box-shadow:var(--consult-shadow);color:var(--consult-ink);font-size:14px;line-height:1.6;
}
#mitt-contact.has-digital-consult .mitt-consult-note p {margin:0}
#mitt-contact.has-digital-consult .mitt-consult-note button {
  position:absolute;right:5px;top:6px;display:grid;place-items:center;width:44px;height:44px;
  border:0;border-radius:50%;background:transparent;color:#617368;font-size:24px;font-weight:400;
}
#mitt-contact.has-digital-consult :is(.mitt-chat-entry,.mitt-contact-bubble):focus-visible {
  outline:2px solid #4c725d;outline-offset:4px;
}
#mitt-contact.has-digital-consult .mitt-chat-entry:active {transform:translateY(1px)}
#mitt-contact.has-digital-consult .mitt-contact-bubble:active {transform:scale(.97)}
@media (hover:hover) and (pointer:fine) {
  #mitt-contact.has-digital-consult .mitt-chat-entry:hover {background:#f8faf7;border-color:#afc0b0;box-shadow:0 3px 8px #20332706,0 12px 28px #2033271c}
  #mitt-contact.has-digital-consult .mitt-contact-bubble:hover {border-color:#afc0b0;box-shadow:0 3px 8px #20332706,0 12px 28px #2033271c}
}
@media (max-width:760px) {
  #mitt-contact.has-digital-consult .mitt-contact-rail {gap:12px}
  #mitt-contact.has-digital-consult .mitt-chat-entry {min-height:50px;padding:9px 17px 9px 11px;gap:9px;border-radius:16px;font-size:15px}
  #mitt-contact.has-digital-consult .mitt-consult-icon {width:30px;height:30px}
  #mitt-contact.has-digital-consult .mitt-contact-bubble {width:56px;height:56px;min-height:56px}
  #mitt-contact.has-digital-consult .mitt-contact-brand {gap:4px}
  #mitt-contact.has-digital-consult .mitt-contact-brand img {width:36px;height:14px}
}
@media (prefers-reduced-motion:reduce) {
  #mitt-contact.has-digital-consult :is(.mitt-chat-entry,.mitt-contact-bubble) {transition:none;transform:none}
}
@media print {#mitt-contact.has-digital-consult {display:none}}
