/* ── Reset & base ── */
* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: Georgia, 'Times New Roman', serif;
  background: #f2f2f7;
  min-height: 100vh;
  padding: 16px;
}

.screen {
  max-width: 390px;
  margin: 0 auto;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  min-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
}

.lang-switch {
  display: flex;
  gap: 4px;
}

.lang-btn {
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid #c7c7cc;
  background: transparent;
  font-size: 12px;
  color: #636366;
  cursor: pointer;
}

.lang-btn.active {
  background: #1c1c1e;
  border-color: #1c1c1e;
  color: #fff;
}

/* ── Buttons ── */
.btn-primary {
  width: 100%;
  padding: 15px 20px;
  background: #b44c3b;
  color: #fff;
  border: none;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s;
  text-decoration: none;
  display: block;
  text-align: center;
}

.btn-primary:active { opacity: 0.8; }

.btn-ghost {
  width: 100%;
  padding: 12px 20px;
  background: transparent;
  color: #636366;
  border: none;
  border-radius: 14px;
  font-size: 15px;
  cursor: pointer;
}

/* ── Form inputs ── */
.phone-input,
.otp-input {
  width: 100%;
  padding: 15px 16px;
  border: 1.5px solid #e5e5ea;
  border-radius: 14px;
  font-size: 17px;
  color: #1c1c1e;
  background: #f9f9f9;
  outline: none;
  transition: border-color 0.15s;
}

.phone-input:focus,
.otp-input:focus {
  border-color: #1c1c1e;
  background: #fff;
}

.form-error {
  font-size: 14px;
  color: #ff3b30;
  text-align: center;
}

/* ── Navigation back button ── */
.back-btn {
  background: none;
  border: none;
  font-size: 22px;
  color: #1c1c1e;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  text-decoration: none;
}
