/* ============================= REGISTER PAGE ============================= */

.reg-banner{
  background:var(--grad-navy);
  padding:170px 0 90px;
  position:relative;
  overflow:hidden;
}
.reg-banner::after{
  content:"";
  position:absolute; inset:0;
  background:var(--grad-fire);
  opacity:0.06;
}
.reg-crumb{
  font-family:var(--mono); font-size:11.5px; letter-spacing:0.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.5); margin-bottom:22px;
}
.reg-crumb a{color:rgba(255,255,255,0.5);}
.reg-crumb a:hover{color:var(--orange-2);}
.reg-crumb span{color:var(--orange-2);}
.req{color:var(--red);}

#register-form{padding:90px 0 130px;}
#register-form .wrap{max-width:920px;}

.reg-form{
  background:var(--white);
  box-shadow:var(--shadow-soft);
  border-radius:2px;
  padding:10px;
}

.reg-group{
  padding:44px 40px;
  border-bottom:1px solid var(--line);
}
.reg-group:last-of-type{border-bottom:none;}
@media (max-width:640px){
  .reg-group{padding:34px 22px;}
}

.reg-group-head{
  display:flex; align-items:center; gap:16px; margin-bottom:28px;
}
.reg-num{
  font-family:var(--display); font-size:22px; color:var(--white);
  background:var(--grad-fire); width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex:none;
}
.reg-group-head h3{
  font-family:var(--head); text-transform:uppercase; font-size:19px; letter-spacing:0.03em; color:var(--navy);
}

.field-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:22px 24px;
}
@media (max-width:640px){
  .field-grid{grid-template-columns:1fr;}
}
.field-full{grid-column:1 / -1;}

.field{display:flex; flex-direction:column; gap:8px;}
.field label{
  font-family:var(--head); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--navy-2); font-weight:500;
}

.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="date"],
.field input[type="number"],
.field input[type="file"],
.field select,
.field textarea{
  font-family:var(--body); font-size:14.5px; color:var(--navy);
  border:1.5px solid var(--line); border-radius:2px; padding:13px 14px; background:var(--paper);
  transition:border-color .2s ease, background .2s ease;
  width:100%;
}
.field textarea{resize:vertical; min-height:90px;}
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none; border-color:var(--orange); background:var(--white);
}
.field select{cursor:pointer; appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%235b6577' d='M7 10l5 5 5-5z'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center; background-size:18px;
  padding-right:38px;
}
.field input[type="file"]{
  padding:10px 14px; font-size:13px; cursor:pointer;
}

.field-row{display:flex; flex-wrap:wrap; gap:14px;}
.radio-row{gap:12px;}
.radio-pill{
  display:flex; align-items:center; gap:9px;
  border:1.5px solid var(--line); border-radius:30px; padding:11px 20px;
  font-family:var(--head); font-size:13px; text-transform:uppercase; letter-spacing:0.03em; color:var(--slate);
  cursor:pointer; transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.radio-pill input{accent-color:var(--orange);}
.radio-pill:has(input:checked){
  border-color:var(--orange); color:var(--navy); background:rgba(242,98,26,0.07);
}

.check-row{
  display:flex; align-items:flex-start; gap:12px;
  font-size:14px; color:var(--slate); margin-bottom:16px; line-height:1.5; cursor:pointer;
}
.check-row:last-child{margin-bottom:0;}
.check-row input{
  margin-top:3px; width:18px; height:18px; flex:none; accent-color:var(--orange); cursor:pointer;
}

.reg-submit-row{
  padding:40px;
  display:flex; flex-direction:column; align-items:flex-start; gap:16px;
}
.reg-submit-row .btn{border:none; cursor:pointer;}
.reg-note{font-size:12.5px; color:var(--slate-light); max-width:480px;}

/* honeypot — visually hidden, still reachable by bots that fill every field */
.hp-field{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}

/* ---- result pages rendered by register-process.php ---- */
.reg-result{
  min-height:70vh; display:flex; align-items:center; justify-content:center; padding:60px 24px;
  background:var(--paper);
}
.reg-result-card{
  max-width:560px; text-align:center; background:var(--white); padding:60px 44px;
  box-shadow:var(--shadow-soft); border-radius:2px;
}
.reg-result-icon{
  width:64px; height:64px; border-radius:50%; margin:0 auto 26px;
  display:flex; align-items:center; justify-content:center; font-family:var(--display); font-size:28px; color:var(--white);
}
.reg-result-icon.ok{background:var(--grad-fire);}
.reg-result-icon.err{background:var(--navy);}
.reg-result-card h1{
  font-family:var(--display); text-transform:uppercase; font-size:clamp(24px,3.4vw,34px); color:var(--navy); margin-bottom:14px;
}
.reg-result-card p{color:var(--slate); font-size:15px; margin-bottom:8px;}
.reg-result-card .btn{margin-top:24px;}
