/* Basic styles */
:root { --primary:#1B5E20; --bg:#f7f7f7; --text:#1a1a1a; --radius:14px; --frame:#4F7F3A; 
  /* Theme variables editable by admin */
  --bg-overlay-alpha: 0.95; /* 0.0 - 1.0 */
  --bg-brightness: 1;      /* 0.2 - 2.0 */
  --bg-contrast: 1;        /* 0.2 - 3.0 */
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
/* Theme variants */
.theme-lebensbaum{ --primary:#2E7D32; --frame:#4E7B2C; --bg:#f6faf5; }
.theme-dark-forest{ --primary:#224E2B; --frame:#2A5131; --bg:#0f1411; --text:#eaeaea; }

/* Optional community background image with adjustable brightness/contrast */
body.has-bg{background:var(--bg)}
body.has-bg::before{content:"";position:fixed;inset:0;background-image:url('/uploads/community_bg.jpg');background-attachment:fixed;background-size:min(78vmin, 900px) auto;background-position:center 0;background-repeat:no-repeat;filter:brightness(var(--bg-brightness)) contrast(var(--bg-contrast));z-index:0;}
body.has-bg::after{content:"";position:fixed;inset:0;background:rgba(255,255,255,var(--bg-overlay-alpha));pointer-events:none;z-index:0}
.container{max-width:980px;margin:0 auto;padding:16px;position:relative;z-index:1}
/* Make the main content readable over the background */
main.container{background:rgba(255,255,255,0.97);border:2px solid var(--frame);border-radius:var(--radius);box-shadow:0 10px 28px rgba(0,0,0,.12)}
/* Optional decorative window-style frame using an image */
.has-frame main.container,
.has-frame .form-card,
.has-frame .dataset-item,
.has-frame .table{
  border:16px solid transparent;
  border-image-source: var(--frame-image);
  border-image-slice: 32 fill;
  border-image-width: 16px;
  border-image-repeat: stretch;
  border-radius: 0; /* border-image doesn't combine well with radius */
}
.site-header{background:var(--primary);color:#fff;position:relative;z-index:1}
.site-header .brand{color:#fff;text-decoration:none;font-weight:800;margin-right:16px}
.site-header nav a{color:#fff;text-decoration:none;margin-right:12px}
.site-header .user{margin:0 8px}
.site-footer{padding:16px;color:#666;position:relative;z-index:1}

h1,h2,h3{margin:16px 0}
.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;margin-right:6px;background:#e7e7e7}
.badge.type{background:#e8f5e9;color:#2e7d32}
.badge.locale{background:#e3f2fd;color:#1565c0}
.badge.region{background:#fff8e1;color:#ef6c00}
.small{font-size:12px}
.muted{color:#777}

.form-card{background:#fff;border:2px solid var(--frame);border-radius:var(--radius);padding:16px;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.form-card label{display:block;margin-bottom:12px;font-weight:600}
.form-card input,.form-card select,.form-card textarea{width:100%;padding:8px;margin-top:4px;border:1px solid #ccc;border-radius:6px}
.form-card button{background:var(--primary);color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer}
.button{display:inline-block;background:var(--primary);color:#fff;padding:10px 16px;border-radius:6px;text-decoration:none}
.errors{margin:8px 0}
.error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a;padding:8px;border-radius:6px;margin-bottom:6px}

.dataset-list{list-style:none;padding:0}
.dataset-item{background:#fff;border:2px solid var(--frame);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:0 6px 18px rgba(0,0,0,.08)}

/* Table styling for admin pages */
.table{width:100%;border-collapse:collapse;background:#fff;border:2px solid var(--frame);border-radius:var(--radius);box-shadow:0 6px 18px rgba(0,0,0,.08);overflow:hidden}
.table th,.table td{padding:10px 12px;border-bottom:1px solid #eee}
.table thead th{background:#fafafa;color:#333;font-weight:700}
.table tbody tr:hover{background:#fcfcfc}

.comment-list{list-style:none;padding:0}
.comment-list li{background:#fff;border:1px solid #eee;border-radius:8px;padding:12px;margin-bottom:8px}

