/* FeTNA Tamil Sangam Programs
   Styles | v1.2.0 | NunAxis
   Color scheme: Purple & Pink
   Full Unicode / Tamil script support */

*,*::before,*::after{box-sizing:border-box}

.fsp-wrap{
  max-width:820px;
  margin:0 auto;
  font-family:'Segoe UI','Noto Sans Tamil',Arial,sans-serif;
  color:#333;
  line-height:1.6;
}

/* ── Header ─────────────────────────────────────── */
.fsp-header{
  background:linear-gradient(135deg,#4a0072 0%,#7b1fa2 45%,#c2185b 100%);
  color:#fff;
  border-radius:10px 10px 0 0;
  padding:24px 28px 20px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.fsp-header-text{}
.fsp-title-ta{margin:0 0 3px;font-size:1.18em;font-weight:700;letter-spacing:.2px;color:#fff!important}
.fsp-title-en{margin:0 0 3px;font-size:1em;font-weight:600;color:#fff!important;opacity:.92}
.fsp-subtitle{margin:0;font-size:.88em;color:#fff!important;opacity:.82}

.fsp-theme-badge{
  background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.3);
  border-radius:8px;
  padding:10px 16px;
  display:inline-block;
  flex-shrink:0;
}
.fsp-theme-badge span{display:block;font-size:.7em;text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:3px}
.fsp-theme-badge strong{font-size:.95em}

/* ── Alerts ──────────────────────────────────────── */
.fsp-alert{padding:13px 18px;border-radius:6px;margin:14px 0;font-weight:600;font-size:.94em;line-height:1.5}
.fsp-alert--ok {background:#f3e5f5;color:#4a0072;border:1px solid #ce93d8}
.fsp-alert--err{background:#fce4ec;color:#880e4f;border:1px solid #f48fb1}

/* ── Sections ────────────────────────────────────── */
.fsp-section{
  background:#fff;
  border:1px solid #e1bee7;
  border-top:none;
  padding:0 24px 20px;
}
.fsp-section:last-of-type{border-radius:0 0 10px 10px}

.fsp-section-head{
  display:flex;align-items:center;gap:12px;
  font-weight:700;font-size:.98em;color:#7b1fa2;
  padding:16px 0 12px;
  border-bottom:2px solid #f3e5f5;
  margin-bottom:16px;
}
.fsp-section-num{
  background:linear-gradient(135deg,#7b1fa2,#c2185b);
  color:#fff;
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.82em;flex-shrink:0;
}

/* ── Grid ────────────────────────────────────────── */
.fsp-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.fsp-field{display:flex;flex-direction:column}
.fsp-field--full  {flex:0 0 100%}
.fsp-field--half  {flex:1;min-width:230px}
.fsp-field--third {flex:1;min-width:170px}
.fsp-field--vcenter{justify-content:center}

/* ── Labels ──────────────────────────────────────── */
.fsp-field label{
  font-weight:600;font-size:.87em;
  margin-bottom:5px;color:#444;line-height:1.5;
}
.fsp-req{color:#c2185b}
.fsp-hint{font-size:.8em;color:#888;margin:4px 0 0;font-style:italic}
.fsp-hint-text{display:block;font-weight:400;color:#888;font-style:italic;font-size:.85em}
.fsp-text-red{color:#c2185b!important;font-weight:600}

/* ── Inputs ──────────────────────────────────────── */
.fsp-field input[type=text],
.fsp-field input[type=email],
.fsp-field input[type=tel],
.fsp-field input[type=url],
.fsp-field input[type=number],
.fsp-field select,
.fsp-field textarea{
  border:1.5px solid #ce93d8;
  border-radius:5px;
  padding:9px 12px;font-size:.93em;font-family:inherit;
  background:#fdf6ff;width:100%;
  transition:border .18s,box-shadow .18s;outline:none;
}
.fsp-field input:focus,
.fsp-field select:focus,
.fsp-field textarea:focus{
  border-color:#7b1fa2;
  box-shadow:0 0 0 3px rgba(123,31,162,.12);
  background:#fff;
}

/* ── Radios ──────────────────────────────────────── */
.fsp-radios{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.fsp-radio{
  display:flex;align-items:center;gap:8px;
  background:#fdf6ff;border:1.5px solid #ce93d8;
  border-radius:6px;padding:8px 14px;
  cursor:pointer;font-size:.88em;
  transition:background .15s,border .15s;
}
.fsp-radio:hover{background:#f8bbd0;border-color:#c2185b}
.fsp-radio input{accent-color:#7b1fa2}
.fsp-radio input:checked+span{font-weight:700;color:#7b1fa2}

/* ── Agree checkbox ──────────────────────────────── */
.fsp-agree-wrap{
  display:flex;align-items:flex-start;gap:10px;
  cursor:pointer;font-size:.87em;padding:12px;
  border:1.5px solid #ce93d8;border-radius:6px;background:#fdf6ff;
  transition:border .15s;
}
.fsp-agree-wrap:hover{border-color:#7b1fa2}
.fsp-agree-wrap input{accent-color:#7b1fa2;margin-top:2px;flex-shrink:0}
.fsp-agree-wrap a{color:#7b1fa2}

/* ── Char counter / warnings ─────────────────────── */
.fsp-char{font-size:.77em;color:#999;text-align:right;margin-top:3px}
.fsp-err {color:#c2185b;font-size:.82em;margin-top:4px}
.fsp-warn{color:#e65100;font-size:.82em;margin-top:4px}

/* ── Submit row ──────────────────────────────────── */
.fsp-submit-row{
  padding:22px 24px;text-align:center;
  background:#fdf6ff;
  border-top:2px solid #e1bee7;
  border-radius:0 0 10px 10px;
}
#fsp-btn{
  background:linear-gradient(135deg,#7b1fa2,#c2185b);
  color:#fff;border:none;
  padding:13px 50px;font-size:1.04em;font-weight:700;
  border-radius:7px;cursor:pointer;letter-spacing:.4px;
  box-shadow:0 3px 14px rgba(123,31,162,.35);
  transition:opacity .18s,transform .1s;
}
#fsp-btn:hover {opacity:.9;transform:translateY(-1px)}
#fsp-btn:active{transform:translateY(0)}
.fsp-privacy{font-size:.79em;color:#999;margin:10px 0 0;line-height:1.5}

/* ── Cloudflare Turnstile ────────────────────────── */
.cf-turnstile{margin-top:4px}

/* ── Branding ────────────────────────────────────── */
.fsp-branding{
  text-align:center;padding:12px;
  font-size:.78em;color:#bbb;
}
.fsp-branding a{color:#bbb;text-decoration:none}
.fsp-branding a:hover{color:#7b1fa2}

/* ── Responsive ──────────────────────────────────── */
@media(max-width:600px){
  .fsp-header{padding:18px 16px 16px;flex-direction:column}
  .fsp-section{padding:0 14px 16px}
  .fsp-row{flex-direction:column}
  .fsp-field--half,.fsp-field--third{min-width:100%}
  .fsp-radios{flex-direction:column;gap:8px}
  #fsp-btn{width:100%}
}
