/* Form Inputs (matched from main site) */
.form-group{margin-bottom:20px}
.form-group label{
  display:block;font-size:.82rem;font-weight:600;
  color:var(--text-soft);margin-bottom:8px;letter-spacing:.03em;
}
.form-group label .req{color:var(--rose);margin-left:2px}
.form-input{
  width:100%;padding:14px 18px;background:var(--glass);
  border:1px solid var(--glass-border);border-radius:14px;
  color:white;font-family:'Inter',system-ui,sans-serif;font-size:.95rem;
  transition:border-color .3s,box-shadow .3s;outline:none;
}
.form-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(224,87,128,.15)}
.form-input::placeholder{color:var(--text-muted)}
.form-input:disabled{opacity:.5;cursor:not-allowed}
textarea.form-input{resize:vertical;min-height:100px}
select.form-input{
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;
}
select.form-input option{background:#2d1320;color:white}
.form-hint{font-size:.82rem;color:var(--text-muted);font-style:italic;margin-top:6px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.form-row{grid-template-columns:1fr}}

/* Choice Cards */
.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.choice{
  background:var(--glass);border:2px solid var(--glass-border);
  border-radius:var(--radius-md);padding:clamp(14px,2vw,20px);text-align:center;
  cursor:pointer;transition:all .3s;
}
.choice:hover{border-color:rgba(224,87,128,.4);background:rgba(224,87,128,.06)}
.choice.selected{border-color:var(--rose);background:rgba(224,87,128,.1);box-shadow:0 0 0 3px rgba(224,87,128,.15)}
.choice-icon{font-size:1.6rem;margin-bottom:6px}
.choice-label{font-size:.85rem;font-weight:600;margin-bottom:3px}
.choice-desc{font-size:.78rem;color:var(--text-muted);line-height:1.4}

/* Vibe Chips */
.chip-group{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  padding:6px 16px;border-radius:var(--radius-pill);
  background:var(--glass);border:1px solid var(--glass-border);
  font-size:.82rem;font-weight:500;color:var(--text-soft);
  cursor:pointer;transition:all .2s;user-select:none;
}
.chip:hover{border-color:rgba(224,87,128,.4)}
.chip.active{background:rgba(224,87,128,.15);border-color:var(--rose);color:var(--rose)}

/* Toggle Switch */
.toggle-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 0;border-bottom:1px solid var(--glass-border);
}
.toggle-row:last-child{border-bottom:none}
.toggle-label{font-size:.9rem;color:var(--text-soft)}
.toggle{
  position:relative;width:44px;height:24px;
}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:var(--glass-border);border-radius:24px;
  cursor:pointer;transition:background .3s;
}
.toggle-slider::before{
  content:'';position:absolute;left:3px;top:3px;
  width:18px;height:18px;border-radius:50%;
  background:white;transition:transform .3s;
}
.toggle input:checked+.toggle-slider{background:var(--rose)}
.toggle input:checked+.toggle-slider::before{transform:translateX(20px)}

/* Editable Section */
.editable-section{
  background:var(--glass);border:1px solid var(--glass-border);
  border-radius:var(--radius-xl);padding:clamp(24px,3vw,32px);
  margin-bottom:20px;
}
.editable-header{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:16px;
}
.editable-header h3{font-family:'Playfair Display',serif;font-size:1.1rem}
.edit-btn{
  padding:6px 16px;border-radius:var(--radius-pill);
  background:rgba(224,87,128,.1);border:1px solid rgba(224,87,128,.2);
  color:var(--rose);font-size:.78rem;font-weight:600;
  transition:all .2s;
}
.edit-btn:hover{background:rgba(224,87,128,.2)}
.view-mode .field-value{
  font-size:.9rem;color:var(--text-soft);padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.view-mode .field-label{font-size:.75rem;color:var(--text-muted);margin-top:12px;letter-spacing:.05em;text-transform:uppercase}
.edit-mode{display:none}
.section-editing .view-mode{display:none}
.section-editing .edit-mode{display:block}

/* Form Progress Bar */
.form-progress-bar{
  height:3px;background:rgba(255,255,255,.08);border-radius:4px;
  margin-bottom:clamp(28px,4vh,40px);overflow:hidden;
}
.form-progress-fill{
  height:100%;background:linear-gradient(90deg,var(--rose),var(--gold));
  border-radius:4px;transition:width .5s ease;
}

/* Multi Page Form */
.form-page{display:none}
.form-page.active{display:block;animation:slideUp .4s ease}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.fp-icon{font-size:2.4rem;margin-bottom:14px}
.fp-title{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3vw,1.8rem);font-weight:700;margin-bottom:6px}
.fp-sub{color:var(--text-muted);font-size:.88rem;margin-bottom:clamp(24px,3vh,36px);line-height:1.7}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(24px,3vh,36px);gap:14px}
.btn-back{
  background:none;border:1px solid var(--glass-border);color:var(--text-soft);
  padding:12px 24px;border-radius:var(--radius-pill);font-size:.9rem;font-weight:500;
  transition:all .3s;
}
.btn-back:hover{background:var(--glass);color:white}
.btn-next{
  background:linear-gradient(135deg,var(--rose),var(--rose-deep));color:white;
  padding:14px 32px;border-radius:var(--radius-pill);border:none;
  font-size:.95rem;font-weight:600;transition:all .3s;margin-left:auto;
}
.btn-next:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(224,87,128,.3)}

/* Partner Tabs */
.partner-tab{display:flex;gap:8px;margin-bottom:20px}
.ptab{
  flex:1;padding:10px;text-align:center;border-radius:var(--radius-sm);
  background:var(--glass);border:2px solid var(--glass-border);
  cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text-soft);transition:all .3s;
}
.ptab.active{border-color:var(--rose);color:var(--rose);background:rgba(224,87,128,.08)}
.partner-section{display:none}
.partner-section.active{display:block;animation:slideUp .3s ease}
