/* v12: Datumsfeld, Vertrauens-Badges, Stil-Beispielbilder, Karten-Profilbilder + Vorschau */
.sbar2>*,.sbar2 label{min-width:0}.sbar2 .inp,.h8-box input{min-width:0;max-width:100%;box-sizing:border-box}
.dfld{position:relative;display:flex;align-items:center;min-width:0;width:100%}
.dfld>input:not([type=hidden]){width:100%;min-width:0;padding-right:42px;box-sizing:border-box}
.dfld-b{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--green);display:grid;place-items:center;cursor:pointer}
.dfld-b:hover{background:var(--mint2)}
.dfld-p{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:min(300px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px -12px rgba(16,20,24,.35);padding:10px;color:var(--fg);font-family:var(--fd)}
.dfld-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dfld-h b{font-size:15px}
.dfld-h button{width:34px;height:34px;border:0;border-radius:10px;background:var(--panel2);font-size:18px;cursor:pointer;color:var(--fg)}
.dfld-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.dfld-w{font-size:11px;color:var(--fg3);font-weight:700;padding:4px 0}
.dfld-g button{height:36px;border:0;border-radius:10px;background:transparent;font:inherit;font-size:14px;color:var(--fg);cursor:pointer}
.dfld-g button.sa{font-weight:700}.dfld-g button:hover:not(:disabled){background:var(--mint)}.dfld-g button.on{background:var(--green);color:#fff}.dfld-g button:disabled{color:#c3c9c4;cursor:default}
.dfld-f{display:flex;justify-content:flex-end;gap:12px;padding-top:6px}.dfld-f button{border:0;background:none;color:var(--green);font-weight:700;cursor:pointer}
.h8-box .dfld>input{width:100%}
@media(max-width:700px){.dfld-p{position:fixed;left:50%;top:auto;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);width:calc(100vw - 24px);max-width:380px;z-index:1000}.dfld-g button{height:42px}}
.tbadges{margin:10px 0 0}.tbadges ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:12.5px;font-weight:600;color:var(--fg2)}
.tbadges li{display:inline-flex;align-items:center;gap:5px}.tbadges svg{color:var(--green);flex:none}
.tbadges p{margin:6px 0 0}
.tbadges.on-dark ul{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.tbadges.on-dark svg{color:#9be3c2}
.srch-tb{margin:8px 4px 4px}
.as-sum .tbadges ul,form .tbadges ul{font-size:12px}
.stil-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.stil-c{padding:0;overflow:hidden;gap:0;box-shadow:var(--sh)}
.stil-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#fff}
.stil-strip figure{margin:0;position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--panel2)}
.stil-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.stil-c:hover .stil-strip img{transform:scale(1.03)}
.stil-strip figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 6px 4px;background:linear-gradient(transparent,rgba(0,0,0,.55));font-size:9.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stil-strip figcaption a{color:#fff;opacity:.9}
.stil-tx{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}
.stil-tx a{text-decoration:none}.stil-tx a::after{content:"";position:absolute;inset:0}.stil-c{position:relative}.stil-strip figcaption{z-index:1}
@media(max-width:700px){.stil-grid{grid-template-columns:1fr;gap:14px}
 .stil-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .stil-strip::-webkit-scrollbar{display:none}.stil-strip figure{flex:0 0 42%;scroll-snap-align:start}
 .stil-tx{padding:12px 14px 14px}.stil-tx b{font-size:17px}}
/* Stil-Kacheln: alle gleich groß, jede mit Foto (Valentin 10.11.2026) – gleiche Spalten (minmax 0, sonst macht ein langer Name seine Spalte breiter) */
.stf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}
.stf-o{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;text-align:center}
.stf-o input{position:absolute;opacity:0;pointer-events:none}
.stf-i{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:10px;border:2px solid transparent;display:grid;place-items:center;background:var(--panel2);color:var(--fg3);font-weight:700;font-size:12px;box-sizing:border-box}
/* „Alle Stile“: vier kleine Bilder im selben Rahmen */
.stf-alle{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:0;overflow:hidden}
.stf-alle img{width:100%;height:100%;object-fit:cover;display:block;min-height:0}
.stf-o em{font-style:normal;font-size:11.5px;color:var(--fg2);line-height:1.2;max-width:100%;hyphens:manual;overflow-wrap:break-word}
.stf-o input:checked~.stf-i{border-color:var(--green);box-shadow:0 0 0 2px var(--mint)}.stf-o input:checked~em{color:var(--green);font-weight:700}
.stf-o input:focus-visible~.stf-i{outline:2px solid var(--green);outline-offset:2px}
/* Filterleiste am Desktop ist höher als das Fenster und klebt oben (sticky) – ohne eigene Scrollleiste blieben „Stil“ und alles darunter
   bis zum Ende der Trefferliste unter dem Fensterrand. Jetzt scrollt die Leiste für sich (10.11.2026, mit den größeren Stil-Kacheln). */
@media (min-width:861px){.filters{max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
legend .tiny{font-weight:600;margin-left:6px}
.chip-st{display:inline-flex;align-items:center;gap:6px}.chip-st img{width:22px;height:28px;object-fit:cover;border-radius:5px;margin-left:-6px}
.as-date{padding:0 0 8px}.as-date .dfld-p{top:auto;bottom:calc(100% + 6px)}
@media(max-width:700px){.as-date .dfld-p{bottom:calc(16px + env(safe-area-inset-bottom))}}
.mpin{width:40px;height:40px;border-radius:50%;padding:0;border:3px solid #fff;background:var(--green);box-shadow:0 2px 8px rgba(0,0,0,.35);overflow:hidden;display:grid;place-items:center;cursor:pointer;position:relative}
.mpin span{color:#fff;font:700 13px var(--fd)}.mpin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}
.mpin:hover,.mpin:focus-visible{transform:scale(1.12);z-index:3;outline:none}
.mprev{position:absolute;z-index:5;left:12px;bottom:12px;width:min(340px,calc(100% - 24px));background:#fff;border-radius:16px;box-shadow:0 16px 40px -10px rgba(16,20,24,.45);padding:14px;display:grid;grid-template-columns:56px 1fr;gap:10px 12px;animation:mprev .18s ease-out;font-family:var(--fd)}
@keyframes mprev{from{transform:translateY(12px);opacity:0}}
.mprev-av{width:56px;height:56px;border-radius:50%;overflow:hidden;display:block;background:var(--mint)}
.mprev-av .bimg,.mprev-av .bini{width:100%;height:100%;display:grid;place-items:center;font-weight:700;color:var(--green)}.mprev-av img{width:100%;height:100%;object-fit:cover}
.mprev-t{display:flex;flex-direction:column;gap:3px;min-width:0;padding-right:22px}.mprev-t b{font-size:15.5px;line-height:1.25}
.mprev-st{display:flex;flex-wrap:wrap;gap:4px}.mprev-st i{font-style:normal;font-size:11px;background:var(--mint2);color:var(--green);border-radius:999px;padding:2px 8px;font-weight:600}
.mprev-a{grid-column:1/-1;display:flex;gap:8px}.mprev-a .btn{flex:1;justify-content:center}
.mprev-x{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:0;background:var(--panel2);cursor:pointer;color:var(--fg2)}
@media(max-width:700px){.mprev{left:8px;right:8px;bottom:8px;width:auto}}
/* Budget-Rahmen (ohne Preise) */
.bud{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:4px 0}
.bud-o{position:relative;display:block;cursor:pointer}
.bud-o input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.bud-o span{display:flex;flex-direction:column;gap:2px;border:1.5px solid #dfe5e1;border-radius:12px;padding:10px 12px;background:#fff;height:100%;box-sizing:border-box;transition:border-color .15s,background .15s}
.bud-o b{font-size:14px;font-weight:700;color:#14281f}
.bud-o em{font-style:normal;font-size:12.5px;line-height:1.35;color:#5b6b63}
.bud-o input:checked+span{border-color:#0f7b55;background:#eef8f3;box-shadow:0 0 0 1px #0f7b55 inset}
.bud-o input:focus-visible+span{outline:2px solid #0f7b55;outline-offset:2px}
.filters .bud{grid-template-columns:1fr}
.chip-bd{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1px;padding:2px 0}
.chip-bd em{font-style:normal;font-size:11.5px;opacity:.75;font-weight:400}
.h8-box select{width:100%;border:0;background:transparent;font:inherit;font-size:15px;padding:0;min-width:0;appearance:none;-webkit-appearance:none;color:inherit}
@media (max-width:640px){.bud{grid-template-columns:1fr}}
fieldset.lbl{border:0;padding:0;margin:0 0 12px;min-width:0}
fieldset.lbl>legend{padding:0;margin-bottom:6px}
