.lmk-kg { --kg-ink: var(--ink, #0f1b2d); --kg-brand: var(--brand, #2c5f8e); --kg-line: var(--line, #d6dde5); --kg-mist: var(--mist, #eef2f6); --kg-muted: var(--muted, #5a6676); max-width: 1100px; margin-inline: auto; }
.lmk-kg h2 { margin-top: 0; }
.lmk-kg-note { background: var(--kg-mist); border-left: 3px solid var(--kg-brand); padding: .9rem 1.1rem; border-radius: 2px; }
.lmk-kg-error { border-left-color: #b32d2e; background: #fbeaea; }
.lmk-kg-small { font-size: .95rem; color: var(--kg-muted); }

/* Login */
.lmk-kg-login { max-width: 28rem; margin-inline: auto; padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid var(--kg-line); border-radius: 4px; background: #fff; }
.lmk-kg-login form p { margin: 0 0 1rem; }
.lmk-kg-login label { display: block; font-weight: 500; margin-bottom: .3rem; }
.lmk-kg-login input[type='text'], .lmk-kg-login input[type='password'] { width: 100%; padding: .8rem 1rem; border: 1px solid var(--kg-line); border-radius: 4px; font: inherit; }
.lmk-kg-login .login-remember label { display: inline-flex; gap: .5rem; align-items: center; font-weight: 400; }
.lmk-kg-login input[type='submit'], .lmk-kg-btn {
	display: inline-flex; padding: .85rem 1.6rem; border: 0; border-radius: 4px; cursor: pointer;
	background: var(--kg-ink); color: #fff; font: 500 1rem/1 inherit; text-decoration: none;
}
.lmk-kg-login input[type='submit']:hover, .lmk-kg-btn:hover { background: var(--kg-brand); color: #fff; }

/* Leiste */
.lmk-kg-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; padding-bottom: 1rem; margin-bottom: 2rem; border-bottom: 1px solid var(--kg-line); font-size: .95rem; }
.lmk-kg-bar a { margin-left: 1rem; }

/* Galerien-Liste */
.lmk-kg-list { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.lmk-kg-card { display: flex; flex-direction: column; gap: .25rem; color: inherit; text-decoration: none; }
.lmk-kg-cover { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--kg-mist); border-radius: 2px; }
.lmk-kg-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
a.lmk-kg-card:hover .lmk-kg-cover img { transform: scale(1.03); }
.lmk-kg-title { font-family: var(--serif, Georgia, serif); font-size: 1.5rem; padding-top: .5rem; }
.lmk-kg-meta { color: var(--kg-muted); font-size: .95rem; }
span.lmk-kg-card { opacity: .6; }

/* Galerie */
.lmk-kg-back { text-decoration: none; }
.lmk-kg-count { color: var(--kg-muted); }
.lmk-kg-grid { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: repeat(2, 1fr); max-width: none; }
.lmk-kg-grid li { margin: 0; }
.lmk-kg-item { display: block; aspect-ratio: 1; overflow: hidden; background: var(--kg-mist); border-radius: 2px; }
.lmk-kg-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.lmk-kg-item:hover img { transform: scale(1.04); }
.lmk-kg-dl { display: inline-block; margin-top: .35rem; font-size: .9rem; }
@media (min-width: 640px) { .lmk-kg-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .lmk-kg-grid { grid-template-columns: repeat(4, 1fr); } }
