/* Streuobstwiese Wannsee -- Front-End-Styles fuer die Shortcode-Ausgabe.
   Bewusst unter .sow verschachtelt, damit nichts vom aktiven Theme
   ueberschrieben wird -- Header/Navigation/Footer stellt WordPress/das
   Theme selbst. Design angelehnt an kasimirswiese.de: Source Serif Pro
   fuer Ueberschriften, zurueckhaltendes Schwarz/Weiss. */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,300;0,400;1,300&display=swap');

.sow {
    --sow-fg: #111;
    --sow-muted: #5a5a5a;
    --sow-line: #d8d8d8;
    --sow-bad: #7a1414;
    --sow-warn: #8a3b00;
    --sow-good: #2f5a2f;
    --sow-serif: "Source Serif Pro", Georgia, serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--sow-fg);
}

.sow h2, .sow h3 { font-family: var(--sow-serif); font-weight: 300; line-height: 1.15; }
.sow h2 { font-size: 30px; margin: 0 0 16px; }
.sow h3 { font-size: 22px; margin: 24px 0 12px; }

.sow a { color: var(--sow-fg); }
.sow .sow-meta { color: var(--sow-muted); font-size: 14px; font-style: italic; }

.sow-filter-bar { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 28px; font-size: 14px; }
.sow-filter-bar select { border: 1px solid var(--sow-line); padding: 6px 10px; }

.sow-baum-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; margin-bottom: 24px; }
.sow-baum-card { border: 1px solid var(--sow-line); padding: 16px; text-decoration: none; color: var(--sow-fg); display: block; }
.sow-baum-card:hover { border-color: var(--sow-fg); }
.sow-baum-card img { max-width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: 10px; }
.sow-baum-nr { font-size: 13px; color: var(--sow-muted); }
.sow-baum-card h3 { margin: 4px 0 10px; font-size: 18px; }

.sow-tag { display: inline-block; font-size: 12px; letter-spacing: 0.03em; padding: 3px 10px; border: 1px solid var(--sow-line); color: var(--sow-muted); }
.sow-tag.sow-status-krank, .sow-tag.sow-status-abgestorben { color: var(--sow-bad); border-color: var(--sow-bad); }
.sow-tag.sow-status-beobachten { color: var(--sow-warn); border-color: var(--sow-warn); }
.sow-tag.sow-status-gesund, .sow-tag.sow-status-erntereif, .sow-tag.sow-status-ernte_erwartet { color: var(--sow-good); border-color: var(--sow-good); }

.sow-log-entry { border-top: 1px solid var(--sow-line); padding: 16px 0; }
.sow-log-entry:first-child { border-top: none; }
.sow-log-entry__meta { font-size: 13px; color: var(--sow-muted); margin-bottom: 6px; }
.sow-log-entry__foto { max-width: 320px; margin-top: 10px; }

.sow-btn { display: inline-block; font-size: 15px; background: #fff; color: var(--sow-fg); border: 1px solid var(--sow-fg); padding: 9px 20px; text-decoration: none; cursor: pointer; }
.sow-btn:hover { background: var(--sow-fg); color: #fff; }
.sow-btn-quiet { border-color: var(--sow-line); color: var(--sow-muted); }
.sow-btn-quiet:hover { background: var(--sow-fg); color: #fff; border-color: var(--sow-fg); }

.sow-field { margin-bottom: 18px; max-width: 480px; }
.sow-field label { display: block; font-size: 14px; margin-bottom: 6px; color: var(--sow-muted); }
.sow-field input[type=text], .sow-field input[type=email], .sow-field input[type=number], .sow-field select, .sow-field textarea {
    width: 100%; font-size: 16px; padding: 9px 11px; border: 1px solid var(--sow-fg); background: #fff; color: var(--sow-fg);
}
.sow-field textarea { min-height: 110px; }
.sow-field-row { display: flex; gap: 16px; max-width: 480px; }
.sow-field-row .sow-field { flex: 1; }

.sow-form-error { border: 1px solid var(--sow-bad); color: var(--sow-bad); padding: 10px 14px; margin-bottom: 20px; font-size: 15px; }
.sow-form-success { border: 1px solid var(--sow-good); color: var(--sow-good); padding: 10px 14px; margin-bottom: 20px; font-size: 15px; }

.sow-actions-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 20px 0; }

.sow-table-wrap { overflow-x: auto; }
.sow table { width: 100%; border-collapse: collapse; font-size: 15px; margin-bottom: 24px; }
.sow th, .sow td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--sow-line); }
.sow th { font-weight: 600; border-bottom: 1px solid var(--sow-fg); }
