/* SWSM 2026 - Visa invitation letter request form */
.swsm-visa{--v-bg:#0A2A40;--v-line:rgba(255,255,255,.14);--v-text:#F1F6F9;--v-muted:#9DB4C2;--v-accent:#2FAAE1;--v-accent2:#5FC4F0;color:var(--v-text);font-family:"Barlow",system-ui,sans-serif}
.swsm-visa__form,.swsm-visa__done{background:var(--v-bg);border:1px solid var(--v-line);border-radius:18px;padding:32px 34px}
.swsm-visa__step{border:0 !important;margin:0 0 28px;padding:0}
.swsm-visa__step:last-of-type{margin-bottom:22px}
.swsm-visa__step legend{display:flex;align-items:center;gap:12px;padding:0 0 16px;margin:0;font-family:"Zilla Slab",Georgia,serif;font-size:22px;font-weight:700;color:var(--v-text)}
.swsm-visa__num{font-family:"Barlow",sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--v-accent2)}
.swsm-visa__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:0 0 16px}
.swsm-visa__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.swsm-visa__field--wide{grid-column:1/-1;margin-bottom:16px}
.swsm-visa label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--v-muted)}
.swsm-visa__req{color:var(--v-accent2)}
.swsm-visa__opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--v-muted);opacity:.8}
.swsm-visa input[type=text],.swsm-visa input[type=email],.swsm-visa input[type=tel],.swsm-visa input[type=date],.swsm-visa select,.swsm-visa textarea{width:100%;padding:11px 14px;border:1px solid var(--v-line);border-radius:10px;background:rgba(6,33,51,.6);color:var(--v-text);font:inherit;font-size:15px;line-height:1.4}
.swsm-visa select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--v-accent2) 50%),linear-gradient(135deg,var(--v-accent2) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px}
.swsm-visa textarea{resize:vertical}
.swsm-visa :is(input,select,textarea):focus-visible{outline:2px solid var(--v-accent2);outline-offset:1px;border-color:var(--v-accent2)}
.swsm-visa [aria-invalid=true]{border-color:#FF9C8A !important}
.swsm-visa__err{margin:0 !important;font-size:13px;line-height:1.5;color:#FF9C8A;text-transform:none;letter-spacing:0}
.swsm-visa__err:empty{display:none}
.swsm-visa__hint{margin:0 0 4px !important;font-size:13px;line-height:1.6;color:var(--v-muted)}
.swsm-visa__hp{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.swsm-visa__confirm{margin:0 0 22px;padding:18px 20px;border:1px solid var(--v-line);border-left:4px solid var(--v-accent);border-radius:12px;background:rgba(6,33,51,.55)}
.swsm-visa__confirm label{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.6;color:#C9D7E0;cursor:pointer}
.swsm-visa__confirm input{flex:0 0 18px;width:18px;height:18px;margin-top:3px;accent-color:var(--v-accent)}
.swsm-visa__confirm a{color:var(--v-accent2);text-decoration:underline;text-underline-offset:2px}
.swsm-visa__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0 !important}
.swsm-visa__submit{padding:14px 30px;border:0;border-radius:999px;background:var(--v-accent);color:#04202F;font:inherit;font-size:15px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:transform .2s ease,background .2s ease}
.swsm-visa__submit:hover:not(:disabled){background:var(--v-accent2);transform:translateY(-2px)}
.swsm-visa__submit:disabled{opacity:.6;cursor:progress}
.swsm-visa__status{font-size:14px;color:var(--v-muted)}
.swsm-visa__done{border-left:4px solid var(--v-accent)}
.swsm-visa__done h3{margin:0 0 14px;font-family:"Zilla Slab",Georgia,serif;font-size:26px;font-weight:700;color:var(--v-text)}
.swsm-visa__done p{margin:0 0 12px;font-size:15.5px;line-height:1.7;color:#C9D7E0}
.swsm-visa__done .swsm-visa__ref{margin:18px 0 0;padding:14px 18px;border-radius:10px;background:rgba(47,170,225,.12);border:1px solid rgba(47,170,225,.35);color:var(--v-text)}
@media (max-width:767px){
 .swsm-visa__form,.swsm-visa__done{padding:22px 18px;border-radius:14px}
 .swsm-visa__grid{grid-template-columns:1fr;gap:14px}
 .swsm-visa__step legend{font-size:20px}
 .swsm-visa__submit{width:100%}
}
