/* Pestré náhledy a vyhledávání popisem (js/vzhled.js, js/hledani.js) */
.fimg .fplan{position:absolute;right:10px;bottom:10px;width:30%;max-width:120px;aspect-ratio:1;background:var(--surface);border-radius:10px;padding:5px;box-shadow:0 2px 10px rgba(30,30,30,.14);display:block;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}
.fimg .fplan svg{width:100%;height:100%}
.fcard:hover .fimg .fplan,.fcard:focus-within .fimg .fplan{opacity:1;transform:none}
@media (hover:none){.fimg .fplan{opacity:1;transform:none}}
.fsearch.aisearch{min-width:min(420px,100%);padding:8px 12px;border-radius:12px}
.fsearch.aisearch input{font-size:14px}
.aiq{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 14px;font-size:13px}
.aiq-l{color:var(--muted);font-weight:600;margin-right:2px}
.aiq-c{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--blue);background:var(--blue-soft);color:var(--ink);border-radius:999px;padding:4px 10px;font:inherit;font-weight:600;cursor:pointer}
.aiq-c span{opacity:.55;font-weight:700}
.aiq-c.off{border-color:var(--line2);background:transparent;color:var(--muted);text-decoration:line-through}
.aiq-n{color:var(--muted);margin-left:4px}
.aiq-exs .qchip{font-weight:500}
.fwhy{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 2px;font-size:11.5px}
.fwhy span{border-radius:6px;padding:2px 6px;background:var(--canvas)}
.fwhy .fmatch{background:var(--blue);color:#fff;font-weight:700}
.fwhy .ok::before{content:"✓ ";color:var(--ok)}
.fwhy .no{color:var(--muted)}.fwhy .no::before{content:"≠ "}
.aihero{display:flex;gap:8px;align-items:center}.aihero .fsearch{flex:1;order:0;width:auto;min-width:0}.aihero .btn{flex:none}
.aimic{border:0;background:transparent;padding:2px;cursor:pointer;color:var(--muted);display:grid;place-items:center;border-radius:8px}
.aimic:hover{color:var(--ink)}.aimic.on{color:#fff;background:var(--blue)}
.aiq-why{flex-basis:100%;margin:2px 0 0;color:var(--muted);font-size:12.5px}
.fimg img.fcut{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s;animation:none}
.fcard:hover .fimg img.fcut{opacity:1}

/* Testovací AI vizualizace v detailu (jen admin) */
.airender{margin-top:12px;padding:10px;border:1px dashed var(--line2);border-radius:10px;display:grid;gap:6px}
.airender .btn small{color:var(--muted);font-weight:400;margin-left:6px}
.airender input{width:100%;padding:8px 10px;border:1px solid var(--line2);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
.airender .note{margin:0}
.airesult img{width:100%;border-radius:10px;display:block;margin-bottom:10px}
.airesult .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.aiprompt{margin-top:10px}.aiprompt summary{cursor:pointer;color:var(--muted);font-size:13px}
/* znak loga u autora Moje dispozice */
.av2.md{background:var(--blue);color:#fff}.av2.md svg{stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* detail domu: řez se připravuje */
.dwait{position:relative;width:100%;height:100%;display:grid;place-items:center}
.dwait>svg{opacity:.55}
.dwait span{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;box-shadow:var(--shadow);white-space:nowrap}
.dwait span::before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-1px;border:2px solid var(--line2);border-top-color:var(--blue);border-radius:50%;animation:dspin .8s linear infinite}
@keyframes dspin{to{transform:rotate(360deg)}}
/* detail domu na mobilu jako samostatná stránka */
@media (max-width:760px){
  body.det-open .modal{padding:0;background:var(--surface)}
  body.det-open .mbox.xwide{max-width:none;min-height:100%;border-radius:0;box-shadow:none;padding:0 0 calc(24px + env(safe-area-inset-bottom,0px))}
  body.det-open .mbox.xwide .dcar{border-radius:0}
  body.det-open .mbox.xwide .dinfo,body.det-open .mbox.xwide>.dh3,body.det-open .mbox.xwide>.mcards,body.det-open .mbox.xwide>div:not(.det){padding-left:16px;padding-right:16px}
  body.det-open .mbox.xwide>.mx{position:fixed;right:max(12px,env(safe-area-inset-right,0px));top:max(12px,env(safe-area-inset-top,0px));left:auto;z-index:3;background:var(--surface);box-shadow:var(--shadow);border-radius:50%;width:42px;height:42px}
}
.ftag.byt{background:#22304a;color:#fff}
/* Karta domu: cena na klíč, čísla a odznaky (js/karty.js) */
.fprice{font-size:13px;margin-top:2px;color:var(--ink)}.fprice b{font-weight:800}
.fmeta2{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.35}
.fbadges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}
.fbadge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;background:var(--surface-2,#f1f0ec);color:var(--ink)}
.fbadge.new{background:#e7f0ff;color:#1f5fd6}.fbadge.top{background:#fff2d9;color:#8a5a00}.fbadge.ok{background:#e5f5ea;color:#1d7a3e}
.ffit{font-size:11px;font-weight:700;color:#1d7a3e;margin-bottom:4px}
.zbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:6px 0 14px}
.zseg{display:inline-flex;background:var(--surface-2,#f1f0ec);border-radius:10px;padding:3px}
.zseg button{border:0;background:none;font:inherit;font-size:13px;font-weight:700;padding:6px 12px;border-radius:8px;color:var(--muted);cursor:pointer}
.zseg button[aria-pressed="true"]{background:var(--surface,#fff);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.zpoz{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:5px}
.zpoz input{width:62px;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line,#ddd);border-radius:8px;background:var(--surface,#fff);color:var(--ink)}
.zcount{font-size:13px;font-weight:700;color:var(--ink);flex:1;min-width:140px}
.zsort{margin-left:auto}
@media (max-width:560px){.zcount{order:-1;flex-basis:100%}.zsort{margin-left:0}}
/* detail: rozpočet po částech (hrubá stavba / na klíč / vybavení / celkem) */
.dbud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 6px}
.dbud>div{background:var(--surface2,var(--canvas));border:1px solid var(--line);border-radius:12px;padding:9px 11px;display:flex;flex-direction:column;gap:1px;min-width:0}
.dbud span{font-size:11.5px;font-weight:700;color:var(--muted)}
.dbud b{font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.dbud small{font-size:11px;color:var(--faint)}
.dbud .hl{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.dbud .hl span,.dbud .hl small{color:rgba(255,255,255,.7)}
/* sdílený návrh: lišta přes horní lištu editoru (js/sdileni.js) */
.shv{position:fixed;left:0;right:0;top:0;z-index:40;display:flex;align-items:center;gap:12px;min-height:52px;padding:calc(env(safe-area-inset-top,0px) + 6px) 10px 6px 16px;background:var(--ink);color:var(--surface);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.shv-t{display:flex;flex-direction:column;min-width:0;flex:1}
.shv-t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shv-t span{font-size:12px;opacity:.7}
.shv-a{display:flex;gap:4px;flex:none}
.shv-a button{border:0;border-radius:10px;padding:8px 11px;font:inherit;font-size:12.5px;font-weight:800;background:rgba(255,255,255,.12);color:inherit;cursor:pointer;white-space:nowrap}
.shv-a button:hover{background:rgba(255,255,255,.22)}
.shv-a .shv-save{background:var(--blue);color:var(--blue-ink,#fff)}
.shv-a .shv-x{background:transparent;font-size:18px;padding:6px 9px}
.shpub.ok{background:var(--good-soft,#e6f3ea)}
@media(max-width:640px){.shv{gap:4px;min-height:50px;padding:calc(env(safe-area-inset-top,0px) + 6px) 4px 6px 6px}.shv-t{display:none}.shv-a{flex:1}.shv-a button{flex:1;padding:9px 4px;font-size:12px}.shv-a .shv-x{flex:none}}
/* filtry na zdi (js/filtry.js): tlačítka s vícenásobným výběrem a posuvníky */
.ffilters.fxf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:relative}
.fx-w{position:relative}
.fx-chip{border:1px solid var(--line2);background:var(--surface);border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.fx-chip:hover{border-color:var(--ink)}
.fx-chip.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.fx-clr{border:0;background:transparent;font:inherit;font-size:13px;font-weight:700;color:var(--blue);cursor:pointer;padding:8px 6px}
.fx-pop{position:absolute;left:0;top:calc(100% + 8px);z-index:30;width:320px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,.16);padding:14px;display:flex;flex-direction:column;gap:12px}
.fx-ph{display:flex;justify-content:space-between;align-items:center}
.fx-ph b{font-size:14px}
.fx-reset{border:0;background:transparent;color:var(--blue);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.fx-opts{display:flex;flex-wrap:wrap;gap:6px}
.fx-opts button{border:1px solid var(--line2);background:var(--surface);border-radius:12px;padding:8px 12px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
.fx-opts button[aria-pressed="true"]{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.fx-opts button[aria-pressed="true"]::before{content:"✓ "}
.fx-rv{display:flex;align-items:baseline;gap:8px;justify-content:center}
.fx-rv b{font-size:16px;font-variant-numeric:tabular-nums}.fx-rv span{color:var(--muted);font-size:12.5px}
.fx-dual{position:relative;height:30px}
.fx-track{position:absolute;left:10px;right:10px;top:13px;height:4px;border-radius:2px;background:var(--line2)}
.fx-track i{position:absolute;top:0;bottom:0;background:var(--blue);border-radius:2px}
.fx-dual input{position:absolute;left:0;right:0;top:0;width:100%;height:30px;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}
.fx-dual input::-webkit-slider-runnable-track{background:transparent;height:30px}
.fx-dual input::-moz-range-track{background:transparent}
.fx-dual input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--blue);box-shadow:0 2px 6px rgba(0,0,0,.2);margin-top:4px;cursor:pointer}
.fx-dual input::-moz-range-thumb{pointer-events:auto;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--blue);cursor:pointer}
.fx-go{width:100%;justify-content:center}
.fx-top{margin:4px 0 18px}
.fx-top h3{font-size:15px;margin:0 0 10px}
.fx-topr{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.fx-tc{flex:0 0 200px;display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:16px;overflow:hidden;padding:0 0 10px;font:inherit;color:inherit;cursor:pointer}
.fx-tc b,.fx-tc small{padding:0 10px}.fx-tc b{font-size:13px;margin-top:6px}.fx-tc small{font-size:11.5px;color:var(--muted)}
@media(max-width:760px){.ffilters.fxf{flex-wrap:nowrap;overflow-x:auto;overflow-y:visible}
  .fx-pop{position:fixed;left:8px;right:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;border-radius:22px;padding:18px}}
/* karta na zdi v úzkém sloupci: jen avatar autora, ať se jméno neuřízne na „Moje di…“ */
@media(max-width:600px){.fcard .fauth .an{display:none}}

/* oživení ve 3D: na telefonu lišta hned pod řádkem s podlažím a cenou, ať nezakrývá dům */
@media(max-width:600px){:root{--oz-top-m:98px}}
.dmore .kv{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line,#eee);font-size:13px}
.dmore .kv span{color:var(--muted)}.drfl{font-size:12px;font-weight:800;margin:10px 0 2px;color:var(--ink)}
.dfaq details{border-bottom:1px solid var(--line,#eee);padding:8px 0}.dfaq summary{font-weight:700;font-size:13.5px;cursor:pointer}.dfaq p{font-size:13px;color:var(--muted);margin:6px 0 0}
/* Štítek vzorové AI vizualizace (js/rendery.js): poctivě říká, že nejde o fotku stavby. */
.fai{position:absolute;left:8px;bottom:8px;padding:2px 7px;border-radius:999px;background:rgba(20,22,26,.62);color:#fff;font-size:11px;letter-spacing:.02em;pointer-events:none}
/* Komunita: vyhledávání s tlačítkem Vyhledat (js/komunita.js) */
.kom-tpl{max-width:760px;margin:4px 0 18px}
@media(max-width:760px){#feed header.top .fsearch{order:4;flex:1 1 0;width:auto;min-width:0}#feed header.top .kom-hledat{order:5}}
