/* Responsive, klares Design in Corporate-Blau (#0d3b66) */
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, 'Poppins', Arial, sans-serif; color:#1f2937; background:#f7f9fb; line-height:1.5; }

/* Header */
.site-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.6rem 1rem; background:#0d3b66; color:#fff; position:sticky; top:0; z-index:10; }
.brand { display:flex; align-items:center; gap:0.75rem; }
.logo-header { height:54px; width:auto; display:block; }
.site-nav a { color:#fff; text-decoration:none; padding:0.4rem 0.6rem; border-radius:8px; }
.site-nav a:hover, .site-nav a.active { background:rgba(255,255,255,0.15); }

/* Layout */
.container { width:min(1100px, 92%); margin-inline:auto; padding:1rem 0 2rem; }
.hero { padding:3rem 0; text-align:center; }
.hero h1 { font-size:clamp(1.4rem, 2.5vw + 1rem, 2.4rem); margin:0 0 0.5rem; }
.btn { display:inline-block; border:none; border-radius:10px; padding:0.7rem 1rem; background:#0d3b66; color:#fff; font-weight:600; text-decoration:none; cursor:pointer; box-shadow:0 6px 16px rgba(13,59,102,0.25); }
.btn:hover { filter:brightness(1.1); }

.features { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
.feature-card { background:#fff; border-radius:14px; padding:1rem; box-shadow:0 4px 16px rgba(0,0,0,0.06); }

/* Gallery */
.gallery { display:grid; gap:1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin:1rem 0 2rem; }
.card { background:#fff; border-radius:14px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,0.07); }
.card img { width:100%; height:240px; object-fit:cover; display:block; }
.card figcaption { font-size:0.8rem; color:#6b7280; padding:0.4rem 0.6rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Upload Form */
.upload-form { background:#fff; padding:1rem; border-radius:14px; box-shadow:0 8px 24px rgba(0,0,0,0.07); display:grid; gap:0.8rem; margin:1rem 0 2rem; }
.upload-form .grid { display:grid; gap:0.8rem; grid-template-columns:1fr 1fr; }
.upload-form label { display:grid; gap:0.25rem; font-weight:600; }
.upload-form input[type="text"], .upload-form input[type="password"], .upload-form input[type="file"] { padding:0.6rem; border:1px solid #e5e7eb; border-radius:10px; background:#fafafa; }
.hint { color:#6b7280; font-size:0.9rem; }

/* Footer */
.site-footer { background:#0d3b66; color:#fff; padding:1.2rem 1rem; margin-top:2rem; }
.footer-inner { width:min(1100px, 92%); margin-inline:auto; text-align:center; }
.site-footer a { color:#fff; text-decoration:underline; }

/* Small screens */
@media (max-width: 700px) {
  .upload-form .grid { grid-template-columns:1fr; }
  .card img { height:200px; }
}
