/* ============================================================
   ilabs forms — Teilnahme-Strecke (index.php)
   ============================================================ */

.brand-row{ display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:6px; }
.brand-name{ font-size:22px; font-weight:800; color:var(--text-primary); letter-spacing:-0.3px; }

.q-image{
    width:100%; max-height: 230px; overflow:hidden; border-radius: var(--inner-radius);
    margin-bottom: 20px; background: var(--inner-bg); border:1px solid rgba(255,255,255,0.5);
    display:flex; align-items:center; justify-content:center;
}
.q-image img{ width:100%; height:100%; object-fit:contain; max-height:230px; }

.q-text{ font-size:20px; font-weight:800; color:var(--text-primary); margin:0 0 6px 0; line-height:1.35; }
.q-optional-tag{ display:inline-block; font-size:11.5px; font-weight:700; color:var(--text-muted); background:rgba(34,68,102,0.08); padding:3px 10px; border-radius:999px; margin-bottom:16px; }

.q-textarea{ width:100%; min-height:120px; margin-top:14px; }

.option-list{ display:flex; flex-direction:column; gap:12px; margin-top:16px; }
.option-tile{
    display:flex; align-items:center; gap:14px; padding:15px 18px; cursor:pointer;
    border: 1px solid rgba(0,60,120,0.1);
}
.option-tile.selected{ border-color: var(--blue-solid); box-shadow: 0 0 0 3px rgba(0,162,255,0.15); }
.option-control{
    flex:0 0 auto; width:20px; height:20px; border:2px solid rgba(0,60,120,0.25); position:relative; transition: all 0.2s;
}
.option-control.radio{ border-radius:50%; }
.option-control.checkbox{ border-radius:6px; }
.option-control.checked{ border-color: var(--blue-solid); background: var(--blue-glass); }
.option-control.checked::after{
    content:''; position:absolute; inset:0; margin:auto;
}
.option-control.radio.checked::after{ width:8px; height:8px; border-radius:50%; background:#fff; }
.option-control.checkbox.checked::after{ width:11px; height:6px; border-left:2.5px solid #fff; border-bottom:2.5px solid #fff; transform: translateY(-1px) rotate(-45deg); }
.option-label{ font-size:15px; color:var(--text-primary); font-weight:600; }

.q-footer{ display:flex; align-items:center; justify-content:space-between; margin-top:28px; gap:12px; flex-wrap:wrap; }
.q-outro-text{ font-size:17px; line-height:1.6; color:var(--text-primary); white-space:pre-line; text-align:center; max-width:440px; }

@media (max-width: 560px){
    #quizCard{ padding:30px 22px !important; border-radius:26px !important; }
    .q-text{ font-size:18px; }
}
