*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  min-height:100vh;
  background:#d9cdbb;
  color:#201911;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  display:flex;
  justify-content:center;
}

.register-app{
  width:100%;
  max-width:430px;
  min-height:100vh;
  background:
    radial-gradient(circle at top, rgba(39,63,42,.42), transparent 280px),
    linear-gradient(180deg,#182617 0,#efe7db 430px,#f3eadf 100%);
  padding:34px 18px;
  display:flex;
  align-items:center;
}

.register-card{
  width:100%;
  background:rgba(255,250,241,.9);
  border:1px solid rgba(92,65,33,.16);
  border-radius:28px;
  padding:28px 22px;
  box-shadow:0 24px 50px rgba(42,31,19,.2);
}

.logo{
  margin-bottom:28px;
}

.logo span{
  display:block;
  font-family:Georgia,serif;
  font-size:24px;
  color:#b88432;
  line-height:.92;
}

.logo strong{
  display:block;
  font-family:Georgia,serif;
  font-size:42px;
  color:#b88432;
  line-height:.88;
  letter-spacing:.4px;
}

.register-text{
  margin-bottom:24px;
}

.register-text h1{
  font-family:Georgia,serif;
  font-size:34px;
  line-height:1.05;
  font-weight:500;
  color:#1d140c;
  margin-bottom:12px;
}

.register-text p{
  color:#65584b;
  font-size:16px;
  line-height:1.55;
}

.alert{
  padding:14px 16px;
  border-radius:16px;
  margin-bottom:18px;
  font-size:14px;
  font-weight:700;
}

.alert.error{
  background:#f5d7d7;
  color:#7c2525;
}

.register-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.register-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#2c2118;
  font-size:14px;
  font-weight:800;
}

.register-form input{
  width:100%;
  height:56px;
  border:none;
  outline:none;
  border-radius:18px;
  background:#fffaf1;
  border:1px solid rgba(92,65,33,.18);
  color:#1f160e;
  padding:0 18px;
  font-size:16px;
}

.register-form input:focus{
  border-color:#b88432;
  box-shadow:0 0 0 4px rgba(184,132,50,.12);
}

.register-form button{
  margin-top:8px;
  height:60px;
  border:none;
  border-radius:20px;
  background:linear-gradient(135deg,#f3d28d,#e5b45c);
  color:#1c1308;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 16px 26px rgba(0,0,0,.14);
}

.register-note{
  margin-top:22px;
  background:#172716;
  color:#fff4df;
  border-radius:20px;
  padding:18px;
}

.register-note p{
  font-size:14px;
  line-height:1.5;
}

.back-home{
  display:block;
  margin-top:20px;
  text-align:center;
  color:#5f4730;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
}

@media(max-width:380px){
  .register-card{
    padding:24px 18px;
  }

  .register-text h1{
    font-size:30px;
  }

  .logo strong{
    font-size:38px;
  }
}

.phone-group{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.phone-group select{
    width:100%;
    min-height:52px;
    border-radius:16px;
    border:1px solid rgba(92,65,33,.18);
    background:#fffaf1;
    color:#201911;
    font-size:15px;
    padding:0 14px;
    outline:none;
}

.phone-line{
    display:grid;
    grid-template-columns:92px 1fr;
    gap:10px;
}

.phone-ddd,
.phone-number{
    margin:0;
}

.phone-help{
    display:block;
    color:#6f6255;
    font-size:12px;
    line-height:1.35;
    margin-top:-4px;
}
/* Ajuste do campo WhatsApp quando o país não usa DDD separado */

.phone-line.no-ddd{
    display:block;
    width:100%;
}

.phone-line.no-ddd .phone-number{
    display:block;
    width:100%;
}

.phone-line.no-ddd .phone-number input{
    width:100%;
    min-width:100%;
    max-width:100%;
    display:block;
}

.phone-line.no-ddd .phone-ddd{
    display:none !important;
}

/* Mantém Brasil com DDD + número lado a lado */
.phone-line:not(.no-ddd){
    display:grid;
    grid-template-columns:92px 1fr;
    gap:10px;
}

.phone-line:not(.no-ddd) .phone-ddd,
.phone-line:not(.no-ddd) .phone-number{
    width:100%;
}

.phone-line:not(.no-ddd) input{
    width:100%;
}