/*
 * Lieferanten QM – Frontend Styles
 * Design erbt Schriftart, Farben und Abstände vom aktiven WordPress-Theme.
 * Plugin-eigene Farben werden als CSS-Custom-Properties definiert und können
 * per Theme oder Customizer überschrieben werden.
 */

/* ── CSS Variables – injected by PHP (LQM_Theme) ─────────────── */
/* Fallback values only; overridden at runtime by wp_add_inline_style  */
.lqm-app {
    --lqm-primary:      #1F4E79;
    --lqm-primary-dark: #163a5a;
    --lqm-accent:       #2E75B6;
    --lqm-text:         inherit;
    --lqm-bg:           #ffffff;
    --lqm-border:       #d1d5db;
    --lqm-radius:       8px;
    --lqm-green:        #375623;
    --lqm-green-bg:     #EAF3DE;
    --lqm-yellow:       #BF8F00;
    --lqm-yellow-bg:    #FFF9E6;
    --lqm-red:          #C00000;
    --lqm-red-bg:       #FEF2F2;
}

/* ── Intro ───────────────────────────────────────────────────── */
.lqm-intro { font-size:.95em; color:inherit; opacity:.75; margin-bottom:1.5rem; }

/* ── Fortschrittsbalken ──────────────────────────────────────── */
.lqm-progress-wrap    { margin-bottom:1.5rem; }
.lqm-progress-bar-bg  { height:5px; background:#e5e7eb; border-radius:3px; }
.lqm-progress-bar-fill{ height:5px; background:var(--lqm-primary); border-radius:3px; transition:width .4s ease; }
.lqm-progress-label   { font-size:.78em; color:inherit; opacity:.55; margin-top:4px; }

/* ── Bereichslabel & Frage ───────────────────────────────────── */
.lqm-section-label { font-size:.72em; font-weight:600; letter-spacing:.08em; text-transform:uppercase; opacity:.5; margin-bottom:.4rem; }
.lqm-question      { font-size:1.05em; font-weight:600; margin-bottom:1.2rem; line-height:1.5; }

/* ── Antwortoptionen ─────────────────────────────────────────── */
.lqm-options { display:flex; flex-direction:column; gap:8px; margin-bottom:1.8rem; }
.lqm-opt {
    display:flex; align-items:center; gap:12px;
    padding:11px 16px;
    border:1px solid var(--lqm-border);
    border-radius:var(--lqm-radius);
    cursor:pointer; font-size:.9em;
    background:var(--lqm-bg);
    transition:border-color .15s, background .15s;
}
.lqm-opt:hover    { border-color:var(--lqm-primary); background:color-mix(in srgb,var(--lqm-primary) 6%,white); }
.lqm-opt.selected { border-color:var(--lqm-primary); background:color-mix(in srgb,var(--lqm-primary) 10%,white); }
.lqm-opt-dot {
    width:16px; height:16px; border-radius:50%;
    border:2px solid var(--lqm-border); flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    transition:border-color .15s;
}
.lqm-opt.selected .lqm-opt-dot { border-color:var(--lqm-primary); background:var(--lqm-primary); }
.lqm-opt-dot-inner   { width:6px; height:6px; border-radius:50%; background:#fff; display:none; }
.lqm-opt.selected .lqm-opt-dot-inner { display:block; }

/* ── Navigation ──────────────────────────────────────────────── */
.lqm-nav { display:flex; justify-content:space-between; align-items:center; }
.lqm-btn {
    padding:9px 22px; border-radius:var(--lqm-radius);
    font-size:.88em; cursor:pointer;
    border:1px solid var(--lqm-border);
    background:var(--lqm-bg); color:inherit;
    font-family:inherit;
    transition:background .15s, border-color .15s;
}
.lqm-btn:hover:not(:disabled) { background:#f3f4f6; }
.lqm-btn:disabled { opacity:.35; cursor:default; }
.lqm-btn-primary {
    background:var(--lqm-primary); color:#fff;
    border-color:var(--lqm-primary);
}
.lqm-btn-primary:hover:not(:disabled) { background:var(--lqm-primary-dark); border-color:var(--lqm-primary-dark); }
.lqm-counter { font-size:.8em; opacity:.55; }

/* ── Lead-Gate ───────────────────────────────────────────────── */
.lqm-lead-gate   { border:1px solid color-mix(in srgb,var(--lqm-primary) 25%,#e0e0e0); border-radius:12px; overflow:hidden; }
.lqm-lead-header { background:linear-gradient(135deg,var(--lqm-primary),var(--lqm-accent)); color:#fff; padding:28px 28px 22px; text-align:center; }
.lqm-lead-icon   { font-size:36px; margin-bottom:8px; }
.lqm-lead-title  { font-size:1.2em; font-weight:700; margin:0 0 6px; color:#fff; font-family:var(--wp--preset--font-family--heading,inherit); }
.lqm-lead-subtitle{ font-size:.88em; opacity:.9; margin:0; color:#fff; }
.lqm-lead-form   { padding:24px 28px; background:var(--lqm-bg); }
.lqm-field-row   { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:540px){ .lqm-field-row { grid-template-columns:1fr; } }
.lqm-field       { margin-bottom:14px; }
.lqm-field label { display:block; font-size:.82em; font-weight:600; opacity:.7; margin-bottom:5px; }
.lqm-field input[type=text],
.lqm-field input[type=email],
.lqm-field input[type=tel] {
    width:100%; padding:9px 12px;
    border:1px solid var(--lqm-border);
    border-radius:var(--lqm-radius);
    font-size:.9em; font-family:inherit;
    box-sizing:border-box; background:var(--lqm-bg); color:inherit;
    transition:border-color .15s;
}
.lqm-field input:focus { border-color:var(--lqm-primary); outline:2px solid color-mix(in srgb,var(--lqm-primary) 25%,transparent); }
.lqm-req          { color:var(--lqm-red); font-weight:700; }
.lqm-optional     { font-size:.75em; opacity:.5; font-weight:400; }
.lqm-field-consent{ margin-bottom:12px; }
.lqm-consent-label{ display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:.82em; line-height:1.5; }
.lqm-consent-label input[type=checkbox]{ margin-top:2px; flex-shrink:0; width:15px; height:15px; accent-color:var(--lqm-primary); }
.lqm-consent-label a { color:var(--lqm-primary); }
.lqm-dsgvo-hint   { font-size:.75em; opacity:.5; line-height:1.5; margin:10px 0 16px; }
.lqm-btn-fullwidth { width:100%; padding:12px; font-size:1em; font-weight:600; border-radius:var(--lqm-radius); margin-top:4px; }
.lqm-required-note{ font-size:.75em; opacity:.45; margin-top:10px; text-align:right; }
.lqm-form-error   { background:var(--lqm-red-bg); color:var(--lqm-red); border:1px solid color-mix(in srgb,var(--lqm-red) 30%,transparent); border-radius:var(--lqm-radius); padding:9px 14px; font-size:.85em; margin-bottom:12px; }

/* ── Ergebnis – Gesamtscore ──────────────────────────────────── */
.lqm-result-intro   { background:color-mix(in srgb,var(--lqm-primary) 7%,white); border-left:3px solid var(--lqm-primary); padding:10px 16px; border-radius:0 var(--lqm-radius) var(--lqm-radius) 0; font-size:.9em; margin-bottom:1.4rem; }
.lqm-result-summary { padding:18px 22px; border-radius:10px; border:1px solid; margin-bottom:1.6rem; display:flex; align-items:center; gap:16px; }
.lqm-result-summary.green  { background:var(--lqm-green-bg);  border-color:var(--lqm-green); }
.lqm-result-summary.yellow { background:var(--lqm-yellow-bg); border-color:var(--lqm-yellow); }
.lqm-result-summary.red    { background:var(--lqm-red-bg);    border-color:var(--lqm-red); }
.lqm-result-pct        { font-size:2.2em; font-weight:700; line-height:1; font-family:var(--wp--preset--font-family--heading,inherit); }
.lqm-result-meta       { flex:1; }
.lqm-result-label      { font-size:.82em; opacity:.7; margin-top:2px; }
.lqm-result-summary.green  .lqm-result-pct { color:var(--lqm-green); }
.lqm-result-summary.yellow .lqm-result-pct { color:var(--lqm-yellow); }
.lqm-result-summary.red    .lqm-result-pct { color:var(--lqm-red); }

/* ── Priorisierte Mängelliste ────────────────────────────────── */
.lqm-mangel-list { display:flex; flex-direction:column; gap:10px; margin-bottom:1.6rem; }

.lqm-mangel-card {
    border-radius:var(--lqm-radius);
    border:1px solid;
    overflow:hidden;
}
.lqm-mangel-card.red    { border-color:color-mix(in srgb,var(--lqm-red)    35%,transparent); }
.lqm-mangel-card.yellow { border-color:color-mix(in srgb,var(--lqm-yellow) 35%,transparent); }
.lqm-mangel-card.green  { border-color:color-mix(in srgb,var(--lqm-green)  35%,transparent); }

.lqm-mangel-header {
    display:flex; align-items:center; gap:10px;
    padding:10px 14px; font-weight:600; font-size:.88em;
}
.lqm-mangel-card.red    .lqm-mangel-header { background:var(--lqm-red-bg);    color:var(--lqm-red); }
.lqm-mangel-card.yellow .lqm-mangel-header { background:var(--lqm-yellow-bg); color:var(--lqm-yellow); }
.lqm-mangel-card.green  .lqm-mangel-header { background:var(--lqm-green-bg);  color:var(--lqm-green); }

.lqm-mangel-badge {
    font-size:.72em; font-weight:700; padding:2px 8px;
    border-radius:20px; white-space:nowrap; margin-left:auto;
}
.lqm-mangel-card.red    .lqm-mangel-badge { background:var(--lqm-red);    color:#fff; }
.lqm-mangel-card.yellow .lqm-mangel-badge { background:var(--lqm-yellow); color:#fff; }
.lqm-mangel-card.green  .lqm-mangel-badge { background:var(--lqm-green);  color:#fff; }

.lqm-mangel-icon { font-size:1.1em; }

.lqm-mangel-body { padding:10px 14px 12px; font-size:.85em; line-height:1.55; background:var(--lqm-bg); }
.lqm-mangel-tip  { opacity:.75; }
.lqm-mangel-score{ font-size:.75em; opacity:.45; margin-top:4px; }

/* Green cards collapsed by default */
.lqm-mangel-card.green .lqm-mangel-body { display:none; }
.lqm-mangel-card.green .lqm-mangel-header { cursor:pointer; }
.lqm-mangel-card.green .lqm-mangel-header::after { content:'▼'; font-size:.7em; margin-left:4px; opacity:.5; }
.lqm-mangel-card.green.open .lqm-mangel-body { display:block; }
.lqm-mangel-card.green.open .lqm-mangel-header::after { content:'▲'; }

.lqm-section-divider { font-size:.75em; font-weight:700; text-transform:uppercase; letter-spacing:.08em; opacity:.4; margin:1.4rem 0 .6rem; padding-bottom:4px; border-bottom:1px solid var(--lqm-border); }

/* ── Aktionen ────────────────────────────────────────────────── */
.lqm-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:1.6rem; }
.lqm-notice  { padding:9px 14px; border-radius:var(--lqm-radius); font-size:.85em; margin-top:.6rem; }
.lqm-notice.success { background:var(--lqm-green-bg); color:var(--lqm-green); border:1px solid color-mix(in srgb,var(--lqm-green) 30%,transparent); }
.lqm-notice.error   { background:var(--lqm-red-bg);   color:var(--lqm-red);   border:1px solid color-mix(in srgb,var(--lqm-red)   30%,transparent); }

/* ── Spinner ─────────────────────────────────────────────────── */
.lqm-spinner { display:flex; align-items:center; gap:8px; font-size:.88em; opacity:.6; margin-top:1rem; }
.lqm-spin    { display:inline-block; width:16px; height:16px; border:2px solid #ccc; border-top-color:var(--lqm-primary); border-radius:50%; animation:lqm-spin .7s linear infinite; }
@keyframes lqm-spin { to { transform:rotate(360deg); } }

/* ── Profile Selection (Block 0) ──────────────────────────────── */
.lqm-profile-selection { padding: .5rem 0; }
.lqm-profile-title     { font-size:1.1em; font-weight:700; color:var(--lqm-primary); margin:0 0 .4rem; font-family:var(--wp--preset--font-family--heading,inherit); }
.lqm-profile-hint      { font-size:.85em; opacity:.65; margin:0 0 1.2rem; }
.lqm-profile-cards     { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:.5rem; }
@media(max-width:480px){ .lqm-profile-cards { grid-template-columns:1fr; } }

.lqm-profile-card {
    border:2px solid var(--lqm-border);
    border-radius:var(--lqm-radius);
    padding:12px 14px;
    cursor:pointer;
    transition:border-color .15s, background .15s, transform .1s;
    background:var(--lqm-bg);
    user-select:none;
}
.lqm-profile-card:hover { transform:translateY(-1px); }
.lqm-profile-card.selected { border-width:2px; }

.lqm-prof-a { --prof-color:#2E5C9E; --prof-bg:#EBF2FF; }
.lqm-prof-b { --prof-color:#7B3F9E; --prof-bg:#F5EEFF; }
.lqm-prof-c { --prof-color:#1E7A6E; --prof-bg:#E6F7F4; }
.lqm-prof-d { --prof-color:#7A5C1E; --prof-bg:#FFF8E6; }

.lqm-profile-card.selected { border-color:var(--prof-color); background:var(--prof-bg); }
.lqm-profile-card-header   { display:flex; align-items:center; gap:8px; }
.lqm-profile-card-check    { font-size:1.1em; color:var(--prof-color,#555); flex-shrink:0; }
.lqm-profile-card-label    { font-size:.9em; font-weight:600; color:var(--prof-color,#222); line-height:1.3; }
.lqm-profile-card-desc     { font-size:.78em; color:#555; margin-top:6px; line-height:1.5; padding-left:22px; }

/* Profile badge in result */
.lqm-result-profile-badge  { font-size:.82em; color:#555; margin-bottom:1rem; }

/* Risiko / Lösung in result cards */
.lqm-mangel-risiko  { font-size:.84em; color:#7f1d1d; background:#fff5f5; border-left:3px solid var(--lqm-red);  padding:6px 10px; border-radius:0 4px 4px 0; margin-bottom:6px; line-height:1.55; }
.lqm-mangel-loesung { font-size:.84em; color:#14532d; background:#f0fdf4; border-left:3px solid var(--lqm-green); padding:6px 10px; border-radius:0 4px 4px 0; margin-bottom:6px; line-height:1.55; }

/* Open/closed state for mangel cards */
.lqm-mangel-card .lqm-mangel-body { display:none; }
.lqm-mangel-card.open .lqm-mangel-body { display:block; }
.lqm-mangel-header { cursor:pointer; }
.lqm-mangel-header::after { content:'▼'; font-size:.65em; margin-left:6px; opacity:.5; }
.lqm-mangel-card.open .lqm-mangel-header::after { content:'▲'; }

/* ── Section Intro Block ──────────────────────────────────────── */
.lqm-section-intro-block {
    padding: 1.2rem 1.4rem;
    border-radius: var(--lqm-radius);
    background: color-mix(in srgb, var(--lqm-primary) 6%, var(--lqm-bg));
    margin-bottom: 1.2rem;
}
.lqm-section-intro-nr {
    font-size: .72em;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--lqm-primary);
    opacity: .7;
    margin-bottom: .3rem;
}
.lqm-section-intro-title {
    font-size: 1.15em;
    font-weight: 700;
    color: var(--lqm-primary);
    margin: 0 0 .6rem;
    line-height: 1.3;
    font-family: var(--wp--preset--font-family--heading, inherit);
}
.lqm-section-intro-text {
    font-size: .9em;
    line-height: 1.65;
    opacity: .8;
    margin: 0;
}

/* ── Overview (Stufe 2) ───────────────────────────────────────── */
.lqm-overview {}
.lqm-overview-header { margin-bottom: 1.2rem; }
.lqm-overview-title  { font-size:1.1em; font-weight:700; color:var(--lqm-primary); margin:0 0 .4rem; font-family:var(--wp--preset--font-family--heading,inherit); }
.lqm-overview-meta   { display:flex; align-items:center; gap:6px; font-size:.82em; opacity:.6; }
.lqm-overview-stat   { font-weight:600; }
.lqm-overview-sep    { opacity:.4; }

.lqm-overview-cards  { display:flex; flex-direction:column; gap:10px; margin-bottom:.5rem; }

.lqm-overview-card {
    border:1px solid var(--lqm-border);
    border-radius:var(--lqm-radius);
    padding:12px 16px;
    background:var(--lqm-bg);
    transition:border-color .15s;
}
/* hover removed – cards are not clickable */
.lqm-overview-card-header { display:flex; align-items:flex-start; gap:12px; margin-bottom:0; }
.lqm-overview-icon         { font-size:1.3em; line-height:1.3; flex-shrink:0; }
.lqm-overview-card-meta    { flex:1; }
.lqm-overview-card-title   { font-weight:600; font-size:.95em; color:var(--lqm-primary); line-height:1.3; }
.lqm-overview-card-count   { font-size:.75em; opacity:.5; margin-top:2px; }
.lqm-overview-card-intro   { font-size:.82em; line-height:1.6; opacity:.7; margin:8px 0 0 0; padding-top:8px; border-top:1px solid var(--lqm-border); }

/* ── Chapter-marker progress bar ──────────────────────────────── */
.lqm-progress-wrap      { margin-bottom:1.4rem; }
.lqm-progress-context   { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
.lqm-ctx-section        { font-size:.8em; font-weight:600; color:var(--lqm-primary); }
.lqm-ctx-sep            { opacity:.35; margin:0 4px; }
.lqm-ctx-question       { font-size:.75em; opacity:.55; white-space:nowrap; }
.lqm-bar-wrap           { position:relative; }
.lqm-progress-bar-bg    { height:7px; background:#e5e7eb; border-radius:4px; overflow:visible; position:relative; }
.lqm-progress-bar-chapters { overflow:visible; }
.lqm-progress-bar-fill  { height:7px; background:var(--lqm-primary); border-radius:4px; transition:width .4s ease; max-width:100%; }
/* Chapter tick marks */
.lqm-bar-marker {
    position:absolute; top:-3px;
    width:2px; height:13px;
    background:#fff;
    border:1px solid #d1d5db;
    border-radius:1px;
    transform:translateX(-50%);
    z-index:2;
}
.lqm-bar-marker-done {
    background:var(--lqm-primary);
    border-color:var(--lqm-primary);
    opacity:.6;
}
.lqm-progress-pct { font-size:.72em; opacity:.45; text-align:right; margin-top:4px; }

/* ── Preview (Vorschau vor Lead-Gate) ─────────────────────────── */
.lqm-preview { padding: .25rem 0; }

.lqm-preview-score-wrap {
    display: flex;
    align-items: flex-end;
    gap: 1.5rem;
    padding: 1.2rem 1.4rem;
    border-radius: var(--lqm-radius);
    border: 1px solid var(--lqm-border);
    background: var(--lqm-bg);
    margin-bottom: 1.2rem;
}

/* Mini bar chart */
.lqm-preview-chart {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: 72px;
    flex-shrink: 0;
}
.lqm-preview-bar-item {
    width: 14px;
    height: 100%;
    border-radius: 3px 3px 0 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: #f0f0f0;
    overflow: hidden;
    cursor: default;
    position: relative;
}
.lqm-preview-bar-fill {
    width: 100%;
    border-radius: 3px 3px 0 0;
    transition: height .6s ease;
}
.lqm-preview-bar-green  .lqm-preview-bar-fill { background: var(--lqm-green); }
.lqm-preview-bar-yellow .lqm-preview-bar-fill { background: var(--lqm-yellow); }
.lqm-preview-bar-red    .lqm-preview-bar-fill { background: var(--lqm-red); }

/* Score info */
.lqm-preview-score-info { flex: 1; }
.lqm-preview-pct {
    font-size: 2.4em;
    font-weight: 700;
    line-height: 1;
    font-family: var(--wp--preset--font-family--heading, inherit);
}
.lqm-preview-pct-green  { color: var(--lqm-green); }
.lqm-preview-pct-yellow { color: var(--lqm-yellow); }
.lqm-preview-pct-red    { color: var(--lqm-red); }
.lqm-preview-label { font-size: .8em; opacity: .55; margin: 3px 0 10px; }

/* Tags */
.lqm-preview-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.lqm-preview-tag  {
    font-size: .72em; font-weight: 600;
    padding: 3px 9px; border-radius: 20px;
    white-space: nowrap;
}
.lqm-preview-tag-red    { background: var(--lqm-red-bg);    color: var(--lqm-red); }
.lqm-preview-tag-yellow { background: var(--lqm-yellow-bg); color: var(--lqm-yellow); }
.lqm-preview-tag-green  { background: var(--lqm-green-bg);  color: var(--lqm-green); }

/* CTA */
.lqm-preview-cta { }
.lqm-preview-cta-text {
    font-size: .88em; line-height: 1.6;
    opacity: .7; margin: 0 0 1rem;
}

/* ── Result heading ───────────────────────────────────────────── */
.lqm-result-header     { margin-bottom: 1.4rem; }
.lqm-result-heading    {
    font-size: 1.2em; font-weight: 700; margin: 0 0 .4rem;
    color: var(--lqm-primary);
    font-family: var(--wp--preset--font-family--heading, inherit);
}
.lqm-result-subheading { font-size: .88em; opacity: .7; margin: 0 0 .7rem; line-height: 1.6; }

/* ── Full Detail Report ───────────────────────────────────────── */
.lqm-report-section {
    border: 1px solid var(--lqm-border);
    border-radius: var(--lqm-radius);
    margin-bottom: 10px;
    overflow: hidden;
}

/* Section header */
.lqm-report-sec-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 11px 14px; cursor: pointer;
    user-select: none;
    transition: filter .15s;
}
.lqm-report-sec-header:hover { filter: brightness(.97); }
.lqm-report-sec-red    { background: var(--lqm-red-bg); }
.lqm-report-sec-yellow { background: var(--lqm-yellow-bg); }
.lqm-report-sec-green  { background: var(--lqm-green-bg); }

.lqm-report-sec-left  { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.lqm-report-sec-icon  { font-size:1em; flex-shrink:0; }
.lqm-report-sec-title { font-weight:600; font-size:.9em;
    color: var(--lqm-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lqm-report-sec-red    .lqm-report-sec-title { color: var(--lqm-red); }
.lqm-report-sec-yellow .lqm-report-sec-title { color: var(--lqm-yellow); }
.lqm-report-sec-green  .lqm-report-sec-title { color: var(--lqm-green); }

.lqm-report-sec-right { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.lqm-report-sec-pct   { font-size:.82em; font-weight:700; opacity:.7; }
.lqm-badge-red    { background:var(--lqm-red);    color:#fff; }
.lqm-badge-yellow { background:var(--lqm-yellow); color:#fff; }
.lqm-badge-green  { background:var(--lqm-green);  color:#fff; }

/* Toggle arrow */
.lqm-report-sec-toggle {
    font-size:.85em; opacity:.6; flex-shrink:0;
    transition:transform .2s; display:inline-block;
}
.lqm-report-section.open .lqm-report-sec-toggle { transform:rotate(180deg); }

/* Section body – all collapsed by default, user opens */
.lqm-report-sec-body { display:none; padding:0 14px 4px; background:var(--lqm-bg); }
.lqm-report-section.open .lqm-report-sec-body { display:block; }

/* Question rows */
.lqm-report-q-row    { padding: 12px 0; }
.lqm-report-q-divider{ height:1px; background:var(--lqm-border); opacity:.5; margin:0 0 0 22px; }

.lqm-report-q-header { display:flex; align-items:flex-start; gap:8px; margin-bottom:6px; }
.lqm-report-q-dot    {
    width:10px; height:10px; border-radius:50%; flex-shrink:0; margin-top:3px;
}
.lqm-report-q-dot-red    { background:var(--lqm-red); }
.lqm-report-q-dot-yellow { background:var(--lqm-yellow); }
.lqm-report-q-dot-green  { background:var(--lqm-green); }
.lqm-report-q-text { font-size:.88em; font-weight:600; line-height:1.45; color:var(--lqm-text); }

.lqm-report-q-answer {
    font-size:.82em; margin:0 0 6px 18px; color:#555;
    line-height:1.5;
}
.lqm-report-q-ans-label { font-weight:600; opacity:.6; }

.lqm-report-q-risk {
    font-size:.82em; line-height:1.55; margin:5px 0 5px 18px;
    padding:7px 11px; border-radius:0 5px 5px 0;
    border-left:3px solid var(--lqm-red);
    background:var(--lqm-red-bg); color:#5a0a0a;
}
.lqm-report-q-solution {
    font-size:.82em; line-height:1.55; margin:5px 0 5px 18px;
    padding:7px 11px; border-radius:0 5px 5px 0;
    border-left:3px solid var(--lqm-green);
    background:var(--lqm-green-bg); color:#1a3a0a;
}

/* ── Persistent profile badge (shown during questions) ──────── */
.lqm-persistent-profile {
    font-size: .75em;
    color: var(--lqm-primary);
    background: color-mix(in srgb, var(--lqm-primary) 8%, var(--lqm-bg));
    border: 1px solid color-mix(in srgb, var(--lqm-primary) 20%, transparent);
    border-radius: 20px;
    padding: 3px 12px;
    margin-bottom: .9rem;
    display: inline-block;
}
.lqm-persistent-profile-label { font-weight: 600; opacity: .65; }

/* ── Section context during questions (fix 3) ────────────────── */
.lqm-question-section-ctx {
    border-left: 3px solid var(--lqm-primary);
    padding: 8px 12px;
    margin-bottom: 1rem;
    background: color-mix(in srgb, var(--lqm-primary) 5%, var(--lqm-bg));
    border-radius: 0 var(--lqm-radius) var(--lqm-radius) 0;
}
.lqm-question-section-title {
    font-size: .88em;
    font-weight: 700;
    color: var(--lqm-primary);
    margin-bottom: 3px;
}
.lqm-question-section-title .lqm-nr {
    font-weight: 400;
    opacity: .55;
    font-size: .9em;
}
.lqm-question-section-intro {
    font-size: .78em;
    line-height: 1.55;
    opacity: .7;
    margin: 0;
}

/* ── Preview heading ──────────────────────────────────────────── */
.lqm-preview-header    { margin-bottom: 1.2rem; }
.lqm-preview-heading   {
    font-size: 1.15em; font-weight: 700; margin: 0 0 .4rem;
    color: var(--lqm-primary);
    font-family: var(--wp--preset--font-family--heading, inherit);
}
.lqm-preview-subheading { font-size: .87em; opacity: .7; margin: 0; line-height: 1.6; }

/* ── Glossary term highlights ─────────────────────────────────── */
.lqm-term-wrap        { display: inline; white-space: nowrap; }
.lqm-term-info {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    background-color: #1e5fa8 !important;
    background: #1e5fa8 !important;
    border: none !important;
    border-radius: 50% !important;
    padding: 0 !important;
    cursor: pointer !important;
    vertical-align: middle !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: bold !important;
    opacity: 1 !important;
    margin-left: 3px !important;
    transition: opacity .15s, transform .15s;
    line-height: 1 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.lqm-term-info:hover  { opacity: 1 !important; transform: scale(1.2); }
.lqm-term-info:focus  { outline: 2px solid var(--lqm-primary, #1e5fa8) !important; border-radius: 50%; }

/* ── Glossary popup ───────────────────────────────────────────── */
.lqm-glossary-popup {
    display: none; position: fixed;
    top: 0 !important; left: 0 !important;
    right: 0 !important; bottom: 0 !important;
    width: 100vw !important; height: 100vh !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
    background: rgba(0,0,0,.45);
    align-items: center; justify-content: center;
    padding: 20px;
}
.lqm-glossary-popup.open { display: flex; }
.lqm-glossary-popup-inner {
    background: #fff; border-radius: 10px;
    box-shadow: 0 8px 40px rgba(0,0,0,.25);
    max-width: 480px; width: 100%;
    padding: 24px 28px;
    position: relative; animation: lqm-popup-in .18s ease;
}
@keyframes lqm-popup-in {
    from { opacity:0; transform:scale(.95) translateY(8px); }
    to   { opacity:1; transform:scale(1)   translateY(0); }
}
.lqm-glossary-popup-header {
    display: flex; align-items: flex-start;
    justify-content: space-between; margin-bottom: 6px;
}
.lqm-glossary-popup-term {
    font-size: 1.25em; font-weight: 700;
    color: var(--lqm-primary);
    font-family: var(--wp--preset--font-family--heading, inherit);
}
.lqm-glossary-popup-close {
    background: none; border: none; cursor: pointer;
    font-size: 1.4em; line-height: 1; color: #888; padding: 0 4px;
    flex-shrink: 0; margin-top: -2px;
}
.lqm-glossary-popup-close:hover { color: #333; }
.lqm-glossary-popup-full {
    font-size: .85em; color: #666; font-style: italic;
    margin-bottom: 12px; line-height: 1.4;
}
.lqm-glossary-popup-desc {
    font-size: .9em; line-height: 1.7; color: #333;
}

/* ── Nav layout fixes ──────────────────────────────────────────── */
/* Prevent buttons from overflowing viewport width */
.lqm-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    max-width: 100%;
    box-sizing: border-box;
}
.lqm-nav-center { justify-content: center; }

/* Overview start button – slightly larger, clearly visible */
.lqm-btn-overview-start {
    flex: 1;
    min-width: 200px;
    text-align: center;
}

/* Ensure all buttons respect container width */
.lqm-btn {
    max-width: 100%;
    box-sizing: border-box;
    word-break: break-word;
}

/* Sticky "Jetzt starten" at bottom of overview on long lists */
.lqm-overview .lqm-nav {
    position: sticky;
    bottom: 16px;
    background: var(--lqm-bg);
    padding: 12px;
    border-radius: var(--lqm-radius);
    box-shadow: 0 -2px 12px rgba(0,0,0,.08);
    margin-top: 1rem;
    z-index: 10;
}

/* ── Section intro screen ─────────────────────────────────────── */
.lqm-section-intro-screen { padding: .5rem 0; }
.lqm-section-intro-meta {
    font-size: .82em; color: var(--lqm-muted, #888);
    margin: .5rem 0 0; text-align: center;
}
