:root{--edw:360px;--edbg:#14212b;--edfg:#e8f1f5;--edmuted:#9fb3c0;--edline:rgba(255,255,255,.1);--edacc:#5ecde3;--edok:#2ecc71;--eddirty:#ffd166;--eddanger:#ff6b6b}
body.is-editing{padding-right:var(--edw)}
body.is-editing.ed-collapsed{padding-right:48px}
body.is-editing .nav{right:var(--edw);left:0;width:auto}
body.is-editing.ed-collapsed .nav{right:48px}
body.is-editing .nav__menu{right:0}
@media (max-width:900px){
  body.is-editing{padding-right:0;padding-bottom:62vh}
  body.is-editing.ed-collapsed{padding-right:0;padding-bottom:58px}
  body.is-editing .nav,body.is-editing.ed-collapsed .nav{right:0}
  body.is-editing .nav__menu{bottom:62vh}
}

.ed{position:fixed;top:0;right:0;bottom:0;width:var(--edw);background:var(--edbg);color:var(--edfg);z-index:400;display:flex;flex-direction:column;font-family:var(--font);font-size:14px;box-shadow:-10px 0 40px -20px rgba(0,0,0,.6);transition:width .25s var(--ease)}
.ed a{color:var(--edacc)}
.ed-collapsed .ed{width:48px}
.ed-collapsed .ed>*:not(.ed__head){display:none}
.ed-collapsed .ed__brand{display:none}
.ed-collapsed .ed__collapse svg{transform:rotate(180deg)}
.ed__head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid var(--edline);min-height:60px}
.ed__brand{display:flex;align-items:center;gap:.7rem}
.ed__brand strong{display:block;font-size:.95rem}
.ed__brand small{color:var(--edmuted)}
.ed__dot{width:10px;height:10px;border-radius:50%;background:var(--edacc);box-shadow:0 0 0 4px rgba(94,205,227,.25);animation:edpulse 2s infinite}
@keyframes edpulse{0%,100%{box-shadow:0 0 0 4px rgba(94,205,227,.25)}50%{box-shadow:0 0 0 7px rgba(94,205,227,.08)}}
.ed__collapse{border:none;background:rgba(255,255,255,.06);color:var(--edfg);width:30px;height:30px;border-radius:8px;display:grid;place-items:center}
.ed__collapse svg{width:16px;height:16px;transition:transform .25s}
.ed__status{padding:.6rem 1rem;font-size:.82rem;color:var(--edmuted);background:rgba(255,255,255,.03)}
.ed__status.dirty{color:var(--eddirty);font-weight:700}
.ed__status.saving{color:var(--edacc)}
.ed__actions{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.5rem;padding:.7rem 1rem;border-bottom:1px solid var(--edline)}
.ed__btn{border:1px solid var(--edline);background:rgba(255,255,255,.06);color:var(--edfg);border-radius:10px;padding:.6rem .7rem;font-weight:800;font-size:.85rem;transition:background .2s,opacity .2s}
.ed__btn:hover:not(:disabled){background:rgba(255,255,255,.12)}
.ed__btn:disabled{opacity:.4;cursor:not-allowed}
.ed__btn--save{background:var(--edok);border-color:var(--edok);color:#0c2a17}
.ed__btn--save:hover:not(:disabled){background:#27b864}
.ed__btn--small{padding:.45rem .7rem;font-size:.8rem;width:100%}
.ed__btn[aria-pressed=true]{background:var(--edacc);color:#08232b;border-color:var(--edacc)}
.ed__note{margin:0;padding:.8rem 1rem;background:rgba(255,209,102,.12);color:var(--eddirty);font-size:.85rem}
.ed__scroll{flex:1;overflow:auto;scrollbar-width:thin}
.ed__sec{border-bottom:1px solid var(--edline)}
.ed__sec summary{cursor:pointer;padding:.8rem 1rem;font-weight:800;font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;color:var(--edmuted);list-style:none;display:flex;justify-content:space-between;align-items:center}
.ed__sec summary::-webkit-details-marker{display:none}
.ed__sec summary::after{content:"+";font-size:1.1rem}
.ed__sec[open] summary::after{content:"–"}
.ed__sec--quick summary{color:var(--edacc)}
.ed__quick{padding:0 1rem 1rem}
.ed__label{margin:0 0 .5rem;font-size:.82rem;color:var(--edmuted);font-weight:700}
.ed__hint{font-size:.78rem;color:var(--edmuted);padding:0 1rem .6rem;margin:0}
.ed__quick .ed__hint{padding:.5rem 0 .9rem}
.ed__list{padding:0 .6rem .8rem}
.ed__list li{margin:0}
.ed__list button,.ed__list a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;text-align:left;background:none;border:none;color:var(--edfg);padding:.55rem .5rem;border-radius:8px;text-decoration:none;font-size:.9rem}
.ed__list button:hover,.ed__list a:hover{background:rgba(255,255,255,.07)}
.ed__list a.is-current{color:var(--edacc);font-weight:800}
.ed__list small{color:var(--edmuted);font-size:.75rem}
.ed__list--backups li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .5rem}
.ed__list--backups li>span{display:flex;flex-direction:column;line-height:1.25}
.ed__list--backups .ed__btn{padding:.4rem .6rem;font-size:.75rem;white-space:nowrap}
.ed__thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0 1rem 1rem}
.ed__thumbs button{border:2px solid transparent;background:rgba(255,255,255,.05);border-radius:8px;padding:0;overflow:hidden;color:var(--edmuted);font-size:.7rem;display:flex;flex-direction:column}
.ed__thumbs button:hover{border-color:var(--edacc)}
.ed__thumbs img{width:100%;aspect-ratio:1;object-fit:cover}
.ed__thumbs span{padding:.25rem .3rem;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.ed__help{padding:0 1rem 1rem;font-size:.82rem;color:var(--edmuted)}
.ed__help p{margin:0 0 .6rem}
.ed__help strong{color:var(--edfg)}
.ed__help kbd{background:rgba(255,255,255,.1);padding:.05rem .35rem;border-radius:4px;font-family:inherit}
.ed__foot{display:flex;justify-content:space-between;padding:.8rem 1rem;border-top:1px solid var(--edline);font-size:.8rem;color:var(--edmuted)}

.seg{display:grid;grid-template-columns:1fr;gap:.35rem;margin-bottom:.4rem}
.seg button{display:flex;align-items:center;gap:.6rem;border:1px solid var(--edline);background:rgba(255,255,255,.05);color:var(--edfg);padding:.6rem .8rem;border-radius:10px;font-weight:700;font-size:.88rem;text-align:left;transition:background .2s,border-color .2s}
.seg button:hover{background:rgba(255,255,255,.1)}
.seg button[aria-checked=true]{background:rgba(94,205,227,.18);border-color:var(--edacc)}
.seg__dot{width:10px;height:10px;border-radius:50%;flex:none}
.seg__dot--open{background:#2e9e5b}
.seg__dot--soon{background:#e0a400}
.seg__dot--closed{background:#8a8f98}
.switch{display:flex;align-items:center;gap:.7rem;cursor:pointer;padding:.7rem 0 .6rem;border-top:1px solid var(--edline);margin-top:.4rem}
.switch input{position:absolute;opacity:0;width:0;height:0}
.switch__track{width:42px;height:24px;border-radius:999px;background:rgba(255,255,255,.15);position:relative;flex:none;transition:background .2s}
.switch__track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}
.switch input:checked+.switch__track{background:var(--edok)}
.switch input:checked+.switch__track::after{transform:translateX(18px)}
.switch input:focus-visible+.switch__track{outline:2px solid var(--edacc);outline-offset:2px}
.switch__label{font-weight:800;font-size:.88rem;line-height:1.2}
.switch__label small{display:block;font-weight:600;color:var(--edmuted);font-size:.75rem;margin-top:.15rem}

@media (max-width:900px){
  .ed{top:auto;left:0;right:0;width:100%!important;height:62vh;box-shadow:0 -10px 40px -20px rgba(0,0,0,.6)}
  .ed-collapsed .ed{height:58px}
  .ed-collapsed .ed__brand{display:flex}
  .ed__collapse svg{transform:rotate(-90deg)}
  .ed-collapsed .ed__collapse svg{transform:rotate(90deg)}
}

.is-editing [data-f]{outline:2px dashed rgba(94,205,227,.75);outline-offset:3px;border-radius:4px;min-width:1.5em;transition:outline-color .2s,background .2s;cursor:text}
.is-editing [data-f][data-t=text]:empty::before,.is-editing [data-f][data-t=price]:empty::before{content:attr(data-ph);color:#9aa3ad;font-style:italic;font-weight:400}
.is-editing [data-f][data-t=multi] p:only-child:empty::before{content:"Text eingeben";color:#9aa3ad;font-style:italic}
.is-editing [data-f]:hover{outline-color:#1f8fa8;background:rgba(94,205,227,.08)}
.is-editing [data-f]:focus{outline:3px solid #1f8fa8;background:rgba(255,230,109,.25);box-shadow:0 0 0 6px rgba(255,230,109,.25)}
.is-editing [data-f][data-t=image]{cursor:pointer;outline-offset:-3px}
.is-editing [data-f][data-t=url]{cursor:pointer;outline-offset:4px}
.is-editing .ed [data-f]{outline:none;cursor:default;min-width:0}
.is-editing .ed [data-f]:hover,.is-editing .ed [data-f]:focus{background:none;box-shadow:none}
.is-editing .ed .seg[data-f]{outline:none}
.is-editing [data-list]{outline:1px dashed rgba(217,73,127,.35);outline-offset:8px;border-radius:8px}
.is-editing [data-item]{position:relative;transition:box-shadow .2s}
.is-editing [data-item].ed-hover{box-shadow:0 0 0 3px rgba(217,73,127,.55);border-radius:10px}
.is-editing .dish{padding-left:.4rem;padding-right:.4rem}
.is-editing .notice--off{display:block;opacity:.6;background:repeating-linear-gradient(45deg,#ffe66d,#ffe66d 10px,#ffefa3 10px,#ffefa3 20px)}
.notice__state{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:rgba(58,42,34,.12);padding:.25rem .6rem;border-radius:999px;white-space:nowrap}
.is-editing .hero__stack{aspect-ratio:auto;position:static;transform:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.8rem;overflow:visible;background:none;box-shadow:none}
.is-editing .hero__img{position:relative;opacity:1;aspect-ratio:1;border-radius:14px;overflow:hidden}
.is-editing .hero__sticker{display:none}
.is-editing .slider{overflow:visible;box-shadow:none;background:none}
.is-editing .slider__track{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;transform:none!important}
.is-editing .slide{aspect-ratio:4/3;border-radius:14px;overflow:hidden;max-height:none;background:var(--sky-soft)}
.is-editing .slide__blur{display:none}
.is-editing .slide__img{object-fit:cover}
.is-editing .slide a{cursor:default}
.is-editing .slide figcaption{position:static;padding:.5rem;background:#fff;pointer-events:auto}
.is-editing .slide__cap{box-shadow:none;background:none;padding:0;display:inline-block;min-width:60%}
.is-editing .slider__btn,.is-editing .slider__dots,.is-editing .thumbs{display:none}
.is-editing .menu__cat.is-hidden{display:block}
.is-editing .season__edit .season__row--open{border-left:4px solid #2e9e5b;padding-left:.6rem}
.is-editing .season__edit .season__row--soon{border-left:4px solid #e0a400;padding-left:.6rem}
.is-editing .season__edit .season__row--closed{border-left:4px solid #8a8f98;padding-left:.6rem}
.is-editing .season--open .season__row--open,.is-editing .season--soon .season__row--soon,.is-editing .season--closed .season__row--closed{background:rgba(255,230,109,.25);border-radius:0 8px 8px 0}
.is-editing .reveal{opacity:1;transform:none}
.is-editing .grid-gal{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem}
.ed-preview [data-f]{outline:none!important;background:none!important;box-shadow:none!important;cursor:default}
.ed-preview [data-list]{outline:none}
.ed-preview [data-item].ed-hover{box-shadow:none}
.ed-preview .notice__state,.ed-preview .season__hint,.ed-preview .ed-img-badge{display:none}

.ed-tools{position:fixed;z-index:410;display:none;align-items:center;gap:.25rem;background:#14212b;color:#fff;padding:.3rem .4rem .3rem .7rem;border-radius:999px;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);font-size:.78rem;font-weight:800}
.ed-tools.on{display:flex}
.ed-tools .lbl{margin-right:.3rem;white-space:nowrap;color:#9fb3c0}
.ed-tools button{width:30px;height:30px;border-radius:50%;border:none;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center}
.ed-tools button:hover:not(:disabled){background:var(--edacc);color:#08232b}
.ed-tools button.del:hover:not(:disabled){background:var(--eddanger)}
.ed-tools button:disabled{opacity:.3;cursor:not-allowed}
.ed-tools svg{width:15px;height:15px;stroke-width:2.2}
.ed-img-badge{position:fixed;z-index:405;display:none;background:#14212b;color:#fff;font-size:.75rem;font-weight:800;padding:.3rem .7rem;border-radius:999px;pointer-events:none}
.ed-img-badge.on{display:block}

.ed-img{position:fixed;inset:0;z-index:500;background:rgba(10,16,20,.7);display:flex;align-items:center;justify-content:center;padding:1rem}
.ed-img[hidden]{display:none}
.ed-img__box{background:#fff;color:var(--ink);width:min(820px,100%);max-height:94vh;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.ed-img__box header,.ed-img__box footer{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;border-bottom:1px solid var(--line)}
.ed-img__box footer{border-bottom:none;border-top:1px solid var(--line);gap:.6rem;justify-content:flex-end}
.ed-img__box footer .ed__btn{background:#f1efea;color:var(--ink);border-color:#e4e0d8}
.ed-img__box footer .ed__btn--save{background:var(--edok);color:#0c2a17;border-color:var(--edok)}
.ed-img__box h2{font-size:1.1rem;margin:0}
.ed-img__close{border:none;background:none;font-size:1.8rem;line-height:1;color:var(--muted)}
.ed-img__body{padding:1.2rem;overflow:auto;display:grid;gap:1rem}
.ed-img__current{display:grid;grid-template-columns:200px 1fr;gap:1rem;align-items:start}
.ed-img__current img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:var(--cream)}
.ed-img__current label,.ed-url__box label{display:block;font-weight:800;font-size:.85rem}
.ed-img__current input,.ed-url__box input{width:100%;font:inherit;padding:.7rem .9rem;border:2px solid var(--line);border-radius:10px;margin-top:.3rem}
.ed-img__upload{border:2px dashed var(--line);border-radius:12px;padding:1rem;text-align:center;display:grid;gap:.4rem;justify-items:center;transition:border-color .2s,background .2s}
.ed-img__upload.drag{border-color:var(--edacc);background:var(--sky-soft)}
.ed-img__upload small{color:var(--muted)}
.ed-img__upload .ed__btn--save{background:var(--pink-deep);border-color:var(--pink-deep);color:#fff;padding:.7rem 1.2rem}
.ed-img__progress{width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--edacc),var(--pink-deep));animation:edprog 1s infinite linear;background-size:200% 100%}
@keyframes edprog{to{background-position:-200% 0}}
.ed-img__libhead{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem}
.ed-img__libhead small{color:var(--muted)}
.ed-img__lib{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem}
.ed-img__lib button{position:relative;border:3px solid transparent;border-radius:10px;overflow:hidden;background:var(--cream);padding:0;text-align:left;display:flex;flex-direction:column}
.ed-img__lib button:hover{border-color:var(--sky)}
.ed-img__lib button.sel{border-color:var(--pink-deep)}
.ed-img__lib img{width:100%;aspect-ratio:1;object-fit:cover}
.ed-img__lib small{padding:.25rem .4rem;font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.ed-img__lib .del{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:.9rem;opacity:0;transition:opacity .2s}
.ed-img__lib button:hover .del{opacity:1}
.ed-url__box{width:min(520px,100%)}
.ed-url__box .ed__hint{padding:0;margin-top:.6rem}
.ed-url__error{color:var(--pink-deep);font-weight:700;font-size:.85rem;margin:.4rem 0 0}
@media (max-width:600px){.ed-img__current{grid-template-columns:1fr}}

.ed-toast{position:fixed;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:600;background:#14212b;color:#fff;padding:.8rem 1.2rem;border-radius:12px;font-weight:700;box-shadow:0 10px 30px -10px rgba(0,0,0,.6);max-width:min(560px,90vw);font-size:.9rem}
.ed-toast.err{background:#b23a3a}
.ed-toast.warn{background:#9a6b00}
@media (max-width:900px){.ed-toast{bottom:auto;top:1rem}}

.is-editing .nav__menu a{white-space:nowrap;padding:.5rem .55rem;font-size:.95rem}
.is-editing .nav__menu{gap:.8rem}
@media (max-width:1400px){.is-editing .pill__sub{display:none}}
.is-editing .hero__stack::before{content:"Titelbilder – werden auf der Website abwechselnd eingeblendet";grid-column:1/-1;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.is-editing .loc__map{position:relative}
.is-editing .loc__map::after{content:"Karte folgt der Adresse links – nach dem Speichern sehen Besucher die Karte erst nach Klick auf „Google Maps laden“";position:absolute;left:.8rem;right:.8rem;bottom:.8rem;background:rgba(21,27,38,.88);color:#fff;font-size:.74rem;font-weight:700;padding:.5rem .8rem;border-radius:10px;pointer-events:none;z-index:2;line-height:1.35}
