
.lead-form .field-grid input,
.lead-form .field-grid select {
  background-color: #c9c9c9;
  color: #20202b;
  color-scheme: light;
}
.lead-form .field-grid input::placeholder {
  color: #42424a;
  opacity: 1;
}
.lead-form .field-grid select:invalid { color: #42424a; }
.lead-form .field-grid select {
  background-image: linear-gradient(45deg, transparent 50%, #34343b 50%), linear-gradient(135deg, #34343b 50%, transparent 50%);
}
.lead-form .field-grid option { background-color: #c9c9c9; color: #20202b; }
.lead-form .field-grid input:-webkit-autofill {
  -webkit-text-fill-color: #20202b;
  -webkit-box-shadow: 0 0 0 1000px #c9c9c9 inset;
}

.lb-whatsapp-button {
  position: fixed;
  right: 24px;
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: calc(100vw - 24px);
  padding: 12px 16px;
  border: 1px solid #ffffff50;
  border-radius: 80px;
  background: var(--lb-whatsapp-brand);
  color: #fff;
  box-shadow: 0 6px 28px #0004;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.lb-whatsapp-button strong, .lb-whatsapp-button small { display: block; }
.lb-whatsapp-button strong { font-size: .92rem; line-height: 1.4; }
.lb-whatsapp-button small { color: #fff; font-size: .77rem; line-height: 1.5; }
.lb-whatsapp-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; background: #20cb61; }
.lb-whatsapp-icon svg { width: 29px; height: 29px; fill: #fff; }
.lb-whatsapp-button:focus-visible, .lb-whatsapp-close:focus-visible { outline: 3px solid #20cb61; outline-offset: 4px; }
dialog.lb-whatsapp-dialog[open]:not(:modal) { display: contents; color: inherit; }
.lb-whatsapp-dialog:not(:modal) > .lb-whatsapp-header { display: none; }
dialog.lb-whatsapp-dialog:modal {
  position: fixed;
  inset: 0;
  display: block;
  width: min(680px, calc(100vw - 24px));
  max-width: none;
  height: fit-content;
  max-height: calc(100dvh - 24px);
  margin: auto;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #ffffff50;
  border-radius: 22px;
  background: var(--lb-whatsapp-panel);
  color: var(--lb-whatsapp-text);
  box-shadow: 0 24px 80px #0006;
}
.lb-whatsapp-dialog::backdrop { background: #080b16bd; backdrop-filter: blur(4px); }
.lb-whatsapp-dialog:modal > .lb-whatsapp-header { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px 12px 24px; background: var(--lb-whatsapp-brand); color: #fff; }
.lb-whatsapp-header h2 { margin: 0; font-family: inherit; font-size: .95rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; color: inherit; }
.lb-whatsapp-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff70; border-radius: 50%; background: transparent; color: #fff; font: 26px/1 sans-serif; cursor: pointer; }
.lb-whatsapp-dialog:modal > [data-lb-whatsapp-content] { width: 100%; max-width: none; height: auto; min-height: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; opacity: 1; transform: none; grid-column: auto; grid-row: auto; }
html.lb-whatsapp-modal-open { overflow: hidden; }
@media (max-width: 600px) {
  .lb-whatsapp-button { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); gap: 10px; padding: 10px 12px; }
  .lb-whatsapp-button strong { font-size: .78rem; }
  .lb-whatsapp-button small { font-size: .7rem; }
  .lb-whatsapp-icon { width: 42px; height: 42px; flex-basis: 42px; }
  .lb-whatsapp-dialog:modal > .lb-whatsapp-header { padding-left: 18px; }
}


.submit-button:disabled { opacity:.7; cursor:wait; transform:none; }
.form-feedback.is-error { border-color:#f3a6ae; color:#ffd9de; background:#9b253322; }
@media(max-width:600px) {
 #lb-whatsapp-dialog:modal { width:calc(100vw - 16px); max-height:calc(100svh - 16px); border-radius:16px; }
 #lb-whatsapp-dialog:modal > .lb-whatsapp-header { padding:4px 8px 4px 14px; gap:8px; }
 #lb-whatsapp-dialog:modal .lb-whatsapp-header h2 { font-size:14px; line-height:1.25; }
 #lb-whatsapp-dialog:modal .lead-form { padding:12px 14px; margin:0; }
 #lb-whatsapp-dialog:modal .field-grid { gap:7px; }
 #lb-whatsapp-dialog:modal input:not([type="hidden"]), #lb-whatsapp-dialog:modal select { min-height:44px; height:44px; padding:8px 12px; font-size:16px; }
 #lb-whatsapp-dialog:modal select { padding-right:32px; background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px; }
 #lb-whatsapp-dialog:modal .submit-button { min-height:46px; margin-top:10px; padding:10px 12px; font-size:14px; }
 #lb-whatsapp-dialog:modal .consent-copy { margin:8px 0 0; font-size:10px; line-height:1.3; }
 #lb-whatsapp-dialog:modal .form-feedback { margin:8px 0 0; padding:8px; }
}
@media(max-width:600px) and (max-height:650px) {
 #lb-whatsapp-dialog:modal .field-grid { gap:5px; }
 #lb-whatsapp-dialog:modal .lead-form { padding:8px 12px; }
}
/* Short phone viewports keep every question and the submit in the first fold. */
@media(max-width:600px) and (max-height:650px) {
 #lb-whatsapp-dialog:modal > .lb-whatsapp-header { padding-block:2px; }
 #lb-whatsapp-dialog:modal .lead-form { padding:6px 12px; }
 #lb-whatsapp-dialog:modal .field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 8px; }
 #lb-whatsapp-dialog:modal .field-grid > label { grid-column:1 / -1; }
 #lb-whatsapp-dialog:modal .field-grid > label:nth-child(-n+2) { grid-column:auto; }
}
