/* Frischmarkt Anfrage – erzeugt aus anfrage/anfrage.css durch wordpress/bauen_anfrage.py, nicht von Hand ändern */
#fm-anfrage { box-sizing: border-box; color: var(--ink); font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; text-align: left; }
#fm-anfrage { --paper: #f6f5ef; --white: #fff; --ink: #1f2d25; --mut: #607067; --line: #d9e0da;
    --green: #245c3b; --green-deep: #17442b; --green-soft: #eaf4ed; --green-brt: #3e9b62;
    --gold: #9a5a00; --gold-soft: #fff7da; --gold-line: #d3b46c; --red: #9f2018; --red-soft: #fdecea; --blue: #1e40af; --blue-soft: #e8effd; }
#fm-anfrage * { box-sizing: border-box; }
#fm-anfrage h1 { margin: 0 0 .5rem; font-size: 1.5rem; line-height: 1.2; color: var(--green-deep); }
#fm-anfrage h2 { margin: 1.3rem 0 .5rem; font-size: 1.1rem; color: var(--green-deep); }
#fm-anfrage h3 { margin: 1rem 0 .3rem; font-size: 1rem; color: var(--green-deep); }
#fm-anfrage p { margin: 0 0 .7rem; }
#fm-anfrage a { color: var(--green); }
#fm-anfrage .mut { color: var(--mut); }
#fm-anfrage .klein { font-size: .85rem; }
#fm-anfrage .marke { display: flex; align-items: center; gap: .65rem; margin-bottom: .8rem; }
#fm-anfrage .marke img { object-fit: contain; }
#fm-anfrage .marke strong { display: block; font-size: 1.1rem; color: var(--green-deep); line-height: 1.15; }
#fm-anfrage .marke span { display: block; color: var(--mut); font-size: .82rem; }
#fm-anfrage .krume { display: flex; flex-wrap: wrap; gap: .2rem .45rem; margin: 0 0 1rem; font-size: .88rem; color: var(--mut); align-items: center; }
#fm-anfrage .krume a, #fm-anfrage .krume button.link { color: var(--green); text-decoration: underline; background: none; border: 0; padding: 0; font: inherit; cursor: pointer; }
#fm-anfrage .krume .sep { color: #9aa79e; }
#fm-anfrage .karten { display: grid; gap: .65rem; margin: .8rem 0; }
#fm-anfrage .karten.drei { grid-template-columns: 1fr; }
@media (min-width: 640px) {
#fm-anfrage .karten.drei { grid-template-columns: repeat(3, 1fr); }
#fm-anfrage .karten.zwei { grid-template-columns: repeat(2, 1fr); }
}
#fm-anfrage button.karte { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; width: 100%; text-align: left; padding: 1rem 1.1rem; font: inherit; color: var(--ink); background: var(--white); border: 1.5px solid var(--line); border-radius: 10px; cursor: pointer; }
#fm-anfrage button.karte:hover { border-color: var(--green-brt); background: var(--green-soft); }
#fm-anfrage button.karte:focus-visible { outline: 3px solid var(--green-brt); outline-offset: 2px; }
#fm-anfrage button.karte strong { display: block; font-size: 1.05rem; color: var(--green-deep); margin-bottom: .15rem; }
#fm-anfrage button.karte span { display: block; font-size: .88rem; color: var(--mut); }
#fm-anfrage button.karte.gross strong { font-size: 1.2rem; }
#fm-anfrage .liste { display: grid; gap: .4rem; margin: .6rem 0; }
#fm-anfrage button.zeile { display: flex; justify-content: space-between; align-items: center; gap: .6rem; width: 100%; text-align: left; padding: .8rem 1rem; font: inherit; color: var(--ink); background: var(--white); border: 1.5px solid var(--line); border-radius: 8px; cursor: pointer; }
#fm-anfrage button.zeile:hover { border-color: var(--green-brt); background: var(--green-soft); }
#fm-anfrage button.zeile:focus-visible { outline: 3px solid var(--green-brt); outline-offset: 2px; }
#fm-anfrage button.zeile::after { content: "›"; font-size: 1.3rem; color: var(--green); }
#fm-anfrage .feld { margin: .85rem 0 0; }
#fm-anfrage label, #fm-anfrage .lab { display: block; font-weight: 600; font-size: .9rem; margin: 0 0 .25rem; }
#fm-anfrage .pfl { color: var(--red); }
#fm-anfrage .hilfe { font-size: .82rem; color: var(--mut); margin: .2rem 0 0; }
#fm-anfrage input[type=text], #fm-anfrage input[type=email], #fm-anfrage input[type=tel], #fm-anfrage input[type=date], #fm-anfrage input[type=number], #fm-anfrage textarea, #fm-anfrage select { width: 100%; padding: .7rem .8rem; font: inherit; color: var(--ink); background: var(--white); border: 1.5px solid #9aa79e; border-radius: 6px; }
#fm-anfrage textarea { min-height: 7rem; resize: vertical; }
#fm-anfrage input:focus, #fm-anfrage textarea:focus, #fm-anfrage select:focus { outline: 3px solid var(--green-brt); outline-offset: 1px; border-color: var(--green); }
#fm-anfrage .feld.fehler input, #fm-anfrage .feld.fehler textarea, #fm-anfrage .feld.fehler select { border-color: var(--red); background: #fffafa; }
#fm-anfrage .feld .fmeld { color: var(--red); font-size: .85rem; margin-top: .25rem; }
#fm-anfrage .haken { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .92rem; }
#fm-anfrage .haken input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; flex: none; }
#fm-anfrage .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#fm-anfrage fieldset { border: 0; padding: 0; margin: 1.2rem 0 0; }
#fm-anfrage legend { padding: 0; font-weight: 700; color: var(--green-deep); font-size: 1.02rem; border-bottom: 2px solid var(--line); width: 100%; padding-bottom: .3rem; }
#fm-anfrage button, #fm-anfrage .knopf { display: inline-block; padding: .85rem 1.2rem; font: inherit; font-weight: 700; color: #fff; background: var(--green); border: 0; border-radius: 6px; cursor: pointer; text-decoration: none; text-align: center; }
#fm-anfrage button:hover, #fm-anfrage .knopf:hover { background: var(--green-deep); }
#fm-anfrage button:focus-visible, #fm-anfrage .knopf:focus-visible { outline: 3px solid var(--green-brt); outline-offset: 2px; }
#fm-anfrage button:disabled { opacity: .6; cursor: wait; }
#fm-anfrage button.gross { width: 100%; font-size: 1.08rem; padding: 1rem 1.2rem; margin-top: 1.1rem; }
#fm-anfrage button.zweit { color: var(--green); background: var(--white); border: 1.5px solid var(--green); }
#fm-anfrage button.zweit:hover { background: var(--green-soft); }
#fm-anfrage button.zeile:hover, #fm-anfrage button.karte:hover { color: var(--ink); }
#fm-anfrage .meldung { margin: .75rem 0; padding: .65rem .85rem; background: var(--red-soft); border-left: 4px solid var(--red); color: #5c1410; border-radius: 2px; }
#fm-anfrage .erfolg { margin: .75rem 0; padding: .8rem 1rem; background: var(--green-soft); border-left: 4px solid var(--green); color: var(--green-deep); border-radius: 2px; }
#fm-anfrage .hinweisbox { margin: .75rem 0; padding: .65rem .85rem; background: var(--gold-soft); border: 1px solid var(--gold-line); border-radius: 6px; font-size: .92rem; }
#fm-anfrage .infobox { margin: .75rem 0; padding: .8rem 1rem; background: var(--white); border: 1.5px solid var(--line); border-radius: 8px; }
#fm-anfrage .infobox h3:first-child { margin-top: 0; }
#fm-anfrage table.tab { width: 100%; border-collapse: collapse; font-size: .93rem; }
#fm-anfrage table.tab td, #fm-anfrage table.tab th { padding: .35rem .4rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
#fm-anfrage table.tab th { font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--mut); }
#fm-anfrage .dienste { display: grid; gap: .6rem; margin: .6rem 0; }
@media (min-width: 560px) {
#fm-anfrage .dienste { grid-template-columns: 1fr 1fr; }
}
#fm-anfrage .dienst { padding: .8rem 1rem; background: var(--white); border: 1.5px solid var(--line); border-radius: 8px; }
#fm-anfrage .dienst strong { font-size: 1.1rem; color: var(--green-deep); display: block; }
#fm-anfrage .stufen { display: flex; gap: .3rem; margin: .8rem 0; padding: 0; list-style: none; }
#fm-anfrage .stufen li { flex: 1; text-align: center; font-size: .72rem; color: var(--mut); border-top: 5px solid var(--line); padding-top: .3rem; }
#fm-anfrage .stufen li.ok { border-top-color: var(--green-brt); color: var(--green-deep); font-weight: 600; }
#fm-anfrage .ergebnis { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: 8px; border: 2px solid var(--green-brt); background: var(--green-soft); }
#fm-anfrage .ergebnis.schlecht { border-color: #e3a6a6; background: var(--red-soft); }
#fm-anfrage .ergebnis .gross { display: block; font-size: 1.3rem; font-weight: 800; color: var(--green-deep); }
#fm-anfrage .ergebnis.schlecht .gross { color: var(--red); }
#fm-anfrage dl.daten { margin: .5rem 0 0; display: grid; grid-template-columns: 9rem 1fr; gap: .25rem .8rem; font-size: .93rem; }
#fm-anfrage dl.daten dt { color: var(--mut); }
#fm-anfrage dl.daten dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 480px) {
#fm-anfrage dl.daten { grid-template-columns: 1fr; gap: 0; }
#fm-anfrage dl.daten dt { margin-top: .5rem; }
}
#fm-anfrage .chip { display: inline-block; padding: 1px 10px; border-radius: 10px; font-size: .78rem; font-weight: 700; border: 1px solid; white-space: nowrap; }
#fm-anfrage .chip.neu, #fm-anfrage .chip.in_bearbeitung { color: #1e40af; background: var(--blue-soft); border-color: #9db8f2; }
#fm-anfrage .chip.wartet { color: #92400e; background: #fef3c7; border-color: #e0c36a; }
#fm-anfrage .chip.erledigt, #fm-anfrage .chip.spam { color: #166534; background: #e4f5ea; border-color: #8fcca3; }
#fm-anfrage .verlauf { display: grid; gap: .6rem; margin: .6rem 0; }
#fm-anfrage .nachricht { padding: .7rem .9rem; border-radius: 8px; background: var(--white); border: 1.5px solid var(--line); }
#fm-anfrage .nachricht.antwort { background: var(--green-soft); border-color: #b9d9c4; }
#fm-anfrage .nachricht .kopf { display: flex; justify-content: space-between; gap: .5rem; font-size: .8rem; color: var(--mut); margin-bottom: .25rem; }
#fm-anfrage .nachricht .text { white-space: pre-wrap; overflow-wrap: anywhere; }
#fm-anfrage .dateien { margin: .4rem 0 0; padding: 0; list-style: none; font-size: .88rem; }
#fm-anfrage .fuss { margin-top: 1.6rem; padding-top: .7rem; border-top: 1px solid var(--line); color: var(--mut); font-size: .78rem; }
#fm-anfrage .checks { display: grid; gap: .45rem .8rem; grid-template-columns: 1fr; margin-top: .1rem; }
@media (min-width: 520px) {
#fm-anfrage .checks { grid-template-columns: 1fr 1fr; }
}
#fm-anfrage .checks .haken { padding: .35rem .5rem; background: var(--white); border: 1.5px solid var(--line); border-radius: 6px; }
/* Schutz vor Theme-Regeln (Großschrift, Knopffarben, Schriftarten) */
#fm-anfrage h1, #fm-anfrage h2, #fm-anfrage h3, #fm-anfrage button, #fm-anfrage .knopf, #fm-anfrage legend, #fm-anfrage label { text-transform: none; letter-spacing: normal; font-family: inherit; text-shadow: none; box-shadow: none; }
#fm-anfrage h1, #fm-anfrage h2, #fm-anfrage h3 { color: var(--green-deep); font-weight: 700; }
#fm-anfrage button.gross, #fm-anfrage button[type=submit], #fm-anfrage .knopf { background: var(--green) !important; color: #fff !important; border-radius: 6px; }
#fm-anfrage button.gross:hover, #fm-anfrage .knopf:hover { background: var(--green-deep) !important; }
#fm-anfrage button.zweit { background: var(--white) !important; color: var(--green) !important; border: 1.5px solid var(--green) !important; border-radius: 6px; }
#fm-anfrage button.karte, #fm-anfrage button.zeile { background: var(--white) !important; color: var(--ink) !important; border-radius: 10px; }
#fm-anfrage button.karte:hover, #fm-anfrage button.zeile:hover { background: var(--green-soft) !important; }
#fm-anfrage .krume button.link { background: none !important; color: var(--green) !important; padding: 0 !important; border: 0 !important; border-radius: 0; }
#fm-anfrage .krume a { color: var(--green); }
