/* Laugh N Learn – forms */
.lnlf{--lnlf-c:#624dd6;--lnlf-line:#dcdcdc;margin:0 0 30px;text-align:left;scroll-margin-top:110px}
.lnlf-form{position:relative}
.lnlf-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 20px}
.lnlf-field{grid-column:span 6;display:flex;flex-direction:column;gap:6px}
.lnlf-field--half{grid-column:span 3}
.lnlf-field--third{grid-column:span 2}
.lnlf-field label,.lnlf-field legend{font-size:13px;color:#555;font-weight:500;padding:0}
.lnlf-req{color:#e91e63}
.lnlf-field input[type=text],.lnlf-field input[type=email],.lnlf-field input[type=tel],.lnlf-field input[type=date],.lnlf-field select,.lnlf-field textarea{width:100%;border:1px solid var(--lnlf-line);background:#fff;padding:12px 14px;font:inherit;font-size:14px;color:#333;border-radius:4px;transition:border-color .2s,box-shadow .2s;min-height:46px}
.lnlf-field textarea{resize:vertical;min-height:140px}
.lnlf-field input:focus,.lnlf-field select:focus,.lnlf-field textarea:focus{border-color:var(--lnlf-c);box-shadow:0 0 0 3px rgba(98,77,214,.14);outline:0}
.lnlf-field.has-error input,.lnlf-field.has-error select,.lnlf-field.has-error textarea,.lnlf-field.has-error .lnlf-file__ui,.lnlf-field.has-error .lnlf-checks{border-color:#e53935}
.lnlf-error{color:#e53935;font-size:12px;min-height:0}
.lnlf-field fieldset{border:0;margin:0;padding:0}
.lnlf-checks{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:6px;border:1px solid transparent;border-radius:4px}
.lnlf-check{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#444;background:#f6f5ff;border:1px solid #e4e0fb;padding:6px 12px;border-radius:30px;transition:all .2s;user-select:none}
.lnlf-check input{accent-color:var(--lnlf-c);margin:0}
.lnlf-check:has(input:checked){background:var(--lnlf-c);border-color:var(--lnlf-c);color:#fff}
.lnlf-help{font-size:12px;color:#999}
.lnlf-heading{grid-column:1/-1;margin:18px 0 0;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#333;display:flex;gap:10px;align-items:center;border-bottom:2px dashed #e6e2fb;padding-bottom:8px}
.lnlf-heading:first-child{margin-top:0}
.lnlf-heading i{color:var(--lnlf-c)}
.lnlf-file{position:relative}
.lnlf-file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;z-index:2}
.lnlf-file__ui{display:flex;align-items:center;gap:10px;border:2px dashed #cfc8f7;background:#faf9ff;border-radius:6px;padding:14px 16px;color:#666;font-size:13px;transition:all .2s;min-height:52px}
.lnlf-file__ui i{color:var(--lnlf-c);font-size:20px}
.lnlf-file:hover .lnlf-file__ui,.lnlf-file input:focus+.lnlf-file__ui{border-color:var(--lnlf-c);background:#f3f0ff}
.lnlf-file.has-file .lnlf-file__ui{border-style:solid;border-color:#7cc522;background:#f4fbea;color:#2e6b00}
.lnlf-file.has-file .lnlf-file__ui i{color:#7cc522}
.lnlf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lnlf-privacy{font-size:12px;color:#999;margin:16px 0 0}
.lnlf-privacy i{margin-right:4px}
.lnlf-actions{margin-top:16px}
.lnlf-submit{min-width:200px}
.lnlf-submit.is-loading{pointer-events:none;opacity:.8}
.lnlf-submit.is-loading span::after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:lnlf-spin .7s linear infinite}
@keyframes lnlf-spin{to{transform:rotate(360deg)}}
.lnlf-alert{display:flex;gap:10px;align-items:flex-start;padding:14px 18px;border-radius:6px;margin:0 0 20px;font-size:14px;background:#eef;color:#333}
.lnlf-alert[hidden]{display:none}
.lnlf-alert--ok{background:#e9f8df;color:#2e6b00;border-left:4px solid #7cc522;animation:lnlf-pop .5s}
.lnlf-alert--err{background:#fdecea;color:#b71c1c;border-left:4px solid #e53935}
.lnlf-alert i{margin-top:3px}
@keyframes lnlf-pop{0%{transform:scale(.96);opacity:0}100%{transform:none;opacity:1}}
.lnlf.is-done .lnlf-form{display:none}
/* contact page: form card */
.lnlf--contact{background:#fff;padding:30px;border-radius:6px;box-shadow:0 10px 30px rgba(40,30,110,.08)}
/* careers: the old page centred the text */
.lnlf--career{max-width:1170px;margin-left:auto;margin-right:auto}
/* Jobs */
.lnlf-jobs{margin:0 0 40px}
.lnlf-jobs__title{text-align:center;color:#673ab7;font-family:"Oleo Script",cursive}
.lnlf-jobs__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.lnlf-job{background:#fff;border-radius:8px;padding:22px 22px 24px;box-shadow:0 8px 26px rgba(40,30,110,.08);border-top:4px solid #624dd6;display:flex;flex-direction:column;transition:transform .3s}
.lnlf-job:nth-child(4n+2){border-top-color:#e91e63}.lnlf-job:nth-child(4n+3){border-top-color:#88d914}.lnlf-job:nth-child(4n+4){border-top-color:#10b6fe}
.lnlf-job:hover{transform:translateY(-5px)}
.lnlf-job h3{font-size:19px;margin:0 0 6px;color:#222}
.lnlf-job__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#888;margin:0 0 10px}
.lnlf-job__meta i{color:#624dd6;margin-right:4px}
.lnlf-job__text{font-size:13px;flex:1}
.lnlf-job__apply{align-self:flex-start;margin-top:10px}
@media (max-width:700px){
	.lnlf-field--half,.lnlf-field--third{grid-column:span 6}
	.lnlf--contact{padding:20px}
	.lnlf-submit{width:100%}
}
