/* BoothFrame – Runde 102: einheitliche Checkboxen auf allen Seiten (eingebunden vor dem Stil der Seite).
   Rahmen, weißer Haken auf Farbe, Hover, sichtbarer Fokus mit der Tastatur, am Handy etwas größer. Funktion und Werte bleiben gleich
   (echte <input type="checkbox">, nur anders gezeichnet).
   Farbe: --bf-check (Standard BoothFrame-Gold; Seiten deiner Kunden setzen ihre Markenfarbe), Größe: --bf-cb (Standard 18 px, am Handy 20 px).
   Ausgenommen: Schalter (.switch, .sw-row), versteckte Auswahl in Segmenten und Kacheln (.seg, .stc, .lay, .colors), Klasse .bf-native, [hidden]. */
:root { --bf-check: #aa8c2c; }

input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]) {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: var(--bf-cb, 18px);
  height: var(--bf-cb, 18px);
  min-width: var(--bf-cb, 18px);
  padding: 0;
  flex: none;
  display: inline-block;
  vertical-align: -0.22em;
  border: 1.5px solid #a3a3ad;
  border-radius: 5px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 78% 78%;
  box-shadow: none;
  cursor: pointer;
  transition: background-color .15s, border-color .15s, box-shadow .15s;
}
input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]):hover:not(:disabled) {
  border-color: var(--bf-check);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--bf-check) 14%, transparent);
}
input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]):checked {
  background-color: var(--bf-check);
  border-color: var(--bf-check);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.6 8.4l2.9 2.9 5.9-6.6' fill='none' stroke='%23fff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]):indeterminate {
  background-color: var(--bf-check);
  border-color: var(--bf-check);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='%23fff' stroke-width='2.3' stroke-linecap='round'/%3E%3C/svg%3E");
}
input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]):focus-visible {
  outline: 2px solid var(--bf-check);
  outline-offset: 2px;
}
input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]):disabled {
  background-color: #f1f1f3;
  border-color: #d4d4da;
  cursor: default;
}
input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]):checked:disabled {
  background-color: #c4c4cc;
  border-color: #c4c4cc;
}
/* am Handy etwas größer (leichter zu treffen); die Fläche zum Antippen ist meist der ganze Text daneben (label) */
@media (pointer: coarse) {
  input[type="checkbox"]:not(.switch input):not(.sw-row input):not(.seg input):not(.stc input):not(.lay input):not(.colors input):not(.bf-native):not([hidden]) {
    width: var(--bf-cb, 20px);
    height: var(--bf-cb, 20px);
    min-width: var(--bf-cb, 20px);
  }
}


/* ===== Runde 126: Symbol-Knöpfe auf allen Seiten (Lukas: „nicht nur ein Strich, ein schönes Bild – nicht knallig, passend zum Schema“).
   <button class="bf-ic bf-ic-x">✕</button> – das Zeichen bleibt im Knopf (Vorlesen, Tests), sichtbar ist das Symbol (SVG als Maske, keine fremden Dateien).
   Arten: x (entfernen, dezent rot), del (löschen, dezent rot), cut (Bild anpassen), edit, up, down, copy, dl (herunterladen), img. Größe: --bf-ic (Standard 34 px). ===== */
:is(button, a, label).bf-ic {   /* stärker als .btn-sm u. ä. der Seiten */
  display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box;
  width: var(--bf-ic, 34px); height: var(--bf-ic, 34px); min-width: var(--bf-ic, 34px); padding: 0;
  border: 1px solid #dcdcd8; border-radius: 9px; background: #fff; color: #55555c;
  font-size: 0 !important; line-height: 0; letter-spacing: 0; text-decoration: none; cursor: pointer; vertical-align: middle;
  transition: background-color .15s, border-color .15s, color .15s;
}
.bf-ic::before { content: ""; width: 46%; height: 46%; background: currentColor; -webkit-mask: var(--bf-ic-m) center / contain no-repeat; mask: var(--bf-ic-m) center / contain no-repeat; }
.bf-ic:hover:not(:disabled) { background: #f7f5ef; border-color: #cfc6b0; color: #1d1d1f; }
.bf-ic:focus-visible { outline: 2px solid #a8862a; outline-offset: 2px; }
.bf-ic:disabled, .bf-ic[aria-disabled="true"] { opacity: .38; cursor: default; }
.bf-ic.bf-ic-x, .bf-ic.bf-ic-del { color: #b5544a; }
.bf-ic.bf-ic-x:hover:not(:disabled), .bf-ic.bf-ic-del:hover:not(:disabled) { background: #fcf1ef; border-color: #ebc3bd; color: #96362c; }
.bf-ic-plain { border-color: transparent; background: transparent; }
@media (pointer: coarse) { .bf-ic { --bf-ic: 38px; } }
.bf-ic-x { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%206l12%2012M18%206L6%2018%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-cut { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%276%27%20cy%3D%276%27%20r%3D%273%27%2F%3E%3Ccircle%20cx%3D%276%27%20cy%3D%2718%27%20r%3D%273%27%2F%3E%3Cpath%20d%3D%27M20%204L8.12%2015.88M14.47%2014.48L20%2020M8.12%208.12L12%2012%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-edit { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M17%203a2.85%202.83%200%201%201%204%204L7.5%2020.5%202%2022l1.5-5.5Z%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-del { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%206h18M8%206V4h8v2M19%206l-1%2014H6L5%206M10%2011v6M14%2011v6%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-up { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2019V5M5%2012l7-7%207%207%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-down { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%205v14M19%2012l-7%207-7-7%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-copy { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%279%27%20y%3D%279%27%20width%3D%2713%27%20height%3D%2713%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M5%2015H4a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h9a2%202%200%200%201%202%202v1%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-dl { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4M7%2010l5%205%205-5M12%2015V3%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-img { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%2718%27%20height%3D%2718%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%279%27%20r%3D%272%27%2F%3E%3Cpath%20d%3D%27M21%2015l-5-5L5%2021%27%2F%3E%3C%2Fsvg%3E"); }
/* Schließen (Fenster, Leisten): gleiches ✕, aber grau statt rot */
.bf-ic.bf-ic-zu { color: #66666d; }
.bf-ic.bf-ic-zu:hover:not(:disabled) { background: #f4f4f2; border-color: #d0d0cc; color: #1d1d1f; }
.bf-ic-left { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M19%2012H5M12%2019l-7-7%207-7%27%2F%3E%3C%2Fsvg%3E"); }
.bf-ic-right { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2012h14M12%205l7%207-7%207%27%2F%3E%3C%2Fsvg%3E"); }

/* ===== Runde 126: kleiner Standard-Knopf statt Link-Texten (Lukas: „nirgends solche Link-Texte wie ‚Anpassen‘ – lieber richtige Buttons“).
   .bf-btn für Aktionen und Sprünge (auch <a>), .bf-btn-rot für Löschen/Entfernen (dezent). Steht er hinter einem Satz, bleibt er in der Zeile. ===== */
:is(button, a, label).bf-btn {
  display: inline-flex; align-items: center; gap: 6px; box-sizing: border-box; padding: 5px 11px; margin: 2px 0;
  border: 1px solid #d6d6d2; border-radius: 8px; background: #fff; color: #333;
  font-family: inherit; font-size: 13px; font-weight: 500; line-height: 1.35; text-decoration: none; cursor: pointer;
  white-space: normal; text-align: left; vertical-align: middle; transition: background-color .15s, border-color .15s;
}
.bf-btn:hover:not(:disabled) { background: #f7f5ef; border-color: #cfc6b0; color: #1d1d1f; text-decoration: none; }
.bf-btn:focus-visible { outline: 2px solid #a8862a; outline-offset: 2px; }
.bf-btn:disabled { opacity: .45; cursor: default; }
:is(button, a, label).bf-btn.bf-btn-rot { color: #a8443a; }
.bf-btn.bf-btn-rot:hover:not(:disabled) { background: #fcf1ef; border-color: #ebc3bd; color: #8e2f25; }
.bf-ic-pip { --bf-ic-m: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2%2022l1-1h3l9-9M3%2021v-3l9-9M15%206l3.4-3.4a2.1%202.1%200%201%201%203%203L18%209l.4.4a2.1%202.1%200%201%201-3%203l-3.8-3.8a2.1%202.1%200%201%201%203-3l.4.4Z%27%2F%3E%3C%2Fsvg%3E"); }   /* Runde 128: Pipette */
