/* Demo panel: slide-over from the right with two paths (Testlink, Präsentation). */
.demo-panel{position:fixed;inset:0 0 0 auto;margin:0;padding:0;border:0;max-width:none;max-height:none;width:min(560px,100%);height:100dvh;background:var(--lw-ivory);color:var(--lw-ink);font-family:var(--lw-body);font-size:16px;line-height:1.6;box-shadow:-24px 0 80px rgb(25 39 31 / .28);transform:translateX(100%);transition:transform 260ms cubic-bezier(.32,.72,0,1);flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased}
.demo-panel[open]{display:flex}
.demo-panel.is-open{transform:none;transition-duration:460ms}
.demo-panel::backdrop{background:rgb(25 39 31 / 0);transition:background-color 260ms ease}
.demo-panel.is-open::backdrop{background:rgb(25 39 31 / .55);transition-duration:460ms}
html.demo-panel-open{overflow:hidden}

.demo-head{flex:none;position:relative;background:var(--lw-forest);color:var(--lw-ivory);padding:28px 108px 30px 40px;background-image:radial-gradient(120% 140% at 100% 0,rgb(255 254 251 / .09),transparent 55%)}
.demo-head .eyebrow{color:var(--lw-selected-strong);font-size:11px;letter-spacing:.14em}
.demo-head h2{margin:14px 0 0;font:400 clamp(30px,3vw,38px)/1.12 var(--lw-display);letter-spacing:-.01em;color:var(--lw-ivory);max-width:380px;outline:none}
.demo-head p{margin:12px 0 0;font-size:15px;line-height:1.6;color:rgb(245 243 237 / .8);max-width:380px}
.demo-close{position:absolute;top:28px;right:32px;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgb(245 243 237 / .38);border-radius:6px;background:transparent;color:var(--lw-ivory);cursor:pointer;transition:background-color 160ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.demo-close svg{width:20px;height:20px}
.demo-close:active{transform:scale(.96)}
.demo-close:focus-visible{outline:2px solid var(--lw-selected-strong);outline-offset:4px}

.demo-body{flex:1;overflow:auto;overscroll-behavior:contain;padding:26px 40px 40px}
/* Approved concept 03: two-line iOS segment with icons in the info row. */
.demo-paths{margin:0;padding:0;border:0;min-width:0}
.demo-paths legend{float:none;position:static;width:auto;height:auto;margin:0 0 13px;padding:0;overflow:visible;clip:auto;white-space:normal;font-size:12px;font-weight:600;line-height:1.5;color:var(--lw-ink)}
.demo-path-options{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;padding:4px;border:1px solid #d8ddcf;border-radius:11px;background:var(--lw-canvas-shade);isolation:isolate}
.demo-path-options::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 6px);border-radius:7px;background:var(--lw-panel);box-shadow:0 2px 4px rgb(25 39 31 / .07),0 0 0 1px rgb(25 39 31 / .02);transition:transform 270ms cubic-bezier(.32,.72,0,1);pointer-events:none;z-index:-1}
.demo-path-options:has(input[value="praesentation"]:checked)::before{transform:translateX(calc(100% + 4px))}
.demo-path{position:relative;min-width:0;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:11px 10px;border:0;border-radius:7px;background:transparent;color:var(--lw-muted);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color 160ms ease,background-color 160ms ease}
.demo-path input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:4}
.demo-path:has(input:focus-visible),.demo-panel.is-keyboard .demo-path:focus-within{outline:2px solid var(--lw-focus);outline-offset:2px;z-index:5}
.demo-path:has(input:checked){color:var(--lw-forest)}
.demo-path strong{display:block;margin:0;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:-.15px}
.demo-path:has(input:checked) strong{font-weight:700}
.demo-path-meta{display:flex;align-items:center;justify-content:center;gap:6px;min-height:18px;max-width:100%;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:0;color:var(--lw-muted);transition:color 160ms ease}
.demo-path-meta svg{display:block;flex:none;width:14px;height:14px}
.demo-path-meta>span{min-width:0}
.demo-path:has(input:checked) .demo-path-meta{color:var(--lw-text)}

.demo-section{display:none;margin-top:26px}
.demo-section.is-active{display:block}
.demo-section h3{margin:0;font:400 26px/1.2 var(--lw-display);letter-spacing:-.01em;color:var(--lw-ink);outline:none}
.demo-section>p{margin:10px 0 0;font-size:15px;line-height:1.65;color:var(--lw-text);max-width:460px}
.demo-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}
.demo-list li{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--lw-text)}
.demo-list svg{flex:none;width:18px;height:18px;margin-top:3px;color:var(--lw-icon)}

.demo-form{margin-top:22px;padding-top:22px;border-top:1px solid var(--lw-line)}
.demo-field+.demo-field{margin-top:14px}
.demo-field label{display:block;font-size:13px;font-weight:700;color:var(--lw-ink);margin-bottom:8px}
.demo-field label small{font-weight:500;color:var(--lw-muted)}
.demo-field input{display:block;width:100%;min-height:52px;padding:13px 16px;border:1px solid var(--lw-line-strong);border-radius:6px;background:var(--lw-panel);color:var(--lw-ink);font-size:16px;line-height:1.4;transition:border-color 160ms ease,box-shadow 160ms ease}
.demo-field input::placeholder{color:#8f958a}
.demo-field input:focus{outline:none;border-color:var(--lw-focus);box-shadow:0 0 0 3px rgb(85 115 72 / .18)}
.demo-field input[aria-invalid=true]{border-color:var(--lw-review);box-shadow:0 0 0 3px rgb(118 90 46 / .16)}
.demo-error{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--lw-review)}
.demo-form .button{width:100%;margin-top:18px;gap:14px;transition:background-color 160ms ease,opacity 160ms ease,transform 140ms cubic-bezier(.23,1,.32,1)}
.demo-form .button:active{transform:scale(.98)}
.demo-form .button:disabled{opacity:.72;cursor:default}
.demo-form .button svg{width:18px;height:18px}
.demo-form .button .demo-btn-loader{display:none;animation:demo-spin 700ms linear infinite}
.demo-form.is-sending .button .demo-btn-arrow{display:none}
.demo-form.is-sending .button .demo-btn-loader{display:block}
@keyframes demo-spin{to{transform:rotate(360deg)}}
.demo-calendly{margin-top:22px;padding-top:22px;border-top:1px solid var(--lw-line)}
.demo-calendly .button{width:100%;gap:14px;transition:background-color 160ms ease,transform 140ms cubic-bezier(.23,1,.32,1)}
.demo-calendly .button:active{transform:scale(.98)}
.demo-calendly .button svg{width:18px;height:18px}
.demo-note{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--lw-muted)}
.demo-fail{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--lw-review)}

.demo-done{margin-top:26px;padding:28px 26px 30px;border-radius:10px;background:var(--lw-selected-soft)}
.demo-done>svg{width:34px;height:34px;color:var(--lw-icon)}
.demo-done h3{margin:16px 0 0;font:400 24px/1.2 var(--lw-display);outline:none}
.demo-done p{margin:10px 0 0;font-size:15px;line-height:1.65;color:var(--lw-text)}
.demo-done p strong{color:var(--lw-ink);overflow-wrap:anywhere}
.demo-reset{margin-top:18px;padding:0;border:0;background:transparent;color:var(--lw-forest);font:600 13px/1.5 var(--lw-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
.demo-foot{margin:34px 0 0;font-size:12.5px;line-height:1.55;color:var(--lw-muted)}

@media(hover:hover) and (pointer:fine){
.demo-close:hover{background:rgb(245 243 237 / .12)}
/* Darken the existing track with forest green; avoid a yellow/saturated hover. */
.demo-path:not(:has(input:checked)):hover{background:#d6dad1;background:color-mix(in srgb,var(--lw-canvas-shade) 90%,var(--lw-forest));color:var(--lw-forest)}
.demo-path:not(:has(input:checked)):hover .demo-path-meta{color:var(--lw-text)}
.demo-reset:hover{color:var(--lw-forest-deep)}
}
@media(max-width:760px){
.demo-panel{width:100%;box-shadow:none}
.demo-head{padding:20px 84px 24px 22px}
.demo-head h2{font-size:28px;margin-top:12px;max-width:none}
.demo-head p{font-size:14px;margin-top:10px}
.demo-close{top:18px;right:20px;width:44px;height:44px}
.demo-body{padding:22px 22px 34px}
}
@media(max-width:520px){
.demo-section{margin-top:26px}
.demo-section h3{font-size:24px}
.demo-done{padding:22px 20px 24px}
}
/* The control stays horizontal on phones; long text wraps instead of clipping. */
@media(max-width:424px){
.demo-path{min-height:84px;padding:10px 8px}
.demo-path strong{font-size:13px}
.demo-path-meta{gap:5px}
}
@media(max-width:344px){
.demo-paths legend{font-size:11px}
.demo-path{padding:10px 6px}
.demo-path strong{font-size:12px}
.demo-path-meta{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
.demo-panel,.demo-panel::backdrop,.demo-path-options::before,.demo-path,.demo-path-meta{transition:none}
.demo-form .button .demo-btn-loader{animation-duration:1.4s}
}
@media(forced-colors:active){
.demo-path-options{border-color:CanvasText}
.demo-path-options::before{background:Canvas;outline:2px solid Highlight;outline-offset:-2px;box-shadow:none}
.demo-path:has(input:checked){color:CanvasText}
}
