/* Brainstimulation Spel. Bygger på childtemats färger men fungerar även utan det. */
.bs-ordspel,.bs-logiktest,.bs-quiz{--s-natt:#16133d;--s-natt2:#221d5c;--s-ruta:#2b2566;--s-text:#fff;--s-dov:#c9c2ff;--s-ratt:#0e8a6f;--s-finns:#d99a12;--s-fel:#3d3772;--s-lime:#c6f432;--s-korall:#ff6a57;--s-violett:#5b3df5}
.bs-spelyta{background:var(--s-natt);color:var(--s-text);border-radius:22px;padding:clamp(1rem,.6rem + 2vw,2rem);margin:1.4em 0 2em;box-shadow:0 18px 50px rgba(22,19,61,.25)}
.bs-spelyta h3{color:#fff;margin-top:0}
.bs-spelyta p{color:var(--s-dov)}
.bs-spelyta button{font-family:inherit}

/* ---------- Ordgnistan ---------- */
.bs-ordspel{max-width:560px;margin-left:auto;margin-right:auto;user-select:none;-webkit-user-select:none}
.bs-os-huvud{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-bottom:1rem}
.bs-os-namn{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:1.4rem;color:#fff}
.bs-os-nr{font-weight:700;color:var(--s-lime);font-size:.95rem}
.bs-os-kontrastval{margin-left:auto;font-size:.85rem;color:var(--s-dov);display:flex;align-items:center;gap:.35em;cursor:pointer}
.bs-os-brade{display:grid;gap:7px;width:min(100%,340px);margin:0 auto}
.bs-os-rad{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.bs-os-ruta{aspect-ratio:1;display:grid;place-items:center;border:2px solid #4a4390;border-radius:10px;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;font-size:clamp(1.4rem,1rem + 2vw,2rem);text-transform:uppercase;color:#fff;background:transparent;transition:transform .12s,background .3s,border-color .3s}
.bs-os-ruta.bs-os-fylld{border-color:#8f84e6;transform:scale(1.04)}
.bs-os-ruta.bs-os-ratt{background:var(--s-ratt);border-color:var(--s-ratt);transform:none}
.bs-os-ruta.bs-os-finns{background:var(--s-finns);border-color:var(--s-finns);transform:none}
.bs-os-ruta.bs-os-fel{background:var(--s-fel);border-color:var(--s-fel);transform:none}
.bs-os-rad.bs-os-skaka{animation:bs-os-skaka .4s}
@keyframes bs-os-skaka{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.bs-os-meddelande{min-height:1.6em;text-align:center;margin:.8rem 0 .4rem;font-weight:700;color:var(--s-lime)!important}
.bs-os-tangenter{display:flex;flex-direction:column;gap:7px;margin-top:.4rem}
.bs-os-trad{display:flex;justify-content:center;gap:5px}
.bs-os-trad button{flex:1 1 0;min-width:0;max-width:46px;height:54px;padding:0;border:0;border-radius:8px;background:#4a4390;color:#fff;font-weight:700;font-size:1.05rem;text-transform:uppercase;cursor:pointer;box-shadow:none;transform:none}
.bs-os-trad button:hover{background:#5b52a8;transform:none;box-shadow:none}
.bs-os-trad button.bs-os-bred{flex:1.6 1 0;max-width:76px;font-size:.8rem;text-transform:none}
.bs-os-trad button.bs-os-ratt{background:var(--s-ratt)}
.bs-os-trad button.bs-os-finns{background:var(--s-finns)}
.bs-os-trad button.bs-os-fel{background:#25204f;color:#7d76b8}
.bs-ordspel.bs-os-hogkontrast{--s-ratt:#f5793a;--s-finns:#85c0f9}
.bs-os-resultat{background:var(--s-natt2);border-radius:16px;padding:1.1rem;margin:.6rem 0 1rem}
.bs-os-utfall{color:#fff!important;font-weight:700;font-size:1.1rem;text-align:center;margin:0 0 .8rem}
.bs-os-stat{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;text-align:center;margin-bottom:.8rem}
.bs-os-stat b{display:block;font-size:1.6rem;color:var(--s-lime);font-family:ui-monospace,Menlo,monospace}
.bs-os-stat span{font-size:.75rem;color:var(--s-dov)}
.bs-os-fordelning div{display:flex;align-items:center;gap:.5rem;margin:3px 0;font-size:.85rem}
.bs-os-fordelning span{width:1em;color:var(--s-dov)}
.bs-os-fordelning i{display:block;background:#4a4390;color:#fff;font-style:normal;text-align:right;padding:1px 6px;border-radius:4px;min-width:1.6em}
.bs-os-fordelning i.bs-os-nu{background:var(--s-ratt)}
.bs-os-nasta{text-align:center;font-size:.85rem;margin:.6rem 0}
.bs-os-knappar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.bs-spelyta .bs-knapp--kontur{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45);background:transparent}
.bs-spelyta .bs-knapp--kontur:hover{background:rgba(255,255,255,.12);color:#fff}

/* ---------- Logiktestet och quizet ---------- */
.bs-lt-topp,.bs-quiz-topp{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.9rem;color:var(--s-dov);margin-bottom:.5rem}
.bs-lt-kat{color:var(--s-lime);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}
.bs-lt-tid{font-family:ui-monospace,Menlo,monospace;color:#fff;font-weight:700}
.bs-quiz-poang{color:var(--s-lime);font-weight:700}
.bs-lt-progress{height:6px;border-radius:6px;background:#2b2566;overflow:hidden;margin-bottom:1.2rem}
.bs-lt-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--s-violett),var(--s-lime));transition:width .3s}
.bs-lt-fraga,.bs-quiz-fraga{color:#fff!important;font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-weight:700;line-height:1.4;max-width:none}
.bs-lt-matris{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,330px);margin:0 auto 1.2rem;padding:8px;background:#fff;border-radius:14px}
.bs-lt-matris>div{aspect-ratio:1;display:grid;place-items:center;border:1px solid #e3dff2;border-radius:8px;color:#16133d;background:#fff}
.bs-lt-matris svg{width:82%;height:82%}
.bs-lt-matris .bs-lt-fragetecken{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-size:2.4rem;font-weight:800;color:#5b3df5;background:#ece8ff;border:2px dashed #5b3df5}
.bs-lt-alt,.bs-quiz-alt{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.bs-lt-alt--bild{grid-template-columns:repeat(3,1fr);max-width:420px;margin:0 auto}
.bs-lt-alt button,.bs-quiz-alt button{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:54px;padding:.7rem 1rem;border:2px solid #4a4390;border-radius:12px;background:var(--s-ruta);color:#fff;font-size:1rem;font-weight:700;text-align:center;cursor:pointer;transform:none;box-shadow:none;transition:border-color .15s,background .15s}
.bs-lt-alt button:hover,.bs-quiz-alt button:hover{border-color:var(--s-lime);background:#342d78;transform:none;box-shadow:none}
.bs-lt-alt button[aria-pressed="true"]{border-color:var(--s-lime);background:#3a3290;box-shadow:0 0 0 3px rgba(198,244,50,.25)}
.bs-lt-alt--bild button{flex-direction:column;background:#fff;color:#16133d;padding:.4rem}
.bs-lt-alt--bild button:hover{background:#f3f0ff}
.bs-lt-alt--bild button[aria-pressed="true"]{background:#ecf9c8}
.bs-lt-alt--bild svg{width:70px;height:70px}
.bs-lt-alt--bild span{font-size:.8rem;color:#5d5a73}
.bs-lt-nav{display:flex;justify-content:space-between;gap:.6rem;margin-top:1.4rem}
.bs-lt-nav button[disabled]{opacity:.35;cursor:default}
.bs-quiz-alt button.bs-quiz-ratt{background:var(--s-ratt);border-color:var(--s-ratt);opacity:1}
.bs-quiz-alt button.bs-quiz-fel{background:#a6362a;border-color:#a6362a;opacity:1}
.bs-quiz-alt button:disabled{cursor:default;opacity:.7}
.bs-quiz-forklaring{margin-top:1rem;background:var(--s-natt2);border-radius:12px;padding:1rem}
.bs-quiz-forklaring p{margin:0 0 .8rem}
.bs-quiz-forklaring strong{color:#fff}
.bs-lt-poang{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-bottom:1.2rem}
.bs-lt-poang .bs-resultat{background:var(--s-natt2)}
.bs-lt-poang h3{margin:0 0 .2em}
.bs-lt-poang p{margin:0}
.bs-lt-kategorier{display:grid;gap:.5rem;margin-bottom:1rem}
.bs-lt-kategorier div{display:grid;grid-template-columns:7.5em 3em 1fr;align-items:center;gap:.6rem;font-size:.92rem}
.bs-lt-kategorier b{color:#fff;font-family:ui-monospace,Menlo,monospace}
.bs-lt-kategorier i{height:8px;background:#2b2566;border-radius:8px;overflow:hidden}
.bs-lt-kategorier em{display:block;height:100%;background:var(--s-lime)}
.bs-lt-obs{font-size:.9rem;border-left:3px solid var(--s-korall);padding-left:.8rem}
.bs-lt-genomgang{padding-left:1.3em;margin:.8em 0 0}
.bs-lt-genomgang li{margin-bottom:.8em;color:var(--s-dov);font-size:.92rem;max-width:none}
.bs-lt-genomgang li b{color:#fff}
.bs-lt-genomgang li.bs-lt-ratt::marker{color:var(--s-lime)}
.bs-lt-genomgang li.bs-lt-fel::marker{color:var(--s-korall)}
.bs-spelyta details.bs-svar>*:not(summary){background:var(--s-natt2);color:var(--s-dov)}
@media (max-width:520px){
	.bs-os-trad{gap:4px}
	.bs-os-trad button{height:50px;font-size:.95rem}
	.bs-lt-kategorier div{grid-template-columns:6.5em 2.6em 1fr}
}
@media (prefers-reduced-motion:reduce){.bs-os-ruta,.bs-lt-progress i{transition:none}.bs-os-rad.bs-os-skaka{animation:none}}

/* Kontaktformulär */
.bs-formular{background:#fff;border:1px solid #e3dff2;border-radius:18px;padding:clamp(1.1rem,.7rem + 2vw,2rem);margin:1.4em 0 2em;box-shadow:0 1px 2px rgba(22,19,61,.06),0 8px 28px rgba(22,19,61,.08)}
.bs-formular form{display:grid;gap:1.1rem;margin:0}
.bs-formular label{display:grid;gap:.35rem;align-content:start;font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:700;color:#16133d;font-size:1rem}
.bs-formular__etikett{display:block}
.bs-formular__valfri{font-weight:400;color:#5d5a73}
.bs-formular input[type=text],.bs-formular input[type=email],.bs-formular select,.bs-formular textarea{width:100%;font:inherit;font-family:"Atkinson Hyperlegible",system-ui,sans-serif;font-weight:400;font-size:1rem;color:#1d1b2f;background:#f8f6ff;border:2px solid #e3dff2;border-radius:10px;padding:.7em .85em;transition:border-color .15s,background .15s}
.bs-formular textarea{resize:vertical;min-height:9em}
.bs-formular input:focus,.bs-formular select:focus,.bs-formular textarea:focus{outline:none;border-color:#5b3df5;background:#fff;box-shadow:0 0 0 4px rgba(91,61,245,.15)}
.bs-formular__rad--tva{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.bs-formular__falla{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bs-formular__info{font-size:.9rem;color:#5d5a73;margin:0}
.bs-formular button{justify-self:start}
.bs-formular__fel{background:#fff0ee;border-left:5px solid #c8412f;border-radius:10px;padding:.8rem 1rem;margin-bottom:1.1rem;color:#7a2318}
.bs-formular__fel ul{margin:0;padding-left:1.1rem}
.bs-formular__klart{background:#e7f6f1;border-left:5px solid #0e8a6f;border-radius:10px;padding:1rem 1.2rem}
.bs-formular__klart p{margin:0;color:#0b5a49}
