/* Purin Tools – QR-Code-Generator. Ergänzt base.css, alles unter
   .purin-tools gescoped, damit nichts mit Theme-Styles kollidiert. */

.purin-tools.pt-qr{max-width:1080px}
.purin-tools.pt-qr [hidden]{display:none !important}

/* Zwei Spalten: links Eingabe + Gestaltung, rechts die Vorschau.
   Auf schmalen Displays folgt die Vorschau direkt auf die Eingabe. */
.purin-tools .pt-qr-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  grid-template-rows:auto 1fr;gap:16px 18px;align-items:start}
.purin-tools .pt-qr-input{grid-column:1;grid-row:1;min-width:0}
.purin-tools .pt-qr-design{grid-column:1;grid-row:2;min-width:0}
.purin-tools .pt-qr-result-wrap{grid-column:2;grid-row:1/span 2;min-width:0;height:100%}
@media(max-width:860px){
  .purin-tools .pt-qr-layout{display:flex;flex-direction:column}
  .purin-tools .pt-qr-input{order:1}
  .purin-tools .pt-qr-result-wrap{order:2}
  .purin-tools .pt-qr-design{order:3}
}

/* ── Eingabefelder ─────────────────────────────────────────────────── */
.purin-tools .pt-qr-row{margin:0 0 14px}
.purin-tools .pt-qr-row:last-child{margin-bottom:0}
.purin-tools .pt-qr-row input[type=text],
.purin-tools .pt-qr-row input[type=url],
.purin-tools .pt-qr-row input[type=tel],
.purin-tools .pt-qr-row input[type=email],
.purin-tools .pt-qr-row input[type=number],
.purin-tools .pt-qr-row select,
.purin-tools .pt-qr-row textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--pt-line);
  border-radius:10px;background:#fff;color:var(--pt-ink)}
.purin-tools .pt-qr-row textarea{min-height:72px;font-family:inherit;font-size:1rem;resize:vertical}
.purin-tools .pt-qr-row input[type=color]{appearance:none;-webkit-appearance:none;width:100%;height:44px;
  padding:2px;border:1px solid var(--pt-line);border-radius:10px;background:#fff;cursor:pointer}
.purin-tools .pt-qr-row input[type=color]:disabled{opacity:.45;cursor:not-allowed}
.purin-tools .pt-qr-row input[type=range]{width:100%;accent-color:var(--pt-brand);height:44px}
.purin-tools .pt-qr-range-value{font-variant-numeric:tabular-nums;color:var(--pt-ink)}

.purin-tools .pt-qr-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:520px){.purin-tools .pt-qr-grid2{grid-template-columns:1fr}}
.purin-tools .pt-qr-conditional.pt-qr-grid2{grid-column:1/-1}

.purin-tools .pt-qr-check{display:flex;align-items:flex-start;gap:9px;text-transform:none;letter-spacing:normal;
  font-weight:400;font-size:.94rem;color:var(--pt-ink);margin:0 0 10px;cursor:pointer}
.purin-tools .pt-qr-check input{margin:2px 0 0;width:18px;height:18px;accent-color:var(--pt-brand);flex:0 0 auto}

.purin-tools .pt-qr-error{margin:14px 0 0;padding:11px 13px;border-radius:10px;background:#fdeaec;
  border:1px solid #f5c2c7;color:#8a1c26;font-size:.92rem}

/* ── Gestaltung (Accordion) ────────────────────────────────────────── */
.purin-tools .pt-qr-design{background:var(--pt-card);border:1px solid var(--pt-line);border-radius:var(--pt-radius);
  box-shadow:var(--pt-shadow);padding:0 20px;margin:0}
.purin-tools .pt-qr-design>summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:revert}
.purin-tools .pt-qr-design[open]>summary{border-bottom:1px solid var(--pt-line);margin-bottom:16px}
.purin-tools .pt-qr-fieldset{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--pt-line)}
.purin-tools .pt-qr-fieldset:last-child{border-bottom:0;margin-bottom:0;padding-bottom:20px}
.purin-tools .pt-qr-legend{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  color:var(--pt-muted);margin:0 0 12px}

/* ── Logo-Auswahl ──────────────────────────────────────────────────── */
.purin-tools .pt-qr-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.purin-tools .pt-qr-file{display:inline-block;font:inherit;font-weight:600;font-size:.94rem;text-transform:none;
  letter-spacing:normal;background:#fff;border:1px solid var(--pt-line);color:var(--pt-ink);
  padding:10px 14px;border-radius:10px;cursor:pointer;margin:0}
.purin-tools .pt-qr-file:hover{border-color:#c7ced7}
.purin-tools input[data-qr=logoFile]:focus-visible+.pt-qr-file{outline:3px solid #9cc2ff;outline-offset:1px}
.purin-tools .pt-qr-logo-name{font-size:.9rem;color:var(--pt-muted);word-break:break-all;min-width:0}
.purin-tools .pt-qr-logo-remove{font-size:.85rem;padding:7px 11px}

/* ── Vorschau ──────────────────────────────────────────────────────── */
.purin-tools .pt-qr-result{position:sticky;top:20px}
@media(max-width:860px){.purin-tools .pt-qr-result{position:static}}
.purin-tools .pt-qr-preview{display:flex;align-items:center;justify-content:center;min-height:260px;
  padding:18px;border-radius:12px;border:1px solid var(--pt-line);background-color:#fbfcfd}
/* Karomuster nur, wenn der Hintergrund tatsächlich transparent ist. */
.purin-tools .pt-qr-preview.is-transparent{
  background-image:linear-gradient(45deg,#eef1f4 25%,transparent 25%),linear-gradient(-45deg,#eef1f4 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#eef1f4 75%),linear-gradient(-45deg,transparent 75%,#eef1f4 75%);
  background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
.purin-tools .pt-qr-preview svg{display:block;width:100%;max-width:320px;height:auto}
.purin-tools .pt-qr-placeholder{margin:0;color:var(--pt-muted);font-size:.92rem;text-align:center;max-width:26ch}
.purin-tools .pt-qr-meta{margin:12px 0 0;font-size:.85rem;color:var(--pt-muted);font-variant-numeric:tabular-nums}

.purin-tools .pt-qr-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.purin-tools .pt-qr-actions button{flex:1 1 160px}
.purin-tools .pt-qr-actions button:disabled{opacity:.5;cursor:not-allowed}
.purin-tools .pt-qr-actions button[aria-busy=true]{opacity:.7}

.purin-tools .pt-qr-notes{margin-top:16px}
.purin-tools .pt-qr-notes ul.pt-checks li:last-child{border-bottom:0}
.purin-tools .pt-qr-payload{margin-top:14px}
.purin-tools .pt-qr-payload .pt-record{max-height:160px;overflow:auto}

@media(prefers-reduced-motion:reduce){
  .purin-tools.pt-qr *{transition:none !important;animation:none !important}
}
