/* Wurzelschrift der Website ist 10px, deshalb px statt rem. Rechner „Kaufen oder Fresh-Web?“ (K9, 16.10.2026). Farben aus dynamic.css: Rot #8b0d14, Text #111, Fläche #f7f7f5. */
.snf-fwr { --fwr-rot: #8b0d14; --fwr-tinte: #111; --fwr-flaeche: #f7f7f5; --fwr-linie: #d9d6cf;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 32px; align-items: start;
  background: #fff; border-radius: 22px; padding: 32px; box-shadow: 0 10px 40px rgba(17, 17, 17, .07); color: var(--fwr-tinte); }
.snf-fwr:not(.bereit) { display: block; }
.snf-fwr fieldset { border: 0; margin: 0 0 20px; padding: 0; }
.snf-fwr legend { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 17px; margin-bottom: 10px; }
.snf-fwr-wahl { display: flex; flex-wrap: wrap; gap: 8px; }
.snf-fwr-wahl label { flex: 1 1 0; min-width: 110px; cursor: pointer; position: relative; }
.snf-fwr-wahl input { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.snf-fwr-wahl span { display: block; height: 100%; padding: 10px 12px; border: 1.5px solid var(--fwr-linie); border-radius: 14px;
  background: var(--fwr-flaeche); transition: border-color .15s, background .15s; }
.snf-fwr-wahl b { display: block; font-size: 15px; }
.snf-fwr-wahl small { display: block; font-size: 13px; color: #555; line-height: 1.3; margin-top: 2px; }
.snf-fwr-wahl input:checked + span { border-color: var(--fwr-rot); background: #fff; box-shadow: 0 0 0 1px var(--fwr-rot) inset; }
.snf-fwr-wahl input:focus-visible + span { outline: 3px solid var(--fwr-rot); outline-offset: 2px; }
.snf-fwr-stunde { font-size: 15px; margin: 0; }
.snf-fwr-stunde input { width: 80px; padding: 6px 8px; border: 1.5px solid var(--fwr-linie); border-radius: 10px; font: inherit; }
.snf-fwr-summen { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 8px; }
.snf-fwr-summen p { margin: 0; padding: 14px 16px; border-radius: 16px; background: var(--fwr-flaeche); }
.snf-fwr-summen span { display: block; font-size: 13px; color: #555; }
.snf-fwr-summen b { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 28px; line-height: 1.2; }
.snf-fwr-summen p.vorn { background: var(--fwr-rot); color: #fff; }
.snf-fwr-summen p.vorn span { color: rgba(255, 255, 255, .85); }
.snf-fwr-bild svg { width: 100%; height: auto; display: block; }
.snf-fwr-gitter { stroke: #ebe8e1; stroke-width: 1; }
.snf-fwr-achse { font: 12px 'Inter', sans-serif; fill: #666; }
.snf-fwr-l-kauf { fill: none; stroke: var(--fwr-tinte); stroke-width: 2.5; stroke-dasharray: 2 6; stroke-linecap: round; }
.snf-fwr-l-fresh { fill: none; stroke: var(--fwr-rot); stroke-width: 3; stroke-linejoin: round; }
.snf-fwr-raute { fill: var(--fwr-rot); stroke: #fff; stroke-width: 2; }
.snf-fwr-legende { font-size: 13px; color: #555; margin: 4px 0 12px; }
.snf-fwr-legende i { display: inline-block; width: 18px; height: 0; vertical-align: middle; margin: 0 4px 0 10px; border-top: 3px solid var(--fwr-rot); }
.snf-fwr-legende i.k { border-top: 3px dotted var(--fwr-tinte); margin-left: 0; }
.snf-fwr-legende i.r { width: 9px; height: 9px; border: 0; background: var(--fwr-rot); transform: rotate(45deg); }
.snf-fwr-relaunch { font-size: 14px; margin: 0 0 10px; }
.snf-fwr-relaunch input { accent-color: var(--fwr-rot); margin-right: 6px; }
.snf-fwr-satz { font-size: 16px; line-height: 1.55; margin: 0 0 10px; }
.snf-fwr-links { margin: 0; font-size: 14px; }
.snf-fwr-links a { color: var(--fwr-rot); }
/* Aufklappbare Rechnung */
.snf-fwr-details { margin: 6px 0 14px; border-top: 1px solid var(--fwr-linie); padding-top: 10px; }
.snf-fwr-details summary { cursor: pointer; font-weight: 600; font-size: 15px; color: var(--fwr-rot); }
.snf-fwr-rw { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 10px; align-items: start; }
.snf-fwr-rw table { width: 100%; border-collapse: collapse; font-size: 14px; }
.snf-fwr-rw caption { text-align: left; font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 15px; padding-bottom: 4px; }
.snf-fwr-rw td { padding: 6px 0; border-bottom: 1px solid #ebe8e1; vertical-align: top; }
.snf-fwr-rw td:last-child { text-align: right; white-space: nowrap; padding-left: 10px; }
.snf-fwr-rw td small { display: block; color: #666; font-size: 12px; line-height: 1.35; }
.snf-fwr-rw tr.summe td { font-weight: 700; border-bottom: 0; border-top: 2px solid var(--fwr-tinte); }
.snf-fwr-rw-fuss { font-size: 12px; color: #666; margin: 8px 0 0; }
@media (max-width: 991px) {
  .snf-fwr { grid-template-columns: minmax(0, 1fr); padding: 20px; gap: 16px; border-radius: 18px; }
  .snf-fwr-summen b { font-size: 22px; }
}
/* Hülle ohne JavaScript: Beispieltabelle (auf Wissensbeiträgen gestaltet sie zusätzlich inc/snf-wissen.php) */
.snf-fwr:not(.bereit) { padding: 20px; }
.snf-fwr .snf-tabelle { overflow-x: auto; border: 1px solid #e3e3de; border-radius: 12px; }
.snf-fwr .snf-tabelle table { width: 100%; min-width: 480px; border-collapse: collapse; margin: 0; font-size: 15px; line-height: 1.45; }
.snf-fwr .snf-tabelle th { background: #8b0d14; color: #fff; text-align: left; padding: 10px 12px; }
.snf-fwr .snf-tabelle td { padding: 9px 12px; border-top: 1px solid #e3e3de; vertical-align: top; background: #fff; }
.snf-fwr .snf-tabelle-hinweis { display: none; }
