/* ajarkas – Teil 4: Rechner & Checks, Shopware-Tipps (Abstimmung, Level) */

/* ---------- Rechner ---------- */
.aj-tool { position: relative; margin: 8px 0 40px; padding: 28px; background: var(--aj-paper); border-radius: 20px; }
.aj-tool::before { content: 'läuft nur in Ihrem Browser'; position: absolute; right: 22px; top: -14px; font-family: var(--aj-font-hand); font-size: 20px; color: var(--aj-muted); }
.aj-tool:not(.is-ready)::after { content: 'Der Rechner braucht JavaScript. Bitte aktivieren oder mir einfach schreiben.'; display: block; font-size: 14px; color: var(--aj-muted); }
.aj-tool__form { display: flex; flex-direction: column; gap: 16px; }
.aj-tool__form--grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
.aj-tool__form > button { align-self: flex-start; }
.aj-tool__form--grid button { grid-column: 1 / -1; justify-self: start; }
.aj-tool__field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: var(--aj-ink); }
.aj-tool__field input, .aj-tool__field select { min-height: 48px; border: 1px solid var(--aj-line); border-radius: 10px; padding: 10px 14px; font: inherit; font-weight: 400; font-size: 16px; background: #fff; color: var(--aj-ink); width: 100%; }
.aj-tool__field select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230B1B2B' stroke-width='2'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.aj-tool__field input:focus-visible, .aj-tool__field select:focus-visible { outline: 3px solid var(--aj-lime); outline-offset: 2px; border-color: var(--aj-ink); }
.aj-tool__hint { font-size: 13px; line-height: 1.5; color: var(--aj-muted-2); margin: 0; }
.aj-tool__form .aj-tool__hint { grid-column: 1 / -1; }
.aj-tool__result:empty { display: none; }
.aj-tool__box { position: relative; margin-top: 24px; padding: 26px 28px; background: #fff; border-radius: 16px; border-left: 6px solid var(--aj-ink); box-shadow: 0 10px 30px rgba(11,27,43,0.08); display: flex; flex-direction: column; gap: 12px; }
.aj-tool__box h3 { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.15; margin: 0; }
.aj-tool__box p, .aj-tool__box li { font-size: 15px; line-height: 1.6; color: var(--aj-muted); margin: 0; }
.aj-tool__box ul { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 6px; }
.aj-tool__box code { font-family: var(--aj-font-mono); font-size: 14px; background: var(--aj-paper); padding: 1px 6px; border-radius: 4px; }
.aj-tool__box--ok { border-left-color: var(--aj-lime); }
.aj-tool__box--warn { border-left-color: #F5B700; }
.aj-tool__box--eol { border-left-color: var(--aj-coral); }
.aj-tool__box--muted { border-left-color: var(--aj-line); }
.aj-tool__badge { align-self: flex-start; font-family: var(--aj-font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--aj-ink); color: var(--aj-lime); }
.aj-tool__box--warn .aj-tool__badge { background: #F5B700; color: var(--aj-ink); }
.aj-tool__box--eol .aj-tool__badge { background: var(--aj-coral); color: #fff; }
.aj-tool__box--muted .aj-tool__badge { background: var(--aj-line); color: var(--aj-ink); }
.aj-tool__facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 6px 18px; margin: 4px 0; font-size: 14px; }
.aj-tool__facts dt { font-weight: 600; color: var(--aj-ink); }
.aj-tool__facts dd { margin: 0; color: var(--aj-muted); }
.aj-tool__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding-top: 8px; }
.aj-tool__checks { list-style: none; padding: 0; }
.aj-tool__checks li { position: relative; padding-left: 28px; }
.aj-tool__checks li::before { content: ''; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--aj-line); }
.aj-tool__checks li.is-ok::before { background: var(--aj-lime); }
.aj-tool__checks li.is-warn::before { background: #F5B700; }
.aj-tool__checks li.is-bad::before { background: var(--aj-coral); }
.aj-tool__checks li.is-info::before { background: var(--aj-ink); }
.aj-tool__table { margin-top: 24px; border-top: 1px solid var(--aj-line); }
.aj-tool__table summary { cursor: pointer; padding: 14px 0; font-family: var(--aj-font-display); font-weight: 800; font-size: 17px; list-style: none; }
.aj-tool__table summary::-webkit-details-marker { display: none; }
.aj-tool__table summary::before { content: '+ '; }
.aj-tool__table[open] summary::before { content: '– '; }
.aj-tool__table table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; border-radius: 12px; overflow: hidden; }
.aj-tool__table th, .aj-tool__table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--aj-line); }
.aj-tool__table th { font-family: var(--aj-font-display); font-size: 13px; }
.aj-tool__table tr.is-ok td:last-child { color: #3F5A00; font-weight: 600; }
.aj-tool__table tr.is-warn td:last-child { color: #8A6400; font-weight: 600; }
.aj-tool__table tr.is-eol td:last-child { color: #B83A14; }
.aj-tool__table .aj-tool__hint { padding-top: 10px; }
.aj-abo { display: flex; flex-direction: column; gap: 14px; }
.aj-abo__rows { display: flex; flex-direction: column; gap: 10px; }
.aj-abo__row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.6fr) minmax(0, 1.6fr) 44px; gap: 12px; align-items: end; padding: 12px; background: #fff; border-radius: 12px; }
.aj-abo__del { width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--aj-line); background: #fff; font-size: 20px; line-height: 1; color: var(--aj-muted); cursor: pointer; }
.aj-abo__del:hover { border-color: var(--aj-coral); color: var(--aj-coral); }
.aj-abo__bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.aj-abo__kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 14px 0 18px; }
.aj-abo__kpis div { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; background: var(--aj-paper); border-radius: 12px; }
.aj-abo__kpis span { font-size: 12px; color: var(--aj-muted); }
.aj-abo__kpis strong { font-family: var(--aj-font-display); font-size: 22px; line-height: 1.1; color: var(--aj-ink); }
.aj-abo__kpis .is-hl { background: var(--aj-ink); }
.aj-abo__kpis .is-hl span { color: var(--aj-on-dark-soft); }
.aj-abo__kpis .is-hl strong { color: var(--aj-lime); }
@media (max-width: 900px) { .aj-abo__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .aj-abo__row { grid-template-columns: minmax(0, 1fr) 100px; } .aj-abo__row label:nth-child(3) { grid-column: 1 / -1; } .aj-abo__del { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; width: 36px; height: 36px; } .aj-abo__row label:first-child { grid-column: 1; } .aj-abo__row label:nth-child(2) { grid-column: 1 / -1; } }
@media (max-width: 720px) { .aj-tool { padding: 20px 18px; } .aj-tool__form--grid { grid-template-columns: 1fr; } .aj-tool__box { padding: 20px; } .aj-tool__facts { grid-template-columns: 1fr; gap: 2px; } .aj-tool__facts dd { margin-bottom: 8px; } .aj-tool__table { overflow-x: auto; } }

/* Rechner-Übersicht (Karten) */
.aj-toolgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 8px 0 32px; }
.aj-toolgrid a { display: flex; flex-direction: column; gap: 10px; padding: 26px; background: #fff; border: 1px solid var(--aj-line); border-radius: var(--aj-radius); transition: transform .25s ease, box-shadow .25s ease; }
.aj-toolgrid a:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,27,43,0.12); }
.aj-toolgrid strong { font-family: var(--aj-font-display); font-size: 22px; line-height: 1.15; }
.aj-toolgrid p { font-size: 14px; line-height: 1.55; color: var(--aj-muted); margin: 0; }
.aj-toolgrid__glyph { font-family: var(--aj-font-display); font-weight: 800; font-size: 34px; color: var(--aj-ink); background: var(--aj-lime); width: 64px; height: 64px; border-radius: 14px; display: flex; align-items: center; justify-content: center; transform: rotate(-3deg); }
@media (max-width: 720px) { .aj-toolgrid { grid-template-columns: 1fr; } }

/* ---------- Shopware-Tipps ---------- */
.aj-level { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; background: #fff; border: 1px solid var(--aj-line); color: var(--aj-ink); }
.aj-level::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--aj-lime); }
.aj-level--fortgeschritten::before { background: #F5B700; }
.aj-level--konsole::before { background: var(--aj-coral); }
.aj-pagehero .aj-level { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.2); color: #F8FAFC; }
.aj-vote { margin-top: 40px; padding: 24px 26px; background: var(--aj-paper); border-radius: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.aj-vote__q { font-family: var(--aj-font-display); font-weight: 800; font-size: 18px; }
.aj-vote__btns { display: flex; gap: 10px; }
.aj-vote__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 2px solid var(--aj-ink); background: #fff; color: var(--aj-ink); font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; transition: background .2s ease, color .2s ease, transform .2s ease; }
.aj-vote__btn:hover { background: var(--aj-ink); color: #fff; }
.aj-vote__btn.is-chosen { background: var(--aj-lime); border-color: var(--aj-lime); color: var(--aj-ink); }
.aj-vote__btn.is-chosen:hover { background: var(--aj-lime); color: var(--aj-ink); }
.aj-content mark.aj-check { background: #FFF1C2; color: #6B4E12; padding: 0 4px; border-radius: 3px; font-size: 0.9em; }
.aj-vote__count { font-family: var(--aj-font-mono); font-size: 12px; opacity: .75; }
.aj-vote__msg { font-size: 14px; color: var(--aj-muted); flex-basis: 100%; }
.aj-vote__msg:empty { display: none; }
.aj-content .aj-cmd { position: relative; background: var(--aj-ink); color: #E2E8F0; border-radius: 14px; padding: 18px 22px; font-family: var(--aj-font-mono); font-size: 14px; line-height: 1.6; overflow-x: auto; margin: 0 0 1.4em; }
.aj-content .aj-cmd::before { content: 'bin/console'; position: absolute; right: 14px; top: 8px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--aj-on-dark-muted); }
.aj-content .aj-cmd--sh::before { content: 'Terminal'; }
.aj-content .aj-cmd--sw5::before { content: 'Shopware 5'; }
.aj-content .aj-stop { padding: 18px 22px; border: 2px dashed var(--aj-coral); border-radius: 14px; margin: 0 0 1.4em; }
.aj-content .aj-stop strong { color: var(--aj-coral); }
@media (max-width: 600px) { .aj-vote { padding: 18px; } }

/* ---------- Plugin-Katalog ---------- */
.aj-content .aj-plugins { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 8px 0 40px; max-width: none; }
.aj-content .aj-plugin { display: flex; flex-direction: column; gap: 12px; padding: 26px; background: #fff; border: 1px solid var(--aj-line); border-radius: var(--aj-radius); position: relative; }
.aj-content .aj-plugin--featured { background: var(--aj-ink); color: #F8FAFC; border-color: var(--aj-ink); }
.aj-content .aj-plugin__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.aj-content .aj-plugin__sw { font-family: var(--aj-font-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--aj-paper); color: var(--aj-ink); }
.aj-content .aj-plugin--featured .aj-plugin__sw { background: var(--aj-lime); }
.aj-content .aj-plugin__status { font-size: 12px; font-weight: 600; color: var(--aj-muted-2); }
.aj-content .aj-plugin--featured .aj-plugin__status { color: var(--aj-on-dark-muted); }
.aj-content .aj-plugin h3 { margin: 0; font-size: 24px; line-height: 1.15; color: inherit; }
.aj-content .aj-plugin p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--aj-muted); }
.aj-content .aj-plugin--featured p { color: var(--aj-on-dark-soft); }
.aj-content .aj-plugin ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.aj-content .aj-plugin li { position: relative; padding-left: 26px; line-height: 1.5; margin: 0; }
.aj-content .aj-plugin li::before { content: '✓'; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--aj-lime); color: var(--aj-ink); font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-top: 3px; }
.aj-content .aj-plugin__for { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--aj-line); font-size: 13px; color: var(--aj-muted-2); }
.aj-content .aj-plugin--featured .aj-plugin__for { border-color: var(--aj-line-dark); color: var(--aj-on-dark-muted); }
.aj-content .aj-plugin__for strong { color: inherit; }
@media (max-width: 760px) { .aj-content .aj-plugins { grid-template-columns: 1fr; } .aj-content .aj-plugin { padding: 20px; } }

/* ---------- Interaktive Checklisten ---------- */
.aj-content .aj-checklist.is-ready { list-style: none; padding: 0; margin: 0 0 1.4em; display: flex; flex-direction: column; gap: 8px; counter-reset: none; }
.aj-content .aj-checklist.is-ready > li { margin: 0; padding: 0; }
.aj-content .aj-checklist__item { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 16px; background: #fff; border: 1px solid var(--aj-line); border-radius: 12px; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.aj-content .aj-checklist__item:hover { border-color: var(--aj-ink); }
.aj-content .aj-checklist__item input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--aj-ink); cursor: pointer; flex-shrink: 0; }
.aj-content .aj-checklist__body { font-size: 15px; line-height: 1.55; }
.aj-content .aj-checklist__body strong { color: var(--aj-ink); }
.aj-content .aj-checklist > li.is-checked .aj-checklist__item { background: var(--aj-paper); border-color: transparent; }
.aj-content .aj-checklist > li.is-checked .aj-checklist__body { color: var(--aj-muted-2); text-decoration: line-through; text-decoration-color: var(--aj-line); }
.aj-content .aj-checklist__bar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 0 0 12px; font-size: 13px; color: var(--aj-muted-2); }
.aj-content .aj-checklist__progress { flex: 1 1 160px; height: 8px; border-radius: 999px; background: var(--aj-line); overflow: hidden; }
.aj-content .aj-checklist__progress i { display: block; height: 100%; width: 0; background: var(--aj-lime); transition: width .3s ease; }
.aj-content .aj-checklist__bar.is-done .aj-checklist__progress i { background: var(--aj-ink); }
.aj-content .aj-checklist__bar.is-done .aj-checklist__count { color: var(--aj-ink); font-weight: 600; }
.aj-content .aj-checklist__reset { background: none; border: 1px solid var(--aj-line); border-radius: 999px; padding: 4px 12px; font: inherit; font-size: 12px; color: var(--aj-muted); cursor: pointer; }
.aj-content .aj-checklist__reset:hover { border-color: var(--aj-ink); color: var(--aj-ink); }
.aj-content .aj-checklist__print { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; font-size: 13px; color: var(--aj-muted-2); margin: 0 0 2em; }
@media print { .aj-header, .aj-footer, .aj-stickybar, .aj-contact, .aj-aside, .aj-vote, .aj-author, .aj-checklist__print, .aj-checklist__reset, .aj-wave, .aj-grain, .aj-posts { display: none; } .aj-pagehero { background: #fff; color: #000; padding: 0; } .aj-content .aj-checklist__item { break-inside: avoid; } }
