/* Jedermann – Reservierungsfenster (Niederrhein.AI). Kontrast geprüft: dunkle Schrift auf Gold, helle Schrift auf Dunkel. */
.jmw{--jmw-gold:#dcbf8a;--jmw-gold-2:#cfae72;--jmw-ink:#1f1d19;--jmw-text:#2e2a22;--jmw-line:rgba(31,29,25,.22);--jmw-dark:#24221d;--jmw-cream:#f6efe0;
 position:fixed;right:28px;bottom:104px;z-index:2147483000;font:400 15px/1.45 'Roboto',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--jmw-ink);-webkit-font-smoothing:antialiased}
.jmw *,.jmw *::before,.jmw *::after{box-sizing:border-box}
.jmw svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.jmw-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Knopf */
.jmw-launch{display:inline-flex;align-items:center;gap:10px;padding:14px 22px 14px 18px;border:0;border-radius:99px;background:var(--jmw-dark);color:var(--jmw-cream);font:600 15.5px/1 'Roboto',system-ui,sans-serif;letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 30px -10px rgba(0,0,0,.55),0 0 0 1px rgba(220,191,138,.35) inset;transition:transform .18s,box-shadow .18s}
.jmw-launch svg{color:var(--jmw-gold)}
.jmw-launch:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(0,0,0,.6),0 0 0 1px rgba(220,191,138,.6) inset}
.jmw.is-open .jmw-launch{display:none}
.jmw.is-open{bottom:20px;right:20px}

/* Fenster */
.jmw-panel{width:340px;max-width:calc(100vw - 24px);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--jmw-gold);border-radius:14px;box-shadow:0 24px 60px -18px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.08);overflow:hidden;animation:jmw-in .28s cubic-bezier(.2,.8,.2,1)}
.jmw-panel[hidden]{display:none}
@keyframes jmw-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.jmw-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:62px;padding:12px 52px}
.jmw-logo{display:block;height:40px;width:auto;max-width:170px}
.jmw-lang{position:absolute;right:50px;top:50%;transform:translateY(-50%);font:700 13px/1 'Roboto',sans-serif;color:var(--jmw-ink);letter-spacing:.04em}
.jmw-icon{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--jmw-ink);cursor:pointer}
.jmw-icon:hover{background:rgba(31,29,25,.08)}
.jmw-close{right:10px}.jmw-back{left:10px}
.jmw-body{padding:0 0 16px;overflow-y:auto}
.jmw-note{margin:2px 22px 14px;text-align:center;font-size:14.5px;line-height:1.5;color:var(--jmw-text)}
.jmw-note a,.jmw-check a{color:var(--jmw-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.jmw-loading{margin:24px;text-align:center;color:var(--jmw-text)}

/* Auswahlzeilen */
.jmw-row{position:relative;display:flex;align-items:center;gap:12px;padding:0 18px;border-top:1px solid var(--jmw-line);min-height:52px;cursor:pointer}
.jmw-row:last-of-type{border-bottom:1px solid var(--jmw-line)}
.jmw-row select{flex:1;appearance:none;-webkit-appearance:none;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f1d19' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right center/20px no-repeat;padding:14px 28px 14px 0;font:700 16px/1.2 'Roboto',sans-serif;color:var(--jmw-ink);cursor:pointer;min-width:0}
.jmw-row select:disabled{opacity:.7;cursor:wait}
.jmw-row select:focus{outline:none}
.jmw-row:focus-within{background:rgba(255,255,255,.18)}
.jmw-row select option{color:#1f1d19;background:#fff}
.jmw-msg{margin:10px 22px 0;font-size:14px;line-height:1.45;color:var(--jmw-text);min-height:0}
.jmw-msg:empty{display:none}
.jmw-err{color:#7a1714;font-weight:600}

/* Knöpfe */
.jmw-primary{display:block;width:calc(100% - 36px);margin:16px 18px 0;padding:14px 18px;border:0;border-radius:9px;background:var(--jmw-dark);color:#f3e2b8;font:600 16px/1.2 'Roboto',sans-serif;cursor:pointer;transition:background .15s,transform .15s}
.jmw-primary:hover:not(:disabled){background:#3a362d;transform:translateY(-1px)}
.jmw-primary:disabled{opacity:.55;cursor:not-allowed}
.jmw-secondary{display:block;margin:14px 18px 0;padding:12px;border:1px solid var(--jmw-ink);border-radius:9px;text-align:center;color:var(--jmw-ink);font-weight:600;text-decoration:none}
.jmw-secondary:hover{background:rgba(255,255,255,.2)}
.jmw button:focus-visible,.jmw a:focus-visible,.jmw input:focus-visible,.jmw textarea:focus-visible{outline:3px solid #1f1d19;outline-offset:2px}
.jmw-launch:focus-visible{outline:3px solid #dcbf8a;outline-offset:3px}

/* Formular */
.jmw-summary{margin:0 18px 14px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.35);display:flex;flex-direction:column;gap:2px}
.jmw-summary strong{font:600 15px/1.3 'Playfair Display',Georgia,serif}
.jmw-summary span{font-size:14px;color:var(--jmw-text)}
.jmw-form{padding:0 18px;display:grid;gap:10px}
.jmw-form label{display:flex;flex-direction:column;gap:4px;font:600 13px/1.3 'Roboto',sans-serif;color:var(--jmw-ink)}
.jmw-form small{font-weight:400}
.jmw-form input:not([type=checkbox]),.jmw-form textarea{width:100%;padding:10px 12px;border:1px solid rgba(31,29,25,.28);border-radius:8px;background:#fffaf0;color:#1f1d19;font:400 15px/1.3 'Roboto',sans-serif}
.jmw-form textarea{resize:vertical;min-height:54px}
.jmw-form input:focus,.jmw-form textarea:focus{outline:none;border-color:#1f1d19;box-shadow:0 0 0 3px rgba(31,29,25,.15)}
.jmw-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jmw-check{flex-direction:row!important;align-items:flex-start;gap:9px!important;font:400 12.5px/1.45 'Roboto',sans-serif!important;color:var(--jmw-text)!important}
.jmw-check input{margin-top:2px;width:17px;height:17px;flex:none;accent-color:#24221d}
.jmw-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.jmw-form .jmw-primary{width:100%;margin:6px 0 0}
.jmw-form .jmw-msg{margin:0}

/* Bestätigung */
.jmw-done{padding:4px 0 0;text-align:center}
.jmw-ok{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:var(--jmw-dark);color:#f3e2b8}
.jmw-ok svg{width:26px;height:26px;stroke-width:2.2}
.jmw-done h3{margin:0 0 6px;font:600 21px/1.2 'Playfair Display',Georgia,serif;color:var(--jmw-ink)}
.jmw-done p{margin:0 22px 14px;color:var(--jmw-text);font-size:14.5px}
.jmw-done .jmw-summary{text-align:left}
.jmw-small{font-size:12.5px!important;margin-top:12px!important}

/* Fußzeile */
.jmw-foot{border-top:1px solid var(--jmw-line);padding:11px 16px 13px;text-align:center}
.jmw-foot a{display:inline-flex;align-items:center;gap:8px;color:var(--jmw-text)!important;font:500 13px/1 'Roboto',sans-serif;text-decoration:none!important}
.jmw-foot a:hover{color:var(--jmw-ink);text-decoration:underline;text-underline-offset:3px}
.jmw-foot img{display:block;height:24px;width:auto;filter:brightness(.35) contrast(1.5)}

@media(max-width:520px){
 .jmw{right:16px;bottom:88px;left:auto}
 .jmw.is-open{left:0;right:0;bottom:0}
 .jmw-panel{width:100%;max-width:none;max-height:88vh;border-radius:16px 16px 0 0}
 .jmw-launch{padding:13px 18px 13px 15px;font-size:15px}
 .jmw-two{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.jmw-panel{animation:none}.jmw-launch{transition:none}}
@media print{.jmw{display:none!important}}
