/* Formulário WhatsApp: diálogo com superfície de vidro e conteúdo legível. */
.rd-wa-open { overflow:hidden; }
html:has(.rd-wa-open) { overflow:hidden; }
.rd-wa-open .rd-contact-float .star-border-container .rd-star-border-track>span { animation-play-state:paused; }

.rd-site .rd-wa-dialog:not([open]) { display:none; }
.rd-site .rd-wa-dialog {
  position:fixed;
  inset:0;
  width:calc(100% - 32px);
  max-width:440px;
  max-height:calc(100vh - 32px);
  max-height:calc(100dvh - 32px);
  margin:auto;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  border:1px solid #ffffffb3;
  border-radius:28px;
  color:var(--rd-ink);
  background:linear-gradient(145deg, #ffffffb3, #ffffff33 45%, #ffffff66), #e7edf1;
  box-shadow:inset 0 1px 0 #fff, 0 24px 80px #0b17294d, 0 4px 16px #0b172926;
  font-family:var(--rd-font);
}
.rd-site .rd-wa-dialog[open] { display:flex; flex-direction:column; }
.rd-wa-dialog::backdrop { background:rgba(12, 20, 28, .48); }
.rd-wa-dialog::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  border:1px solid #ffffffb3;
  border-radius:inherit;
  pointer-events:none;
}
.rd-wa-dialog-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex:none;
  padding:20px 20px 12px 28px;
}
.rd-wa-dialog-brand {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#075e3b;
  font-size:15px;
  font-weight:600;
}
.rd-wa-dialog-brand svg { width:26px; height:26px; flex:none; }
.rd-site .rd-wa-close {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:44px;
  height:44px;
  flex:none;
  padding:0;
  border:1px solid #7b8b9938;
  border-radius:50%;
  background:#ffffff80;
  color:var(--rd-ink);
  cursor:pointer;
}
.rd-wa-close svg { width:20px; height:20px; }
.rd-wa-dialog-body {
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:0 28px 28px;
}
.rd-site .rd-wa-dialog h2 {
  margin:0 0 10px;
  font:500 clamp(1.625rem, 5vw, 1.875rem)/1.15 var(--rd-font);
  letter-spacing:-.035em;
  color:var(--rd-ink);
}
.rd-site .rd-wa-dialog .rd-wa-intro {
  margin:0 0 24px;
  font-size:16px;
  line-height:1.5;
  color:#46525c;
}
.rd-wa-field { margin:0 0 18px; }
.rd-wa-field label {
  display:block;
  margin-bottom:8px;
  font-size:15px;
  font-weight:500;
  color:var(--rd-ink);
}
.rd-site .rd-wa-field input {
  display:block;
  box-sizing:border-box;
  width:100%;
  min-height:52px;
  margin:0;
  padding:13px 15px;
  border:1px solid #7b8b997a;
  border-radius:13px;
  background:rgba(255, 255, 255, .78);
  box-shadow:inset 0 1px 2px #1e344a0a, 0 1px 0 #fff;
  color:var(--rd-ink);
  font:400 16px/1.4 var(--rd-font);
  transition:border-color 180ms ease, background-color 180ms ease;
}
.rd-wa-field input::placeholder { color:#66737d; opacity:1; }
.rd-site .rd-wa-field input:focus-visible {
  border-color:var(--rd-red-dark);
  outline:2px solid var(--rd-red-dark);
  outline-offset:2px;
  background:#fff;
}
.rd-site .rd-wa-field input[aria-invalid="true"] { border-color:#a51b24; }
.rd-site .rd-wa-dialog .rd-wa-error {
  margin:7px 0 0;
  color:#a51b24;
  font-size:14px;
  line-height:1.4;
}
.rd-wa-error:empty { display:none; }
.rd-site .rd-wa-submit {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  min-height:56px;
  margin:6px 0 0;
  padding:15px 20px;
  border:1px solid #579c7b80;
  border-radius:999px;
  background:linear-gradient(155deg, #ffffffa6, #ffffff00 60%), #d5e9df;
  box-shadow:inset 0 1px 0 #fff, inset 0 -1px 1px #41685329, 0 4px 12px #17492e12;
  color:#06452b;
  font:600 16px/1.35 var(--rd-font);
  text-align:left;
  cursor:pointer;
  transition:background-color 180ms ease, box-shadow 180ms ease;
}
.rd-wa-submit svg { width:22px; height:22px; flex:none; }
.rd-site .rd-wa-dialog .rd-wa-note {
  margin:18px 0 10px;
  font-size:14px;
  line-height:1.5;
  color:#46525c;
}
.rd-site .rd-wa-dialog .rd-wa-privacy {
  display:inline-block;
  padding:4px 0;
  color:#263e50;
  font-size:14px;
  line-height:1.5;
  text-decoration:underline;
  text-underline-offset:3px;
}
.rd-site .rd-wa-close:focus-visible,
.rd-site .rd-wa-submit:focus-visible,
.rd-site .rd-wa-privacy:focus-visible {
  outline:3px solid var(--rd-red-dark);
  outline-offset:3px;
}
@media (hover:hover) {
  .rd-site .rd-wa-close:hover { background:#fff; }
  .rd-site .rd-wa-submit:hover { background-color:#c4e2d2; box-shadow:inset 0 1px 0 #fff, 0 5px 16px #17492e20; }
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .rd-site .rd-wa-dialog {
    background-color:rgba(231, 237, 241, .9);
    -webkit-backdrop-filter:blur(24px) saturate(130%);
    backdrop-filter:blur(24px) saturate(130%);
  }
  .rd-wa-dialog::backdrop { -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
}
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
  .rd-wa-dialog::before {
    border:0;
    padding:2px;
    background:linear-gradient(135deg, #fff, #9bb0c275 26%, #ffffff38 45%, #fff 67%, #8aa1b970);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
  }
}
@media (prefers-reduced-motion:no-preference) {
  .rd-site .rd-wa-dialog[open] { animation:rd-wa-dialog-in 220ms cubic-bezier(.22, 1, .36, 1); }
  @keyframes rd-wa-dialog-in { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:none; } }
}
@media (max-width:480px) {
  .rd-wa-dialog-head { padding:16px 16px 12px 22px; }
  .rd-wa-dialog-body { padding:0 22px 24px; }
}
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
  .rd-site .rd-wa-dialog { background:#eef2f5; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .rd-wa-dialog::backdrop { -webkit-backdrop-filter:none; backdrop-filter:none; }
  .rd-wa-dialog::before { display:none; }
}
@media (forced-colors:active) {
  .rd-site .rd-wa-dialog { background:Canvas; color:CanvasText; border-color:CanvasText; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .rd-wa-dialog::before { display:none; }
  .rd-site .rd-wa-field input,
  .rd-site .rd-wa-submit,
  .rd-site .rd-wa-close { border:1px solid ButtonText; }
}
@media print { .rd-site .rd-wa-dialog { display:none!important; } }
