/* SWSM 2026 - abstract submission form (Fluent Forms) */
.swsm-abstract-form,
.fluentform .ff-el-group{font-family:Barlow,sans-serif}
.swsm-abstract-form .frm-fluent-form{max-width:820px}
.swsm-abstract-form .ff-el-group{margin-bottom:22px}

/* section headings */
.swsm-abstract-form .ff-el-section-break{
  margin:40px 0 6px;padding:0 0 10px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.swsm-abstract-form .ff-el-group:first-child .ff-el-section-break{margin-top:0}
.swsm-abstract-form .ff-el-section-break h3,
.swsm-abstract-form .ff-el-section-title{
  margin:0 0 6px;font-family:"Zilla Slab",Georgia,serif;font-size:22px;line-height:1.3;
  font-weight:700;color:#F1F6F9;
}
.swsm-abstract-form .ff-section_break_desk,
.swsm-abstract-form .ff-el-section-break p{margin:0;font-size:14px;line-height:1.6;color:#9DB4C2}

/* labels + help */
.swsm-abstract-form .ff-el-input--label label{
  font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#2FAAE1;
  margin-bottom:7px;display:inline-block;
}
.swsm-abstract-form .ff-el-input--label.ff-el-is-required label:after{color:#5FC4F0;margin-left:3px}
.swsm-abstract-form .ff-el-help-message{font-size:13px;line-height:1.5;color:#9DB4C2;margin:4px 0 8px}

/* controls */
.swsm-abstract-form .ff-el-form-control{
  width:100%;background:#0A2A40;color:#F1F6F9;
  border:1px solid rgba(255,255,255,.16);border-radius:10px;
  padding:13px 16px;font-family:Barlow,sans-serif;font-size:16px;line-height:1.5;
  transition:border-color 220ms ease,box-shadow 220ms ease,background-color 220ms ease;
  box-shadow:none;
}
.swsm-abstract-form textarea.ff-el-form-control{min-height:210px;resize:vertical}
.swsm-abstract-form .ff-el-form-control::placeholder{color:#6f8698;opacity:1}
.swsm-abstract-form .ff-el-form-control:hover{border-color:rgba(255,255,255,.28)}
.swsm-abstract-form .ff-el-form-control:focus{
  outline:none;background:#0E3550;border-color:#2FAAE1;
  box-shadow:0 0 0 3px rgba(47,170,225,.22);
}
.swsm-abstract-form select.ff-el-form-control{appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#2FAAE1 50%),linear-gradient(135deg,#2FAAE1 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px;
}
.swsm-abstract-form select.ff-el-form-control option{background:#0A2A40;color:#F1F6F9}
/* radio + checkbox */
.swsm-abstract-form .ff-el-form-check{margin-bottom:10px}
.swsm-abstract-form .ff-el-form-check-label{
  display:flex;gap:12px;align-items:flex-start;
  background:#0A2A40;border:1px solid rgba(255,255,255,.12);border-radius:10px;
  padding:14px 16px;font-size:15px;line-height:1.5;color:#F1F6F9;cursor:pointer;
  transition:border-color 220ms ease,background-color 220ms ease;
}
.swsm-abstract-form .ff-el-form-check-label:hover{border-color:rgba(47,170,225,.5)}
.swsm-abstract-form .ff-el-form-check input[type=radio],
.swsm-abstract-form .ff-el-form-check input[type=checkbox]{
  flex:0 0 auto;margin:2px 0 0;width:18px;height:18px;accent-color:#2FAAE1;
}
.swsm-abstract-form .ff-el-form-check input:focus-visible{outline:2px solid #5FC4F0;outline-offset:2px}
.swsm-abstract-form .swsm-ff-confirm .ff-el-input--label label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.swsm-abstract-form .swsm-ff-confirm .ff-el-form-check-label{background:#13324A;border-color:rgba(47,170,225,.35)}

/* live counters */
.swsm-count{display:block;margin-top:6px;font-size:12.5px;letter-spacing:.04em;color:#9DB4C2}
.swsm-count.is-over{color:#FF9A8B;font-weight:600}

/* errors */
.swsm-abstract-form .ff-el-is-error .ff-el-form-control{border-color:#FF8A73}
.swsm-abstract-form .text-danger,
.swsm-abstract-form .error{color:#FF9A8B;font-size:13.5px;line-height:1.5;margin-top:6px}
.swsm-abstract-form .ff-el-is-error .ff-el-form-check-label{border-color:#FF8A73}

/* submit */
.swsm-abstract-form .ff-btn-submit{
  background:#2FAAE1 !important;color:#062133 !important;border:0;border-radius:8px;
  font-family:Barlow,sans-serif;font-size:16px;font-weight:600;letter-spacing:.02em;
  padding:15px 34px;cursor:pointer;
  transition:transform 260ms cubic-bezier(.22,1,.36,1),box-shadow 260ms ease;
}
.swsm-abstract-form .ff-btn-submit:hover{transform:translateY(-2px);box-shadow:0 12px 26px -14px rgba(47,170,225,.85)}
.swsm-abstract-form .ff-btn-submit:focus-visible{outline:2px solid #5FC4F0;outline-offset:3px}

/* success panel */
.swsm-ff-success{
  background:#0A2A40;border:1px solid rgba(47,170,225,.35);border-left:3px solid #2FAAE1;
  border-radius:14px;padding:32px 34px;font-family:Barlow,sans-serif;
}
.swsm-ff-success__eyebrow{margin:0 0 8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#2FAAE1}
.swsm-ff-success__title{margin:0 0 14px;font-family:"Zilla Slab",Georgia,serif;font-size:28px;line-height:1.25;font-weight:700;color:#F1F6F9}
.swsm-ff-success__id{margin:0 0 16px;font-size:19px;line-height:1.5;color:#F1F6F9}
.swsm-ff-success__id strong{color:#5FC4F0;letter-spacing:.04em}
.swsm-ff-success__note{margin:0 0 10px;font-size:15px;line-height:1.6;color:#9DB4C2}
.swsm-ff-success__note:last-child{margin-bottom:0}

@media (max-width:767px){
  .swsm-abstract-form .ff-el-group{margin-bottom:18px}
  .swsm-abstract-form .ff-el-section-break{margin-top:30px}
  .swsm-abstract-form .ff-el-section-break h3,
  .swsm-abstract-form .ff-el-section-title{font-size:19px}
  .swsm-abstract-form .ff-el-form-control{font-size:16px;padding:12px 14px}
  .swsm-abstract-form textarea.ff-el-form-control{min-height:180px}
  .swsm-abstract-form .ff-btn-submit{width:100%;padding:16px 24px}
  .swsm-ff-success{padding:24px 20px}
  .swsm-ff-success__title{font-size:23px}
}
/* FF draws its own rule under a section break; ours is enough */
.swsm-abstract-form .ff-el-section-break hr{display:none}
.swsm-abstract-form .ff-el-input--label .ff-el-tooltip{display:none}

/* Success screen button (Trello P1.07, 12 Oct 2026) */
.swsm-ff-success__cta{margin:22px 0 0}
.swsm-ff-success a.swsm-ff-success__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:6px;background:#2FAAE1;color:#062133!important;font-family:Barlow,sans-serif;font-size:15px;font-weight:700;letter-spacing:.02em;text-decoration:none!important;transition:background-color .2s ease,transform .2s ease}
.swsm-ff-success a.swsm-ff-success__btn:hover{background:#5FC4F0;transform:translateY(-1px)}
.swsm-ff-success a.swsm-ff-success__btn:focus-visible{outline:3px solid #5FC4F0;outline-offset:3px}
@media (max-width:520px){.swsm-ff-success a.swsm-ff-success__btn{width:100%}}
