/* Makerspace Påmelding – strukturell CSS. Ingen font-size – temaet styrer tekststørrelse. */

.msp-wrap { max-width:680px; margin:0 auto; }
.msp-info-block { margin-bottom:1.5em; }
.msp-spots { margin:1em 0 1.5em; padding:10px 14px; background:#f0f0f0; border-radius:4px; }

.msp-req { color:#c0392b; }
.msp-info-icon { cursor:help; }

.msp-field { margin-bottom:1.2em; }
.msp-field > label { display:block; font-weight:700; margin-bottom:6px; }

.msp-input {
    display:block; width:100%; padding:10px 12px;
    border:2px solid #b8860b; border-radius:5px;
    font-family:inherit; font-size:inherit; background:#fff; box-sizing:border-box;
    transition:border-color .2s, box-shadow .2s;
}
.msp-input:focus { outline:none; border-color:#e67e22; box-shadow:0 0 0 3px rgba(230,126,34,0.15); }

.msp-checkbox-field { margin-bottom:1.5em; }

/* Ja/Nei toggle buttons */
.msp-toggle-group { display:flex; gap:0; margin-top:8px; }
.msp-toggle { cursor:pointer; margin:0; }
.msp-toggle input { position:absolute; opacity:0; pointer-events:none; }
.msp-toggle-btn {
    display:inline-block; padding:10px 28px;
    border:2px solid #b8860b; background:#fff; color:#333;
    font-weight:700; font-family:inherit; font-size:inherit;
    transition:background .15s, color .15s, border-color .15s;
    user-select:none;
}
.msp-toggle:first-child .msp-toggle-btn { border-radius:5px 0 0 5px; border-right:1px solid #b8860b; }
.msp-toggle:last-child .msp-toggle-btn { border-radius:0 5px 5px 0; border-left:1px solid #b8860b; }
.msp-toggle input:checked + .msp-toggle-btn { background:#e67e22; color:#fff; border-color:#e67e22; }

.msp-check { display:flex; align-items:flex-start; gap:10px; cursor:pointer; }
.msp-check input[type="checkbox"] { margin-top:4px; width:20px; height:20px; flex-shrink:0; accent-color:#e67e22; }
.msp-check a { color:#e67e22; text-decoration:underline; }
.msp-check a:hover { color:#d35400; }

.msp-submit {
    display:inline-block; padding:12px 32px;
    background:#e67e22; color:#fff; border:none; border-radius:5px;
    font-weight:700; font-family:inherit; font-size:inherit; cursor:pointer;
    transition:background .2s, transform .1s; margin-top:0.5em;
}
.msp-submit:hover { background:#d35400; }
.msp-submit:active { transform:scale(0.97); }
.msp-submit:disabled { background:#bbb; cursor:not-allowed; }
.msp-submit.msp-loading { color:transparent; position:relative; }
.msp-submit.msp-loading::after {
    content:''; position:absolute; top:50%;left:50%;
    width:18px;height:18px; margin:-9px 0 0 -9px;
    border:3px solid rgba(255,255,255,0.3); border-top-color:#fff;
    border-radius:50%; animation:msp-spin .5s linear infinite;
}
@keyframes msp-spin { to{transform:rotate(360deg);} }

.msp-message { margin-top:14px; padding:12px 16px; border-radius:5px; }
.msp-msg-success { background:#d4edda; color:#155724; border:1px solid #c3e6cb; }
.msp-msg-error { background:#f8d7da; color:#721c24; border:1px solid #f5c6cb; }
.msp-msg-waitlist { background:#fff3cd; color:#856404; border:1px solid #ffeeba; }

@media(max-width:600px) {
    .msp-wrap { padding:0; }
}

/* ─── Mod/Veileder-side (mobile-first) ────────────────────────────── */
.msp-mod-login { margin:2em 0; }
.msp-mod-error { color:#c0392b; font-weight:700; }
.msp-mod-dashboard { width:100%; }
.msp-mod-event { border:1px solid #ddd; border-radius:8px; padding:12px; margin-bottom:16px; }
.msp-mod-event-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px; }
.msp-mod-count { background:#2c3e50; color:#fff; padding:3px 14px; border-radius:20px; font-weight:600; }
.msp-mod-date { color:#666; margin:4px 0 10px; }

/* Card-based attendee list — works on all screens */
.msp-mod-list { display:flex; flex-direction:column; gap:8px; }
.msp-mod-card {
    display:flex; align-items:flex-start; gap:10px;
    padding:10px 12px; border:1px solid #eee; border-radius:6px;
}
.msp-mod-card-wl { border-color:#ffeeba; background:#fffdf5; }
.msp-mod-card-num { font-weight:700; color:#999; min-width:1.5em; }
.msp-mod-card-info { flex:1; line-height:1.6; }
.msp-mod-cancel-link { color:#e74c3c; text-decoration:none; }
.msp-mod-cancel-link:hover { text-decoration:underline; }
.msp-phone-link { color:#e67e22; text-decoration:none; font-weight:700; }
.msp-phone-link:hover { text-decoration:underline; }
.msp-mod-wl-title { margin:14px 0 8px; color:#e67e22; }

/* Stengt for påmelding */
.msp-closed-notice {
    background:#fce4e4; border:1px solid #c0392b; color:#c0392b;
    padding:16px 20px; border-radius:6px; text-align:center;
    margin:16px 0; font-weight:600;
}

/* Toggle-knapp åpen/stengt (veileder-side) */
.msp-toggle-closed {
    display:inline-block; padding:8px 20px; border:none; border-radius:20px;
    font-weight:700; font-family:inherit; font-size:inherit; cursor:pointer;
    transition:background .2s, color .2s, transform .1s;
    margin:8px 0;
}
.msp-toggle-closed:active { transform:scale(0.96); }
.msp-toggle-closed:disabled { opacity:0.6; cursor:wait; }
.msp-tc-open { background:#27ae60; color:#fff; }
.msp-tc-open:hover { background:#219a52; }
.msp-tc-closed { background:#c0392b; color:#fff; }
.msp-tc-closed:hover { background:#a93226; }

/* Thank-you page */
.msp-thankyou { padding:2em 0; }
.msp-thankyou h2 { color:#27ae60; }
