/* Modul vertraege: Mietverträge, Vertragsakte, Indexierung, Leerstand und Vermietung. Präfix .vt- */

/* ---------------------------------------------------------------- Allgemein */
.vt-small{font-size:12px}
.vt-wrap{white-space:normal!important}
.vt-k4{grid-template-columns:repeat(4,minmax(0,1fr))}
.vt-k3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vt-ks{font-size:12px;color:var(--grey);margin:6px 0 8px}
.vt-small2{font-size:20px!important;margin-top:12px!important}
.vt-hd{display:flex;align-items:baseline;gap:10px;margin-top:28px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:15px}
.vt-hd:has(+ table.t){border-bottom:0;padding-bottom:0}
.vt-hd-r{margin-left:auto;text-align:right}
.vt-hd-r button{cursor:pointer}
.vt-kv{display:grid;grid-template-columns:auto minmax(0,1fr);font-size:13px}
.vt-kv span{padding:9px 0;border-bottom:1px solid var(--line);min-width:0}
.vt-kv span:nth-child(even){padding-left:16px;text-align:right;font-weight:500;overflow-wrap:anywhere}
.vt-kv a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.vt-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;border-top:1px solid var(--ink)}
.vt-hd+.vt-pairs{border-top:0}
.vt-pair{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.vt-pair span:first-child{flex:none;max-width:48%}
.vt-pair span:last-child{text-align:right;font-weight:500;min-width:0;overflow-wrap:anywhere}
.vt-none{padding:12px 0;color:var(--grey);font-size:13px;border-bottom:1px solid var(--line)}
.vt-box{border:1px solid var(--line);padding:14px 16px;margin-top:12px;background:#fff}
.vt-list2{display:flex;flex-direction:column}
.vt-li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.vt-li .ic{color:var(--grey);margin-top:2px}
.vt-pdf{width:26px;height:32px;border:1px solid var(--line2);background:#fff;font-size:8px;display:grid;place-items:center;color:var(--red);font-weight:600;flex:none}
.vt-docs{display:flex;flex-direction:column;margin-top:2px}
.vt-doc{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;width:100%;text-align:left;min-width:0}
.vt-doc:hover .vt-dt{color:var(--bord)}
.vt-dt,.vt-doc .vt-small{display:block}
.vt-hist>div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}
.vt-act{gap:6px;justify-content:flex-end;flex-wrap:wrap}
tr.vt-future td{background:var(--blue-5)}
tr.vt-dim td{opacity:.55}
.vt-right{background:var(--soft2);border:1px solid var(--line);padding:22px 24px;min-width:0}
.vt-right .vt-hd{margin-top:24px}
.vt-frist{margin-top:14px;background:var(--soft);border:1px solid var(--line2);padding:12px 14px}
.vt-frist.hot{border-color:var(--red)}
.vt-frist.hot .row{color:var(--red)}
.vt-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--blue);font-weight:500;margin-bottom:10px}
.vt-back:hover{color:var(--bord)}

/* ---------------------------------------------------------------- Mietvertragsliste */
.vt-toolbar{display:flex;gap:10px;align-items:center;margin-top:22px;flex-wrap:wrap}
.vt-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line2);padding:0 10px;background:#fff;flex:1 1 260px;max-width:380px;min-width:0;color:var(--grey)}
.vt-search:focus-within{border-color:var(--blue)}
.vt-search input{border:0;padding:8px 0;flex:1;min-width:0;outline:none;background:transparent}
#vt-obj{max-width:240px;min-width:0}
.vt-count{font-size:12.5px;margin-left:auto}
.vt-list{margin-top:10px}
.vt-sort{display:inline-flex;align-items:center;gap:4px;color:inherit}
.vt-sort:hover,.vt-sort.on{color:var(--ink)}
.vt-sort .ic{width:12px;height:12px}
.vt-lg{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.vt-lg .vt-right{margin-top:10px}

/* ---------------------------------------------------------------- Vertragsakte */
.vt-akte{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;margin-top:18px;align-items:start}
.vt-main{min-width:0}

/* ---------------------------------------------------------------- Indexierung (Render d-index) */
.vt-g{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:34px;margin-top:18px;align-items:start}
.vt-g>section{min-width:0}
.vt-ixf{margin-top:12px;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}
.vt-more:hover{text-decoration:underline}
.vt-vpib{font-size:12.5px;gap:6px}
.vt-vpib:hover{color:var(--ink)}
.vt-calc{background:var(--blue);color:#fff;padding:22px 24px;min-width:0}
.vt-calc .cap{color:rgba(255,255,255,.6)}
.vt-calc-h{font-size:22px;margin-top:8px}
.vt-r2{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:13.5px}
.vt-r2 span:last-child{text-align:right}
.vt-f{font-family:'Source Serif 4 SmText',Georgia,serif;font-size:14px;background:rgba(255,255,255,.08);padding:10px 12px;margin-top:12px;overflow-wrap:anywhere}
.vt-fs{font-size:12px;opacity:.75}
.vt-cbtn{margin-top:16px;gap:8px;flex-wrap:wrap}
.vt-calc .btn.vt-wbtn{background:#fff;color:var(--blue);border-color:#fff}
.vt-calc .btn.vt-obtn{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.vt-done{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;background:rgba(255,255,255,.1);padding:6px 10px}

/* Anpassungsschreiben */
.vt-lchips{flex-wrap:wrap;gap:6px}
.vt-letter{background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(17,28,51,.08);padding:36px 44px;font-size:13.5px;line-height:1.55;max-width:740px;margin:0 auto}
.vt-lh{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid var(--blue);padding-bottom:12px;flex-wrap:wrap}
.vt-lh img{height:22px}
.vt-lh span{font-size:11.5px;color:var(--grey)}
.vt-lsend{font-size:10.5px;color:var(--grey);margin-top:22px;text-decoration:underline;text-underline-offset:2px}
.vt-lgrid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;margin-top:6px}
.vt-lmeta{text-align:right;font-size:12.5px;color:var(--ink2)}
.vt-lsub{font-weight:600;margin:26px 0 8px}
.vt-letter p{margin-top:10px}
.vt-ltab{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}
.vt-ltab td{padding:6px 0;border-bottom:1px solid var(--line);vertical-align:top}
.vt-ltab td:last-child{text-align:right;padding-left:12px}
.vt-lfund{font-size:12px;color:var(--bord)}

/* Fundstelle */
.vt-doc-h{display:flex;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:13.5px;flex-wrap:wrap}
.vt-page{background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(17,28,51,.08);padding:26px 36px;margin-top:14px;font-family:'Source Serif 4 SmText',Georgia,serif;font-size:14.5px;line-height:1.6}
.vt-page p{margin-top:10px}
.vt-pnum{text-align:center;color:var(--grey);font-size:12px}
.vt-par{font-weight:600;text-align:center}
.vt-fade{opacity:.45}

/* VPI */
.vt-chart{width:100%;height:auto;display:block}
.vt-vpig{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);margin-top:10px}
.vt-vpig div{display:flex;flex-direction:column;padding:8px 0;font-size:12.5px;border-bottom:1px solid var(--line)}

/* ---------------------------------------------------------------- Leerstand (Render d-leerstand) */
.vt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px}
.vt-cd{min-width:0}
.vt-cd .photo{height:150px;position:relative;display:block}
.vt-cd .photo .tag,.vt-hero .tag{position:absolute;left:10px;top:10px}
.vt-cdt{display:block;font-size:15px;margin-top:10px}
.vt-cds{font-size:12.5px}
.vt-ckv{display:flex;gap:18px;font-size:12.5px;margin-top:8px;flex-wrap:wrap}
.vt-ckv b{font-size:13px}
.vt-cdn{font-size:11.5px;margin-top:0}
.vt-pipe{display:flex;margin-top:5px}
.vt-pipe button{flex:1;padding:5px 0;margin-right:3px;min-width:0}
.vt-pipe button::before{content:"";display:block;height:5px;background:var(--line)}
.vt-pipe button.on::before{background:var(--bord)}
.vt-pipe button:hover::before{background:var(--line2)}
.vt-pipe button.on:hover::before{background:var(--bord-d)}
.vt-pipe.big{margin-top:14px}
.vt-pipe.big button{padding:0;text-align:left}
.vt-pipe.big button::before{height:6px}
.vt-pipe.big button span{display:block;font-size:12px;color:var(--grey);margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-pipe.big button.on span{color:var(--ink);font-weight:500}
.vt-hero{height:280px;position:relative;display:block}
.vt-nextbox{display:flex;gap:8px;align-items:center;margin-top:16px;padding:10px 12px;background:var(--soft);font-size:13px}
.vt-date{display:flex;flex-direction:column;width:84px;flex:none}
.vt-date b{font-size:14px}
.vt-date span{font-size:11.5px;color:var(--grey)}
.vt-note-in{display:flex;gap:10px;margin-top:12px;align-items:flex-start}
.vt-note-in textarea{flex:1;min-width:0;resize:vertical}
.vt-feat{list-style:none}
.vt-feat li{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}
.vt-sel{padding:4px 8px;font-size:12.5px}

/* Exposé */
.vt-expo-ph{height:240px;display:block}
.vt-expo-b{padding-top:16px}
.vt-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.vt-expo-plan{margin-top:16px;border:1px solid var(--line);padding:12px}
.vt-expo-plan svg{width:100%;height:auto;display:block;max-height:280px;margin-top:6px}
.vt-expo-c{display:flex;gap:12px;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}

/* ---------------------------------------------------------------- Responsive */
@media (max-width:1280px){
  .vt-akte .vt-k4 .v{font-size:24px}
}
@media (max-width:1100px){
  .vt-g,.vt-akte,.vt-lg{grid-template-columns:minmax(0,1fr)}
  .vt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px) and (min-width:761px){
  .vt-opt{display:none}
}
@media (max-width:900px){
  .vt-pairs{grid-template-columns:minmax(0,1fr)}
  .vt-hist>div{grid-template-columns:minmax(0,1fr) auto}
  .vt-hist>div>span:first-child{grid-column:1/-1}
  .vt-vpig{grid-template-columns:repeat(4,minmax(0,1fr))}
  .vt-letter{padding:22px 18px}
  .vt-page{padding:18px}
  .vt-k3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  table.t.cardable td.vt-wrap{display:block;text-align:left!important}
  table.t.cardable td.vt-wrap:before{display:block;max-width:none;margin-bottom:2px}
  table.t.cardable td.vt-wrap:first-child:before{display:none}
  table.t.cardable td .vt-act{justify-content:flex-end}
  table.t.cardable tr.vt-future{background:var(--blue-5)}
  table.t.cardable td .tag{white-space:normal;text-align:left}
  .vt-count{margin-left:0}
  #vt-obj{max-width:none;flex:1 1 160px}
}
@media (max-width:560px){
  .vt-cards{grid-template-columns:minmax(0,1fr)}
  .vt-hero{height:200px}
  .vt-lgrid{grid-template-columns:minmax(0,1fr)}
  .vt-lmeta{text-align:left}
  .vt-note-in{flex-direction:column;align-items:stretch}
  .vt-vpig{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vt-li{flex-wrap:wrap}
  .vt-right{padding:18px 16px}
  .vt-calc{padding:18px 16px}
  .vt-r2{flex-direction:column;gap:2px}
  .vt-r2 span:last-child{text-align:left}
  .vt-pipe.big button span{font-size:10.5px;white-space:normal}
  .vt-pipe.big button span{overflow-wrap:anywhere}
}
