@font-face{font-family:'Fredoka One';src:url('/fonts/fredoka.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/fonts/roboto-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}

:root{
  --rot:#F73E34; --orange:#FF7932; --gelb:#F9B63A; --gruen:#71BA4D;
  --cyan:#07A4D7; --blau:#337AB7; --indigo:#44478E; --pink:#E44578;
  --ink:#191A1F; --muted:#5C6270; --line:#E7E9EF; --paper:#FFFFFF; --mist:#F5F6F9;
  --accent:#F73E34;
  --display:'Fredoka One',system-ui,sans-serif;
  --body:'Roboto',system-ui,sans-serif;
  --maxw:1160px; --r:22px; --shadow:0 18px 50px -24px rgba(20,22,30,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;line-height:1.1;margin:0;letter-spacing:.005em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--display);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.rainbow-text{background:linear-gradient(90deg,var(--rot),var(--orange),var(--gelb),var(--gruen),var(--cyan),var(--blau),var(--indigo),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--display);font-size:1rem;padding:.8em 1.5em;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s;white-space:nowrap;line-height:1}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 12px 28px -12px var(--accent)}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 12px 28px -12px #25d366}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}
.pad{padding:84px 0}
.center{text-align:center}
.lead{color:var(--muted);font-size:1.06rem;max-width:58ch}
section{position:relative}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:24px;height:76px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:44px;width:auto}
.nav-links{display:flex;gap:20px;margin-left:6px;font-size:.96rem}
.nav-links a{color:var(--muted);padding:6px 0;position:relative}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a.active::after,.nav-links a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent)}
.nav-cta{margin-left:auto;display:flex;gap:10px;align-items:center}
.nav-cta .btn{padding:.55em 1.05em;font-size:.9rem}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:26px;height:3px;border-radius:3px;background:var(--ink);margin:5px 0}

/* hero */
.hero{overflow:hidden;padding:66px 0 82px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.hero h1{font-size:clamp(2.5rem,6vw,4.2rem)}
.hero .lead{font-size:1.14rem;margin:20px 0 30px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-badges{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.hero-badges div{font-size:.9rem;color:var(--muted)}
.hero-badges b{display:block;font-family:var(--display);font-size:1.6rem;color:var(--ink)}
.hero-media{position:relative}
.blob{position:absolute;filter:blur(2px);opacity:.9;z-index:0;border-radius:50%}
.b1{width:230px;height:230px;background:radial-gradient(circle at 30% 30%,var(--orange),var(--rot));top:-40px;right:-30px}
.b2{width:170px;height:170px;background:radial-gradient(circle at 30% 30%,var(--cyan),var(--blau));bottom:-40px;left:-30px}
.b3{width:120px;height:120px;background:radial-gradient(circle at 30% 30%,var(--gruen),var(--gelb));bottom:60px;right:-20px}

/* slider */
.slider{position:relative;aspect-ratio:4/4.4;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);z-index:1;background:#eef1f6}
.slider .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease}
.slider .slide.active{opacity:1}
.slider .sdots{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:7px;justify-content:center;z-index:3}
.slider .sdots b{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.6);cursor:pointer}
.slider .sdots b.on{background:#fff}

/* image placeholder */
.ph{position:relative;border-radius:var(--r);background:repeating-linear-gradient(45deg,#EEF1F6 0 22px,#E7EBF2 22px 44px);border:2px dashed #cfd6e2;display:flex;align-items:center;justify-content:center;color:#9aa3b4;font-family:var(--display);overflow:hidden;isolation:isolate;z-index:1}
.ph[data-label]::after{content:attr(data-label);position:relative;z-index:2;font-size:.85rem;text-align:center;padding:12px;line-height:1.35;white-space:pre-line}
.ph.filled{border-style:solid;border-color:transparent;background-size:cover;background-position:center}
.ph.filled::after{content:""}

/* services */
.services{background:var(--mist)}
.grid-services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;transition:transform .18s,box-shadow .18s;position:relative}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.svc .ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;font-size:1.5rem;color:#fff;margin-bottom:16px}
.svc h3{font-size:1.13rem;margin-bottom:8px}
.svc p{color:var(--muted);font-size:.94rem;margin:0}

/* gruende */
.gruende-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.grid-gruende{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.grund{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px;position:relative}
.bubble{width:56px;height:56px;border-radius:44% 56% 58% 42%/54% 44% 56% 46%;display:grid;place-items:center;color:#fff;font-family:var(--display);font-size:1.35rem;margin-bottom:16px;box-shadow:0 10px 22px -12px rgba(0,0,0,.4)}
.grund h3{font-size:1.06rem;margin-bottom:7px}
.grund p{color:var(--muted);font-size:.92rem;margin:0}
.more-wrap{text-align:center;margin-top:34px}

/* referenzen */
.ref{background:var(--cyan);color:#fff}
.ref .eyebrow{color:#d7f3ff}.ref h2{color:#fff}
.ref-stage{position:relative;margin-top:40px;overflow:hidden;border-radius:var(--r)}
.ref-track{display:flex;transition:transform .6s cubic-bezier(.5,0,.2,1)}
.ref-slide{min-width:100%;padding:4px}
.ref-card{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.ref-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ref-thumbs .ph{aspect-ratio:1;border-color:rgba(255,255,255,.5);background:repeating-linear-gradient(45deg,rgba(255,255,255,.16) 0 22px,rgba(255,255,255,.08) 22px 44px);color:#eaffff}
.ref-quote{font-family:var(--display);font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.16;margin:6px 0 16px}
.ref-body{color:#eaffff;opacity:.95;margin-bottom:22px}
.ref-name{font-family:var(--display);font-size:1.15rem}
.ref-date{font-style:italic;opacity:.9;font-size:.95rem}
.ref-ctrl{display:flex;gap:12px;align-items:center;margin-top:30px;justify-content:center}
.ref-dots{display:flex;gap:9px}
.dot{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.45);border:0;cursor:pointer;padding:0}
.dot.active{background:#fff}
.ref-arrow{width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:transparent;color:#fff;cursor:pointer;font-size:1.2rem;display:grid;place-items:center}
.ref-arrow:hover{background:#fff;color:var(--cyan)}

/* about */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}
.about .ph,.about .aimg{aspect-ratio:3/3.6;box-shadow:var(--shadow);border-radius:var(--r)}
.about .aimg{width:100%;object-fit:cover}
.about h2{font-size:clamp(2rem,4vw,2.9rem);margin-bottom:8px}
.role{font-family:var(--display);color:var(--accent);margin-bottom:22px}
.traits{display:grid;gap:14px;margin-top:26px}
.trait{display:flex;gap:14px;align-items:center;position:relative}
.trait .ic{width:46px;height:46px;border-radius:14px;flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:1.15rem}
.trait b{font-family:var(--display)}

/* partner */
.partner{background:var(--mist)}
.partner-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.partner .ph,.partner .pimg{aspect-ratio:16/8;border-radius:16px}
.partner .pimg{width:100%;object-fit:contain;background:#fff;border:1px solid var(--line);padding:12px}

/* contact/cta */
.cta{background:var(--ink);color:#fff;border-radius:34px;padding:56px;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:auto -60px -120px auto;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--orange),var(--rot));opacity:.85;filter:blur(6px)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;position:relative;z-index:2}
.cta h2{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem)}
.cta p{color:#c9cdd8}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:26px}
.form label{display:block;font-size:.85rem;color:#c9cdd8;margin:0 0 6px}
.form input,.form textarea{width:100%;background:rgba(255,255,255,.95);border:0;border-radius:12px;padding:12px 14px;font-family:var(--body);font-size:.98rem;margin-bottom:14px;color:var(--ink)}
.form textarea{min-height:96px;resize:vertical}
.form .note{color:#9aa0ad;font-size:.8rem;margin:4px 0 0}

/* legal / generic page */
.page-hd{padding:60px 0 10px}
.page-hd h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.legal{max-width:820px}
.legal .blk{margin-bottom:6px}
.legal h3{font-size:1.25rem;margin:26px 0 8px}
.legal p{color:#333;white-space:pre-line;margin:0 0 10px}

/* footer */
footer.site{background:#0f1014;color:#c3c8d4;padding:58px 0 26px;margin-top:8px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px}
footer .brand img{height:40px}
footer h4{color:#fff;font-size:1rem;margin-bottom:14px;font-family:var(--display)}
footer a{color:#aeb4c2;display:block;padding:3px 0;font-size:.94rem}
footer a:hover{color:#fff}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#7f8697;align-items:center}
.foot-credit{display:flex;align-items:center;gap:8px}
.foot-credit img{height:20px}
.social{display:flex;gap:10px;margin-top:14px}
.social a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;padding:0}
.social a:hover{background:var(--accent)}
.login-link{opacity:.7}
.login-link:hover{opacity:1}

/* ============ EDITOR ============ */
.ed-bar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--ink);color:#fff;display:none;align-items:center;gap:12px;padding:10px 16px;box-shadow:0 -12px 30px -20px rgba(0,0,0,.6)}
body.admin .ed-bar{display:flex}
.ed-bar .sp{flex:1}
.ed-bar b{font-family:var(--display);margin-right:6px}
.ed-bar button{font-family:var(--display);border:0;border-radius:999px;padding:9px 16px;cursor:pointer;font-size:.9rem}
.ed-on{background:var(--accent);color:#fff}
.ed-save{background:#25D366;color:#fff}
.ed-neutral{background:rgba(255,255,255,.14);color:#fff}
body.editing [data-edit]{outline:2px dashed transparent;outline-offset:3px;border-radius:6px;cursor:text}
body.editing [data-edit]:hover{outline-color:var(--cyan)}
body.editing [data-edit]:focus{outline:2px solid var(--accent);background:rgba(247,62,52,.05)}
.img-ovl{position:absolute;inset:0;z-index:6;display:none;align-items:center;justify-content:center;background:rgba(15,16,20,.5);border-radius:inherit;cursor:pointer}
body.editing [data-img]{position:relative}
body.editing [data-img] .img-ovl{display:flex}
.img-ovl span{background:#fff;color:var(--ink);padding:8px 15px;border-radius:999px;font-family:var(--display);font-size:.85rem;box-shadow:var(--shadow)}
.item-ctrl{position:absolute;top:8px;right:8px;z-index:7;display:none;gap:6px}
body.editing .item-ctrl{display:flex}
.item-ctrl button{width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;font-family:var(--display);font-size:1rem;color:#fff;box-shadow:var(--shadow)}
.ic-del{background:var(--rot)}
.add-item{display:none;margin:16px auto 0;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-family:var(--display);cursor:pointer}
body.editing .add-item{display:inline-flex;align-items:center;gap:8px}
.toast{position:fixed;bottom:70px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 22px;border-radius:999px;font-family:var(--display);z-index:1100;opacity:0;transition:.3s;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============ LOGIN ============ */
.auth{min-height:100vh;display:grid;place-items:center;background:
  radial-gradient(900px 500px at 80% -10%,rgba(7,164,215,.16),transparent),
  radial-gradient(700px 500px at 0% 110%,rgba(247,62,52,.14),transparent),var(--mist)}
.auth-card{width:min(400px,92vw);background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:34px}
.auth-card img{height:44px;margin:0 auto 18px}
.auth-card h1{font-size:1.5rem;text-align:center;margin-bottom:4px}
.auth-card p{text-align:center;color:var(--muted);margin:0 0 22px;font-size:.95rem}
.auth-card input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:1rem;margin-bottom:14px;font-family:var(--body)}
.auth-card .btn{width:100%;justify-content:center}
.auth-err{background:#fdecec;color:#c0392b;border-radius:10px;padding:10px 12px;font-size:.9rem;margin-bottom:14px;display:none}
.auth-back{display:block;text-align:center;margin-top:16px;color:var(--muted);font-size:.9rem}

/* ============ DASHBOARD ============ */
.dash{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.dash-side{background:#12131a;color:#c7ccd8;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px}
.dash-side .logo{display:flex;align-items:center;gap:10px;padding:6px 8px 18px}
.dash-side .logo img{height:34px}
.dash-side a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:12px;color:#c7ccd8;font-size:.96rem;cursor:pointer}
.dash-side a:hover{background:rgba(255,255,255,.06);color:#fff}
.dash-side a.active{background:var(--accent);color:#fff}
.dash-side .grow{flex:1}
.dash-side .out{color:#ff9a9a}
.dash-main{padding:34px 40px;background:var(--mist);overflow:auto}
.dash-main h2{font-size:1.8rem;margin-bottom:6px}
.dash-main .sub{color:var(--muted);margin-bottom:26px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.card .n{font-family:var(--display);font-size:2rem}
.card .l{color:var(--muted);font-size:.92rem}
.card.link{cursor:pointer;transition:transform .15s,box-shadow .15s}
.card.link:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}
.panel h3{font-size:1.15rem;margin-bottom:14px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-family:var(--body);font-size:.96rem}
.field textarea{min-height:90px;resize:vertical}
.dbtn{border:0;border-radius:10px;padding:10px 16px;font-family:var(--display);cursor:pointer;font-size:.92rem}
.dbtn.pri{background:var(--accent);color:#fff}
.dbtn.sec{background:var(--mist);border:1px solid var(--line);color:var(--ink)}
.dbtn.ok{background:#25D366;color:#fff}
.dbtn.del{background:#fdecec;color:#c0392b}
.lead-row{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;background:#fff}
.lead-row.done{opacity:.55}
.lead-row .who{font-family:var(--display)}
.lead-row .msg{color:#444;font-size:.94rem;margin-top:6px;white-space:pre-line}
.lead-row .meta{color:var(--muted);font-size:.82rem;margin-top:6px}
.lead-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.ref-admin{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;align-items:center}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.media-grid .m{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.media-grid .m img{aspect-ratio:1;object-fit:cover;width:100%}
.media-grid .m .mb{display:flex;justify-content:space-between;padding:6px 8px;font-size:.75rem;align-items:center}
.blk-edit{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;position:relative}
.blk-edit select{width:120px;margin-bottom:8px}
.hide{display:none!important}

@media(max-width:960px){
  .nav-links,.nav-cta .lbl{display:none}
  .burger{display:block}.nav-cta{margin-left:0}
  .nav.open .nav-links{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;padding:18px 22px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .hero-grid,.about-grid,.cta-grid,.ref-card{grid-template-columns:1fr;gap:34px}
  .grid-services,.grid-gruende,.partner-row{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}.cta{padding:34px}
  .dash{grid-template-columns:1fr}.dash-side{position:static;height:auto;flex-direction:row;flex-wrap:wrap}
  .dash-side .grow{display:none}.dash-main{padding:24px 18px}
}
@media(max-width:560px){.pad{padding:56px 0}.grid-services,.grid-gruende,.partner-row,.foot-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.slider .slide{transition:none}}

/* ===== v1.1 additions ===== */
/* bigger, clearer logo; brand no longer a link in header */
.nav .brand{cursor:default}
.nav .brand img{height:54px}
header.site{background:rgba(255,255,255,.94)}

/* footer Novawerk credit as logo on a white pill */
.foot-credit{display:flex;align-items:center;gap:10px}
.fc-by{color:#7f8697;font-size:.82rem}
.fc-logo{background:#fff;border-radius:9px;padding:7px 11px;display:inline-flex;align-items:center}
.fc-logo img{height:22px;display:block;width:auto}

/* partners: clickable + editable link */
.p-link{display:block}
.p-link:hover .pimg,.p-link:hover .ph{transform:translateY(-3px);transition:transform .15s}
.p-cell{position:relative}
.p-url{margin-top:8px;font-size:.8rem;color:var(--muted);word-break:break-all}
.p-url-edit{color:var(--blau)}

/* reference thumbnails: dynamic + stacked "+N" */
.ref-thumbs.edit{grid-template-columns:1fr 1fr}
.rthumb{aspect-ratio:1;border-radius:14px;background-size:cover;background-position:center;position:relative;background-color:rgba(255,255,255,.12)}
.rthumb.add{border:2px dashed rgba(255,255,255,.6);display:grid;place-items:center;color:#eaffff;font-family:var(--display);cursor:pointer;background:transparent}
.rthumb.add:hover{background:rgba(255,255,255,.1)}
.rthumb-del{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:0;background:var(--rot);color:#fff;cursor:pointer;font-family:var(--display);font-size:1rem}
.ref-thumbs.has-more{overflow:visible}
.rthumb.stacked{box-shadow:6px 6px 0 -2px rgba(255,255,255,.4),12px 12px 0 -4px rgba(255,255,255,.22)}
.rthumb .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,70,92,.55);color:#fff;font-family:var(--display);font-size:1.5rem;border-radius:14px}

/* contact/booking form */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form select{width:100%;background:rgba(255,255,255,.95);border:0;border-radius:12px;padding:12px 14px;font-family:var(--body);font-size:.98rem;margin-bottom:14px;color:var(--ink)}

/* dashboard: booking status + slots */
.badge{display:inline-block;padding:3px 11px;border-radius:999px;font-size:.78rem;font-family:var(--display)}
.badge.neu{background:#fff4e5;color:#b26a00}
.badge.angenommen{background:#e6f7ec;color:#1b8a4b}
.badge.abgelehnt{background:#fdecec;color:#c0392b}
.reply-box{margin-top:12px;background:var(--mist);border-radius:12px;padding:12px}
.reply-box textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;font-family:var(--body);min-height:70px;margin-bottom:8px}
.reply-actions{display:flex;gap:8px;flex-wrap:wrap}
.slot-row{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#fff}
.slot-row.booked{opacity:.65}
.slot-row .who{font-size:.82rem;color:var(--muted)}
.hintbox{background:#eef6fb;border:1px solid #cfe6f4;color:#255a76;border-radius:12px;padding:12px 14px;font-size:.9rem;margin-bottom:16px;line-height:1.5}
@media(max-width:560px){.form-row{grid-template-columns:1fr}}

/* ===== v1.2: reference logo + lightbox + editable buttons ===== */
.ref-logo-wrap{position:relative;display:inline-block;background:#fff;border-radius:12px;padding:8px 12px;margin-bottom:14px;box-shadow:0 8px 20px -12px rgba(0,0,0,.45)}
.ref-logo{height:34px;width:auto;display:block;object-fit:contain;max-width:180px}
.ref-logo-add{width:170px;height:64px;margin-bottom:14px;border-color:rgba(255,255,255,.55);background:repeating-linear-gradient(45deg,rgba(255,255,255,.16) 0 22px,rgba(255,255,255,.08) 22px 44px);color:#eaffff;position:relative;border-radius:12px}
.rlogo-del{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;border:0;background:var(--rot);color:#fff;cursor:pointer;font-family:var(--display);z-index:8}
.ref-thumbs.clickable{cursor:pointer}
.ref-thumbs.clickable:hover .rthumb.filled{filter:brightness(1.04)}

/* lightbox gallery */
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(10,12,16,.92);display:flex;align-items:center;justify-content:center}
.lb-stage{max-width:92vw;max-height:86vh;display:flex}
.lb-img{max-width:92vw;max-height:86vh;border-radius:12px;object-fit:contain;box-shadow:0 30px 80px -20px #000}
.lb-close{position:absolute;top:18px;right:20px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.3rem;cursor:pointer}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.8rem;cursor:pointer;line-height:1}
.lb-prev{left:20px}.lb-next{right:20px}
.lb-nav:hover,.lb-close:hover{background:rgba(255,255,255,.3)}
.lb-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;font-family:var(--display)}
@media(max-width:560px){.lb-nav{width:44px;height:44px;font-size:1.4rem}}
