.signup-inline {
  display: flex;
  gap: .6rem;
  align-items: stretch;
}
.signup-inline input { flex: 1; min-width: 0; }
.signup-inline .btn { flex: 0 0 auto; }
.signup-code-row { margin-top: .6rem; }
[data-phone-status][data-state="ok"] { color: #176c5d; }
[data-phone-status][data-state="error"] { color: #a3162c; }

.signup-phone { margin: 0; }

.signup-consent {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.signup-consent legend {
  margin: 0 0 .7rem;
  color: #3f352b;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.6;
}
.signup-consent-options > ul,
.signup-consent-options > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.signup-consent-options > div > div,
.signup-consent-options li {
  min-width: 0;
}
.signup-consent-options label {
  display: flex;
  min-height: 3.15rem;
  align-items: center;
  gap: .55rem;
  margin: 0;
  padding: .7rem .85rem;
  border: 1px solid rgba(62, 48, 33, .38);
  background: rgba(255, 255, 255, .28);
  color: #3f352b;
  cursor: pointer;
}
.signup-consent-options label:has(input:checked) {
  border-color: #c8102e;
  background: rgba(200, 16, 46, .08);
  box-shadow: inset 4px 0 0 #c8102e;
}
.signup-consent-options input {
  width: 1.15rem !important;
  height: 1.15rem;
  margin: 0;
  accent-color: #c8102e;
  box-shadow: none !important;
}
.signup-consent-warning {
  margin: .65rem 0;
  color: #8e1527;
  font-size: .8rem;
  line-height: 1.55;
}
.signup-policy {
  margin-top: .7rem;
  color: #64594b;
  font-size: .84rem;
  line-height: 1.68;
}
.signup-policy summary {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  border-bottom: 1px solid currentColor;
  color: #8f1024;
  font-weight: 700;
  cursor: pointer;
}
.signup-policy-scroll {
  max-height: min(38svh, 300px);
  margin-top: .65rem;
  padding: 1rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(62, 48, 33, .35);
  border-left: 5px solid rgba(62, 48, 33, .35);
  border-radius: 0;
  background: rgba(255, 255, 255, .34);
}
.signup-policy-scroll h3 {
  margin: .1rem 0 .8rem;
  color: #211c17;
  font-family: var(--font-human);
  font-size: 1.08rem;
}
.signup-policy-scroll h4 {
  margin: 1.1rem 0 .35rem;
  color: #211c17;
  font-size: .92rem;
}
.signup-policy-scroll p { margin: .35rem 0; }
.signup-policy-scroll ul { margin: .35rem 0; padding-left: 1.2rem; }
.signup-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 560px) {
  .signup-inline { flex-direction: column; }
  .signup-inline .btn { width: 100%; }
}
