.upnovo-openwa-login {
  margin: 0 0 32px;
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid var(--upnovo-line, #DFE7F0);
  border-radius: 12px;
  background: var(--upnovo-accent-soft, #EAF2FF);
}

.upnovo-openwa-checkout-anchor {
  margin-bottom: 20px;
}

.upnovo-openwa-checkout-anchor .upnovo-openwa-login {
  margin-bottom: 0;
}

body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register,
body.woocommerce-account:not(.logged-in) .woocommerce-form-login-toggle,
body.woocommerce-account:not(.logged-in) .woocommerce-form-coupon-toggle {
  display: none !important;
}

.upnovo-openwa-heading span {
  display: block;
  margin-bottom: 6px;
  color: var(--upnovo-accent, #2F67C7);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.upnovo-openwa-heading h2 {
  margin: 0 0 8px;
  padding: 0;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.1;
}

.upnovo-openwa-heading p,
.upnovo-openwa-note {
  max-width: 58ch;
  color: var(--upnovo-muted, #64748B);
}

.upnovo-openwa-note {
  margin: 16px 0;
  padding: 12px 14px;
  border-left: 3px solid var(--upnovo-yellow, #FFD43B);
  background: #FFFFFF;
}

.upnovo-openwa-login label {
  display: block;
  margin: 18px 0 7px;
  color: var(--upnovo-ink, #172033);
  font-weight: 700;
}

.upnovo-openwa-phone,
.upnovo-openwa-code {
  display: grid;
  grid-template-columns: minmax(210px, .9fr) auto minmax(150px, 1fr) auto;
  gap: 8px;
  align-items: stretch;
}

.upnovo-openwa-code {
  grid-template-columns: minmax(140px, 1fr) auto;
}

.upnovo-openwa-phone > span {
  display: grid;
  min-width: 64px;
  place-items: center;
  border: 1px solid var(--upnovo-line, #DFE7F0);
  border-radius: 12px;
  background: #FFFFFF;
  color: var(--upnovo-ink, #172033);
  font-weight: 700;
}

.upnovo-openwa-login input,
.upnovo-openwa-login select {
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--upnovo-line, #DFE7F0);
  border-radius: 12px;
  background: #FFFFFF;
  color: var(--upnovo-ink, #172033);
  font-size: 16px;
}

.upnovo-openwa-login select {
  width: 100%;
  padding-right: 36px;
  cursor: pointer;
}

.upnovo-openwa-login button {
  min-height: 48px;
  padding: 11px 18px;
  border: 1px solid var(--upnovo-accent, #2F67C7);
  border-radius: 12px;
  background: var(--upnovo-accent, #2F67C7);
  color: #FFFFFF;
  font-weight: 700;
  cursor: pointer;
}

.upnovo-openwa-login button:disabled {
  cursor: wait;
  opacity: .65;
}

.upnovo-openwa-login .upnovo-openwa-back {
  min-height: 36px;
  margin-top: 8px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: var(--upnovo-accent, #2F67C7);
}

.upnovo-openwa-verified {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px 16px;
  align-items: center;
  margin-top: 18px;
  padding: 15px 16px;
  border: 1px solid rgba(21, 122, 85, .24);
  border-radius: 10px;
  background: #FFFFFF;
  color: var(--upnovo-ink, #172033);
}

.upnovo-openwa-verified strong::before {
  margin-right: 7px;
  color: var(--upnovo-success, #157A55);
  content: "✓";
}

.upnovo-openwa-verified span {
  color: var(--upnovo-success, #157A55);
  font-weight: 700;
}

.upnovo-openwa-login .upnovo-openwa-change {
  min-height: 40px;
  padding: 8px 12px;
  border-color: var(--upnovo-line, #DFE7F0);
  background: var(--upnovo-panel, #F1F5FA);
  color: var(--upnovo-accent-dark, #2456AA);
}

.upnovo-openwa-feedback {
  min-height: 24px;
  margin: 10px 0 0;
  color: var(--upnovo-success, #157A55);
  font-weight: 600;
}

.upnovo-openwa-feedback.is-error {
  color: #B42318;
}

@media (max-width: 640px) {
  .upnovo-openwa-phone,
  .upnovo-openwa-code {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .upnovo-openwa-phone select {
    grid-column: 1 / -1;
  }

  .upnovo-openwa-phone button,
  .upnovo-openwa-code button {
    grid-column: 1 / -1;
  }

  .upnovo-openwa-code input {
    grid-column: 1 / -1;
  }

  .upnovo-openwa-verified {
    grid-template-columns: 1fr;
  }

  .upnovo-openwa-login .upnovo-openwa-change {
    width: 100%;
  }
}
