/* Go!Foton theme — matches register.html structure exactly */

/* Brand palette */
:root{
  --brand-primary:#307335;        /* deep green */
  --brand-primary-700:#265a2a;    /* darker green */
  --brand-cta:#e2572d;            /* orange CTA */
  --brand-cta-700:#c74720;        /* darker orange */
  --brand-privacy:rgba(48, 115, 52, 0.7);

  --brand-bg:#f6f7f9;             /* page bg */
  --card:#ffffff;                 /* card bg */
  --border:#e6e8ec;               /* borders */
  --border-input:rgba(48,115,53,.7);

  --ink:#17231a;                   /* text */
  --muted:#6b746e;                 /* secondary text */

  --radius:0.875rem;
  --shadow:0 0.5rem 0.875rem rgba(16,24,40,.08);
  --focus:0 0 0 3px rgba(48,115,53,.25); /* green focus */
}

/* Override shell styles for form area */
.content-well .card{
  max-width:720px;
  margin:0 auto; /* Remove the 4rem margin since we're in a content well */
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:1.75rem 1.75rem 1.375rem;
  text-align:left; /* Override center alignment from content-well */
}
.content-well .card h1{ 
  margin:0 0 0.875rem 0; 
  color:var(--brand-primary); 
  text-align:center; /* Center just the heading */
}
.content-well .card p.small{ 
  color:var(--brand-privacy); 
  font-size:.9rem; 
  margin-top:0.875rem; 
}
.content-well .card p.small a{ 
  color:var(--brand-privacy); 
  text-decoration:underline;
}
.content-well .card p.small a:hover{ 
  color:var(--brand-primary);
  text-decoration:underline;
}

/* labels + inputs */
.content-well #regForm label{
  display:block; 
  font-size:.92rem; 
  color:var(--brand-primary-700);
  margin:0.75rem 0 0.375rem;
}
.content-well #regForm input[type="text"],
.content-well #regForm input[type="email"],
.content-well #regForm input[type="tel"]{
  width:100%;
  background:#fff;
  border:1px solid var(--border-input);
  border-radius:0.75rem;
  padding:0.75rem 1.25rem;
  font-size:1rem;
  color:var(--ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.content-well #regForm input:focus{
  outline:none; 
  border-color:var(--brand-primary); 
  box-shadow:var(--focus);
}

/* Input validation states */
.content-well #regForm input.error {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25) !important;
}

.content-well #regForm input.success {
  border-color: var(--brand-primary) !important;
  box-shadow: var(--focus) !important;
}

/* message line */
.content-well #regForm .msg{ 
  margin-top:0.625rem; 
  color:var(--brand-primary); 
}

/* Message states */
.content-well #regForm .msg-success {
  color: var(--brand-primary) !important;
  font-weight: 500;
  background: rgba(48, 115, 53, 0.1);
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(48, 115, 53, 0.3);
  margin-top: 0.75rem;
}

.content-well #regForm .msg-error {
  color: #dc3545 !important;
  font-weight: 500;
  background: rgba(220, 53, 69, 0.1);
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(220, 53, 69, 0.3);
  margin-top: 0.75rem;
}

/* submit button */
.content-well #regForm button[type="submit"],
.content-well #resendForm button[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.75rem 1.25rem;
  margin-top:1rem;
  border-radius:0.75rem;
  font-weight:600;
  font-size:1rem;
  color:#fff;
  background:var(--brand-cta);
  border:1px solid var(--brand-cta);
  cursor:pointer; 
  user-select:none;
  transition:filter .15s ease, transform .04s ease, background .2s ease;
}
.content-well #regForm button[type="submit"]:hover,
.content-well #resendForm button[type="submit"]:hover{
  background:var(--brand-cta-700);
  border-color:var(--brand-cta-700);
}
.content-well #regForm button[type="submit"]:focus,
.content-well #resendForm button[type="submit"]:focus{
  box-shadow:var(--focus);
  outline:none
}
.content-well #regForm button[type="submit"]:active,
.content-well #resendForm button[type="submit"]:active{
  transform:translateY(1px)
}
/* Submit button loading state */
.content-well #regForm button[type="submit"]:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  background: var(--brand-cta-700) !important;
  transform: none !important;
}

/* Loading spinner for button */
.content-well #regForm button[type="submit"]:disabled::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  border: 2px solid transparent;
  border-top: 2px solid #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* responsive */
@media (max-width:640px){
  .content-well .card{
    margin:0 auto;
    padding:1.375rem;
  }
}