/* ═══════════════════════════════════════════════
   WAITLIST FORM STYLES
   Shared by the homepage modal AND the standalone /waitlist page.
═══════════════════════════════════════════════ */

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:5px;}
.form-group.full{grid-column:1/-1;}
.form-label{font-size:0.73rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);}
.form-input,.form-select,.form-textarea{
  width:100%;padding:12px 14px;border-radius:10px;
  border:1.5px solid var(--input-border,var(--border));background:var(--input-bg,var(--surface));
  color:var(--text);font-family:'Inter',sans-serif;font-size:0.88rem;
  transition:border-color 0.25s,box-shadow 0.25s;
  outline:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,0.12);}
.form-input::placeholder,.form-textarea::placeholder{color:var(--text-dim);}
.form-textarea{resize:vertical;min-height:80px;line-height:1.6;}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a84c' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;padding-right:36px;cursor:pointer;}
[data-theme="light"] .form-select{background-color:var(--surface);}
[data-theme="light"] .form-input,[data-theme="light"] .form-textarea{background-color:var(--surface);}

/* Radio / Checkbox pill groups */
.radio-group{display:flex;flex-wrap:wrap;gap:8px;}
.radio-btn{
  display:flex;align-items:center;gap:6px;padding:8px 14px;
  border-radius:20px;border:1.5px solid var(--border);background:var(--btn-ghost-bg);
  cursor:pointer;font-size:0.82rem;font-weight:500;color:var(--text-muted);
  transition:all 0.25s;
}
.radio-btn:hover{border-color:rgba(201,168,76,0.35);color:var(--gold);}
.radio-btn.selected{border-color:var(--gold);background:var(--gold-dim);color:var(--gold);font-weight:700;}
.radio-btn input[type="radio"]{position:absolute;opacity:0;pointer-events:none;}
.radio-btn input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;}

/* Waitlist-specific */
.wl-box{max-width:640px;}
.wl-note{
  background:var(--gold-dim);border:1px solid rgba(201,168,76,0.3);
  border-radius:12px;padding:12px 16px;margin-bottom:20px;
  font-size:0.9rem;font-weight:600;color:var(--gold);line-height:1.5;
}
.wl-consent{
  display:flex;align-items:flex-start;gap:10px;margin-top:18px;cursor:pointer;
  font-size:0.86rem;color:var(--text-muted);line-height:1.5;
}
.wl-consent input[type="checkbox"]{
  appearance:none;-webkit-appearance:none;flex-shrink:0;
  width:20px;height:20px;border:1.5px solid var(--border);border-radius:6px;
  background:var(--btn-ghost-bg);cursor:pointer;position:relative;transition:all 0.2s;margin-top:1px;
}
.wl-consent input[type="checkbox"]:checked{background:var(--gold);border-color:var(--gold);}
.wl-consent input[type="checkbox"]:checked::after{
  content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #1a0d00;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.wl-consent.wl-err input[type="checkbox"]{border-color:#ff5050;box-shadow:0 0 0 3px rgba(255,80,80,0.15);}
.form-input.wl-err,.form-select.wl-err{border-color:#ff5050;box-shadow:0 0 0 3px rgba(255,80,80,0.12);}
.wl-alt-notes{
  margin-top:20px;padding-top:18px;border-top:1px solid var(--border);
  display:flex;flex-direction:column;gap:8px;
}
.wl-alt-notes p{font-size:0.83rem;color:var(--text-muted);line-height:1.5;}
.wl-alt-notes a{color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
.wl-success{text-align:center;padding:24px 8px;}
.wl-success h3{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--text);margin:18px 0 8px;line-height:1.3;}
.wl-success p{color:var(--text-muted);font-size:0.95rem;}
.wl-success-ring{display:flex;justify-content:center;}
.wl-ring-c{stroke:var(--gold);stroke-width:2;stroke-dasharray:151;stroke-dashoffset:151;animation:wlRing 0.6s ease forwards;}
.wl-ring-check{stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:wlCheck 0.4s 0.5s ease forwards;}
@keyframes wlRing{to{stroke-dashoffset:0;}}
@keyframes wlCheck{to{stroke-dashoffset:0;}}

/* Standalone /waitlist page card wrapper (the modal already has its own .modal-box chrome) */
.wl-page-card{
  max-width:640px;margin:0 auto;background:var(--card-bg,var(--surface));
  border:1px solid var(--border);border-radius:28px;padding:36px 32px;
}
.wl-page-card h1{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--text);margin-bottom:6px;}
.wl-page-card > p.wl-subtitle{font-size:0.9rem;color:var(--text-muted);margin-bottom:24px;}

@media(max-width:640px){
  .form-grid{grid-template-columns:1fr;}
  .wl-page-card{padding:28px 20px;border-radius:20px;}
}
