/* LoveMarkt Typ-Finder */
.lm-tf .tf-svg[data-eth=europa]{--tf-s1:#f8d9cc;--tf-s2:#e9b6a8}
.lm-tf .tf-svg[data-eth=asien]{--tf-s1:#f3d6ad;--tf-s2:#dcae7e}
.lm-tf .tf-svg[data-eth=afrika]{--tf-s1:#a96a44;--tf-s2:#7c472b}
.lm-tf .tf-svg[data-eth=latina]{--tf-s1:#e4b088;--tf-s2:#c98b64}
.lm-tf .tf-svg[data-eth=orient]{--tf-s1:#e0b68e;--tf-s2:#c58f69}
.lm-tf .tf-len{display:none;fill:var(--tf-hair);transition:fill .35s}
.lm-tf .tf-hair-f{fill:var(--tf-hair);transition:fill .35s}
.lm-tf .tf-svg[data-len=lang] .tf-len-lang,.lm-tf .tf-svg[data-len=mittel] .tf-len-mittel,.lm-tf .tf-svg[data-len=kurz] .tf-len-kurz{display:block}
.lm-tf .tf-lips{fill:var(--lm-accent);filter:drop-shadow(0 0 2px var(--lm-glow))}
.lm-tf .tf-body{transform-origin:150px 508px;transform:scale(.96);transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.lm-tf .tf-svg[data-h=klein] .tf-body{transform:scale(.9)}
.lm-tf .tf-svg[data-h=gross] .tf-body{transform:scale(1.02)}
.lm-tf .tf-fig{transform-origin:150px 300px;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.lm-tf .tf-svg[data-body=schlank] .tf-fig{transform:scaleX(.88)}
.lm-tf .tf-svg[data-body=sportlich] .tf-fig{transform:scaleX(.95)}
.lm-tf .tf-svg[data-body=kurvig] .tf-fig{transform:scaleX(1.1)}
.lm-tf .tf-svg[data-body=mollig] .tf-fig{transform:scaleX(1.26)}
.lm-tf .tf-cup{transform-box:fill-box;transform-origin:center;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.lm-tf .tf-svg[data-bust=ab] .tf-cup{transform:scale(.82)}
.lm-tf .tf-svg[data-bust=d] .tf-cup{transform:scale(1.14)}
.lm-tf .tf-svg[data-bust=e] .tf-cup{transform:scale(1.28)}
.lm-tf{container-type:inline-size;margin:0 0 1.5rem}
.lm-tf .tf-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:22px;align-items:stretch}
.lm-tf .tf-stage,.lm-tf .tf-panel{border:1px solid var(--lm-line);border-radius:26px;background:var(--lm-panel,var(--lm-soft));color:var(--lm-text)}
.lm-tf .tf-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:18px 8px;overflow:hidden;background:radial-gradient(circle at 50% 38%,var(--lm-glow-soft,rgba(225,64,159,.2)),transparent 62%),var(--lm-panel,var(--lm-soft))}
.lm-tf .tf-canvas{position:relative;width:100%;max-width:380px;aspect-ratio:360/520}
.lm-tf .tf-svg{display:block;width:100%;height:100%;overflow:visible;--tf-hair:#8b7a99;--tf-eye:#8b7a99;--tf-s1:#f3cdbd;--tf-s2:#dfa494}
.lm-tf .tf-hs{cursor:pointer}
.lm-tf .tf-hs line{stroke:var(--lm-accent);stroke-opacity:.45;stroke-width:1.2;stroke-dasharray:3 4}
.lm-tf .tf-pt{fill:var(--lm-accent);stroke:#fff;stroke-width:1.6}
.lm-tf .tf-ring{fill:var(--lm-accent);opacity:.5;transform-box:fill-box;transform-origin:center;animation:tf-pulse 2s ease-out infinite}
.lm-tf .tf-hs.on .tf-pt{fill:var(--lm-accent2)}
@keyframes tf-pulse{0%{transform:scale(.6);opacity:.65}100%{transform:scale(2.6);opacity:0}}
.lm-tf .tf-hot{position:absolute;transform:translateY(-50%);width:25%;min-width:76px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;border-radius:14px;border:1px solid var(--lm-line);background:var(--lm-soft);color:var(--lm-text);font:inherit;cursor:pointer;text-align:left;line-height:1.15;transition:border-color .2s,box-shadow .2s,transform .2s}
.lm-tf .tf-hot.tf-l{left:0}.lm-tf .tf-hot.tf-r{right:0}
.lm-tf .tf-hot b{font-size:12.5px;font-weight:700}
.lm-tf .tf-hot small{font-size:11px;color:var(--lm-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lm-tf .tf-hot.has small{color:var(--lm-accent);font-weight:600}
.lm-tf .tf-hot:hover,.lm-tf .tf-hot.on{border-color:var(--lm-accent);box-shadow:0 8px 22px -10px var(--lm-glow)}
.lm-tf .tf-hot:hover{transform:translateY(-50%) scale(1.04)}

.lm-tf .tf-panel{padding:26px;display:flex;flex-direction:column;gap:14px}
.lm-tf .tf-h{margin:0;padding:0;font-size:24px;font-weight:700;line-height:1.2;color:var(--lm-text)}
.lm-tf .tf-sub{margin:0;color:var(--lm-muted);font-size:14.5px}
.lm-tf .tf-tabs{display:flex;flex-wrap:wrap;gap:8px}
.lm-tf .tf-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;border:1px solid var(--lm-line);background:var(--lm-soft);color:var(--lm-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}
.lm-tf .tf-tab .lm-ico{width:18px;height:18px}
.lm-tf .tf-tab.on{background:linear-gradient(135deg,var(--lm-accent),var(--lm-accent2));border-color:transparent;color:#fff;box-shadow:0 8px 20px -8px var(--lm-glow)}
.lm-tf .tf-sec{display:flex;flex-direction:column;gap:14px;min-height:150px}
.lm-tf .tf-set{border:0;margin:0;padding:0;min-width:0}
.lm-tf .tf-set legend{padding:0;margin:0 0 9px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--lm-muted);font-weight:600}
.lm-tf .tf-chips{display:flex;flex-wrap:wrap;gap:9px}
.lm-tf .tf-chip{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--lm-line);background:var(--lm-soft);color:var(--lm-text);font-size:14.5px;font-weight:500;cursor:pointer;transition:all .18s;user-select:none}
.lm-tf .tf-chip input{position:absolute;opacity:0;pointer-events:none}
.lm-tf .tf-chip:hover{border-color:var(--lm-accent);transform:translateY(-1px)}
.lm-tf .tf-chip:has(input:checked){background:linear-gradient(135deg,var(--lm-accent),var(--lm-accent2));border-color:transparent;color:#fff;font-weight:600;box-shadow:0 8px 20px -8px var(--lm-glow)}
.lm-tf .tf-chip:has(input:focus-visible){outline:2px solid var(--lm-accent);outline-offset:2px}
.lm-tf .tf-sw{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.lm-tf .tf-sw.is-bunt{background:linear-gradient(135deg,#ff4fa3,#9b5cff,#35c8ff)}
.lm-tf .tf-sum{display:flex;flex-wrap:wrap;gap:7px;min-height:0}
.lm-tf .tf-x{padding:5px 11px;border-radius:999px;border:1px solid var(--lm-accent);background:transparent;color:var(--lm-text);font:inherit;font-size:12.5px;cursor:pointer}
.lm-tf .tf-x:hover{background:var(--lm-soft)}
.lm-tf .tf-actions{display:flex;align-items:center;gap:14px;margin-top:auto}
.lm-tf.is-js .tf-go{display:none}
.lm-tf .tf-reset{border:0;background:none;color:var(--lm-muted);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer}

.lm-tf .tf-res{margin-top:26px;transition:opacity .2s}
.lm-tf .tf-res.is-load{opacity:.45}
.lm-tf .tf-hint{display:flex;align-items:center;gap:14px;padding:20px 22px;border:1px dashed var(--lm-line);border-radius:20px;color:var(--lm-muted)}
.lm-tf .tf-hint p{margin:0}
.lm-tf .tf-hint .lm-ico{flex:none;color:var(--lm-accent)}
.lm-tf .tf-res .lm-card-img{position:relative}
.lm-match{position:absolute;top:10px;right:10px;z-index:2;padding:5px 11px;border-radius:999px;background:rgba(15,12,22,.78);backdrop-filter:blur(6px);color:#fff;font-size:12px;font-weight:600;border:1px solid rgba(255,255,255,.18)}
.lm-match b{font-size:14px}
.lm-match.is-top{background:linear-gradient(135deg,var(--lm-accent),var(--lm-accent2));border-color:transparent}
.tf-hits{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 6px}
.tf-hits span{font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--lm-soft);border:1px solid var(--lm-line);color:var(--lm-muted)}

@container (max-width:780px){.lm-tf .tf-layout{grid-template-columns:1fr}.lm-tf .tf-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.lm-tf .tf-ring{animation:none}.lm-tf *{transition:none!important}}
.lm-tf .tf-sec[hidden]{display:none}

/* Foto-Modus */
.lm-tf .tf-canvas.is-photo{max-width:420px;aspect-ratio:auto}
.lm-tf .tf-photowrap{position:relative;width:100%;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.lm-tf .tf-photo{display:block;width:100%;height:100%;object-fit:cover}
.lm-tf .tf-plines{position:absolute;inset:0;width:100%;height:100%}
.lm-tf .tf-plines line{stroke:#fff;stroke-opacity:.55;stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.lm-tf .tf-dotp{position:absolute;width:22px;height:22px;transform:translate(-50%,-50%);border:0;background:none;padding:0;cursor:pointer}
.lm-tf .tf-dotp i{position:absolute;inset:5px;border-radius:50%;background:var(--lm-accent);border:2px solid #fff;box-shadow:0 0 0 0 var(--lm-glow);animation:tf-dotp 2s infinite}
@keyframes tf-dotp{0%{box-shadow:0 0 0 0 var(--lm-glow)}100%{box-shadow:0 0 0 12px transparent}}
.lm-tf .is-photo .tf-hot{background:rgba(15,12,22,.62);backdrop-filter:blur(8px);border-color:rgba(255,255,255,.22);color:#fff;z-index:2}
.lm-tf .is-photo .tf-hot small{color:rgba(255,255,255,.7)}
.lm-tf .is-photo .tf-hot.has small{color:#ffb3d1}
.lm-tf .is-photo .tf-hot.tf-l{left:8px}.lm-tf .is-photo .tf-hot.tf-r{right:8px}
