/* register.css — registration form page only. base.css handles nav, footer, buttons. */

header{background:var(--forest); color:var(--cream); padding:48px 24px 40px; text-align:center;}
header .eyebrow{font-size:13px; text-transform:uppercase; letter-spacing:0.18em; color:var(--amber); font-weight:600; margin-bottom:12px;}
header h1{font-size:48px; line-height:0.95; margin-bottom:10px;}
header p{color:#D9E4DA; font-size:15px; max-width:460px; margin:0 auto;}

.progress{display:flex; justify-content:center; gap:8px; margin-top:24px;}
.progress .dot{width:34px; height:5px; border-radius:3px; background:rgba(255,255,255,0.25);}
.progress .dot.active{background:var(--amber);}

main{max-width:620px; margin:0 auto; padding:32px 20px 80px;}

.stage{margin-bottom:32px;}
.stage-title{font-family:'Bebas Neue',sans-serif; font-size:20px; color:var(--forest); margin-bottom:12px; border-bottom:2px solid var(--line); padding-bottom:6px;}
.card{padding:20px 22px;}

.field{margin-bottom:16px;}
.field:last-child{margin-bottom:0;}
label{display:block; font-size:13px; font-weight:600; color:var(--forest); margin-bottom:6px;}
label .req{color:var(--rust);}

input[type=text], input[type=email], input[type=tel], input[type=date], textarea{
  width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:3px;
  font-family:'Work Sans',sans-serif; font-size:15px; color:var(--bark); background:#fff;
}
textarea{resize:vertical; min-height:70px;}
input:focus, textarea:focus{outline:2px solid var(--amber-dark); outline-offset:1px; border-color:var(--amber-dark);}

.row2{display:flex; gap:12px;}
.row2 .field{flex:1;}

.choice-group{display:flex; gap:10px; flex-wrap:wrap;}
.choice-pill{position:relative;}
.choice-pill input{position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer;}
.choice-pill span{
  display:block; padding:9px 18px; border:1px solid var(--line); border-radius:20px;
  font-size:14px; font-weight:500; color:var(--forest); background:#fff; cursor:pointer;
}
.choice-pill input:checked + span{background:var(--forest); border-color:var(--forest); color:var(--cream);}
.choice-pill input:focus-visible + span{outline:2px solid var(--amber-dark); outline-offset:2px;}

.check-list{display:flex; flex-direction:column; gap:8px;}
.check-item{display:flex; align-items:center; gap:10px; font-size:14px;}
.check-item input{width:16px; height:16px;}

#volunteerDept{margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); display:none;}
#volunteerDept.show{display:block;}

.submit-btn{
  display:block; width:100%; margin-top:8px; padding:16px; background:var(--rust); color:#fff;
  border:none; border-radius:4px; font-family:'Bebas Neue',sans-serif; font-size:20px;
  letter-spacing:0.05em; cursor:pointer;
}
.submit-btn:hover{background:#a5431f;}
.submit-btn:focus-visible{outline:3px solid var(--amber); outline-offset:2px;}

@media (max-width:480px){
  header h1{font-size:38px;}
  .row2{flex-direction:column; gap:0;}
}
