/* Lasche „Polizze fotografieren“ — Baustein, eigenes CSS. Hausfarben exakt:
   Orange #EF7800 als Fläche mit Dunkeltext #1b1e24 (5,85:1), Blau #009EE3 nur als Fläche. */
.lasche{--l-dunkel:#1b1e24;--l-orange:#EF7800;--l-blau:#009EE3;--l-gruen:#93C11A}
.lasche *{box-sizing:border-box}
.lasche-tab{position:fixed;right:0;right:env(safe-area-inset-right,0px);top:60%;z-index:60;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  width:40px;min-height:150px;padding:12px 4px;margin:0;border:0;border-radius:12px 0 0 12px;
  background:var(--l-orange);color:var(--l-dunkel);font-family:inherit;font-weight:700;font-size:.95rem;line-height:1.1;
  text-decoration:none;cursor:pointer;box-shadow:-2px 2px 10px rgba(27,30,36,.28);
  transition:transform .2s ease,opacity .2s ease}
.lasche-tab svg{width:28px;height:28px;flex:none}
.lasche-tab span{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;letter-spacing:.01em}
.lasche-tab:hover{background:#ff8a14}
.lasche :focus-visible{outline:3px solid var(--l-dunkel);outline-offset:2px}
.lasche-tab:focus-visible{outline-color:var(--l-dunkel);box-shadow:0 0 0 3px #fff,0 0 0 6px var(--l-dunkel)}
/* ausgeblendet für die Sitzung: nur ein schmaler Randstreifen */
.lasche[data-zustand="schmal"] .lasche-tab{width:28px;min-height:120px;padding:8px 2px;gap:0;border-radius:8px 0 0 8px}
.lasche[data-zustand="schmal"] .lasche-tab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lasche[data-zustand="schmal"] .lasche-tab svg{width:22px;height:22px}
/* Tastatur offen / Fuß erreicht: Lasche tritt zurück, nichts wird verdeckt */
.lasche[data-weg="1"] .lasche-tab{transform:translateX(110%);opacity:0;pointer-events:none;visibility:hidden}
/* Panel */
.lasche-scrim{position:fixed;inset:0;z-index:70;background:rgba(27,30,36,.5);opacity:0;visibility:hidden;transition:opacity .2s ease}
.lasche-panel{position:fixed;top:0;right:0;bottom:0;z-index:80;width:min(92vw,400px);height:100vh;height:100dvh;
  background:#fff;color:var(--l-dunkel);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  padding:18px 18px calc(24px + env(safe-area-inset-bottom,0px));padding-right:calc(18px + env(safe-area-inset-right,0px));
  border-left:6px solid var(--l-orange);box-shadow:-6px 0 24px rgba(27,30,36,.3);
  transform:translateX(105%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
.lasche[data-offen="1"] .lasche-panel{transform:none;visibility:visible;transition:transform .25s ease}
.lasche[data-offen="1"] .lasche-scrim{opacity:1;visibility:visible}
html.lasche-sperre{overflow:hidden}
.lasche-zu{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:8px;background:#eef1f5;color:var(--l-dunkel);font-size:1.6rem;line-height:1;cursor:pointer}
.lasche-panel h2{margin:4px 48px 6px 0;font-size:1.35rem;line-height:1.2}
.lasche-panel h2:focus{outline:none}
.lasche-panel p{margin:8px 0}
.lasche-aus{display:block;margin:18px 0 0;padding:0;border:0;background:none;color:#0b5f87;font:inherit;font-size:.95rem;text-decoration:underline;cursor:pointer;min-height:44px}
/* Formular — gilt im Panel und auf /polizze/ */
.pol-form .pol-knopf{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;margin:12px 0 0;
  border:0;border-radius:8px;background:#EF7800;color:#1b1e24;font-family:inherit;font-weight:700;font-size:1.15rem;line-height:1.2;cursor:pointer}
.pol-form .pol-knopf svg{width:30px;height:30px;flex:none}
.pol-form .pol-knopf:focus-within{outline:3px solid #1b1e24;outline-offset:2px}
.pol-form .pol-knopf input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.pol-form .pol-datei{display:block;margin:10px 0 0;font-size:1rem}
.pol-form .pol-datei label{color:#0b5f87;text-decoration:underline;cursor:pointer;display:inline-block;padding:10px 0;min-height:44px}
.pol-form .pol-datei input{position:absolute;width:1px;height:1px;opacity:0}
.pol-form .pol-datei:focus-within label{outline:3px solid #1b1e24;outline-offset:2px}
.pol-liste{list-style:none;margin:10px 0 0;padding:0}
.pol-liste li{display:flex;align-items:center;gap:10px;margin:6px 0;padding:6px;border:1px solid #c9d0da;border-radius:8px}
.pol-liste img,.pol-liste .pol-pdf{width:48px;height:48px;flex:none;object-fit:cover;border-radius:4px;background:#eef1f5;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}
.pol-liste .pol-name{flex:1;min-width:0;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pol-liste button{width:44px;height:44px;border:0;border-radius:8px;background:#eef1f5;color:#1b1e24;font-size:1.2rem;cursor:pointer}
.pol-form .kf-feld{display:block;margin:14px 0 0;font-weight:600}
.pol-form .kf-feld input{display:block;width:100%;margin-top:4px;font-size:16px;padding:10px;border:1px solid #6b7686;border-radius:6px;min-height:46px;font-family:inherit;color:#1b1e24;background:#fff}
.pol-form .kf-falle{position:absolute;left:-9999px}
.pol-form .kf-haken{display:flex;gap:10px;align-items:flex-start;margin-top:16px}
.pol-form .kf-haken input{width:24px;height:24px;flex:none;margin:2px 0 0}
.pol-form .kf-haken small{display:block;margin-top:4px;font-weight:400}
.pol-form .kf-hinweis{font-size:.9rem}
.pol-form .kf-meldung{color:#b3261e;font-weight:600;margin:12px 0 0}
.pol-form .kf-senden{margin-top:16px;min-height:52px;width:100%;border:0;border-radius:6px;background:#EF7800;color:#1b1e24;font-family:inherit;font-weight:700;font-size:1.05rem;line-height:1.2;cursor:pointer}
.pol-form .kf-senden:disabled{opacity:.6}
.pol-fortschritt{display:none;height:8px;margin-top:10px;background:#e3e8ee;border-radius:4px;overflow:hidden}
.pol-fortschritt i{display:block;height:100%;width:0;background:#93C11A}
.pol-tel{margin-top:14px;font-size:.95rem}
@media (max-width:380px){.lasche-panel{width:94vw}}
/* der Tab ueberdeckt keinen Text: Seite haelt rechts Platz frei (nur wo die Lasche steht) */
body:has(.lasche) main{padding-right:max(0px,calc(26px - 0px))}
@media (min-width:900px){body:has(.lasche) main{padding-right:0}}
@media (prefers-reduced-motion:reduce){.lasche-tab,.lasche-panel,.lasche-scrim{transition:none!important}}
@media print{.lasche{display:none}}
