.audaces-diagnostic-scope {
  --as-ink-950: #050505;
  --as-ink-900: #0f1115;
  --as-text: #111827;
  --as-text-2: #6b7280;
  --as-text-3: #9ca3af;
  --as-line: #e5e7eb;
  --as-green: #10b981;
  --as-green-light: #34d399;
  --as-green-dark: #047857;
  --as-font-manrope: Manrope;
  box-sizing: border-box;
  font-family: Inter, system-ui, sans-serif;
}
.audaces-diagnostic-scope *, .audaces-diagnostic-scope *::before, .audaces-diagnostic-scope *::after { box-sizing: border-box; }

.contact-dock { position: fixed; z-index: 80; right: 22px; bottom: 22px; }
.contact-dock__trigger { display: flex; min-height: 54px; align-items: center; gap: 10px; border: 1px solid rgb(255 255 255 / 28%); border-radius: 999px; background: var(--as-green); padding: 7px 18px 7px 7px; box-shadow: 0 18px 44px rgb(5 5 5 / 24%); color: var(--as-ink-950); cursor: pointer; font-size: 12px; font-weight: 400; transition: background 260ms ease, box-shadow 320ms ease, transform 320ms cubic-bezier(.16, 1, .3, 1); }
.contact-dock__icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: rgb(255 255 255 / 46%); font-size: 16px; transition: background 260ms ease, transform 320ms cubic-bezier(.16, 1, .3, 1); }
.contact-dock__trigger:hover { background: var(--as-green-light); box-shadow: 0 22px 52px rgb(5 5 5 / 29%); transform: translateY(-3px); }
.contact-dock__trigger:hover .contact-dock__icon { background: rgb(255 255 255 / 62%); transform: rotate(45deg); }
.contact-dock--return .contact-dock__trigger { min-height: 58px; padding-right: 22px; font-size: 14px; }
.contact-dock--return .contact-dock__icon { width: 42px; height: 42px; }
.contact-dock[data-open="true"] .contact-dock__trigger { background: white; }
.contact-dock[data-open="true"] .contact-dock__icon { transform: rotate(45deg); }
.contact-card { position: absolute; right: 0; bottom: 66px; width: min(360px, calc(100vw - 32px)); border: 1px solid var(--as-line); border-radius: 24px; background: white; padding: 24px; box-shadow: 0 28px 70px rgb(5 5 5 / 25%); color: var(--as-text); transform-origin: bottom right; animation: contact-card-in 220ms cubic-bezier(.2, 0, 0, 1); }
.contact-card__eyebrow { color: var(--as-green-dark); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-card h2 { margin: 10px 0 9px; font: 600 26px/1.12 var(--as-font-manrope), Manrope, sans-serif; letter-spacing: -.04em; }
.contact-card > p { margin: 0 0 20px; color: var(--as-text-2); font-size: 12px; line-height: 1.6; }
.contact-card__actions { display: grid; gap: 9px; }
.contact-action { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; border-radius: 15px; padding: 14px 15px; font: inherit; }
.contact-action > span { font-size: 12px; font-weight: 400; }
.contact-action small { font-size: 9px; }
.contact-action--whatsapp { border: 1px dashed #d1d5db; background: #f7f8f8; color: var(--as-text-2); cursor: default; }
.contact-action--calendar { border: 0; background: var(--as-ink-900); color: white; cursor: pointer; }
.contact-action--calendar:hover { background: #23272d; }
.contact-action--calendar small { color: var(--as-text-3); }
.contact-card__note { display: block; margin-top: 13px; color: var(--as-text-3); font-size: 8px; line-height: 1.5; }
@keyframes contact-card-in { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

.booking-dialog { width: min(1180px, calc(100vw - 36px)); max-width: none; max-height: calc(100dvh - 36px); margin: auto; overflow: visible; border: 0; border-radius: 32px; background: transparent; padding: 0; color: var(--as-text); }
.booking-dialog::backdrop { background: rgb(5 5 5 / 72%); backdrop-filter: blur(16px); animation: booking-backdrop-in 300ms ease both; }
.booking-dialog[open] { animation: booking-dialog-in 460ms cubic-bezier(.16, 1, .3, 1) both; }
.booking-dialog__panel { overflow: hidden; border: 1px solid rgb(255 255 255 / 12%); border-radius: 32px; background: #f7f8f8; box-shadow: 0 40px 110px rgb(0 0 0 / 38%); }
.booking-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 28px 30px 22px; }
.booking-dialog__head > div { display: grid; gap: 6px; }
.booking-dialog__head span { color: var(--as-green-dark); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.booking-dialog__head h2 { margin: 0; font: 600 clamp(28px, 3vw, 42px)/1.05 var(--as-font-manrope), Manrope, sans-serif; letter-spacing: -.05em; }
.booking-dialog__head p { margin: 0; color: var(--as-text-2); font-size: 12px; }
.booking-dialog__head button { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border: 1px solid var(--as-line); border-radius: 50%; background: white; color: var(--as-text); cursor: pointer; font-size: 24px; transition: transform 220ms ease, background 220ms ease; }
.booking-dialog__head button:hover { background: #edf0ef; transform: rotate(90deg); }
.booking-dialog__steps { display: flex; gap: 8px; padding: 0 30px 18px; }
.booking-dialog__steps span { display: flex; align-items: center; gap: 7px; border: 1px solid var(--as-line); border-radius: 999px; background: white; padding: 7px 11px 7px 7px; color: var(--as-text-2); font-size: 9px; }
.booking-dialog__steps i { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: #e9fbf3; color: var(--as-green-dark); font-style: normal; font-weight: 800; }
.booking-dialog__calendar { height: min(650px, calc(100dvh - 246px)); min-height: 500px; overflow: hidden; border-block: 1px solid var(--as-line); background: white; }
.booking-dialog__calendar iframe { width: 100%; height: 100%; border: 0; background: white; }
.booking-dialog__foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 30px 17px; color: var(--as-text-2); font-size: 9px; }
.booking-dialog__foot span { display: flex; align-items: center; gap: 8px; }
.booking-dialog__foot i { width: 7px; height: 7px; border-radius: 50%; background: var(--as-green); box-shadow: 0 0 12px rgb(16 185 129 / 55%); }
.booking-dialog__foot a { color: var(--as-green-dark); font-weight: 800; text-decoration: none; }
@keyframes booking-dialog-in { from { opacity: 0; transform: translateY(24px) scale(.965); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes booking-backdrop-in { from { opacity: 0; } to { opacity: 1; } }

.contact-dock__trigger:focus-visible,
.booking-dialog__head button:focus-visible,
.contact-action--calendar:focus-visible,
.as-home-footer-link:focus-visible { outline: 3px solid var(--as-green-light); outline-offset: 3px; }

.as-home-footer-link {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  gap: 12px;
  border: 1px solid rgb(52 211 153 / 34%);
  border-radius: 999px;
  background: rgb(16 185 129 / 11%);
  padding: 7px 8px 7px 18px;
  color: #ecfff8 !important;
  text-decoration: none !important;
  font: 700 13px/1 Inter, system-ui, sans-serif;
  transition: transform 200ms ease, background 200ms ease, border-color 200ms ease;
}
.as-home-footer-holder { display: flex; justify-content: center; margin-top: 14px; }
.as-home-footer-link span:last-child { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #19d99a; color: #07110d; font-size: 15px; }
.as-home-footer-link:hover { border-color: rgb(52 211 153 / 65%); background: rgb(16 185 129 / 18%); transform: translateY(-2px); }
.as-standalone-home { position: relative; z-index: 2; display: flex; justify-content: center; padding: 0 20px 24px; }

@media (max-width: 640px) {
  .contact-dock { right: 16px; bottom: 16px; }
  .contact-dock__trigger { min-height: 50px; padding-right: 15px; }
  .booking-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 22px; }
  .booking-dialog__panel { border-radius: 22px; }
  .booking-dialog__head { gap: 18px; padding: 20px 18px 16px; }
  .booking-dialog__head p { max-width: 250px; }
  .booking-dialog__steps { overflow-x: auto; padding: 0 18px 14px; scrollbar-width: none; }
  .booking-dialog__steps::-webkit-scrollbar { display: none; }
  .booking-dialog__steps span { flex: 0 0 auto; }
  .booking-dialog__calendar { height: calc(100dvh - 252px); min-height: 470px; }
  .booking-dialog__foot { align-items: flex-start; flex-direction: column; gap: 7px; padding: 12px 18px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-card, .booking-dialog[open], .booking-dialog::backdrop { animation: none; }
  .contact-dock__trigger, .contact-dock__icon, .booking-dialog__head button, .as-home-footer-link { transition: none; }
}
