:root{--wine:#741d32;--wine2:#4b1020;--cream:#f8f4f1;--ink:#292426;--muted:#71696b;--line:#ddd4d5;--white:#fff;--green:#2c6b4c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}.login-card{width:min(480px,calc(100% - 2rem));margin:7vh auto;background:#fff;padding:clamp(2rem,5vw,3.5rem);box-shadow:0 20px 60px rgba(75,16,32,.12)}.back{font-size:.83rem;color:var(--muted);text-decoration:none}.admin-brand{display:flex;gap:1rem;align-items:center;margin:3rem 0}.admin-brand>span,.mini-mark{display:grid;place-items:center;border:1px solid var(--wine);border-radius:50%;color:var(--wine);font-family:Georgia,serif}.admin-brand>span{width:52px;height:52px}.admin-brand p{font-family:Georgia,serif;margin:0}.admin-brand small{font:10px Arial,sans-serif;display:block;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:.3rem}.login-card h1{font:normal 2.5rem Georgia,serif;margin:0}.login-card>p{color:var(--muted)}label{display:block;font-size:.8rem;font-weight:bold;margin:1rem 0;color:#4f484a}input,textarea{display:block;width:100%;border:1px solid var(--line);background:#fff;padding:.85rem;margin-top:.4rem;border-radius:2px}textarea{min-height:120px;resize:vertical}input:focus,textarea:focus{outline:2px solid rgba(116,29,50,.22);border-color:var(--wine)}button{border:0;background:var(--wine);color:#fff;padding:.85rem 1.2rem;font-weight:bold}.login-card form button{width:100%;margin-top:1rem}.message{font-size:.85rem;color:#a32039;min-height:1.4em}.message.success{color:var(--green)}#editor>header{background:#fff;border-bottom:1px solid var(--line);min-height:78px;padding:1rem clamp(1rem,4vw,3.5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem}#editor>header>div{display:flex;align-items:center;gap:.9rem}.mini-mark{width:42px;height:42px;font-family:Georgia,serif}header strong,header small{display:block}header small{font-size:.75rem;color:var(--muted)}.secondary{border:1px solid var(--line);padding:.65rem 1rem;text-decoration:none;color:var(--ink);font-size:.82rem}.text-button{background:transparent;color:var(--muted);padding:.5rem}.tabs{padding:0 clamp(1rem,4vw,3.5rem);background:white;border-bottom:1px solid var(--line);display:flex;overflow:auto}.tabs button{white-space:nowrap;background:transparent;color:var(--muted);border-bottom:3px solid transparent;padding:1.2rem 1rem}.tabs button.active{color:var(--wine);border-color:var(--wine)}.workspace{max-width:1100px;margin:auto;padding:clamp(2rem,5vw,4rem) 1rem}.panel{display:none}.panel.active{display:block}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:2rem}.panel-head h1{font:normal clamp(2rem,4vw,3.2rem) Georgia,serif;margin:0}.panel-head p{color:var(--muted);margin:.3rem 0}.save{white-space:nowrap}.form-group{background:#fff;border:1px solid var(--line);padding:clamp(1.2rem,3vw,2rem);margin-bottom:1rem}.form-group h2{font:normal 1.45rem Georgia,serif;color:var(--wine);margin:0 0 1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem}.form-grid .wide{grid-column:1/-1}.services-editor{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.service-edit{padding:1rem;background:var(--cream);border:1px solid var(--line)}.upload-box{background:white;border:1px solid var(--line);padding:clamp(1.2rem,3vw,2rem);display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end}.upload-box h2{grid-column:1/-1;font:normal 1.4rem Georgia,serif;margin:0}.upload-box label{margin:0}.upload-box .message{grid-column:1/-1;margin:0}.image-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.image-card{background:white;border:1px solid var(--line);padding:.7rem}.image-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.image-card p{font-size:.8rem;color:var(--muted);min-height:2.4em}.image-card button{width:100%;background:transparent;color:#a32039;border:1px solid #e4cbd0}.empty{color:var(--muted);font-style:italic}.password-form{max-width:560px;background:white;border:1px solid var(--line);padding:2rem}#toast{position:fixed;right:1.5rem;bottom:1.5rem;background:var(--green);color:#fff;padding:1rem 1.4rem;box-shadow:0 8px 30px rgba(0,0,0,.18);transform:translateY(120px);opacity:0;transition:.25s}#toast.show{transform:none;opacity:1}
@media(max-width:750px){#editor>header{align-items:flex-start;flex-direction:column}#editor>header>div:last-child{width:100%;justify-content:space-between}.panel-head{align-items:flex-start;flex-direction:column}.form-grid,.services-editor{grid-template-columns:1fr}.upload-box{grid-template-columns:1fr}.upload-box h2{grid-column:auto}.image-list{grid-template-columns:1fr 1fr}.save{width:100%}}@media(max-width:460px){.image-list{grid-template-columns:1fr}.secondary{display:none}}

/* Die Formatierungsleiste gehört optisch direkt zum jeweiligen Live-Textfeld. */
.rich-field{grid-column:1/-1;margin:1rem 0}
.rich-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem;background:#f3eeee;border:1px solid var(--line);border-bottom:0}
.rich-toolbar button{min-width:38px;padding:.45rem .6rem;background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:normal}
.rich-toolbar button:hover,.rich-toolbar button:focus{border-color:var(--wine);color:var(--wine)}
.rich-editor{min-height:110px;padding:.9rem;background:#fff;border:1px solid var(--line);font-size:.95rem;font-weight:normal;color:var(--ink);outline:none}
.rich-editor:focus{border-color:var(--wine);box-shadow:0 0 0 2px rgba(116,29,50,.12)}
.service-number{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--wine);color:#fff;font:bold .82rem Arial,sans-serif;margin-bottom:.5rem}
.single-image{grid-template-columns:minmax(220px,360px)}
.hours-editor{display:grid;gap:.8rem}.hours-row{display:grid;grid-template-columns:minmax(140px,.65fr) 1.35fr;gap:1rem;padding:.8rem 1rem;background:var(--cream);border:1px solid var(--line)}.hours-row label{margin:0}@media(max-width:560px){.hours-row{grid-template-columns:1fr}}
.admin-logo,.mini-logo{display:block;object-fit:contain}.admin-logo{width:58px;height:58px}.mini-logo{width:46px;height:46px}
