*{box-sizing:border-box}body{margin:0;font-family:var(--font-family,system-ui,-apple-system,Segoe UI,Roboto,sans-serif);background:var(--background-color,#f6f6f6);color:var(--text-color,#222)}.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;background:var(--primary-color,#111);color:#fff}.top h1{margin:.25rem 0}.top a{color:#fff;text-decoration:none;margin-left:1rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap;padding:1rem 2rem;background:var(--card-color,#fff);border-bottom:1px solid #eee}.filters a{border:1px solid #ddd;border-radius:999px;color:var(--text-color,#222);text-decoration:none;padding:.55rem .85rem}.filters a.active,.filters a:hover{background:var(--accent-color,#111);color:#fff;border-color:var(--accent-color,#111)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;padding:2rem}.card,.download,.panel,.admin{background:var(--card-color,#fff);border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.card{overflow:hidden}.image-protect-wrap{position:relative;display:block;background:#000}.card img,.protected-image{width:100%;height:260px;object-fit:cover;display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.watermark-notice{position:absolute;right:.65rem;bottom:.65rem;background:rgba(0,0,0,.58);color:#fff;padding:.25rem .55rem;border-radius:999px;font-size:.82rem;line-height:1;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.4)}.card-body{padding:1rem}.card h2,.download h2{margin:.25rem 0 1rem}.meta,small,.hint{color:var(--muted-text-color,#666);font-size:.9rem}.like,.btn{border:0;border-radius:999px;background:var(--accent-color,#111);color:#fff;padding:.75rem 1rem;cursor:pointer;text-decoration:none;display:inline-block}.like:hover,.btn:hover{opacity:.85}.list{max-width:900px;margin:2rem auto;padding:0 1rem}.download{padding:1.25rem;margin-bottom:1rem}.admin{max-width:520px;margin:3rem auto;padding:2rem}.admin.wide{max-width:1100px}.admin form{display:grid;gap:1rem}.inline-form{grid-template-columns:1fr 220px auto;align-items:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checks{display:grid;gap:.6rem}.checks label{display:flex;align-items:center;gap:.55rem;font-weight:500}.checks input{width:auto}label{display:grid;gap:.35rem;font-weight:600}input,textarea,select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:12px;font:inherit;background:#fff;color:#222}input[type=color]{height:46px;padding:.25rem}textarea{min-height:120px}.panel{padding:1.25rem;margin-bottom:1.25rem}.row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid #eee;padding:.75rem 0}.row form{display:block}.danger{border:0;border-radius:12px;background:#b00020;color:#fff;padding:.5rem .75rem;cursor:pointer}.success{background:#e7f8ed;color:#086b2f;padding:1rem;border-radius:12px}.error{background:#fdecec;color:#8a1111;padding:1rem;border-radius:12px}.empty{padding:2rem;text-align:center;color:var(--muted-text-color,#666)}.empty.small{text-align:left;padding:.5rem 0}@media(max-width:650px){.top{display:block}.top nav{margin-top:1rem}.top a{display:inline-block;margin:.25rem 1rem .25rem 0}.grid{padding:1rem}.row{align-items:flex-start;flex-direction:column}.inline-form,.form-grid,.color-grid{grid-template-columns:1fr}.filters{padding:1rem}}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.5rem;padding:1.5rem 2rem}.sidebar{background:var(--card-color,#fff);border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.08);padding:1.25rem;height:max-content;position:sticky;top:1rem}.sidebar h2{font-size:1.1rem;margin:.25rem 0 1rem}.side-filters{display:grid;gap:.5rem}.side-filters a{border:1px solid #ddd;border-radius:12px;color:var(--text-color,#222);text-decoration:none;padding:.65rem .8rem}.side-filters a.active,.side-filters a:hover{background:var(--accent-color,#111);color:#fff;border-color:var(--accent-color,#111)}.content-area{min-width:0}.grid.fixed-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:0}.pagination{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:1.5rem 0 2rem}.pagination a{background:var(--card-color,#fff);border:1px solid #ddd;border-radius:999px;color:var(--text-color,#222);padding:.6rem .9rem;text-decoration:none}.pagination a.active,.pagination a:hover{background:var(--accent-color,#111);border-color:var(--accent-color,#111);color:#fff}.page-content{max-width:950px;margin:2rem auto}.html-content{line-height:1.65}.edit-card{border-top:1px solid #eee;padding:1rem 0}.edit-card summary{cursor:pointer}.edit-form{display:grid;gap:1rem;margin-top:1rem}.edit-preview img{max-width:220px;max-height:150px;object-fit:cover;border-radius:12px;display:block}.delete-form{margin-top:.75rem}.delete-form button{width:auto}.card-body p:not(.meta){line-height:1.45}@media(max-width:1100px){.grid.fixed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.layout{grid-template-columns:1fr;padding:1rem}.sidebar{position:static}.grid.fixed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.grid.fixed-grid{grid-template-columns:1fr}.card img,.protected-image{height:230px}}
.download-grid .empty{grid-column:1/-1}.download-card{overflow:hidden;display:flex;flex-direction:column;min-height:100%}.download-file-wrap{height:260px;background:linear-gradient(135deg,var(--primary-color,#111),var(--accent-color,#111));display:flex;align-items:center;justify-content:center;color:#fff;user-select:none}.download-file-icon{width:118px;min-height:142px;border:3px solid rgba(255,255,255,.82);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;background:rgba(255,255,255,.08);box-shadow:0 10px 28px rgba(0,0,0,.18)}.download-arrow{font-size:3.2rem;line-height:1}.download-ext{font-weight:800;letter-spacing:.08em;font-size:.95rem;border-top:1px solid rgba(255,255,255,.45);padding-top:.55rem;max-width:92px;overflow:hidden;text-overflow:ellipsis}.download-card .card-body{display:flex;flex-direction:column;gap:.35rem;flex:1}.download-card .btn{margin-top:auto;width:max-content}
@media(max-width:520px){.download-file-wrap{height:230px}}

.download-preview-wrap{background:#f1f1f1;padding:0}.download-preview-img{width:100%;height:100%;object-fit:cover;display:block}

.download-preview-wrap{position:relative;overflow:hidden}
.download-preview-img.protected-image{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:auto}
.download-preview-wrap .watermark-notice{z-index:2}

.site-footer{margin:2rem 2rem 0;padding:0 0 1.25rem;color:var(--muted-text-color,#666)}
.footer-line{border:0;border-top:1px solid rgba(0,0,0,.16);margin:0 0 1rem}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.95rem}
.footer-copy{font-weight:600;color:var(--text-color,#222)}
.footer-stats{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}
.footer-stats span{background:var(--card-color,#fff);border:1px solid #e5e5e5;border-radius:999px;padding:.45rem .75rem;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.footer-stats strong{color:var(--text-color,#222)}
@media(max-width:650px){.site-footer{margin:1.5rem 1rem 0}.footer-inner{align-items:flex-start;flex-direction:column}.footer-stats{justify-content:flex-start}}

.top nav a.active{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.site-header{background:var(--primary-color,#111);color:#fff;padding-bottom:1.25rem;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.site-header .top{background:transparent;padding-bottom:1rem}
.hero-header{position:relative;margin:0 2rem;border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.22);background:#0e1a24}
.hero-image{width:100%;height:auto;display:block;object-fit:contain;background:#0e1a24}
.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:2rem;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.48) 100%);color:#fff}
.hero-label{display:inline-block;margin-bottom:.7rem;padding:.35rem .75rem;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.hero-overlay h2{margin:0 0 .35rem;font-size:clamp(1.6rem,4vw,3rem);line-height:1.05;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.hero-overlay p{margin:0;max-width:720px;font-size:clamp(.95rem,1.8vw,1.2rem);color:rgba(255,255,255,.92);text-shadow:0 2px 10px rgba(0,0,0,.24)}
@media(max-width:850px){
    .hero-header{margin:0 1rem}
    .hero-overlay{padding:1.35rem}
    .site-header{padding-bottom:1rem}
}
@media(max-width:520px){
    .hero-header{margin:0 .75rem;border-radius:18px}
    .hero-overlay{padding:1rem}
    .hero-label{margin-bottom:.5rem;font-size:.76rem}
    .hero-overlay h2{font-size:clamp(1.2rem,6vw,1.7rem)}
    .hero-overlay p{font-size:.9rem;max-width:100%}
}

/* Responsive Bilder und Medien in HTML-Seiten wie Impressum, Kontakt, Datenschutz usw. */
.html-content img,
.page-content img{
    max-width:100% !important;
    height:auto !important;
    display:block;
    border-radius:14px;
}

.html-content figure,
.page-content figure{
    max-width:100%;
    margin:1.25rem 0;
}

.html-content figure img,
.page-content figure img{
    margin:0 auto;
}

.html-content iframe,
.html-content video,
.html-content embed,
.html-content object,
.page-content iframe,
.page-content video,
.page-content embed,
.page-content object{
    max-width:100% !important;
}

.html-content .image-left,
.page-content .image-left{
    float:left;
    max-width:42%;
    margin:.25rem 1.25rem 1rem 0;
}

.html-content .image-right,
.page-content .image-right{
    float:right;
    max-width:42%;
    margin:.25rem 0 1rem 1.25rem;
}

.html-content .image-center,
.page-content .image-center{
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:850px){
    .html-content .image-left,
    .html-content .image-right,
    .page-content .image-left,
    .page-content .image-right{
        float:none;
        max-width:100%;
        margin:1rem auto;
    }
}

@media(max-width:520px){
    .html-content img,
    .page-content img{
        border-radius:10px;
    }
}
