@charset "UTF-8";
/* CITA Objekte v1.1 */
/* Unser eigener Seitencontainer - darf nichts vom Theme erben. */
main.cita-o-main{
  display:block!important; width:100%!important; max-width:none!important;
  float:none!important; margin:0!important; padding:0!important;
  clear:both; overflow:visible;
}

.cita-o {
  --c-pri:#17419B; --c-sec:#0D9488; --c-bg:#F7FAFC;
  --c-ink:#16202F; --c-mut:#5B6779; --c-line:#DCE3EC; --c-r:8px;
  color:var(--c-ink); width:100%; max-width:1280px;
  margin-left:auto; margin-right:auto; padding:0 20px; box-sizing:border-box;
  float:none; clear:both;
  --f-kopf:"Fraunces",Georgia,"Times New Roman",serif;
  --f-text:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-family:var(--f-text);
  font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.cita-o h1,.cita-o h2,.cita-o h3{
  font-family:var(--f-kopf); font-weight:600; letter-spacing:-.015em; color:#101B2D;
}
.cita-o-price,.cita-o-stat b,.cita-o-calc-rate b,.cita-o-hero-preis{
  font-family:var(--f-kopf); font-variant-numeric:tabular-nums;
}
.cita-o p,.cita-o li,.cita-o td,.cita-o th,.cita-o dd,.cita-o dt,.cita-o label,
.cita-o input,.cita-o select,.cita-o button,.cita-o a{font-size:inherit;}

/* Ladeflaeche mit Puls statt grauem Loch. */
@keyframes cita-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.cita-o-thumb.is-loading,.cita-o-hero.is-loading{animation:cita-pulse 1.4s ease-in-out infinite;}
.cita-o-thumb img,.cita-o-hero img{opacity:0;transition:opacity .25s ease;}
.cita-o-thumb img.is-ready,.cita-o-hero img.is-ready{opacity:1;}
.cita-o *,.cita-o *::before,.cita-o *::after{box-sizing:border-box;}
.cita-o img{max-width:100%;height:auto;}
.cita-o h1,.cita-o h2,.cita-o h3{color:var(--c-ink);}

/* Filter */

/* Raster: zwei pro Reihe */
.cita-o-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
.cita-o-card{position:relative;background:#fff;border:1px solid #E6EBF3;border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 3px 16px rgba(12,24,48,.07);
  transition:box-shadow .25s ease,transform .25s ease;}
.cita-o-card:hover{box-shadow:0 14px 34px rgba(12,24,48,.15);transform:translateY(-3px);}
.cita-o-card-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none;}
.cita-o-thumb{position:relative;width:100%;padding-top:66.6%;background:#E8EDF3;overflow:hidden;}
.cita-o-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.cita-o-thumb-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--c-mut);font-size:14.4px;}
.cita-o-tag{position:absolute;left:12px;top:12px;padding:6px 12px;border-radius:4px;background:var(--c-pri);color:#fff;font-size:12.5px;line-height:1;z-index:2;}
.cita-o-tag-rent{background:var(--c-sec);}
.cita-o-body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1;}
.cita-o-place{margin:0 0 6px;color:#5B6779;font-size:14.1px;letter-spacing:.05em;text-transform:uppercase;}
.cita-o-title{margin:0 0 12px;font-size:17.3px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cita-o-price{margin:0 0 12px;font-size:22.4px;font-weight:600;color:var(--c-pri);}
.cita-o-per{font-size:.7em;font-weight:400;color:var(--c-mut);}
.cita-o-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:auto 0 0;padding:14px 0 0;list-style:none;border-top:1px solid var(--c-line);color:#4A5568;font-size:15px;}
.cita-o-fav{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:none;border-radius:50%;background:rgba(255,255,255,.94);color:var(--c-pri);font-size:20px;line-height:1;cursor:pointer;}
.cita-o-fav.is-on{background:var(--c-sec);color:#fff;}
.cita-o-empty,.cita-o-error{grid-column:1/-1;padding:40px 0;color:var(--c-mut);}
.cita-o-more{text-align:center;margin:32px 0;}
.cita-o-more.is-done{display:none;}

/* Buttons */
.cita-o-btn{display:inline-block;min-height:50px;padding:14px 24px;border:1px solid var(--c-line);border-radius:var(--c-r);background:#fff;color:var(--c-ink);font:inherit;text-decoration:none;cursor:pointer;}
.cita-o-btn-primary{background:var(--c-pri);border-color:var(--c-pri);color:#fff;}
.cita-o-btn-primary:hover{color:#fff;}
.cita-o-btn-ghost{background:none;}
.cita-o-btn[disabled]{opacity:.5;cursor:default;}

/* Detail */
.cita-o-detail{max-width:1240px;padding-bottom:90px;}
.cita-o-back{margin:16px 0 14px;font-size:14.4px;}
.cita-o-back a{color:var(--c-mut);text-decoration:none;}
.cita-o-back a:hover{color:var(--c-pri);}

.cita-o-stage{display:grid;grid-template-columns:2.1fr 1fr;gap:12px;border-radius:16px;overflow:hidden;
  box-shadow:0 18px 44px rgba(12,24,48,.14);}
.cita-o-hero{position:relative;width:100%;padding-top:62%;background:#E8EDF3;overflow:hidden;}
.cita-o-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in;}
.cita-o-badge{position:absolute;left:20px;top:20px;z-index:3;padding:9px 18px;border-radius:999px;
  background:rgba(23,65,155,.94);color:#fff;font-size:12.8px;letter-spacing:.06em;text-transform:uppercase;
  backdrop-filter:blur(6px);}
.cita-o-badge-rent{background:var(--c-sec);}
.cita-o-hero-all{position:absolute;right:20px;bottom:20px;z-index:3;min-height:46px;padding:0 20px;
  border:none;border-radius:999px;background:rgba(255,255,255,.96);color:var(--c-ink);
  font-family:var(--f-text);font-size:14.4px;cursor:pointer;box-shadow:0 4px 16px rgba(16,32,60,.22);}

/* Preis und Ort im Bild */
.cita-o-hero-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:70px 24px 22px;
  background:linear-gradient(to top,rgba(8,16,32,.82) 0%,rgba(8,16,32,.35) 55%,transparent 100%);
  pointer-events:none;}
.cita-o-hero-ort{display:block;color:rgba(255,255,255,.88);font-size:14.7px;letter-spacing:.04em;margin-bottom:4px;}
.cita-o-hero-preis{display:block;color:#fff;font-size:32px;font-weight:600;line-height:1.15;}
.cita-o-hero-preis .cita-o-per{color:rgba(255,255,255,.8);}
.cita-o-side{display:grid;grid-template-rows:1fr 1fr;gap:10px;}
.cita-o-sidepic{position:relative;border:none;padding:0;background:#E8EDF3;overflow:hidden;cursor:pointer;min-height:120px;}
.cita-o-sidepic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

.cita-o-split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start;margin:30px 0 0;}
.cita-o-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:20px;}

.cita-o-head{margin:0 0 24px;}
.cita-o-head h1{margin:6px 0 12px;line-height:1.16;font-size:clamp(25.6px,3vw,40px);}
.cita-o-price-lg{font-size:24px;margin:0;color:var(--c-pri);}
.cita-o-sub{color:#4A5568;font-size:14.7px;line-height:1.55;}

/* Eckdaten als Kacheln */
.cita-o-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;
  background:#E6EBF3;border-radius:14px;overflow:hidden;margin:4px 0 40px;
  box-shadow:0 2px 14px rgba(12,24,48,.06);}
.cita-o-stat{background:#fff;padding:22px 18px;}
.cita-o-stat b{display:block;font-size:24px;font-weight:700;color:var(--c-ink);line-height:1.2;}
.cita-o-stat b i{font-style:normal;font-size:.6em;font-weight:400;color:#4A5568;}
.cita-o-stat span{display:block;margin-top:6px;color:#4A5568;font-size:14.7px;}

.cita-o-box{background:#fff;border:1px solid #E6EBF3;border-radius:14px;padding:24px;
  box-shadow:0 4px 20px rgba(12,24,48,.07);}
.cita-o-box h2{margin:0 0 14px;font-size:16.8px;}
.cita-o-contact{border-color:#C8D4E6;box-shadow:0 10px 34px rgba(23,65,155,.14);}
.cita-o-boxlead{margin:0 0 18px;font-size:15.4px;color:#3D4756;line-height:1.6;}
.cita-o-broker{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.cita-o-broker img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex:0 0 58px;}
.cita-o-broker-ini{width:58px;height:58px;border-radius:50%;flex:0 0 58px;display:flex;align-items:center;
  justify-content:center;background:var(--c-pri);color:#fff;font-size:20.8px;}
.cita-o-broker b{display:block;font-size:17.3px;}
.cita-o-broker span span{color:#4A5568;font-size:14.7px;}
.cita-o-box .cita-o-btn{width:100%;text-align:center;margin-bottom:10px;}

.cita-o-table{width:100%;border-collapse:collapse;margin:0;}
.cita-o-table th,.cita-o-table td{padding:13px 4px;border-bottom:1px solid var(--c-line);text-align:left;font-weight:400;vertical-align:top;}
.cita-o-table th{color:var(--c-mut);width:46%;}
.cita-o-text{margin:0 0 42px;}
.cita-o-text h2{font-size:22.7px;margin:0 0 18px;padding:0 0 12px;position:relative;
  border-bottom:1px solid var(--c-line);}
.cita-o-text h2::after{content:"";position:absolute;left:0;bottom:-1px;width:52px;height:3px;
  background:var(--c-sec);border-radius:2px;}
.cita-o-text p{max-width:68ch;line-height:1.72;margin:0 0 14px;}
.cita-o-text strong,.cita-o-text b{color:var(--c-ink);}

/* Hervorgehobener Hinweiskasten (Provision) */
.cita-o-note{padding:20px 22px;background:var(--c-bg);border-left:4px solid var(--c-sec);
  border-radius:0 10px 10px 0;}
.cita-o-note p{margin:0 0 10px;max-width:66ch;}
.cita-o-note p:last-child{margin:0;}

/* Kleingedrucktes ausklappbar */
.cita-o-fine details{border:1px solid var(--c-line);border-radius:10px;padding:0 18px;}
.cita-o-fine summary{cursor:pointer;padding:16px 0;color:var(--c-pri);font-size:15.4px;}
.cita-o-fine details[open] summary{border-bottom:1px solid var(--c-line);margin-bottom:12px;}
.cita-o-fine p{font-size:14.7px;color:#4A5568;max-width:76ch;line-height:1.65;}
.cita-o-feat{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none;}
.cita-o-feat li{padding:9px 16px;background:var(--c-bg);border:1px solid var(--c-line);border-radius:999px;font-size:14.4px;}

/* Grundrisse */

/* Energieband */
.cita-o-eband{display:flex;gap:4px;margin:0 0 20px;flex-wrap:wrap;}
.cita-o-eband .ek{flex:1;min-width:38px;padding:11px 4px;border-radius:5px;text-align:center;
  font-size:13.1px;color:#fff;opacity:.3;}
.cita-o-eband .is-on{opacity:1;outline:2px solid var(--c-ink);outline-offset:2px;font-weight:700;}
.ek-Aplus{background:#0C7A3E;}.ek-A{background:#17914A;}.ek-B{background:#5AAD34;}
.ek-C{background:#9FC22B;}.ek-D{background:#EBC61C;}.ek-E{background:#F0A01C;}
.ek-F{background:#E5731D;}.ek-G{background:#D8451F;}.ek-H{background:#B01B1B;}

/* Rechner */
.cita-o-calc label{display:block;margin-bottom:16px;font-size:14.7px;color:#3D4756;}
.cita-o-calc-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cita-o-calc input[type=number]{width:100%;min-height:48px;padding:0 12px;margin-top:8px;
  border:1px solid #B9C5D8;border-radius:8px;font:inherit;font-size:16px;color:var(--c-ink);}
.cita-o-calc input[type=range]{width:100%;margin-top:8px;accent-color:var(--c-pri);}
.cita-o-calc-rate{margin:0 0 18px;padding:16px;background:var(--c-bg);border-radius:10px;text-align:center;}
.cita-o-calc-rate span{color:#3D4756;font-size:15px;}
.cita-o-calc-rate b{display:block;font-size:27.2px;color:var(--c-pri);margin-top:2px;}
.cita-o-calc-out summary{cursor:pointer;color:var(--c-pri);font-size:15.4px;padding:12px 0;min-height:44px;}
.cita-o-calc-out dl{display:grid;grid-template-columns:1fr auto;gap:11px 12px;margin:10px 0 0;font-size:15.2px;}
.cita-o-calc-out dt{color:#4A5568;}
.cita-o-calc-out dd{margin:0;text-align:right;}

/* Feste Leiste unten (mobil) */
.cita-o-sticky{display:none;}

/* Kartenmarker: Viertel, nicht Adresse */
.cita-o-pin span{display:block;width:26px;height:26px;border-radius:50%;
  background:var(--c-pri);border:3px solid #fff;box-shadow:0 2px 8px rgba(16,32,60,.35);}
.leaflet-container{font:inherit!important;}

/* Karte */
.cita-o-map{position:relative;width:100%;height:400px;z-index:0;border-radius:var(--c-r);overflow:hidden;background:var(--c-bg);border:1px solid var(--c-line);}

/* CTA + Recht */
.cita-o-cta{margin:40px 0;padding:28px 24px;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--c-r);}
.cita-o-cta h1,.cita-o-cta h2{margin-top:0;}
.cita-o-cta p{max-width:62ch;}
.cita-o-cta .cita-o-btn{margin:6px 10px 6px 0;}

/* Lightbox */
.cita-o-lb{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:rgba(8,13,22,.95);}
.cita-o-lb img{max-width:94vw;max-height:86vh;object-fit:contain;}
.cita-o-lb button{position:absolute;min-width:54px;min-height:54px;background:rgba(255,255,255,.15);border:none;border-radius:50%;color:#fff;font-size:25.6px;cursor:pointer;}
.cita-o-lb .lb-x{top:18px;right:18px;}
.cita-o-lb .lb-p{left:14px;}
.cita-o-lb .lb-n{right:14px;}

.cita-o :focus-visible{outline:3px solid var(--c-sec);outline-offset:2px;}@media (prefers-reduced-motion:reduce){.cita-o *{transition:none!important;animation:none!important;}}@media (max-width:1000px){
  .cita-o-split{grid-template-columns:1fr;gap:28px;}
  .cita-o-aside{position:static;}
  .cita-o-stage{grid-template-columns:1fr;}
  .cita-o-side{grid-template-rows:none;grid-template-columns:1fr 1fr;}
  .cita-o-sidepic{min-height:130px;}}@media (max-width:720px){
  .cita-o{font-size:16px;}
  .cita-o-detail{padding-bottom:88px;}
  .cita-o-text h2{font-size:18.9px;}
  .cita-o-stat b{font-size:20.8px;}
  .cita-o-map{height:300px;}
  .cita-o-note{padding:16px 18px;}
  .cita-o-hero{padding-top:72%;}
  .cita-o-hero-preis{font-size:24px;}
  .cita-o-hero-cap{padding:54px 18px 16px;}
  .cita-o-stage{box-shadow:0 10px 26px rgba(12,24,48,.12);}
  .cita-o-stats{grid-template-columns:1fr 1fr;}
  
  .cita-o-eband .ek{min-width:0;padding:9px 2px;font-size:11.5px;}
  .cita-o-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:999;
    align-items:center;gap:14px;padding:10px 16px;background:#fff;
    border-top:1px solid var(--c-line);box-shadow:0 -3px 14px rgba(16,32,60,.1);}
  .cita-o-sticky span{flex:1;font-weight:700;color:var(--c-pri);}
  .cita-o-sticky .cita-o-btn{min-height:46px;padding:12px 22px;margin:0;}}@media (max-width:720px){
  .cita-o{padding:0 14px;}
  .cita-o-grid{grid-template-columns:1fr;gap:20px;}
  
  
  
  
  .cita-o-price-lg{font-size:24px;}
  .cita-o-table th{width:50%;}
  .cita-o-map{height:260px;}}

.cita-o-lb .lb-c{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);
  padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:13.8px;}

/* Anforderungsformular */
.cita-o-req{margin:0 0 6px;}
.cita-o-req label{display:block;margin-bottom:12px;font-size:14.7px;color:#3D4756;}
.cita-o-req label span{color:#6B7788;font-weight:400;}
.cita-o-req input[type=text],.cita-o-req input[type=email],.cita-o-req input[type=tel]{
  width:100%;min-height:48px;padding:0 12px;margin-top:6px;
  border:1px solid #B9C5D8;border-radius:8px;font:inherit;font-size:16px;color:var(--c-ink);background:#fff;}
.cita-o-req input:focus{border-color:var(--c-pri);outline:2px solid rgba(23,65,155,.25);outline-offset:0;}
.cita-o-req-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cita-o-check{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;font-size:13.9px;line-height:1.5;color:#4A5568;}
.cita-o-check input{width:22px;height:22px;flex:0 0 22px;margin:2px 0 0;accent-color:var(--c-pri);}
.cita-o-check a{color:var(--c-pri);}
.cita-o-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0;}
.cita-o-req .cita-o-btn{margin-top:4px;}@media (max-width:720px){
  .cita-o-req-2{grid-template-columns:1fr;gap:0;}}

/* Suchauftrag hervorheben */
.cita-o-hunt{background:linear-gradient(160deg,#0D9488 0%,#0B7C72 100%);border-color:#0B7C72;color:#fff;}
.cita-o-hunt h2{color:#fff;margin-bottom:10px;}
.cita-o-hunt p{color:rgba(255,255,255,.92);font-size:15px;line-height:1.6;margin:0 0 16px;}
.cita-o-btn-hunt{display:block;width:100%;text-align:center;background:#fff;border-color:#fff;color:#0B7C72;font-weight:600;}
.cita-o-btn-hunt:hover{color:#0B7C72;}
.cita-o-cta-hunt{background:linear-gradient(160deg,#17419B 0%,#102F71 100%);border-color:#102F71;color:#fff;}
.cita-o-cta-hunt h2{color:#fff;}
.cita-o-cta-hunt p{color:rgba(255,255,255,.92);}
.cita-o-cta-hunt .cita-o-btn-primary{background:#fff;border-color:#fff;color:#17419B;font-weight:600;}
.cita-o-cta-hunt .cita-o-btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;}
.cita-o-hint{margin:-4px 0 16px;font-size:13.6px;line-height:1.5;color:#4A5568;}

/* ---- Lesbarkeit: Mindestgroessen durchsetzen ---- */
.cita-o-stat span{font-size:16px;color:#46536A;}
.cita-o-facts{font-size:16px;}

.cita-o-hunt p{font-size:16px;}
.cita-o-hunt h2{font-size:19.2px;}
.cita-o-hint{font-size:15.2px;color:#46536A;}
.cita-o-sub{font-size:15.7px;color:#46536A;}
.cita-o-fine summary{font-size:16.3px;}
.cita-o-fine p{font-size:15.7px;color:#46536A;}
.cita-o-calc label{font-size:15.7px;}
.cita-o-calc-out summary,.cita-o-calc-out dl{font-size:16px;}
.cita-o-calc-rate span{font-size:16px;}
.cita-o-check{font-size:15.2px;}
.cita-o-req label{font-size:15.7px;}
.cita-o-eband .ek{font-size:15.2px;padding:13px 4px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);}
.cita-o-eband .ek{opacity:.45;}
.cita-o-eband .is-on{opacity:1;}

.cita-o-broker span span{font-size:15.7px;}

/* Theme-Zentrierung aushebeln: Objektseiten sind linksbuendig */
.cita-o,.cita-o h1,.cita-o h2,.cita-o h3,.cita-o p,.cita-o li,.cita-o dl,.cita-o table{text-align:left;}
.cita-o-calc-rate,.cita-o-empty,.cita-o-more,.cita-o-btn{text-align:center;}
.cita-o-calc-out dd{text-align:right;}

/* ---- Responsive nachgezogen ---- */
@media (max-width:1180px){
  .cita-o-split{grid-template-columns:minmax(0,1fr) 300px;gap:32px;}}@media (max-width:900px){
  .cita-o-stats{grid-template-columns:repeat(3,1fr);}}@media (max-width:560px){
  .cita-o{font-size:16.5px;padding:0 14px;}
  .cita-o-stats{grid-template-columns:1fr 1fr;}
  .cita-o-stat{padding:16px 14px;}
  .cita-o-stat b{font-size:19.5px;}
  .cita-o-hero-preis{font-size:21.6px;}
  .cita-o-hero-all{right:12px;bottom:12px;padding:0 15px;font-size:13.6px;}
  .cita-o-badge{left:12px;top:12px;padding:7px 13px;font-size:11.5px;}
  .cita-o-side{grid-template-columns:1fr 1fr;gap:8px;}
  .cita-o-sidepic{min-height:96px;}
  .cita-o-box{padding:18px;}
  .cita-o-text h2{font-size:18.9px;}
  .cita-o-eband{gap:3px;}
  .cita-o-eband .ek{padding:10px 2px;font-size:12.8px;}
  .cita-o-table th,.cita-o-table td{padding:12px 3px;font-size:15.7px;}
  .cita-o-calc-2{grid-template-columns:1fr 1fr;gap:10px;}}@media (max-width:380px){
  .cita-o-stats{grid-template-columns:1fr;}
  }

/* ---- Anforderungsformular ---- */
.cita-o-formstatus{margin:10px 0 0;font-size:15.2px;color:#46536A;}
.cita-o-formstatus.is-fehler{color:#B01B1B;}
.cita-o-formok{margin:0 0 8px;padding:16px;background:#E7F4F1;border-left:4px solid var(--c-sec);
  border-radius:0 8px 8px 0;font-size:16px;color:#0B4F48;}
.cita-o-link{background:none;border:none;padding:0;color:var(--c-pri);font:inherit;
  font-size:inherit;text-decoration:underline;cursor:pointer;}
.cita-o-note.is-flash{animation:cita-flash 2.2s ease;}@keyframes cita-flash{0%,100%{background:var(--c-bg);}25%,60%{background:#DFF3EF;}}

/* ---- Kartensuche ---- */

.cita-o-listmap{width:100%;height:520px;margin:0 0 28px;border-radius:14px;overflow:hidden;
  border:1px solid #E6EBF3;box-shadow:0 4px 20px rgba(12,24,48,.08);z-index:0;}
.cita-o-mpin span{display:inline-block;padding:5px 11px;border-radius:999px;background:var(--c-pri);
  color:#fff;font-family:var(--f-text);font-size:13.1px;font-weight:600;white-space:nowrap;
  border:2px solid #fff;box-shadow:0 2px 8px rgba(16,32,60,.3);}
.cita-o-mpin.is-rent span{background:var(--c-sec);}
.cita-o-mpop{display:block;width:190px;color:var(--c-ink);text-decoration:none;}
.cita-o-mpop img{width:100%;height:110px;object-fit:cover;border-radius:6px;margin-bottom:8px;display:block;}
.cita-o-mpop b{display:block;font-size:15.2px;line-height:1.35;margin-bottom:3px;}
.cita-o-mpop span{color:#5B6779;font-size:14.1px;}
.leaflet-popup-content{margin:12px!important;}@media (max-width:720px){
  .cita-o-listmap{height:380px;}
  }

/* Inhalte, die erst nach dem Nachweis sichtbar sind */
.cita-o-locked{display:flex;gap:18px;align-items:flex-start;padding:22px 24px;
  background:var(--c-bg);border:1px dashed #B9C5D8;border-radius:12px;}
.cita-o-locked-ic{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#fff;
  border:1px solid #D6DFEC;display:flex;align-items:center;justify-content:center;
  color:var(--c-pri);font-size:20.8px;}
.cita-o-locked b{display:block;font-size:17px;margin-bottom:6px;}
.cita-o-locked p{margin:0 0 14px;font-size:15.7px;color:#46536A;max-width:60ch;}
.cita-o-locked .cita-o-btn{min-height:46px;padding:12px 22px;}@media (max-width:560px){
  .cita-o-locked{flex-direction:column;gap:12px;padding:18px;}}

/* Objekttexte aus dem CRM */
.cita-o-prosa p{margin:0 0 14px;max-width:68ch;line-height:1.72;}
.cita-o-prosa .cita-o-sub-h{font-size:18.2px;margin:26px 0 10px;color:#101B2D;}
.cita-o-prosa .cita-o-sub-h:first-child{margin-top:0;}
.cita-o-prosa strong{font-weight:600;color:#101B2D;}
.cita-o-liste{margin:0 0 18px;padding:0;list-style:none;max-width:68ch;}
.cita-o-liste li{position:relative;padding:7px 0 7px 26px;line-height:1.6;}
.cita-o-liste li::before{content:"";position:absolute;left:4px;top:15px;width:7px;height:7px;
  border-radius:50%;background:var(--c-sec);}
.cita-o-liste li+li{border-top:1px solid #EEF2F7;}
.cita-o-note .cita-o-liste{margin-bottom:0;}

/* ---- Titelbild ueber die volle Breite ---- */
.cita-o-stage{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  border-radius:0;
  box-shadow:none;
  gap:6px;
}
.cita-o-hero{padding-top:46%;}
.cita-o-hero-cap{padding:90px 40px 30px;}
.cita-o-hero-ort{font-size:16px;}
.cita-o-hero-preis{font-size:40px;}
.cita-o-badge{left:40px;top:28px;}
.cita-o-hero-all{right:40px;bottom:28px;}

/* ---- Mitlaufende Leiste am Desktop ---- */
.cita-o-rail{
  position:fixed;left:0;right:0;top:0;z-index:900;
  display:flex;align-items:center;gap:18px;
  padding:12px 28px;background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--c-line);
  box-shadow:0 2px 14px rgba(12,24,48,.08);
  transform:translateY(-110%);transition:transform .25s ease;
}
.cita-o-rail.is-on{transform:translateY(0);}
.cita-o-rail-t{flex:1;min-width:0;font-family:var(--f-kopf);font-size:16.3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cita-o-rail-p{font-family:var(--f-kopf);font-weight:600;color:var(--c-pri);white-space:nowrap;}
.cita-o-rail .cita-o-btn{min-height:42px;padding:10px 20px;margin:0;white-space:nowrap;}
.cita-o-rail nav{display:flex;gap:18px;}
.cita-o-rail nav a{color:#46536A;text-decoration:none;font-size:15.2px;white-space:nowrap;}
.cita-o-rail nav a:hover{color:var(--c-pri);}

/* ---- Kennzahlen fuer Anlageobjekte ---- */
.cita-o-invest{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;
  margin:0 0 36px;}
.cita-o-inv{padding:20px;background:#0F2E6B;border-radius:12px;color:#fff;}
.cita-o-inv b{display:block;font-family:var(--f-kopf);font-size:25.6px;line-height:1.15;}
.cita-o-inv span{display:block;margin-top:5px;font-size:14.7px;color:rgba(255,255,255,.78);}

/* ---- Teilen ---- */
.cita-o-share{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 36px;}
.cita-o-share button,.cita-o-share a{display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:0 18px;border:1px solid var(--c-line);border-radius:999px;
  background:#fff;color:#46536A;font:inherit;font-size:15.2px;text-decoration:none;cursor:pointer;}
.cita-o-share button:hover,.cita-o-share a:hover{border-color:var(--c-pri);color:var(--c-pri);}

/* ---- Ähnliche Objekte ---- */
.cita-o-similar{margin:48px 0 0;}
.cita-o-similar .cita-o-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}

/* ---- Mobil ---- */
@media (max-width:1000px){
  .cita-o-rail{display:none;}
  .cita-o-hero{padding-top:62%;}
  .cita-o-hero-cap{padding:70px 22px 20px;}
  .cita-o-hero-preis{font-size:30.4px;}
  .cita-o-badge{left:22px;top:20px;}
  .cita-o-hero-all{right:22px;bottom:20px;}
  .cita-o-similar .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:720px){
  .cita-o-stage{grid-template-columns:1fr;gap:0;}
  .cita-o-side{display:none;}
  .cita-o-hero{padding-top:75%;}
  .cita-o-hero-cap{padding:60px 16px 16px;}
  .cita-o-hero-ort{font-size:14.4px;}
  .cita-o-hero-preis{font-size:24.8px;}
  .cita-o-badge{left:14px;top:14px;}
  .cita-o-hero-all{right:14px;bottom:14px;}
  .cita-o-invest{grid-template-columns:1fr 1fr;gap:10px;}
  .cita-o-inv{padding:16px;}
  .cita-o-inv b{font-size:20.8px;}
  .cita-o-similar .cita-o-grid{grid-template-columns:1fr;}
  .cita-o-share button,.cita-o-share a{flex:1 1 calc(50% - 5px);justify-content:center;}}

/* ================= Textdesign ================= */
.cita-o-prosa > p:first-child{font-size:17.9px;line-height:1.7;color:#2B3648;}

/* Merkmale als Raster mit Haken */
.cita-o-feat{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px;
  background:#E6EBF3;border-radius:12px;overflow:hidden;}
.cita-o-feat li{display:flex;align-items:center;gap:11px;padding:15px 18px;
  background:#fff;border:none;border-radius:0;font-size:16px;}
.cita-o-feat li span{flex:0 0 24px;width:24px;height:24px;border-radius:50%;
  background:#E7F4F1;color:var(--c-sec);display:flex;align-items:center;
  justify-content:center;font-size:13.1px;}

/* Anliegen-Auswahl */
.cita-o-anliegen{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 18px;}
.cita-o-anliegen label{margin:0;cursor:pointer;}
.cita-o-anliegen input{position:absolute;opacity:0;width:0;height:0;}
.cita-o-anliegen span{display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:46px;padding:6px 8px;border:1px solid var(--c-line);border-radius:8px;
  background:#fff;color:#46536A;font-size:14.4px;line-height:1.25;}
.cita-o-anliegen input:checked + span{background:var(--c-pri);border-color:var(--c-pri);color:#fff;}
.cita-o-anliegen input:focus-visible + span{outline:3px solid var(--c-sec);outline-offset:2px;}

/* ================= Übersicht mit fester Karte ================= */
.cita-o-split-list{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start;}
.cita-o-mapcol{position:sticky;top:20px;}
.cita-o-listmap{height:min(72vh,680px);margin:0 0 10px;}
.cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.cita-o-split-list.is-nomap{grid-template-columns:1fr;}
.cita-o-split-list.is-nomap .cita-o-mapcol{display:none;}@media (max-width:1240px){
  .cita-o-split-list{grid-template-columns:minmax(0,1fr) 340px;gap:22px;}
  .cita-o-split-list .cita-o-grid{grid-template-columns:1fr;}}@media (max-width:900px){
  .cita-o-split-list{grid-template-columns:1fr;gap:20px;}
  .cita-o-mapcol{position:static;order:-1;}
  .cita-o-listmap{height:320px;}
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:640px){
  .cita-o-split-list .cita-o-grid{grid-template-columns:1fr;}
  .cita-o-listmap{height:260px;}
  .cita-o-anliegen{grid-template-columns:1fr;gap:5px;}
  .cita-o-anliegen span{min-height:44px;}
  .cita-o-feat{grid-template-columns:1fr;}
  .cita-o-prosa > p:first-child{font-size:17px;}}

/* ---- Titelbild etwas flacher, moderner ---- */
.cita-o-hero{padding-top:38%;}
.cita-o-hero-cap{padding:80px 44px 26px;}
.cita-o-stage{gap:8px;}

/* ---- Textbereich: ruhiger Satz statt Bleiwüste ---- */
.cita-o-prosa{font-size:16.6px;}
.cita-o-prosa > p{max-width:64ch;margin:0 0 16px;line-height:1.75;color:#28313F;}
.cita-o-prosa > p:first-child{font-size:18.6px;line-height:1.66;color:#1B2634;
  padding-left:16px;border-left:3px solid var(--c-sec);}
.cita-o-prosa .cita-o-sub-h{font-size:18.6px;margin:30px 0 12px;padding-top:4px;}
.cita-o-prosa .cita-o-sub-h + p{margin-top:0;}
.cita-o-prosa strong{font-weight:600;color:#101B2D;}
.cita-o-liste{max-width:64ch;}
.cita-o-liste li{padding:9px 0 9px 28px;}
.cita-o-liste li::before{top:18px;}
.cita-o-text{margin:0 0 46px;}@media (max-width:1000px){
  .cita-o-hero{padding-top:52%;}
  .cita-o-hero-cap{padding:64px 22px 18px;}}@media (max-width:720px){
  .cita-o-hero{padding-top:66%;}
  .cita-o-prosa{font-size:16px;}
  .cita-o-prosa > p:first-child{font-size:17.3px;padding-left:13px;}
  .cita-o-prosa > p,.cita-o-liste{max-width:none;}
  .cita-o-text{margin:0 0 36px;}}

/* ---- Kartenmarker klickbar ---- */
.cita-o-mpin{background:none;border:none;cursor:pointer;}
.cita-o-mpin span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  padding:0 10px;border-radius:999px;background:var(--c-pri);color:#fff;
  font-family:var(--f-text);font-size:12.8px;font-weight:600;white-space:nowrap;
  border:2px solid #fff;box-shadow:0 2px 8px rgba(16,32,60,.32);}
.cita-o-mpin.is-rent span{background:var(--c-sec);}
.cita-o-mpin:hover span{transform:scale(1.06);}
.leaflet-popup-content-wrapper{border-radius:10px;}

/* ================= Nachschärfen ================= */

/* Kaufen / Mieten deutlich unterscheidbar */

/* Filterzeile lesbarer */

/* Kacheln der Liste */
.cita-o-place{font-size:15.2px;letter-spacing:.06em;}
.cita-o-title{font-size:19.2px;}
.cita-o-price{font-size:24px;}
.cita-o-facts{font-size:16px;}

/* Zurück-Link als Knopf */
.cita-o-back{margin:20px 0 16px;}
.cita-o-back a{display:inline-flex;align-items:center;gap:8px;min-height:46px;
  padding:0 20px;border:1px solid var(--c-line);border-radius:999px;background:#fff;
  color:#3D4756;font-size:16px;text-decoration:none;}
.cita-o-back a:hover{border-color:var(--c-pri);color:var(--c-pri);}

/* Ansprechpartner prominenter */
.cita-o-broker{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px;
  padding-bottom:18px;border-bottom:1px solid var(--c-line);}
.cita-o-broker img{width:96px;height:96px;flex:0 0 96px;border-radius:12px;object-fit:cover;
  box-shadow:0 4px 14px rgba(12,24,48,.14);}
.cita-o-broker-ini{width:96px;height:96px;flex:0 0 96px;border-radius:12px;font-size:32px;}
.cita-o-broker-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.cita-o-broker-txt b{font-size:17.9px;line-height:1.3;}
.cita-o-broker-txt > span{color:#5B6779;font-size:15.7px;margin-bottom:5px;}
.cita-o-broker-txt a{color:var(--c-pri);font-size:16px;text-decoration:none;
  overflow:hidden;text-overflow:ellipsis;}
.cita-o-broker-txt a:hover{text-decoration:underline;}

/* Bilder auf der Detailseite etwas ruhiger */
.cita-o-hero{padding-top:33%;}
.cita-o-hero-cap{padding:70px 40px 24px;}
.cita-o-hero-preis{font-size:33.6px;}

/* Kartenvorschau */
.cita-o-mpop em{display:block;margin-top:7px;color:var(--c-pri);font-style:normal;
  font-size:14.4px;font-weight:600;}
.cita-o-mpin{cursor:pointer;}@media (max-width:1000px){
  .cita-o-hero{padding-top:48%;}
  .cita-o-hero-cap{padding:60px 22px 18px;}
  .cita-o-hero-preis{font-size:28px;}}@media (max-width:720px){
  .cita-o-hero{padding-top:62%;}
  .cita-o-hero-preis{font-size:24px;}
  
  
  
  
  
  
  .cita-o-broker img,.cita-o-broker-ini{width:76px;height:76px;flex:0 0 76px;}
  .cita-o-back a{width:100%;justify-content:center;}}

/* Neu-Hinweis */
.cita-o-neu{position:absolute;left:14px;top:52px;z-index:2;padding:6px 13px;border-radius:999px;
  background:#F0A01C;color:#3A2A05;font-size:11.8px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;}

/* Seitentitel bei Ortsseiten */
.cita-o-seitentitel{margin:0 0 22px;font-size:clamp(25.6px,3vw,36.8px);line-height:1.2;}

/* Preisalarm */
.cita-o-alarm{border-color:#D9E2EF;background:#FBFCFE;}
.cita-o-alarm p{margin:0 0 16px;font-size:15.7px;color:#46536A;}
.cita-o-alarm .cita-o-btn{width:100%;}

/* ================= Lesbarkeit und Farbe ================= */
.cita-o{font-size:18px;}
.cita-o-prosa{font-size:17px;}
.cita-o-prosa > p{line-height:1.8;color:#232D3C;}
.cita-o-prosa > p:first-child{font-size:19.2px;line-height:1.7;}
.cita-o-boxlead{font-size:16.3px;line-height:1.65;color:#36414F;}
.cita-o-table th,.cita-o-table td{font-size:16.3px;padding:15px 5px;}
.cita-o-stat b{font-size:25.3px;}
.cita-o-stat span{font-size:16.3px;}
.cita-o-feat li{font-size:16.6px;padding:16px 18px;}
.cita-o-liste li{font-size:16.6px;}
.cita-o-req label,.cita-o-calc label{font-size:16.3px;}
.cita-o-check{font-size:16px;line-height:1.55;color:#3D4756;}
.cita-o-sub{font-size:16px;}

/* Kaufen blau, Mieten türkis */

/* Ansprechpartner: Foto schärfer darstellen */
.cita-o-broker img{width:104px;height:104px;flex:0 0 104px;
}
.cita-o-broker-txt b{font-size:18.6px;}
.cita-o-broker-txt a{font-size:16.6px;}

/* Kartenfilter */
.cita-o-mapfilter{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:500;
  min-height:44px;padding:0 20px;border:none;border-radius:999px;background:var(--c-pri);
  color:#fff;font:inherit;font-size:15.7px;font-weight:500;cursor:pointer;
  box-shadow:0 4px 16px rgba(12,24,48,.3);white-space:nowrap;}
.cita-o-mapfilter.is-aktiv{background:var(--c-sec);}
.cita-o-mapcol{position:sticky;top:20px;}
.cita-o-listmap{position:relative;}@media (max-width:720px){
  .cita-o{font-size:17px;}
  .cita-o-broker img,.cita-o-broker-ini{width:88px;height:88px;flex:0 0 88px;}}

/* ==========================================================
   ABSCHLIESSENDE MOBILREGELN - muessen als letzte stehen
   ========================================================== */
@media (max-width: 1024px) {
  .cita-o-split{grid-template-columns:1fr !important; gap:26px !important;}
  .cita-o-aside{position:static !important; top:auto !important;}
  .cita-o-rail{display:none !important;}
  .cita-o-similar .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}@media (max-width: 900px) {
  .cita-o-split-list{grid-template-columns:1fr !important; gap:22px !important;}
  .cita-o-mapcol{position:static !important; order:-1;}
  .cita-o-listmap{height:300px !important;}
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cita-o-stage{grid-template-columns:1fr !important;}
  .cita-o-side{display:none !important;}}@media (max-width: 680px) {
  .cita-o{font-size:17px; padding:0 14px;}
  .cita-o-split-list .cita-o-grid,
  .cita-o-grid,
  .cita-o-similar .cita-o-grid{grid-template-columns:1fr !important; gap:18px !important;}

  /* Kopfbereich */
  .cita-o-hero{padding-top:70% !important;}
  .cita-o-hero-cap{padding:56px 16px 14px !important;}
  .cita-o-hero-preis{font-size:24px !important;}
  .cita-o-hero-ort{font-size:14.1px !important;}
  .cita-o-head h1{font-size:23.2px !important; line-height:1.25 !important;}
  .cita-o-place{font-size:13.6px !important; letter-spacing:.04em !important;}

  /* Kacheln und Tabellen */
  .cita-o-stats{grid-template-columns:1fr 1fr !important;}
  .cita-o-invest{grid-template-columns:1fr 1fr !important;}
  .cita-o-feat{grid-template-columns:1fr !important;}
  .cita-o-table th{width:46% !important;}
  .cita-o-table th,.cita-o-table td{padding:13px 4px !important; font-size:15.7px !important;}

  /* Texte */
  .cita-o-prosa{font-size:16.3px !important;}
  .cita-o-prosa > p,.cita-o-liste{max-width:none !important;}
  .cita-o-prosa > p:first-child{font-size:17.6px !important; padding-left:12px !important;}
  .cita-o-text h2{font-size:18.9px !important;}

  /* Filterleiste */
  
  
  
  
  
  

  /* Seitenspalte */
  .cita-o-box{padding:18px !important;}
  .cita-o-anliegen{grid-template-columns:1fr !important;}
  .cita-o-req-2{grid-template-columns:1fr !important; gap:0 !important;}
  .cita-o-calc-2{grid-template-columns:1fr 1fr !important;}
  .cita-o-broker{flex-direction:row !important; gap:14px !important;}
  .cita-o-broker img,.cita-o-broker-ini{width:82px !important; height:82px !important; flex:0 0 82px !important;}
  .cita-o-broker-txt a{font-size:15.7px !important; word-break:break-word;}

  /* Karte */
  .cita-o-listmap{height:260px !important;}
  .cita-o-map{height:250px !important;}
  .cita-o-mapfilter{font-size:14.4px !important; padding:0 15px !important; bottom:12px !important;}

  /* Teilen */
  .cita-o-share button,.cita-o-share a{flex:1 1 100% !important; justify-content:center;}

  /* Feste Leiste unten */
  .cita-o-sticky{padding:10px 14px !important;}
  .cita-o-sticky span{font-size:16.3px !important;}
  .cita-o-detail{padding-bottom:92px !important;}}@media (max-width: 400px) {
  
  .cita-o-stats{grid-template-columns:1fr !important;}
  .cita-o-invest{grid-template-columns:1fr !important;}
  .cita-o-calc-2{grid-template-columns:1fr !important;}
  .cita-o-broker{flex-direction:column !important;}}

/* Kein horizontaler Ueberlauf - ohne das vollbreite Titelbild zu beschneiden */
.cita-o-prosa,.cita-o-text,.cita-o-box,.cita-o-split,.cita-o-split-list{min-width:0;}
.cita-o-maincol{min-width:0;overflow-wrap:break-word;}
.cita-o-table{table-layout:fixed;}
.cita-o-table td,.cita-o-table th{word-break:break-word;}

/* Preisalarm: gleiche Feldgestaltung wie beim Anforderungsformular */
.cita-o-alarm form input[type=text],
.cita-o-alarm form input[type=email]{width:100%;min-height:48px;padding:0 12px;margin-top:6px;
  border:1px solid #B9C5D8;border-radius:8px;font:inherit;font-size:16px;background:#fff;}
.cita-o-alarm form label{display:block;margin-bottom:12px;font-size:16.3px;color:#3D4756;}
.cita-o-alarm form .cita-o-check{display:flex;}

/* Ansprechpartner-Foto sauber darstellen */
.cita-o-broker img{object-fit:cover;object-position:center top;
  background:#EDF1F7;border:1px solid #E2E8F2;}

/* ==========================================================
   SCHRIFT UND VOLLE BREITE - final, muss ganz unten stehen
   ========================================================== */
.cita-o{font-size:19px;}
.cita-o-prosa{font-size:17.3px;}
.cita-o-prosa > p{line-height:1.8;}
.cita-o-prosa > p:first-child{font-size:19.5px;}
.cita-o-liste li,.cita-o-feat li{font-size:17px;}
.cita-o-table th,.cita-o-table td{font-size:16.6px;}
.cita-o-title{font-size:19.8px;}
.cita-o-price{font-size:24.8px;}
.cita-o-facts{font-size:16.6px;}
.cita-o-place{font-size:15.5px;}
.cita-o-boxlead,.cita-o-req label,.cita-o-calc label,.cita-o-alarm form label{font-size:16.6px;}
.cita-o-check{font-size:16.3px;}

.cita-o-stat b{font-size:25.9px;}
.cita-o-stat span{font-size:16.6px;}
.cita-o-sub{font-size:16.3px;}
.cita-o-text h2{font-size:23.4px;}
.cita-o-broker-txt b{font-size:19.2px;}
.cita-o-broker-txt a,.cita-o-broker-txt > span{font-size:17px;}@media (max-width: 680px) {
  /* Volle Breite am Handy: keine Seitenraender, randlose Bloecke */
  .cita-o{font-size:18px !important; padding:0 !important;}
  
  .cita-o-listmap{border-radius:0 !important; border-left:none !important; border-right:none !important;
    height:300px !important; margin-bottom:8px !important;}
  .cita-o-mapcol .cita-o-sub{padding:0 14px !important;}
  .cita-o-card{border-radius:0 !important; border-left:none !important; border-right:none !important;}
  .cita-o-split-list{gap:0 !important;}
  .cita-o-split-list .cita-o-grid{gap:0 !important;}
  .cita-o-card + .cita-o-card{border-top:none !important;}
  .cita-o-more,.cita-o-cta,.cita-o-legal{margin-left:14px !important; margin-right:14px !important;}
  .cita-o-seitentitel{padding:0 14px !important;}

  /* Detailseite: Text bekommt wieder Rand, Bilder bleiben randlos */
  .cita-o-detail{padding:0 !important;}
  .cita-o-detail .cita-o-split{padding:0 14px !important;}
  .cita-o-detail .cita-o-back{padding:0 14px !important;}
  .cita-o-stage{margin-left:0 !important; margin-right:0 !important; width:100% !important;}

  /* Schriften mobil */
  .cita-o-prosa{font-size:17px !important;}
  .cita-o-prosa > p:first-child{font-size:18.2px !important;}
  .cita-o-title{font-size:18.9px !important;}
  .cita-o-price{font-size:23px !important;}
  
  
  .cita-o-text h2{font-size:19.8px !important;}
  .cita-o-stat b{font-size:22.4px !important;}}

/* Kleinste Stufe zuletzt, damit sie nicht überschrieben wird */
@media (max-width: 400px) {
  
  .cita-o-stats{grid-template-columns:1fr !important;}
  .cita-o-invest{grid-template-columns:1fr !important;}
  .cita-o-calc-2{grid-template-columns:1fr !important;}
  .cita-o-broker{flex-direction:column !important;}
  .cita-o{font-size:17.5px !important;}}

/* Sprungmarke für Tastatur und Vorleseprogramme */
.cita-o-skip{position:absolute;left:-9999px;top:0;z-index:1000;padding:12px 20px;
  background:var(--c-pri);color:#fff;border-radius:0 0 8px 0;text-decoration:none;font-size:16px;}
.cita-o-skip:focus{left:0;}

/* Merklisten-Zähler */

/* Bilder behalten ihren Platz, auch bevor sie geladen sind */
.cita-o-thumb img,.cita-o-hero img,.cita-o-sidepic img{height:100%;width:100%;}
.cita-o-broker img{aspect-ratio:1/1;}

/* ==========================================================
   SCHRIFTSKALA — verbindlich, feste Werte, steht ganz am Ende
   Vorher wurde in rem gerechnet: das bezieht sich auf die
   Dokumentschrift und ignorierte die Groesse dieses Containers.
   ========================================================== */
.cita-o{
  --t-klein: 16px;   /* Hinweise, Rechtliches   */
  --t-meta:  17px;   /* Beschriftungen, Fakten  */
  --t-text:  18px;   /* Flie\00DFtext              */
  --t-lead:  20px;   /* Einleitung              */
  --t-h3:    21px;   /* Zwischen\00FCberschrift     */
  --t-h2:    25px;   /* Abschnitt               */
  --t-h1:    34px;   /* Objekttitel             */
  font-size: var(--t-text);
  line-height: 1.7;
}

/* Flie\00DFtext und Listen */
.cita-o-prosa{font-size:var(--t-text);}
.cita-o-prosa > p{font-size:var(--t-text);line-height:1.78;}
.cita-o-prosa > p:first-child{font-size:var(--t-lead);line-height:1.66;}
.cita-o-prosa .cita-o-sub-h{font-size:var(--t-h3);}
.cita-o-liste li,.cita-o-feat li{font-size:var(--t-text);}
.cita-o-text p{font-size:var(--t-text);}

/* \00DCberschriften */
.cita-o-head h1,.cita-o-seitentitel{font-size:var(--t-h1);line-height:1.18;}
.cita-o-text h2,.cita-o-cta h2{font-size:var(--t-h2);}
.cita-o-box h2{font-size:var(--t-h3);}
.cita-o-title{font-size:var(--t-h3);}

/* Zahlen */
.cita-o-price{font-size:26px;}
.cita-o-price-lg{font-size:28px;}
.cita-o-hero-preis{font-size:40px;}
.cita-o-stat b{font-size:29px;}
.cita-o-inv b{font-size:28px;}
.cita-o-calc-rate b{font-size:30px;}

/* Beschriftungen und Meta */
.cita-o-place,.cita-o-hero-ort{font-size:var(--t-meta);}
.cita-o-facts,.cita-o-stat span{font-size:var(--t-meta);}
.cita-o-table th,.cita-o-table td{font-size:var(--t-meta);}
.cita-o-sub,.cita-o-hint,.cita-o-fine p{font-size:var(--t-klein);}

/* Bedienelemente */

.cita-o-req label,.cita-o-calc label,.cita-o-alarm form label{font-size:var(--t-meta);}

.cita-o-req input,.cita-o-calc input,.cita-o-alarm form input{font-size:var(--t-text);}
.cita-o-btn,.cita-o-back a{font-size:var(--t-text);}

.cita-o-check{font-size:var(--t-meta);}
.cita-o-boxlead{font-size:var(--t-text);}
.cita-o-broker-txt b{font-size:var(--t-h3);}
.cita-o-broker-txt a,.cita-o-broker-txt > span{font-size:var(--t-meta);}
.cita-o-anliegen span{font-size:var(--t-meta);}
.cita-o-calc-out summary,.cita-o-calc-out dl,.cita-o-fine summary{font-size:var(--t-meta);}
.cita-o-eband .ek{font-size:var(--t-meta);}

/* Tablet */
@media (max-width: 1024px){
  .cita-o{--t-h1:30px; --t-h2:24px;}
  .cita-o-hero-preis{font-size:32px;}}

/* Handy — gleiche Lesegroesse, nur Ueberschriften kleiner */
@media (max-width: 680px){
  .cita-o{
    --t-klein:16px; --t-meta:17px; --t-text:18px; --t-lead:19px;
    --t-h3:20px; --t-h2:22px; --t-h1:26px;
  }
  .cita-o-price{font-size:24px;}
  .cita-o-price-lg{font-size:25px;}
  .cita-o-hero-preis{font-size:26px;}
  .cita-o-stat b{font-size:26px;}
  .cita-o-inv b{font-size:25px;}
  .cita-o-calc-rate b{font-size:27px;}}@media (max-width: 400px){
  .cita-o{--t-h1:24px; --t-h2:21px;}
  .cita-o-hero-preis{font-size:24px;}}

/* ==========================================================
   BILDERGALERIE — Desktop zwei Nebenbilder, Handy Wisch-Slider
   ========================================================== */
.cita-o-swipehint{display:none;}

/* Desktop: nur die ersten beiden Nebenbilder */
.cita-o-side .cita-o-sidepic:nth-child(n+3){display:none;}@media (max-width: 900px){
  /* Ein durchgehender, wischbarer Streifen mit allen Bildern */
  .cita-o-stage{
    display:flex !important;
    gap:0 !important;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    border-radius:0 !important;
  }
  .cita-o-stage::-webkit-scrollbar{display:none;}

  .cita-o-hero{
    flex:0 0 100%;
    scroll-snap-align:center;
    padding-top:0 !important;
    aspect-ratio:4/3;
    height:auto;
  }
  .cita-o-hero img{position:absolute;inset:0;object-position:center center;}

  .cita-o-side{
    display:contents !important;
  }
  .cita-o-sidepic{
    flex:0 0 100%;
    scroll-snap-align:center;
    min-height:0 !important;
    padding-top:0 !important;
    aspect-ratio:4/3;
    border-radius:0;
  }
  .cita-o-side .cita-o-sidepic:nth-child(n+3){display:block;}
  .cita-o-sidepic img{position:absolute;inset:0;object-fit:cover;}

  /* Hinweis und Zähler unter dem Streifen */
  .cita-o-swipehint{
    display:block;margin:10px 14px 0;color:#5B6779;font-size:15px;text-align:center;
  }
  .cita-o-hero-cap{padding:52px 16px 14px !important;}
  .cita-o-hero-all{display:none;}}@media (max-width: 680px){
  /* Etwas mehr Bild zeigen, weniger beschneiden */
  .cita-o-hero,.cita-o-sidepic{aspect-ratio:4/3;}
  .cita-o-hero img{object-position:center 40%;}}

/* Nichts darf am Handy seitlich hinauslaufen */
@media (max-width: 900px){
  .cita-o-detail,.cita-o-split,.cita-o-maincol,.cita-o-aside,
  .cita-o-box,.cita-o-text,.cita-o-prosa{max-width:100%;}
  .cita-o-table{width:100%;table-layout:fixed;}
  .cita-o-prosa img,.cita-o-text img{max-width:100%;height:auto;}
  .cita-o-broker-txt a{overflow-wrap:anywhere;}
  .cita-o-rail{display:none !important;}}

/* ==========================================================
   BREITE, ANGABEN-KACHELN, SYMBOLE
   ========================================================== */

/* Übersicht darf die Bildschirmbreite nutzen */
.cita-o{max-width:1560px;}
.cita-o-detail{max-width:1240px;}
.cita-o-split-list{grid-template-columns:minmax(0,1fr) 460px;gap:32px;}
.cita-o-split-list .cita-o-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}@media (max-width:1400px){
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:1180px){
  .cita-o-split-list{grid-template-columns:minmax(0,1fr) 360px;gap:24px;}
  .cita-o-split-list .cita-o-grid{grid-template-columns:1fr;}}

/* Weitere Angaben als Kacheln */
.cita-o-angaben{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:2px;margin:0;padding:0;background:#E6EBF3;border-radius:12px;overflow:hidden;}
.cita-o-angabe{background:#fff;padding:18px 20px;}
.cita-o-angabe dt{display:flex;align-items:center;gap:9px;margin:0 0 6px;
  color:#5B6779;font-size:var(--t-klein);}
.cita-o-angabe dt span{font-size:18px;line-height:1;}
.cita-o-angabe dd{margin:0;font-size:var(--t-text);font-weight:600;color:#16202F;}

/* Merkmale mit Symbolen */
.cita-o-feat li span{background:none;font-size:22px;width:28px;flex:0 0 28px;}
.cita-o-feat li{font-size:var(--t-text);padding:16px 18px;}

/* Kachel-Angaben in der Liste */
.cita-o-facts{gap:7px 16px;font-size:var(--t-meta);}
.cita-o-facts li{white-space:nowrap;}

/* Teilen */
.cita-o-share{align-items:center;gap:12px;}
.cita-o-share-t{color:#5B6779;font-size:var(--t-meta);margin-right:4px;}
.cita-o-share button{min-height:50px;padding:0 22px;font-size:var(--t-text);gap:10px;}
.cita-o-share button span{font-size:20px;line-height:1;}

/* Lage- und Energieblock großzügiger */
.cita-o-map{height:460px;}

.cita-o-eband .ek{padding:15px 4px;font-size:var(--t-meta);}@media (max-width:680px){
  .cita-o-angaben{grid-template-columns:1fr !important;}
  .cita-o-angabe{padding:15px 16px !important;}
  .cita-o-map{height:280px !important;}
  .cita-o-share{flex-direction:column;align-items:stretch;}
  .cita-o-share-t{margin:0 0 4px;}
  .cita-o-share button{width:100%;justify-content:center;}
  .cita-o-facts{gap:6px 14px !important;}}

/* ==========================================================
   OBJEKTKACHELN — zwei pro Reihe, ruhiger Aufbau
   ========================================================== */
.cita-o-split-list{grid-template-columns:minmax(0,1fr) 420px;gap:30px;}
.cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}@media (max-width:1400px){
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:1180px){
  .cita-o-split-list{grid-template-columns:minmax(0,1fr) 340px;gap:22px;}
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}}@media (max-width:980px){
  .cita-o-split-list .cita-o-grid{grid-template-columns:1fr;}}

/* Ort: eine Zeile, nicht umbrechen */
.cita-o-place{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  letter-spacing:.05em;color:#5B6779;margin-bottom:8px;
}

/* Titel: bis zu drei Zeilen, nie mitten im Wort abschneiden */
.cita-o-title{
  -webkit-line-clamp:3;line-height:1.35;min-height:calc(3 * 1.35em);
  overflow-wrap:break-word;hyphens:auto;
}

/* Angaben nebeneinander statt untereinander */
.cita-o-facts{
  display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;
  padding-top:14px;border-top:1px solid var(--c-line);
}
.cita-o-facts li{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  color:#46536A;
}

/* Bild hebt sich beim Überfahren leicht */
.cita-o-thumb{overflow:hidden;}
.cita-o-thumb img{transition:transform .4s ease;}
.cita-o-card:hover .cita-o-thumb img{transform:scale(1.04);}

/* Preis und Abstand */
.cita-o-body{padding:18px 20px 20px;}
.cita-o-price{margin-bottom:14px;}@media (max-width:680px){
  .cita-o-title{-webkit-line-clamp:3;min-height:0;}
  .cita-o-facts{gap:7px 12px;}
  .cita-o-body{padding:16px 16px 18px;}}@media (prefers-reduced-motion: reduce){
  .cita-o-card:hover .cita-o-thumb img{transform:none;}}

/* ==========================================================
   TEXTGRÖSSEN VEREINHEITLICHEN
   Alles im Textbereich hat dieselbe Lesegröße — der Lead
   unterscheidet sich nur durch den Akzentstrich, nicht durch
   eine andere Schriftgröße.
   ========================================================== */
.cita-o-prosa,
.cita-o-prosa p,
.cita-o-prosa li,
.cita-o-prosa > p:first-child,
.cita-o-liste li,
.cita-o-note p,
.cita-o-text p{
  font-size:var(--t-text);
  line-height:1.75;
}
.cita-o-prosa > p:first-child{
  font-size:var(--t-text);
  line-height:1.75;
  padding-left:18px;
  border-left:3px solid var(--c-sec);
  color:#1B2634;
}
.cita-o-prosa .cita-o-sub-h{font-size:var(--t-h3);line-height:1.35;}
.cita-o-liste{padding-left:0;}
.cita-o-liste li{padding:10px 0 10px 28px;}

/* ==========================================================
   BILDER-SLIDER — sichtbar, dass es weitergeht
   ========================================================== */
@media (max-width: 900px){
  .cita-o-stage{padding-right:0;scroll-padding-left:0;}
  /* Das nächste Bild lugt hervor: klarer Hinweis zum Wischen */
  .cita-o-hero,.cita-o-sidepic{flex:0 0 92%;scroll-snap-align:start;}
  .cita-o-stage > :last-child{margin-right:8%;}

  /* Punktleiste unter dem Streifen */
  .cita-o-dots{
    display:flex;justify-content:center;gap:7px;margin:12px 0 0;padding:0;list-style:none;
  }
  .cita-o-dots li{width:8px;height:8px;border-radius:50%;background:#C6D1E2;transition:all .2s ease;}
  .cita-o-dots li.is-on{background:var(--c-pri);width:22px;border-radius:999px;}

  .cita-o-swipehint{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin:10px 14px 0;color:#46536A;font-size:var(--t-meta);
  }
  .cita-o-swipehint::before{content:"\1F446";font-size:18px;}
  .cita-o-swipehint::after{content:"\2192";font-size:18px;color:var(--c-pri);}}
.cita-o-dots{display:none;}

/* ==========================================================
   KONTAKTBOX — Ansprechpartner und Formular
   ========================================================== */

/* Ohne Foto: dezente Fläche statt harter Farbblock */
.cita-o-broker-ini{
  background:linear-gradient(160deg,#EDF2FA,#DDE6F5) !important;
  color:var(--c-pri) !important;
  border:1px solid #D2DDEE;
  font-weight:600;
}

/* Kontaktdaten umbrechen statt abschneiden */
.cita-o-broker-txt{flex:1 1 auto;min-width:0;}
.cita-o-broker-txt a{
  display:block;overflow-wrap:anywhere;word-break:break-word;
  text-overflow:clip;overflow:visible;white-space:normal;line-height:1.45;
}
.cita-o-broker-txt a[href^="mailto"]{font-size:var(--t-klein);}

/* Anliegen: gleiche Höhe, mit Symbol */
.cita-o-anliegen{grid-template-columns:repeat(3,1fr);gap:7px;}
.cita-o-anliegen span{
  flex-direction:column;gap:5px;min-height:70px;padding:10px 6px;
  font-size:var(--t-klein);line-height:1.25;text-align:center;border-radius:10px;
}
.cita-o-anliegen span i{font-style:normal;font-size:20px;line-height:1;}
.cita-o-anliegen input:checked + span{box-shadow:0 3px 12px rgba(23,65,155,.25);}

/* In der schmalen Seitenspalte immer untereinander */
.cita-o-aside .cita-o-req-2{grid-template-columns:1fr;gap:0;}

/* Kästchen und Text sauber ausrichten */
.cita-o-check{align-items:flex-start;gap:12px;margin-bottom:16px;}
.cita-o-check input{margin-top:3px;}
.cita-o-check span{line-height:1.5;}
.cita-o-link{font-size:inherit;color:var(--c-pri);text-decoration:underline;
  text-underline-offset:2px;}

/* Etwas mehr Luft in der Box */
.cita-o-contact{padding:26px 24px;}
.cita-o-broker{gap:16px;margin-bottom:18px;padding-bottom:18px;}@media (max-width:680px){
  .cita-o-anliegen{grid-template-columns:repeat(3,1fr) !important;}
  .cita-o-anliegen span{min-height:66px;font-size:15px;}
  .cita-o-contact{padding:20px 18px;}}@media (max-width:380px){
  .cita-o-anliegen{grid-template-columns:1fr !important;}
  .cita-o-anliegen span{flex-direction:row;min-height:50px;}}

/* ==========================================================
   WORTUMBRUCH — nie mitten im Wort trennen
   Die frühere Schutzregel gegen überlaufende Inhalte hat
   Beschriftungen wie "Schlafzimmer" zerschnitten.
   ========================================================== */
.cita-o-maincol,
.cita-o-stat,
.cita-o-stat span,
.cita-o-stat b,
.cita-o-angabe dt,
.cita-o-angabe dd,
.cita-o-facts li,
.cita-o-feat li,
.cita-o-inv span,
.cita-o-table th,
.cita-o-table td,
.cita-o-anliegen span{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
  -webkit-hyphens:auto;
}

/* Nur dort trennen, wo lange Zeichenketten wirklich vorkommen */
.cita-o-broker-txt a,
.cita-o-prosa a{overflow-wrap:anywhere;}

/* Kacheln breiter, damit die Beschriftung in eine Zeile passt */
.cita-o-stats{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));}
.cita-o-stat{padding:20px 16px;}
.cita-o-stat span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}@media (max-width:1180px){
  .cita-o-stats{grid-template-columns:repeat(3,minmax(0,1fr));}}@media (max-width:680px){
  .cita-o-stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cita-o-stat{padding:16px 14px !important;}
  .cita-o-stat span{font-size:16px;}}@media (max-width:360px){
  .cita-o-stats{grid-template-columns:1fr !important;}}

/* ==========================================================
   SPRUNGMARKEN UND MITLAUFENDE LEISTE
   ========================================================== */
/* Ziele rutschen unter die Leiste, nicht dahinter */
#cita-o-beschreibung,#cita-o-lage,#cita-o-energie,
#cita-o-calc,#cita-o-anfordern,#cita-o-similar,#cita-o-grid{
  scroll-margin-top:104px;
}
html{scroll-behavior:smooth;}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}

/* Leiste größer und lesbarer */
.cita-o-rail{padding:14px 30px;gap:24px;}
.cita-o-rail-t{font-size:var(--t-text);}
.cita-o-rail-p{font-size:21px;}
.cita-o-rail nav{gap:24px;}
.cita-o-rail nav a{font-size:var(--t-meta);padding:6px 2px;border-bottom:2px solid transparent;}
.cita-o-rail nav a:hover{border-bottom-color:var(--c-sec);}
.cita-o-rail .cita-o-btn{min-height:48px;padding:12px 24px;font-size:var(--t-meta);}

/* Bilder nie über ihre echte Auflösung hinaus strecken */
.cita-o-hero img,.cita-o-sidepic img,.cita-o-thumb img{image-rendering:auto;}

/* ==========================================================
   KACHELTEXTE VOLLSTÄNDIG ZEIGEN
   ========================================================== */
/* Titel: keine Kürzung mehr, saubere Silbentrennung */
.cita-o-title{
  display:block;
  -webkit-line-clamp:none;
  -webkit-box-orient:horizontal;
  overflow:visible;
  min-height:0;
  line-height:1.35;
  hyphens:auto;
  -webkit-hyphens:auto;
  overflow-wrap:break-word;
}

/* Ort: bis zu zwei Zeilen statt Abschneiden */
.cita-o-place{
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  letter-spacing:.04em;
  line-height:1.4;
}

/* Preis und Angaben bleiben trotz unterschiedlicher Titellängen
   auf einer Linie: die Angaben werden nach unten geschoben */
.cita-o-body{display:flex;flex-direction:column;}
.cita-o-price{margin-top:auto;padding-top:4px;}
.cita-o-facts{margin-top:14px;}

/* ==========================================================
   SCHRIFTEN — je nach Auswahl in den Einstellungen
   ========================================================== */
.cita-o{
  --f-text:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --f-kopf:"Manrope","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body.cita-font-serif .cita-o{
  --f-kopf:"Fraunces",Georgia,"Times New Roman",serif;
}
body.cita-font-klar .cita-o{
  --f-kopf:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body.cita-font-theme .cita-o{--f-kopf:inherit; --f-text:inherit;}

.cita-o h1,.cita-o h2,.cita-o h3,
.cita-o-title,.cita-o-price,.cita-o-price-lg,.cita-o-hero-preis,
.cita-o-stat b,.cita-o-inv b,.cita-o-calc-rate b,.cita-o-rail-p{
  font-family:var(--f-kopf);
  letter-spacing:-.02em;
  font-weight:700;
}
.cita-o-head h1{font-weight:800;letter-spacing:-.025em;}
.cita-o-title{font-weight:700;letter-spacing:-.015em;}

/* ==========================================================
   ÜBERSICHT — Karte oben, Objekte über die volle Breite
   ========================================================== */
.cita-o-mapcol{position:static;margin:0 0 28px;}
.cita-o-listmap{height:420px;width:100%;}
.cita-o-mapcol .cita-o-sub{margin:10px 0 0;}

.cita-o-split-list{display:block;}
.cita-o-split-list .cita-o-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}@media (max-width:1240px){
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}}@media (max-width:820px){
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
  .cita-o-listmap{height:340px;}}@media (max-width:620px){
  .cita-o-split-list .cita-o-grid{grid-template-columns:1fr !important;}
  .cita-o-listmap{height:280px !important;}}

.cita-o-split-list.is-nomap + .cita-o-mapcol{display:none;}
.cita-o.is-nomap-wrap .cita-o-mapcol{display:none;}

/* Größere Bilder in den Kacheln */
.cita-o-thumb{padding-top:70%;}

/* ==========================================================
   KONTAKTDATEN — Mailadresse nicht mehr zerreißen
   ========================================================== */
.cita-o-broker-txt a[href^="mailto"]{
  overflow-wrap:normal;
  word-break:keep-all;
  white-space:nowrap;
  font-size:15px;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.cita-o-broker-txt a[href^="tel"]{white-space:nowrap;font-size:var(--t-meta);font-weight:600;}

/* ==========================================================
   ANSPRECHPARTNER — Kontaktdaten über die volle Breite
   ========================================================== */
.cita-o-broker{display:block;}
.cita-o-broker-kopf{display:flex;gap:16px;align-items:center;margin-bottom:16px;}
.cita-o-broker-txt{gap:2px;}
.cita-o-broker-kontakt{display:flex;flex-direction:column;gap:10px;}
.cita-o-broker-kontakt a{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;border:1px solid var(--c-line);border-radius:10px;
  background:#FBFCFE;color:var(--c-pri);font-size:var(--t-meta);
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cita-o-broker-kontakt a:hover{border-color:var(--c-pri);background:#F4F7FC;}
.cita-o-broker-kontakt a span{font-size:17px;line-height:1;flex:0 0 auto;}
.cita-o-broker-kontakt a[href^="mailto"]{font-size:16px;}

/* ==========================================================
   PREISSENKUNG
   ========================================================== */
.cita-o-runter{
  display:inline-block;padding:6px 13px;border-radius:999px;
  background:#0D9488;color:#fff;font-size:14px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;
}
.cita-o-thumb .cita-o-runter{position:absolute;left:14px;top:52px;z-index:2;}
.cita-o-altpreis{
  margin-left:12px;color:#7A8698;font-size:20px;font-weight:500;
  text-decoration:line-through;vertical-align:middle;
}
.cita-o-price-lg{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}

/* Preisbeobachten-Text lesbar */
.cita-o-alarm p{font-size:var(--t-meta);line-height:1.6;color:#46536A;}
.cita-o-alarm h2{margin-bottom:10px;}

/* Anliegen-Knöpfe: kein Umbruch mehr */
.cita-o-anliegen span{hyphens:none;-webkit-hyphens:none;word-break:keep-all;white-space:nowrap;}
.cita-o-anliegen span i{font-size:19px;}@media (max-width:680px){
  .cita-o-broker-kontakt a{font-size:16px;padding:12px 14px;}
  .cita-o-altpreis{font-size:17px;margin-left:8px;}}

/* ==========================================================
   RUNDGANG UND VIDEO
   ========================================================== */
.cita-o-medien{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.cita-o-medium{display:flex;flex-direction:column;gap:4px;padding:22px 24px;
  background:#fff;border:1px solid var(--c-line);border-radius:12px;text-decoration:none;
  color:var(--c-ink);transition:border-color .2s ease,box-shadow .2s ease;}
.cita-o-medium:hover{border-color:var(--c-pri);box-shadow:0 6px 20px rgba(12,24,48,.1);}
.cita-o-medium span{font-size:28px;line-height:1;margin-bottom:6px;}
.cita-o-medium b{font-size:var(--t-text);}
.cita-o-medium small{color:#5B6779;font-size:var(--t-klein);}

/* ==========================================================
   OBJEKTVERGLEICH
   ========================================================== */

/* Zuletzt angesehen */
.cita-o-zuletzt{margin:46px 0 0;}
.cita-o-zuletzt h2{font-size:var(--t-h2);margin:0 0 18px;}
.cita-o-zuletzt .cita-o-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}@media (max-width:820px){
  .cita-o-zuletzt .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:620px){
  .cita-o-zuletzt .cita-o-grid{grid-template-columns:1fr;}
  
  
  .cita-o-medien{grid-template-columns:1fr;}}

/* Druckansicht */
@media print{
  .cita-o-rail,.cita-o-sticky,.cita-o-share,.cita-o-vglleiste,.cita-o-aside,
  .cita-o-map,.cita-o-similar,.cita-o-zuletzt,.cita-o-back{display:none !important;}
  .cita-o-split{display:block !important;}
  .cita-o{max-width:none;font-size:12pt;}
  .cita-o-stage{page-break-inside:avoid;}
  .cita-o-hero{padding-top:52% !important;}}

/* ==========================================================
   BILDDARSTELLUNG — weniger Beschnitt, keine Streckung
   ========================================================== */
.cita-o-hero{padding-top:42%;}
.cita-o-hero img{object-position:center center;}
.cita-o-thumb{padding-top:68%;}

/* Bilder nie über ihre Auflösung hinaus vergrößern */
.cita-o-hero img,.cita-o-sidepic img,.cita-o-thumb img,
.cita-o-plans img,.cita-o-broker img{image-rendering:auto;}@media (max-width:1024px){ .cita-o-hero{padding-top:52%;}}@media (max-width:900px){ .cita-o-hero,.cita-o-sidepic{aspect-ratio:4/3;padding-top:0 !important;}}

/* ==========================================================
   RESPONSIVE — abschließende Durchsicht
   ========================================================== */
@media (max-width:1024px){
  
  .cita-o-medien{grid-template-columns:1fr 1fr;}}@media (max-width:680px){
  
  .cita-o-medien{grid-template-columns:1fr !important;}
  .cita-o-medium{padding:18px 20px;}
  .cita-o-zuletzt h2,.cita-o-similar h2{font-size:var(--t-h2);}
  .cita-o-angaben{gap:1px;}
  .cita-o-invest{gap:8px;}
  .cita-o-inv{padding:14px;}
  .cita-o-eband{gap:2px;}
  .cita-o-hero-cap{padding:48px 14px 12px !important;}
  .cita-o-swipehint{font-size:16px;}}@media (max-width:420px){
  
  
  
  .cita-o-tag,.cita-o-neu,.cita-o-runter{font-size:12px;padding:5px 10px;}
  .cita-o-thumb .cita-o-runter,.cita-o-neu{top:48px;}}

/* ==========================================================
   SUCHE SPEICHERN
   ========================================================== */

/* ==========================================================
   UMGEBUNG
   ========================================================== */
.cita-o-umgebung{padding:24px;background:var(--c-bg);border:1px solid var(--c-line);border-radius:12px;}
.cita-o-umgebung > .cita-o-sub{margin:12px 0 0;}
.cita-o-umgraster{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;}
.cita-o-umgblock h3{margin:0 0 10px;font-size:var(--t-h3);}
.cita-o-umgblock ul{margin:0;padding:0;list-style:none;}
.cita-o-umgblock li{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:9px 0;border-bottom:1px solid #E3E9F2;font-size:var(--t-meta);
}
.cita-o-umgblock li:last-child{border-bottom:none;}
.cita-o-umgblock li span{color:#3D4756;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cita-o-umgblock li b{color:var(--c-pri);white-space:nowrap;font-weight:600;}@media (max-width:680px){
  
  .cita-o-umgebung{padding:18px;}
  .cita-o-umgraster{grid-template-columns:1fr;gap:20px;}}

/* Ladeanzeige für die Umgebung */
.cita-o-umgladen{display:flex;align-items:center;gap:12px;color:#5B6779;font-size:var(--t-meta);}
.cita-o-spinner{
  width:18px;height:18px;flex:0 0 18px;border-radius:50%;
  border:2px solid #D6DFEC;border-top-color:var(--c-pri);
  animation:cita-dreh .8s linear infinite;
}@keyframes cita-dreh{to{transform:rotate(360deg);}}@media (prefers-reduced-motion: reduce){.cita-o-spinner{animation:none;}}

/* Energieausweis-Hinweis */

/* ==========================================================
   ABSCHLIESSENDE UMBRUCHSTUFEN — absteigend, gelten zuletzt
   ========================================================== */
@media (max-width: 1024px){
  .cita-o-split{grid-template-columns:1fr !important;}
  .cita-o-aside{position:static !important;}
  .cita-o-rail{display:none !important;}
  .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cita-o-similar .cita-o-grid,.cita-o-zuletzt .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cita-o-medien{grid-template-columns:1fr 1fr !important;}}@media (max-width: 900px){
  .cita-o-stage{grid-template-columns:1fr !important;}
  .cita-o-side{display:contents !important;}
  .cita-o-listmap{height:340px !important;}
  .cita-o-umgraster{grid-template-columns:1fr 1fr !important;}}@media (max-width: 680px){
  .cita-o{font-size:18px !important;}
  .cita-o-split-list .cita-o-grid,
  .cita-o-similar .cita-o-grid,
  .cita-o-zuletzt .cita-o-grid{grid-template-columns:1fr !important;}
  .cita-o-stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cita-o-invest{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cita-o-angaben,.cita-o-feat,.cita-o-medien,.cita-o-umgraster{grid-template-columns:1fr !important;}
  .cita-o-anliegen{grid-template-columns:repeat(3,1fr) !important;}
  .cita-o-req-2{grid-template-columns:1fr !important;}
  .cita-o-listmap{height:280px !important;}
  .cita-o-map{height:260px !important;}
  
  .cita-o-share{flex-direction:column !important;}
  .cita-o-share button{width:100% !important;}
  }@media (max-width: 420px){
  .cita-o{font-size:17.5px !important;}
  
  .cita-o-stats,.cita-o-invest{grid-template-columns:1fr !important;}
  .cita-o-anliegen{grid-template-columns:1fr !important;}
  .cita-o-anliegen span{flex-direction:row !important;min-height:50px !important;}
  .cita-o-calc-2{grid-template-columns:1fr !important;}
  .cita-o-broker-kopf{flex-direction:column !important;align-items:flex-start !important;}}

/* Ablauf bei Mietobjekten */
.cita-o-ablauf ol{margin:0;padding:0;list-style:none;counter-reset:schritt;}
.cita-o-ablauf li{
  position:relative;counter-increment:schritt;
  padding:0 0 18px 44px;
}
.cita-o-ablauf li::before{
  content:counter(schritt);
  position:absolute;left:0;top:0;
  width:30px;height:30px;border-radius:50%;
  background:var(--c-pri);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;
}
.cita-o-ablauf li::after{
  content:"";position:absolute;left:14px;top:32px;bottom:4px;width:2px;background:#DDE5F0;
}
.cita-o-ablauf li:last-child{padding-bottom:4px;}
.cita-o-ablauf li:last-child::after{display:none;}
.cita-o-ablauf li b{display:block;font-size:var(--t-meta);margin-bottom:2px;}
.cita-o-ablauf li span{display:block;color:#5B6779;font-size:var(--t-klein);line-height:1.5;}
.cita-o-ablauf .cita-o-sub{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--c-line);}

/* ==========================================================
   NICHT MEHR VERFÜGBAR
   ========================================================== */
.cita-o-weg{padding-top:20px;padding-bottom:40px;}
.cita-o-weg-kopf{
  max-width:720px;margin:0 auto 46px;padding:44px 40px;text-align:center;
  background:linear-gradient(160deg,#F7FAFC 0%,#EDF2FA 100%);
  border:1px solid var(--c-line);border-radius:16px;
}
.cita-o-weg-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:72px;height:72px;margin-bottom:18px;border-radius:50%;
  background:#fff;border:1px solid #DDE5F0;font-size:32px;
  box-shadow:0 4px 16px rgba(12,24,48,.08);
}
.cita-o-weg-kopf h1{margin:0 0 14px;font-size:var(--t-h1);line-height:1.2;}
.cita-o-weg-kopf p{margin:0 auto 20px;max-width:56ch;font-size:var(--t-text);line-height:1.7;color:#3D4756;}
.cita-o-weg-aktionen{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px !important;}
.cita-o-weg-kopf .cita-o-sub{margin:0;}
.cita-o-weg-kopf .cita-o-sub a{color:var(--c-pri);font-weight:600;text-decoration:none;}
.cita-o-weg-vorschlaege h2{text-align:center;margin:0 0 24px;font-size:var(--t-h2);}
.cita-o-weg-vorschlaege .cita-o-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}@media (max-width:1024px){
  .cita-o-weg-vorschlaege .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:680px){
  .cita-o-weg-kopf{padding:32px 20px;margin-bottom:34px;}
  .cita-o-weg-ic{width:62px;height:62px;font-size:27px;}
  .cita-o-weg-aktionen .cita-o-btn{flex:1 1 100%;text-align:center;}
  .cita-o-weg-vorschlaege .cita-o-grid{grid-template-columns:1fr;}}

/* ==========================================================
   BILDBEREICHE
   ========================================================== */
.cita-o-bereiche{
  display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;
}
.cita-o-bereiche button{
  display:inline-flex;align-items:center;gap:8px;
  min-height:42px;padding:0 16px;
  border:1px solid var(--c-line);border-radius:999px;background:#fff;
  color:#46536A;font:inherit;font-size:var(--t-klein);cursor:pointer;
}
.cita-o-bereiche button i{
  font-style:normal;padding:1px 8px;border-radius:999px;
  background:#EDF1F7;color:#5B6779;font-size:13px;font-weight:600;
}
.cita-o-bereiche button:hover{border-color:var(--c-pri);color:var(--c-pri);}
.cita-o-bereiche button.is-on{background:var(--c-pri);border-color:var(--c-pri);color:#fff;}
.cita-o-bereiche button.is-on i{background:rgba(255,255,255,.22);color:#fff;}@media (max-width:900px){
  .cita-o-bereiche{
    flex-wrap:nowrap;overflow-x:auto;padding:0 14px 4px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .cita-o-bereiche::-webkit-scrollbar{display:none;}
  .cita-o-bereiche button{flex:0 0 auto;}}

/* ==========================================================
   BILDER GRÖSSER UND RUHIGER
   ========================================================== */
.cita-o-hero{padding-top:48%;}
.cita-o-stage{grid-template-columns:2fr 1fr;gap:10px;}
.cita-o-sidepic{min-height:0;}
.cita-o-side{grid-template-rows:1fr 1fr;gap:10px;}

/* Platz bleibt erhalten, auch wenn ein Bereich weniger Bilder hat */
.cita-o-sidepic[style*="hidden"]{background:#EDF1F7;}@media (max-width:1024px){ .cita-o-hero{padding-top:56%;}}@media (max-width:900px){
  .cita-o-hero,.cita-o-sidepic{aspect-ratio:4/3;padding-top:0 !important;}}@media (max-width:680px){
  .cita-o-bereiche{margin-top:10px;}}

/* Vorschläge bei leerer Trefferliste */
.cita-o-vorschlag{
  grid-column:1/-1;padding:26px 24px;background:var(--c-bg);
  border:1px solid var(--c-line);border-radius:12px;
}
.cita-o-vorschlag b{display:block;margin-bottom:14px;font-size:var(--t-text);}
.cita-o-vorschlag > div{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.cita-o-vorschlag button{
  display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 18px;
  border:1px solid var(--c-pri);border-radius:999px;background:#fff;
  color:var(--c-pri);font:inherit;font-size:var(--t-meta);cursor:pointer;
}
.cita-o-vorschlag button:hover{background:var(--c-pri);color:#fff;}
.cita-o-vorschlag button i{
  font-style:normal;padding:1px 9px;border-radius:999px;
  background:#EDF1F7;color:#46536A;font-size:13px;font-weight:700;
}
.cita-o-vorschlag button:hover i{background:rgba(255,255,255,.25);color:#fff;}@media (max-width:680px){
  .cita-o-vorschlag{padding:20px 16px;}
  .cita-o-vorschlag button{flex:1 1 100%;justify-content:center;}}

/* ==========================================================
   HAUPTBILD VOLLSTÄNDIG ZEIGEN
   Vorher füllte das Bild die Fläche und wurde dabei
   beschnitten - jetzt ist immer das ganze Foto zu sehen.
   ========================================================== */
.cita-o-hero{
  background:#111A28;
  padding-top:52%;
}
.cita-o-hero img{
  object-fit:contain !important;
  object-position:center center;
  background:#111A28;
}

/* Beschriftung bleibt lesbar, auch über hellen Bildrändern */
.cita-o-hero-cap{
  background:linear-gradient(to top,rgba(8,14,26,.92) 0%,rgba(8,14,26,.55) 45%,transparent 100%);
}

/* Vorschaubilder daneben bleiben formatfüllend */
.cita-o-sidepic img{object-fit:cover;}@media (max-width:1024px){ .cita-o-hero{padding-top:58%;}}@media (max-width:900px){
  .cita-o-hero{aspect-ratio:4/3;padding-top:0 !important;}
  .cita-o-hero img{object-fit:contain !important;}}@media (max-width:680px){
  .cita-o-hero{aspect-ratio:3/2;}}

/* ==========================================================
   FEINSCHLIFF — Lesbarkeit, Kontrast, Rhythmus
   Steht bewusst am Ende und vereinheitlicht, was über viele
   Ergänzungen auseinandergelaufen ist.
   ========================================================== */

/* --- Kontraste anheben ---------------------------------- */
/* #7A8698 und #6B7788 lagen unter dem Mindestkontrast für
   kleine Schrift auf hellem Grund. */
.cita-o-sub,
.cita-o-hint,
.cita-o-fine p,
.cita-o-legal,
.cita-o-angabe dt,
.cita-o-umgblock li span,
.cita-o-broker-txt > span,
.cita-o-stat span,
.cita-o-place,
.cita-o-facts,
.cita-o-table th,
.cita-o-alarm p,
.cita-o-medium small,
.cita-o-ablauf li span,
.cita-o-boxlead,
.cita-o-check{
  color:#46536A;
}
.cita-o-altpreis{color:#5B6779;}

.cita-o-bereiche button{color:#3D4756;}

/* --- Rhythmus: gleiche Abstände zwischen Abschnitten ----- */
.cita-o{
  --luft-s:14px;
  --luft-m:26px;
  --luft-l:46px;
}
.cita-o-text{margin:0 0 var(--luft-l);}
.cita-o-text h2{margin:0 0 var(--luft-m);}
.cita-o-text > :last-child{margin-bottom:0;}
.cita-o-stats{margin:4px 0 var(--luft-l);}
.cita-o-invest{margin:0 0 var(--luft-l);}
.cita-o-head{margin:0 0 var(--luft-m);}
.cita-o-aside{gap:22px;}
.cita-o-box{padding:24px;}

/* --- Überschriften klarer abgestuft ---------------------- */
.cita-o-head h1{margin:8px 0 12px;letter-spacing:-.025em;}
.cita-o-text h2{position:relative;padding-bottom:12px;}
.cita-o-box h2{padding:0;border:none;margin-bottom:16px;}
.cita-o-box h2::after{display:none;}

/* --- Tabellen leichter lesbar ---------------------------- */
.cita-o-table tbody tr:nth-child(odd){background:#FAFBFD;}
.cita-o-table th,.cita-o-table td{padding:14px 12px;}
.cita-o-table th{font-weight:500;}
.cita-o-table td{font-weight:600;color:#16202F;}
.cita-o-table tbody tr:last-child th,
.cita-o-table tbody tr:last-child td{border-bottom:none;}

/* --- Bedienelemente einheitlich -------------------------- */
.cita-o-btn,.cita-o-back a{
  min-height:48px;display:inline-flex;align-items:center;justify-content:center;
}
.cita-o-btn-primary{box-shadow:0 2px 10px rgba(23,65,155,.22);}
.cita-o-btn-primary:hover{box-shadow:0 4px 16px rgba(23,65,155,.32);}

/* --- Sichtbarer Fokus für Tastaturnutzung ---------------- */
.cita-o a:focus-visible,
.cita-o button:focus-visible,
.cita-o input:focus-visible,
.cita-o select:focus-visible{
  outline:3px solid var(--c-sec);
  outline-offset:3px;
  border-radius:6px;
}

/* --- Links im Fließtext erkennbar ------------------------ */
.cita-o-prosa a,.cita-o-note a{
  color:var(--c-pri);text-decoration:underline;text-underline-offset:3px;
}

/* --- Handy: Abstände und feste Leiste -------------------- */
@media (max-width:680px){
  .cita-o{--luft-m:20px; --luft-l:34px;}
  .cita-o-box{padding:20px;}
  .cita-o-aside{gap:18px;}
  .cita-o-detail{padding-bottom:96px !important;}
  .cita-o-table th,.cita-o-table td{padding:13px 8px;}
  .cita-o-head h1{margin:6px 0 10px;}
  .cita-o-stats{margin-bottom:26px;}

  /* Wischbare Leisten bekommen einen Hinweis auf mehr Inhalt */
  .cita-o-bereiche{position:relative;}
  .cita-o-bereiche::after{
    content:"";position:sticky;right:0;top:0;flex:0 0 24px;height:42px;
    background:linear-gradient(to right,rgba(247,250,252,0),#F7FAFC);
    pointer-events:none;
  }}

/* --- Druck: Kontraste und Umbrüche ----------------------- */
@media print{
  .cita-o-text{page-break-inside:avoid;}
  .cita-o-stats,.cita-o-invest,.cita-o-angaben{page-break-inside:avoid;}
  .cita-o-hero{background:none;}
  .cita-o-hero img{object-fit:contain !important;}
  .cita-o *{color:#000 !important;}
  .cita-o-price,.cita-o-stat b{color:#000 !important;}}

/* ==========================================================
   PLATZ FÜR DIE FESTEN SCHALTFLÄCHEN DER WEBSITE
   Links unten sitzt der Pfeil nach oben, rechts unten das
   Barrierefreiheits-Symbol. Unsere Leisten weichen aus,
   damit nichts übereinanderliegt.
   ========================================================== */
.cita-o{
  --frei-links:72px;
  --frei-rechts:72px;
}

/* Untere Aktionsleiste der Detailseite */
.cita-o-sticky{
  padding-left:calc(14px + var(--frei-links));
  padding-right:calc(14px + var(--frei-rechts));
  gap:12px;
}
.cita-o-sticky span{font-size:var(--t-meta);}

/* Vergleichsleiste: höher setzen und seitlich einrücken */

/* Auf Seiten ohne untere Leiste reicht weniger Abstand */

@media (max-width:680px){
  .cita-o-sticky{
    padding-left:calc(10px + var(--frei-links));
    padding-right:calc(10px + var(--frei-rechts));
  }
  .cita-o-sticky .cita-o-btn{padding:12px 18px;white-space:nowrap;}}

/* Sehr schmale Geräte: Leisten noch kompakter */
@media (max-width:420px){
  .cita-o{--frei-links:62px; --frei-rechts:62px;}
  .cita-o-sticky span{font-size:15px;}
  .cita-o-sticky .cita-o-btn{padding:11px 14px;font-size:15px;}}

/* Die Seite endet mit genug Luft über den festen Leisten */
.cita-o-detail{padding-bottom:104px;}@media (max-width:680px){ .cita-o-detail{padding-bottom:112px !important;}}

/* ==========================================================
   FILTER AM HANDY ZUSAMMENKLAPPBAR
   Die Filterleiste nahm mobil einen ganzen Bildschirm ein,
   bevor das erste Objekt zu sehen war.
   ========================================================== */
@media (max-width:820px){
  
  
  
  
  

  /* Formular eingeklappt: nur die Umschalter bleiben sichtbar */
  
  
  /* Kaufen/Mieten immer erreichbar */
  
  }

/* Umschalter außerhalb des Formulars sichtbar halten */

/* ==========================================================
   MERKLISTE TEILEN
   ========================================================== */

/* Vergleichen und Drucken in der Teilen-Leiste */
.cita-o-share button[data-vgl].is-on{
  background:var(--c-pri);border-color:var(--c-pri);color:#fff;
}

/* ==========================================================
   SUCHE IMMER SICHTBAR
   Der Aufklapp-Schalter entfällt — die Filter stehen offen da,
   auch auf dem Handy. Sonst bleibt alles wie gehabt.
   ========================================================== */

/* ==========================================================
   FELDRASTER DER SUCHE
   Angesprochen wird .cita-o-row (das eigentliche Raster),
   nicht der Container .cita-o-filters.
   ========================================================== */
@media (max-width:820px){
  
  /* Ort und Sortierung über die ganze Zeile */
  
  
  
  }

/* ==========================================================
   FELDRASTER — FINAL
   Drei ältere Regeln erzwangen unter 420px eine Spalte.
   Auf einem üblichen Handy (390px) wurde die Suche dadurch
   zur langen Liste. Ab hier gilt: immer zwei Spalten.
   ========================================================== */

/* ==========================================================
   VERGLEICHSLEISTE ZURÜCKHALTENDER
   Sie stand dauerhaft im Bild. Jetzt verschwindet sie beim
   Scrollen nach unten und kommt zurück, sobald man hochscrollt.
   ========================================================== */

/* ==========================================================
   KORREKTUREN — FINAL
   ========================================================== */

/* 1. Vergleich ist entfernt: Reste sicher ausblenden */

/* 2. Kaufen / Mieten war an den entfernten Schalter gekoppelt */

/* 3. Feldraster: zwei Spalten auf jedem Handy */

/* 4. Untere Leiste über die festen Symbole der Website heben */
@media (max-width:820px){
  .cita-o-sticky{
    bottom:76px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    border-radius:14px !important;
    padding:10px 16px !important;
    box-shadow:0 8px 28px rgba(8,16,30,.26) !important;
    border:1px solid var(--c-line) !important;
  }
  .cita-o-sticky span{font-size:17px;}
  .cita-o-sticky .cita-o-btn{min-height:46px;padding:11px 18px;font-size:16px;}
  .cita-o-detail{padding-bottom:150px !important;}}@media (max-width:420px){
  .cita-o-sticky{bottom:72px !important;padding:9px 12px !important;}
  .cita-o-sticky span{font-size:16px;}
  .cita-o-sticky .cita-o-btn{padding:10px 14px;font-size:15px;}}

/* ==========================================================
   SUCHE AM HANDY — VERBINDLICHE FASSUNG
   Höhere Spezifität (.cita-o davor), damit frühere Regeln
   wie "flex-direction:column" nicht mehr durchschlagen.
   ========================================================== */
@media (max-width:820px){

  /* Kaufen / Mieten: drei Knöpfe nebeneinander in einer Schiene */
  
  
  
  
  

  /* Felder: immer zwei nebeneinander */
  
  
  /* Ort und Sortierung über die ganze Zeile */
  
  

  /* Der Kasten selbst kompakter */
  
  
  
  }

/* ==========================================================
   OBJEKTLISTE: ZWEI KACHELN PRO REIHE
   Zwei statt drei Spalten - dadurch werden die Kacheln breiter
   und die Bilder deutlich groesser.
   ========================================================== */
@media (min-width:821px){
  .cita-o .cita-o-split-list .cita-o-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:30px !important;
  }
  /* Bild etwas hoeher, damit die Flaeche gut gefuellt wird */
  .cita-o .cita-o-split-list .cita-o-thumb{padding-top:66%;}}@media (max-width:820px){
  .cita-o .cita-o-split-list .cita-o-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }}@media (max-width:620px){
  .cita-o .cita-o-split-list .cita-o-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }}

/* ==========================================================
   GALERIE — VERBINDLICHE FASSUNG (v4.10)
   Ersetzt alle frueheren Hero-/Slider-Regeln. Hoehe kommt
   ausschliesslich aus padding-top, nicht aus aspect-ratio oder
   Flex-Streckung; das Foto wird immer vollstaendig gezeigt.
   ========================================================== */
.cita-o .cita-o-stage{
  display:grid !important;
  grid-template-columns:2fr 1fr !important;
  grid-auto-rows:auto;
  gap:8px !important;
  align-items:stretch;
  width:100vw !important;max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;
  border-radius:0 !important;box-shadow:none !important;
  overflow:hidden !important;
  background:#111A28;
}
.cita-o .cita-o-hero{
  position:relative !important;width:100% !important;height:auto !important;
  padding:0 !important;padding-top:62% !important;
  aspect-ratio:auto !important;flex:none !important;
  margin:0 !important;background:#111A28 !important;overflow:hidden !important;
}
.cita-o .cita-o-hero img{
  position:absolute !important;inset:0 !important;
  width:100% !important;height:100% !important;max-width:none !important;
  object-fit:contain !important;object-position:center center !important;
  background:#111A28;display:block;cursor:zoom-in;
}
.cita-o .cita-o-side{
  display:grid !important;grid-template-rows:1fr 1fr !important;grid-template-columns:1fr !important;
  gap:8px !important;min-width:0;
}
.cita-o .cita-o-sidepic{
  position:relative !important;display:block !important;width:100% !important;height:100% !important;
  min-height:0 !important;padding:0 !important;margin:0 !important;border:none !important;
  aspect-ratio:auto !important;flex:none !important;
  background:#111A28 !important;overflow:hidden !important;cursor:pointer;
}
.cita-o .cita-o-sidepic img{
  position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;
  max-width:none !important;object-fit:cover !important;display:block;
}
/* Desktop: nur zwei Nebenbilder; ausgeblendete behalten ihren Platz */
.cita-o .cita-o-side .cita-o-sidepic:nth-child(n+3){display:none !important;}
.cita-o .cita-o-side .cita-o-sidepic[hidden]{display:block !important;visibility:hidden;}
.cita-o .cita-o-side .cita-o-sidepic[hidden]:nth-child(n+3){display:none !important;}

.cita-o .cita-o-hero-cap{
  padding:64px 32px 22px !important;
  background:linear-gradient(to top,rgba(8,14,26,.9) 0%,rgba(8,14,26,.5) 50%,transparent 100%) !important;
}
.cita-o-swipehint,.cita-o-dots{display:none !important;}@media (max-width:1024px){
  .cita-o .cita-o-hero{padding-top:66.67% !important;}}

/* Handy und Tablet: ein Bild pro Bildschirmbreite, wischbar, ohne Anschnitt */
@media (max-width:900px){
  .cita-o .cita-o-stage{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:0 !important;
    width:100% !important;max-width:100% !important;
    margin-left:0 !important;margin-right:0 !important;
    overflow-x:auto !important;overflow-y:hidden !important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .cita-o .cita-o-stage::-webkit-scrollbar{display:none;}
  .cita-o .cita-o-side{display:contents !important;}
  .cita-o .cita-o-hero,
  .cita-o .cita-o-sidepic{
    flex:0 0 100% !important;
    width:100% !important;
    height:0 !important;
    min-height:0 !important;
    padding-top:66.67% !important;   /* 3:2 - das ganze Foto ist zu sehen */
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .cita-o .cita-o-side .cita-o-sidepic:nth-child(n+3){display:block !important;}
  .cita-o .cita-o-side .cita-o-sidepic[hidden]{display:none !important;}
  .cita-o .cita-o-sidepic img{object-fit:contain !important;}
  .cita-o .cita-o-hero-all{display:none !important;}
  .cita-o .cita-o-hero-cap{padding:48px 16px 14px !important;}

  .cita-o-swipehint{
    display:flex !important;align-items:center;justify-content:center;gap:8px;
    margin:10px 14px 0;color:#46536A;font-size:var(--t-meta,17px);
  }
  .cita-o-swipehint::before{content:"\1F446";font-size:18px;}
  .cita-o-swipehint::after{content:"\2192";font-size:18px;color:var(--c-pri);}
  .cita-o-dots{
    display:flex !important;justify-content:center;flex-wrap:wrap;gap:7px;margin:12px 0 0;padding:0;list-style:none;
  }
  .cita-o-dots li{width:8px;height:8px;border-radius:50%;background:#C6D1E2;transition:all .2s ease;}
  .cita-o-dots li.is-on{background:var(--c-pri);width:22px;border-radius:999px;}
  .cita-o-dots.is-viele{display:none !important;}}@media (max-width:680px){
  .cita-o .cita-o-hero-preis{font-size:26px !important;}}@media print{
  .cita-o .cita-o-stage{display:block !important;}
  .cita-o .cita-o-side{display:none !important;}}

/* Versionsmarke neben "Alle Immobilien" - klein, zur Fehlersuche */
.cita-o-ver{display:inline-block;margin-left:12px;color:#9AA5B5;font-size:12px;letter-spacing:.03em;vertical-align:middle;}

/* ==========================================================
   v4.11 — GALERIE, MASSE, RESPONSIVE (SCHLUSSSCHICHT)
   Ersetzt die Groessenregeln aller frueheren Schichten.
   Aendern nur hier. Buehnenbreite ueber --cita-buehne.
   ========================================================== */
:root{
  --cita-buehne:1400px;   /* Hoechstbreite der Bildbuehne am PC */
  --cita-hero-max:620px;  /* Hoechsthoehe des Titelbildes am PC */
}

/* --- Buehne: nicht mehr randlos ueber den ganzen Bildschirm.
       Dadurch wird das Titelbild kleiner ausgeliefert und passt
       zur Textspalte darunter. --- */
.cita-o .cita-o-stage{
  display:grid !important;
  grid-template-columns:2fr 1fr !important;
  gap:8px !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:var(--cita-buehne) !important;
  margin:0 auto 4px !important;
  border-radius:14px !important;
  box-shadow:0 10px 30px rgba(12,24,48,.10) !important;
  overflow:hidden !important;
  background:#0E1725;
}

/* --- Titelbild: Hoehe aus dem Seitenverhaeltnis, hart gedeckelt.
       3:2 entspricht dem Format der meisten Objektfotos, deshalb
       entstehen bei "contain" keine Balken. --- */
.cita-o .cita-o-hero{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  padding:0 !important;
  aspect-ratio:3/2 !important;
  max-height:min(62vh, var(--cita-hero-max)) !important;
  margin:0 !important;
  background:#0E1725 !important;
  overflow:hidden !important;
}
.cita-o .cita-o-hero img{
  position:absolute !important;inset:0 !important;
  width:100% !important;height:100% !important;max-width:none !important;
  object-fit:contain !important;object-position:center center !important;
  background:#0E1725;display:block;cursor:zoom-in;
}

.cita-o .cita-o-side{
  display:grid !important;
  grid-template-rows:1fr 1fr !important;
  grid-template-columns:1fr !important;
  gap:8px !important;min-width:0;
}
.cita-o .cita-o-sidepic{
  position:relative !important;display:block !important;
  width:100% !important;height:100% !important;
  min-height:0 !important;padding:0 !important;margin:0 !important;border:none !important;
  aspect-ratio:auto !important;
  background:#0E1725 !important;overflow:hidden !important;cursor:pointer;
}
.cita-o .cita-o-sidepic img{
  position:absolute !important;inset:0 !important;
  width:100% !important;height:100% !important;max-width:none !important;
  object-fit:cover !important;display:block;
}

/* --- Tablet: Buehne bleibt zweispaltig, aber flacher --- */
@media (max-width:1180px){
  .cita-o .cita-o-hero{max-height:min(56vh,480px) !important;}}

/* --- Handy/Tablet: ein Bild je Bildschirmbreite, wischbar --- */
@media (max-width:900px){
  .cita-o .cita-o-stage{
    display:flex !important;flex-wrap:nowrap !important;align-items:flex-start !important;
    gap:0 !important;width:100% !important;max-width:100% !important;
    margin:0 0 4px !important;border-radius:10px !important;box-shadow:none !important;
    overflow-x:auto !important;overflow-y:hidden !important;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .cita-o .cita-o-stage::-webkit-scrollbar{display:none;}
  .cita-o .cita-o-side{display:contents !important;}
  .cita-o .cita-o-hero,
  .cita-o .cita-o-sidepic{
    flex:0 0 100% !important;width:100% !important;
    aspect-ratio:3/2 !important;height:auto !important;max-height:none !important;
    min-height:0 !important;padding:0 !important;
    scroll-snap-align:start;scroll-snap-stop:always;
  }
  .cita-o .cita-o-side .cita-o-sidepic:nth-child(n+3){display:block !important;}
  .cita-o .cita-o-side .cita-o-sidepic[hidden]{display:none !important;}
  .cita-o .cita-o-sidepic img{object-fit:contain !important;}}

/* ==========================================================
   v4.11 — RASTER: ein Satz Haltepunkte fuer alle Kachelgitter
   1400+ = 3 Spalten, 900-1399 = 2, darunter 1.
   ========================================================== */
.cita-o .cita-o-split-list .cita-o-grid,
.cita-o .cita-o-similar .cita-o-grid,
.cita-o .cita-o-zuletzt .cita-o-grid,
.cita-o .cita-o-weg-vorschlaege .cita-o-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}@media (max-width:1399px){
  .cita-o .cita-o-split-list .cita-o-grid,
  .cita-o .cita-o-similar .cita-o-grid,
  .cita-o .cita-o-zuletzt .cita-o-grid,
  .cita-o .cita-o-weg-vorschlaege .cita-o-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px !important;
  }}@media (max-width:680px){
  .cita-o .cita-o-split-list .cita-o-grid,
  .cita-o .cita-o-similar .cita-o-grid,
  .cita-o .cita-o-zuletzt .cita-o-grid,
  .cita-o .cita-o-weg-vorschlaege .cita-o-grid{
    grid-template-columns:1fr !important;gap:18px !important;
  }}

/* --- iOS zoomt bei Feldern unter 16px in die Seite hinein --- */
@media (max-width:900px){
  .cita-o input,.cita-o select,.cita-o textarea{font-size:16px !important;}}

/* --- Bedienflaechen: Mindestgroesse fuer den Daumen --- */
.cita-o button,.cita-o .cita-o-btn,.cita-o-fav{min-height:44px;}
.cita-o-fav{min-width:44px;}

/* --- Freitext-Schnellsuche (v4.11) --- */

.cita-o-card.is-ausgeblendet{display:none !important;}

/* --- Fakten auf einen Blick: kompakt, von Suchmaschinen und
       KI-Assistenten gut auslesbar --- */
.cita-o-fakten{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:0 24px;margin:0;padding:18px 20px;background:var(--c-bg);
  border:1px solid var(--c-line);border-radius:var(--c-r);}
.cita-o-fakten div{display:flex;justify-content:space-between;gap:12px;
  padding:7px 0;border-bottom:1px solid var(--c-line);}
.cita-o-fakten div:last-child{border-bottom:none;}
.cita-o-fakten dt{color:var(--c-mut);font-size:14.7px;}
.cita-o-fakten dd{margin:0;font-weight:600;text-align:right;}

/* --- Sichtbarer Pfad (Breadcrumb) --- */
.cita-o-pfad{margin:10px 0 2px;font-size:13.8px;color:var(--c-mut);}
.cita-o-pfad a{color:var(--c-mut);text-decoration:none;}
.cita-o-pfad a:hover{color:var(--c-pri);text-decoration:underline;}
.cita-o-pfad span{margin:0 6px;opacity:.6;}

/* ==========================================================
   v4.11 — AUSFALLSICHERES EINBLENDEN
   Bis 4.10 lagen alle Objektbilder auf opacity:0 und wurden erst
   sichtbar, wenn das JavaScript die Klasse is-ready gesetzt hat.
   Blockiert oder verzoegert ein Optimierungs-Plugin (FastPixel,
   "JS verzoegern") das Skript, blieb die Galerie schwarz.
   Jetzt blenden die Bilder rein ueber CSS ein - ohne JavaScript.
   ========================================================== */
.cita-o-thumb img,
.cita-o-hero img,
.cita-o-sidepic img{
  opacity:1 !important;
  animation:cita-o-auf .35s ease-out both;
}@keyframes cita-o-auf{from{opacity:0}to{opacity:1}}

/* Das Wartemuster darf nicht endlos laufen, wenn kein JS es beendet. */
.cita-o-thumb.is-loading,
.cita-o-hero.is-loading{animation:cita-pulse 1.4s ease-in-out 3 !important;}@media (prefers-reduced-motion:reduce){
  .cita-o-thumb img,.cita-o-hero img,.cita-o-sidepic img{animation:none !important;}
  .cita-o-thumb.is-loading,.cita-o-hero.is-loading{animation:none !important;}}

/* ==========================================================
   v4.11.1 — SUCHBEREICH, RASTER, KACHELBILD
   Verbindliche Schlussfassung. Ersetzt die Layoutregeln aller
   frueheren Schichten fuer Filterformular und Kachelgitter.
   ========================================================== */

/* ---------- 1. Kachelbild: keine graue Restflaeche ----------
   Themes setzen fast immer img{height:auto}. Das hat die Hoehe
   des Kachelbildes ausgehebelt: das Bild rechnete sich aus
   seinem eigenen Seitenverhaeltnis, der Kasten war hoeher -
   darunter blieb der graue Hintergrund stehen. */
.cita-o .cita-o-thumb{
  position:relative !important;
  width:100% !important;
  padding-top:0 !important;
  aspect-ratio:3/2 !important;
  height:auto !important;
  background:#E8EDF3;
  overflow:hidden !important;
}
.cita-o .cita-o-thumb img{
  position:absolute !important;inset:0 !important;
  width:100% !important;height:100% !important;
  min-height:100% !important;max-width:none !important;max-height:none !important;
  object-fit:cover !important;object-position:center center !important;
  display:block !important;
}

/* ---------- 2. Kachelgitter: zwei Objekte je Reihe ---------- */
.cita-o .cita-o-split-list .cita-o-grid,
.cita-o .cita-o-similar .cita-o-grid,
.cita-o .cita-o-zuletzt .cita-o-grid,
.cita-o .cita-o-weg-vorschlaege .cita-o-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
}@media (max-width:680px){
  .cita-o .cita-o-split-list .cita-o-grid,
  .cita-o .cita-o-similar .cita-o-grid,
  .cita-o .cita-o-zuletzt .cita-o-grid,
  .cita-o .cita-o-weg-vorschlaege .cita-o-grid{
    grid-template-columns:1fr !important;gap:18px !important;
  }}

/* ---------- 3. Filterformular ---------- */

/* Vermarktungsart: kompakte Schaltergruppe statt drei breiter Balken */

/* Felder: ein Raster, gleiche Breiten, Eingabe fuellt die Spalte */

/* Stichwortfeld: eigene Zeile ueber dem Raster */

/* ---------- 4. Aktionsleiste: eine Zeile ---------- */

/* ---------- 5. Handy ---------- */

/* Zwei Spalten auf jedem Handy - Vorgabe aus 4.9, bleibt bestehen. */

/* Die Suche steht auf jeder Breite offen da (Entscheidung aus 4.9).
   Der Aufklapp-Schalter bleibt deshalb aus. */

/* Frühere Schichten machen label:nth-child(2) auf dem Handy vollbreit.
   Das war die PLZ - seit dem Stichwortfeld an Position 1 ist es das
   falsche Feld. Vollbreit bleiben nur Stichwort und Sortierung. */

/* ==========================================================
   v4.11.3 — LESBARKEIT: SCHRIFTSKALA VERBINDLICH DURCHSETZEN
   Die px-Skala weiter oben wurde auf dem Handy von aelteren
   Regeln in rem mit !important ueberschrieben - dort landete
   der Text bei 15,7 bis 19,8 px statt auf der Skala. Diese
   Schicht setzt sie mit hoeherer Spezifitaet endgueltig.
   Groessen nur hier aendern.
   ========================================================== */
.cita-o{
  --t-klein: 16px;
  --t-meta:  17px;
  --t-text:  18px;
  --t-lead:  19px;
  --t-h3:    21px;
  --t-h2:    26px;
  --t-h1:    34px;
}@media (max-width:900px){
  .cita-o{
    --t-klein: 16px;
    --t-meta:  17px;
    --t-text:  19px;   /* Fliesstext auf dem Handy groesser */
    --t-lead:  19px;
    --t-h3:    21px;
    --t-h2:    23px;
    --t-h1:    27px;
  }}

/* --- Fliesstext, Listen, Angaben --- */
.cita-o .cita-o-prosa,
.cita-o .cita-o-prosa p,
.cita-o .cita-o-prosa li,
.cita-o .cita-o-prosa > p:first-child,
.cita-o .cita-o-liste li,
.cita-o .cita-o-note p,
.cita-o .cita-o-text p{
  font-size:var(--t-text) !important;
  line-height:1.8 !important;
}
.cita-o .cita-o-prosa p{margin:0 0 18px !important;}
.cita-o .cita-o-prosa > p:last-child{margin-bottom:0 !important;}
.cita-o .cita-o-prosa > p:first-child{
  padding-left:18px !important;
  border-left:3px solid var(--c-sec);
  color:#1B2634;
}
.cita-o .cita-o-liste li{padding:9px 0 9px 28px !important;}
.cita-o .cita-o-prosa .cita-o-sub-h{
  font-size:var(--t-h3) !important;line-height:1.35 !important;
  margin:30px 0 12px !important;
}
.cita-o .cita-o-prosa .cita-o-sub-h:first-child{margin-top:0 !important;}

/* --- Ausstattungsmerkmale --- */
.cita-o .cita-o-feat li{
  font-size:var(--t-text) !important;line-height:1.5 !important;
  padding:14px 18px !important;
}
.cita-o .cita-o-feat li span{font-size:21px !important;}

/* --- Weitere Angaben und Fakten --- */
.cita-o .cita-o-angaben dt,
.cita-o .cita-o-fakten dt{font-size:var(--t-meta) !important;line-height:1.5 !important;}
.cita-o .cita-o-angaben dd,
.cita-o .cita-o-fakten dd{font-size:var(--t-text) !important;line-height:1.5 !important;}
.cita-o .cita-o-table th,
.cita-o .cita-o-table td{font-size:var(--t-meta) !important;line-height:1.55 !important;}

/* --- Abschnittsueberschriften: Luft bis zur Linie ---
   "Objektbeschreibung" hat eine Unterlaenge im j - bei 12px
   Abstand sass sie auf der Trennlinie. */
.cita-o .cita-o-text h2{
  font-size:var(--t-h2) !important;
  line-height:1.35 !important;
  margin:0 0 22px !important;
  padding:0 0 18px !important;
  border-bottom:1px solid var(--c-line);
  position:relative;
}
.cita-o .cita-o-text h2::after{bottom:-1px;}
.cita-o .cita-o-box h2{
  font-size:var(--t-h3) !important;line-height:1.35 !important;
  padding:0 !important;border:none !important;margin:0 0 16px !important;
}
.cita-o .cita-o-head h1{font-size:var(--t-h1) !important;line-height:1.2 !important;}
.cita-o .cita-o-title{font-size:var(--t-h3) !important;line-height:1.35 !important;}
.cita-o .cita-o-place{font-size:var(--t-meta) !important;}

/* --- Abschnittsabstand: klare Trennung statt Textwand --- */
.cita-o .cita-o-text{margin:0 0 40px !important;}@media (max-width:900px){
  .cita-o .cita-o-text{margin:0 0 34px !important;}
  .cita-o .cita-o-prosa > p:first-child{padding-left:14px !important;}
  .cita-o .cita-o-feat li{padding:13px 15px !important;}}

/* --- Restliche Textstellen, die auf dem Handy abgefallen sind --- */
.cita-o .cita-o-boxlead{font-size:var(--t-text) !important;line-height:1.65 !important;}
.cita-o .cita-o-sub{font-size:var(--t-klein) !important;line-height:1.6 !important;}
.cita-o .cita-o-check{font-size:var(--t-klein) !important;line-height:1.55 !important;}
.cita-o .cita-o-broker-txt a,
.cita-o .cita-o-broker-kontakt a{font-size:var(--t-meta) !important;}

/* --- Eckdaten und Fakten auf dem Handy ---
   Fuenf gestapelte Kacheln schieben die Beschreibung weit nach
   unten. Zwei je Reihe ist kompakter und bleibt gut lesbar. */
/* Eckdaten: Rahmen an den Kacheln, nicht am Kasten darum. Geht die
   Anzahl nicht auf, stand sonst eine leere graue Flaeche daneben. */
.cita-o .cita-o-stats{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:12px !important;
  background:none !important;border:none !important;
  padding:0 !important;box-shadow:none !important;
  border-radius:0 !important;
}
.cita-o .cita-o-stat{
  border:1px solid var(--c-line) !important;border-radius:12px !important;
  background:#fff !important;padding:16px 18px !important;margin:0 !important;
  display:flex !important;flex-direction:column;gap:2px;
}@media (max-width:900px){
  .cita-o .cita-o-stats{grid-template-columns:1fr 1fr !important;gap:10px !important;}
  .cita-o .cita-o-stat{padding:14px !important;}
  .cita-o .cita-o-stat b{font-size:24px !important;line-height:1.2 !important;}
  .cita-o .cita-o-stat b i{font-size:14px !important;}
  .cita-o .cita-o-stat span{font-size:var(--t-klein) !important;}

  /* Fakten: eine Spalte, Bezeichnung links, Wert rechts.
     Zwei Spalten wurden mit langen Ortsnamen unruhig. */
  .cita-o .cita-o-fakten{
    grid-template-columns:1fr !important;gap:0 !important;padding:6px 16px !important;
  }
  .cita-o .cita-o-fakten div{
    display:flex !important;flex-direction:row !important;
    align-items:baseline !important;justify-content:space-between !important;
    gap:16px !important;padding:11px 0 !important;
  }
  .cita-o .cita-o-fakten dt{flex:0 0 auto;}
  .cita-o .cita-o-fakten dd{text-align:right !important;min-width:0;}}@media (max-width:380px){
  .cita-o .cita-o-stats{grid-template-columns:1fr 1fr !important;}}

/* ==========================================================
   v4.11.4 — EINE SCHRIFTGROESSE FUER ALLES
   Der Suchbereich und die Kacheln liefen noch mit eigenen
   rem-Werten (Feldbeschriftung 13,4 px, Eingabe 15,2 px,
   Schaltflaechen 14,4 px). Ab hier haengt alles an der Skala
   oben - gleiche Groesse auf PC und Handy.
   ========================================================== */

/* --- Suchbereich --- */

.cita-o .cita-o-empty,
.cita-o .cita-o-error{font-size:var(--t-text) !important;line-height:1.7 !important;}

/* Raster noch einmal mit hoeherer Spezifitaet, damit keine
   aeltere Schicht die Spaltenzahl zurueckdreht. */

/* --- Objektkacheln --- */
.cita-o .cita-o-card .cita-o-place{font-size:var(--t-klein) !important;line-height:1.45 !important;}
.cita-o .cita-o-card .cita-o-title{font-size:var(--t-h3) !important;line-height:1.35 !important;}
.cita-o .cita-o-card .cita-o-price{font-size:24px !important;}
.cita-o .cita-o-card .cita-o-facts li{font-size:var(--t-meta) !important;line-height:1.5 !important;}
.cita-o .cita-o-similar h2,
.cita-o .cita-o-zuletzt h2,
.cita-o .cita-o-cta h2{font-size:var(--t-h2) !important;line-height:1.35 !important;}
.cita-o .cita-o-cta p{font-size:var(--t-text) !important;line-height:1.75 !important;}

/* --- Formular in der Seitenspalte --- */
.cita-o .cita-o-req label,
.cita-o .cita-o-alarm form label,
.cita-o .cita-o-calc label{font-size:var(--t-meta) !important;}
.cita-o .cita-o-req input,
.cita-o .cita-o-alarm form input,
.cita-o .cita-o-calc input{font-size:var(--t-text) !important;}
.cita-o .cita-o-anliegen span{font-size:var(--t-klein) !important;}
.cita-o .cita-o-btn{font-size:var(--t-text) !important;}

/* --- Mehr Luft ueber den Abschnittsueberschriften ---
   "Objektbeschreibung" stand fast auf dem Fakten-Kasten. --- */
.cita-o .cita-o-fakten{margin:0 0 38px !important;}
.cita-o .cita-o-text{margin:38px 0 40px !important;}
.cita-o .cita-o-text:first-of-type{margin-top:38px !important;}
.cita-o .cita-o-text h2{
  margin:0 0 24px !important;
  padding:0 0 20px !important;
}@media (max-width:900px){
  .cita-o .cita-o-fakten{margin:0 0 30px !important;}
  .cita-o .cita-o-text{margin:30px 0 32px !important;}
  .cita-o .cita-o-text h2{margin:0 0 20px !important;padding:0 0 16px !important;}}
/* ==========================================================
   v4.12 — SUCHBEREICH, EINE EINZIGE SCHICHT
   Bis 4.11.9 lagen 15 Regelsaetze uebereinander, die alle
   dieselbe Filterzeile umgebaut haben - mit widerspruechlichen
   Spaltenzahlen und !important gegeneinander. Am Handy kippte
   das Raster deshalb aus der Spur. Alle alten Regeln fuer
   .cita-o-filters, .cita-o-row, .cita-o-bar, .cita-o-seg,
   .cita-o-count, .cita-o-reset, .cita-o-favtoggle und
   .cita-o-maptoggle sind entfernt; ab hier gilt nur noch das
   hier. Werte bewusst ohne !important - wir sind die letzte
   Schicht, das reicht.
   ========================================================== */

.cita-o-vh{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.cita-o .cita-o-suchzone{margin:0 0 22px;}
.cita-o .cita-o-filters{
  display:block;margin:0;padding:0;border:0;background:none;
}

/* ---------- Werkzeugleiste ---------- */
.cita-o .cita-o-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:0 0 14px;
}
.cita-o .cita-o-toolbar > *{min-width:0;}

.cita-o .cita-o-count{
  order:1;margin:0;flex:1 1 auto;
  font-size:var(--t-text);font-weight:600;color:var(--c-ink);
}
.cita-o .cita-o-filterschalter{order:0;}
.cita-o .cita-o-sortfeld{order:2;}
.cita-o .cita-o-maptoggle{order:3;}
.cita-o .cita-o-favtoggle{order:4;}

/* Gemeinsame Optik aller Leistenknoepfe */
.cita-o .cita-o-filterschalter,
.cita-o .cita-o-maptoggle,
.cita-o .cita-o-favtoggle,
.cita-o .cita-o-sortfeld > select{
  display:inline-flex;align-items:center;gap:8px;
  min-height:48px;padding:0 14px;margin:0;
  border:1px solid var(--c-line);border-radius:10px;
  background:#fff;color:var(--c-ink);
  font:inherit;font-size:var(--t-meta);line-height:1.2;
  cursor:pointer;text-decoration:none;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.cita-o .cita-o-filterschalter:hover,
.cita-o .cita-o-maptoggle:hover,
.cita-o .cita-o-favtoggle:hover,
.cita-o .cita-o-sortfeld > select:hover{border-color:#AEBFD8;background:#F5F8FD;}
.cita-o .cita-o-filterschalter:focus-visible,
.cita-o .cita-o-maptoggle:focus-visible,
.cita-o .cita-o-favtoggle:focus-visible,
.cita-o .cita-o-sortfeld > select:focus-visible{
  outline:2px solid var(--c-pri);outline-offset:2px;
}
.cita-o .cita-o-filterschalter svg,
.cita-o .cita-o-maptoggle svg,
.cita-o .cita-o-favtoggle svg{width:19px;height:19px;flex:none;}
.cita-o .cita-o-filterschalter b{font-weight:600;}
/* Am PC ist der Kasten dauerhaft offen - dann braucht es keinen
   Filterknopf. Steht bewusst NACH der Optik-Regel oben, sonst
   gewinnt deren display:inline-flex. */
.cita-o .cita-o-toolbar > .cita-o-filterschalter{display:none;}

/* Zaehler-Plaketten */
.cita-o .cita-o-filterzahl,
.cita-o .cita-o-favzahl{
  display:none;min-width:22px;height:22px;padding:0 6px;
  align-items:center;justify-content:center;
  border-radius:999px;background:var(--c-pri);color:#fff;
  font-style:normal;font-size:var(--t-klein);font-weight:700;line-height:1;
}
.cita-o .cita-o-filterzahl:not(:empty),
.cita-o .cita-o-favzahl:not(:empty){display:inline-flex;}
.cita-o .cita-o-filterschalter[aria-expanded="true"],
.cita-o .cita-o-filterschalter.hat-filter{
  border-color:var(--c-pri);color:var(--c-pri);background:#F1F5FD;
}
.cita-o .cita-o-favtoggle[aria-pressed="true"]{
  border-color:var(--c-sec);background:#ECF8F6;color:#0B6E66;
}
.cita-o .cita-o-favtoggle[aria-pressed="true"] .cita-o-favzahl{background:var(--c-sec);}
.cita-o .cita-o-maptoggle[aria-pressed="true"]{
  border-color:var(--c-pri);background:#F1F5FD;color:var(--c-pri);
}

/* Sortierung */
.cita-o .cita-o-sortfeld{display:inline-flex;margin:0;}
.cita-o .cita-o-sortfeld > select{
  padding-right:36px;max-width:none;width:auto;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%235B6779' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:11px;
}

/* ---------- Filterkasten / Schublade ---------- */
.cita-o .cita-o-panel{
  background:var(--c-bg);border:1px solid var(--c-line);
  border-radius:14px;padding:18px;
}
.cita-o .cita-o-sheetkopf{display:none;}
.cita-o .cita-o-sheetinhalt{display:block;}

/* Kaufen / Mieten */
.cita-o .cita-o-seg{
  display:flex;flex-wrap:nowrap;gap:8px;margin:0 0 14px;
  justify-content:flex-start;
}
.cita-o .cita-o-seg button{
  flex:0 0 auto;min-width:130px;min-height:48px;padding:0 18px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--c-line);border-radius:10px;background:#fff;
  color:var(--c-ink);font:inherit;font-size:var(--t-meta);font-weight:600;
  line-height:1.2;cursor:pointer;white-space:nowrap;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.cita-o .cita-o-seg button:hover{border-color:var(--c-pri);color:var(--c-pri);}
.cita-o .cita-o-seg button i{
  font-style:normal;font-size:var(--t-klein);font-weight:600;
  padding:2px 8px;border-radius:999px;background:#EDF1F8;color:var(--c-mut);
}
.cita-o .cita-o-seg button.is-on{
  background:var(--c-pri);border-color:var(--c-pri);color:#fff;
}
.cita-o .cita-o-seg button.is-on i{background:rgba(255,255,255,.22);color:#fff;}
.cita-o .cita-o-seg button[data-mt="rent"].is-on{background:var(--c-sec);border-color:var(--c-sec);}
.cita-o .cita-o-seg button[data-mt="rent"]:hover{border-color:var(--c-sec);color:var(--c-sec);}

/* Stichwortsuche */
.cita-o .cita-o-qsuche{
  display:block;position:relative;margin:0 0 14px;
}
.cita-o .cita-o-qsuche input{
  width:100%;max-width:none;min-height:52px;
  padding:0 42px 0 42px;margin:0;
  border:1px solid var(--c-line);border-radius:10px;background:#fff;
  color:var(--c-ink);font:inherit;font-size:var(--t-text);
  -webkit-appearance:none;appearance:none;
}
.cita-o .cita-o-qsuche::before{
  content:"";position:absolute;left:14px;top:50%;width:17px;height:17px;
  transform:translateY(-50%);pointer-events:none;
  background:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='9' cy='9' r='6' fill='none' stroke='%235B6779' stroke-width='1.7'/%3E%3Cpath d='M13.5 13.5 17 17' stroke='%235B6779' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
}
.cita-o .cita-o-qleer{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:0;border-radius:50%;
  background:#EDF1F8;color:var(--c-mut);font-size:19px;line-height:1;cursor:pointer;
}

/* Feldraster - eine einzige Definition, ueberall minmax(0,1fr),
   damit ein langer Ortsname die Spalte nicht aufblaeht. */
.cita-o .cita-o-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px 14px;align-items:end;margin:0;
}
.cita-o .cita-o-row > label{
  display:flex;flex-direction:column;gap:6px;
  grid-column:auto;min-width:0;width:auto;max-width:none;
  margin:0;padding:0;float:none;
  font-size:var(--t-meta);font-weight:600;color:var(--c-mut);line-height:1.35;
}
.cita-o .cita-o-row input,
.cita-o .cita-o-row select{
  width:100%;max-width:none;min-height:50px;
  padding:0 12px;margin:0;float:none;
  border:1px solid var(--c-line);border-radius:10px;background:#fff;
  color:var(--c-ink);font:inherit;font-size:var(--t-text);font-weight:400;
  -webkit-appearance:none;appearance:none;
}
.cita-o .cita-o-row select{
  padding-right:34px;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%235B6779' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:11px;
}
.cita-o .cita-o-row input:focus,
.cita-o .cita-o-row select:focus,
.cita-o .cita-o-qsuche input:focus{
  outline:none;border-color:var(--c-pri);box-shadow:0 0 0 3px rgba(23,65,155,.13);
}

/* Fuss des Filterkastens */
.cita-o .cita-o-sheetfuss{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--c-line);
}
.cita-o .cita-o-reset{
  min-height:44px;padding:0 16px;
  border:1px solid var(--c-line);border-radius:10px;background:#fff;
  color:var(--c-mut);font:inherit;font-size:var(--t-meta);cursor:pointer;
}
.cita-o .cita-o-reset:hover{border-color:#AEBFD8;color:var(--c-ink);}
.cita-o .cita-o-sheetok{display:none;}

/* ---------- Gesetzte Filter als Plaketten ---------- */
.cita-o .cita-o-chips{
  display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;
}
.cita-o .cita-o-chips[hidden]{display:none;}
.cita-o .cita-o-chip{
  display:inline-flex;align-items:center;gap:8px;
  min-height:38px;padding:0 8px 0 13px;
  border:1px solid #C9D6EA;border-radius:999px;background:#F1F5FD;
  color:var(--c-pri);font:inherit;font-size:var(--t-klein);font-weight:600;
  cursor:pointer;
}
.cita-o .cita-o-chip:hover{background:#E6EDFA;}
.cita-o .cita-o-chip b{font-weight:600;}
.cita-o .cita-o-chip span{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;
  background:rgba(23,65,155,.12);font-size:14px;line-height:1;
}
.cita-o .cita-o-chip-alle{
  border-style:dashed;background:none;color:var(--c-mut);padding:0 13px;
}
.cita-o .cita-o-chip-alle:hover{background:#F3F6FB;color:var(--c-ink);}

/* ---------- Zusatzzeile unter dem Filter ---------- */
.cita-o .cita-o-bar{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:14px 0 0;padding:0;border:0;
}
.cita-o .cita-o-merkteilen,
.cita-o .cita-o-suchespeichern{
  display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:0 15px;margin:0;
  border:1px solid var(--c-line);border-radius:10px;background:#fff;
  color:var(--c-mut);font:inherit;font-size:var(--t-meta);
  text-decoration:none;cursor:pointer;
}
.cita-o .cita-o-suchespeichern{
  margin-left:auto;border-color:#A8DDD6;background:#F2FAF9;color:#0B6E66;font-weight:600;
}
.cita-o .cita-o-merkteilen:hover{border-color:#AEBFD8;color:var(--c-ink);}
.cita-o .cita-o-suchespeichern:hover{background:#E4F4F2;}
.cita-o .cita-o-merkteilen[hidden]{display:none;}

/* ---------- Schwebender Filterknopf am Handy ---------- */
.cita-o-filterpille{
  position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:1200;transform:translate(-50%,24px);
  display:none;align-items:center;gap:9px;
  min-height:50px;padding:0 20px;
  border:0;border-radius:999px;
  background:#17419B;color:#fff;
  font:inherit;font-size:16px;font-weight:600;line-height:1;
  box-shadow:0 10px 26px rgba(16,27,45,.32);
  cursor:pointer;opacity:0;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.cita-o-filterpille svg{width:18px;height:18px;}
.cita-o-filterpille i{
  font-style:normal;min-width:20px;height:20px;padding:0 6px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;background:rgba(255,255,255,.24);font-size:13px;
}
.cita-o-filterpille i:empty{display:none;}
.cita-o-filterpille.is-da{opacity:1;transform:translate(-50%,0);pointer-events:auto;}

/* ==========================================================
   Tablet: drei Spalten
   ========================================================== */
@media (max-width:1180px){
  .cita-o .cita-o-row{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* ==========================================================
   Handy und kleines Tablet: Filter als Schublade
   ========================================================== */
@media (max-width:819px){
  .cita-o .cita-o-suchzone{margin:0 0 18px;}

  .cita-o .cita-o-toolbar{gap:8px;margin:0 0 12px;}
  .cita-o .cita-o-toolbar > .cita-o-filterschalter{
    order:0;display:inline-flex;flex:1 1 calc(50% - 4px);justify-content:center;
  }
  .cita-o .cita-o-sortfeld{order:1;flex:1 1 calc(50% - 4px);}
  .cita-o .cita-o-sortfeld > select{width:100%;justify-content:center;}
  .cita-o .cita-o-count{order:2;flex:1 1 auto;font-size:var(--t-text);}
  .cita-o .cita-o-maptoggle{order:3;}
  .cita-o .cita-o-favtoggle{order:4;}
  .cita-o .cita-o-maptoggle,
  .cita-o .cita-o-favtoggle{padding:0 12px;gap:7px;}

  /* Schublade */
  .cita-o .cita-o-sheetbg{
    position:fixed;inset:0;z-index:1300;
    background:rgba(12,20,34,.5);
    opacity:0;transition:opacity .22s ease;
  }
  .cita-o .cita-o-sheetbg[hidden]{display:none;}
  .cita-o .cita-o-sheetbg.is-da{opacity:1;}

  .cita-o .cita-o-panel{
    position:fixed;left:0;right:0;bottom:0;z-index:1310;
    display:flex;flex-direction:column;
    max-height:90vh;max-height:90dvh;
    margin:0;padding:0;border:0;border-radius:18px 18px 0 0;
    background:#fff;
    box-shadow:0 -12px 40px rgba(16,27,45,.28);
    transform:translateY(102%);
    transition:transform .26s cubic-bezier(.22,.7,.3,1);
    visibility:hidden;
  }
  .cita-o .cita-o-panel.is-offen{transform:translateY(0);visibility:visible;}

  .cita-o .cita-o-sheetkopf{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:14px 16px;border-bottom:1px solid var(--c-line);flex:none;
  }
  .cita-o .cita-o-sheetkopf b{font-size:var(--t-h3);font-weight:600;color:var(--c-ink);}
  .cita-o .cita-o-sheetzu{
    width:40px;height:40px;flex:none;
    border:1px solid var(--c-line);border-radius:50%;background:#fff;
    color:var(--c-mut);font-size:23px;line-height:1;cursor:pointer;
  }

  .cita-o .cita-o-sheetinhalt{
    flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;
    padding:16px 16px 22px;overscroll-behavior:contain;
  }

  .cita-o .cita-o-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 12px;}
  .cita-o .cita-o-row > label:first-child{grid-column:1 / -1;}

  .cita-o .cita-o-seg button{flex:1 1 0;min-width:0;padding:0 10px;}

  .cita-o .cita-o-sheetfuss{
    flex:none;display:flex;gap:10px;align-items:stretch;
    margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    border-top:1px solid var(--c-line);background:#fff;
  }
  .cita-o .cita-o-reset{flex:0 0 auto;min-height:52px;}
  .cita-o .cita-o-sheetok{
    display:inline-flex;align-items:center;justify-content:center;
    flex:1 1 auto;min-height:52px;padding:0 16px;
    border:0;border-radius:10px;background:var(--c-pri);color:#fff;
    font:inherit;font-size:var(--t-meta);font-weight:600;cursor:pointer;
    white-space:nowrap;
  }

  .cita-o .cita-o-bar{gap:8px;}

  .cita-o-filterpille{display:inline-flex;}
}

@media (max-width:560px){
  .cita-o .cita-o-merkteilen,
  .cita-o .cita-o-suchespeichern{flex:1 1 100%;justify-content:center;margin-left:0;}

  /* Ein Feld pro Zeile - nur die beiden Preisfelder bleiben als Paar
     nebeneinander, weil sie zusammengehoeren. */
  .cita-o .cita-o-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;}
  .cita-o .cita-o-row > label{grid-column:1 / -1;}
  .cita-o .cita-o-row > label.cita-o-preisfeld{grid-column:auto;}
}

@media (max-width:380px){
  .cita-o .cita-o-seg button{font-size:var(--t-klein);padding:0 6px;gap:5px;}
  .cita-o .cita-o-maptoggle span,
  .cita-o .cita-o-favtoggle span{
    position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  }
  .cita-o .cita-o-maptoggle,
  .cita-o .cita-o-favtoggle{padding:0 14px;}
}

/* Seite nicht mitscrollen, solange die Schublade offen ist */
html.cita-o-sheet-auf,
html.cita-o-sheet-auf body{overflow:hidden;}

@media (prefers-reduced-motion:reduce){
  .cita-o .cita-o-panel,.cita-o .cita-o-sheetbg,.cita-o-filterpille{transition:none;}
}

/* ==========================================================
   v4.13 — SPRACHUMSCHALTUNG DEUTSCH / ENGLISCH
   Zwei Flaggen, die aktive ist ausgefuellt. Bewusst als Links
   (nicht als Schalter): funktioniert ohne JavaScript, laesst
   sich teilen und in neuem Tab oeffnen.
   ========================================================== */
.cita-o .cita-o-sprache{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px;border:1px solid var(--c-line);border-radius:999px;
  background:#fff;order:-1;flex:none;
}
.cita-o .cita-o-flagge{
  display:inline-flex;align-items:center;gap:7px;
  min-height:38px;padding:0 13px 0 10px;
  border-radius:999px;background:none;border:0;
  color:var(--c-mut);font:inherit;font-size:var(--t-klein);font-weight:700;
  letter-spacing:.03em;text-decoration:none;line-height:1;
  transition:background .15s ease,color .15s ease;
}
.cita-o .cita-o-flagge svg{
  width:24px;height:17px;flex:none;border-radius:3px;
  box-shadow:0 0 0 1px rgba(16,27,45,.13);
}
.cita-o .cita-o-flagge b{font-weight:700;}
.cita-o .cita-o-flagge:hover{background:#F1F5FD;color:var(--c-ink);}
.cita-o .cita-o-flagge.is-an{background:var(--c-pri);color:#fff;}
.cita-o .cita-o-flagge.is-an:hover{background:#12357F;color:#fff;}
.cita-o .cita-o-flagge:focus-visible{outline:2px solid var(--c-pri);outline-offset:2px;}

/* Auf der Detailseite sitzt die Umschaltung in der Zurueck-Zeile */
.cita-o-detail .cita-o-back{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.cita-o-detail .cita-o-back .cita-o-sprache{margin-left:auto;order:0;}
.cita-o-detail .cita-o-back .cita-o-ver{order:1;}

@media (max-width:819px){
  /* In der Werkzeugleiste eine eigene Zeile oben - die Flaggen sind
     das Erste, was ein englischsprachiger Besucher sehen soll. */
  .cita-o .cita-o-sprache{order:-1;flex:1 1 100%;justify-content:center;}
  .cita-o .cita-o-flagge{flex:1 1 0;justify-content:center;min-height:42px;}
}

@media (max-width:380px){
  .cita-o .cita-o-flagge{padding:0 9px;font-size:14px;}
  .cita-o .cita-o-flagge svg{width:21px;height:15px;}
}

/* ==========================================================
   v4.14 — AUDIT SUCHSEITE
   Kopf mit H1, kompakter Filterkasten am PC, Lade- und
   Fehlerzustand, Symbole statt Emojis in den Kacheln.
   ========================================================== */

/* ---------- Kopf der Uebersicht ---------- */
.cita-o .cita-o-kopf{margin:4px 0 22px;}
.cita-o .cita-o-kopf .cita-o-seitentitel{
  margin:0 0 8px;padding:0 !important;
  font-size:var(--t-h1);line-height:1.18;font-weight:700;letter-spacing:-.01em;color:var(--c-ink);
}
.cita-o .cita-o-intro{
  margin:0;max-width:64ch;color:var(--c-mut);font-size:var(--t-text);line-height:1.55;
}

/* ---------- Filterkasten am PC und Tablet: vier Spalten, der
   Zuruecksetzen-Knopf sitzt im freien achten Feld statt in einer
   eigenen Zeile. Spart rund 70 px Hoehe. ---------- */
@media (min-width:820px){
  .cita-o .cita-o-panel{position:relative;}
  .cita-o .cita-o-row{grid-template-columns:repeat(4,minmax(0,1fr));}
  .cita-o .cita-o-sheetfuss{
    position:absolute;right:18px;bottom:18px;
    width:calc((100% - 36px - 42px) / 4);
    margin:0;padding:0;border:0;
  }
  .cita-o .cita-o-reset{width:100%;min-height:50px;}
}
.cita-o .cita-o-reset.hat-filter{border-color:var(--c-pri);color:var(--c-pri);font-weight:600;}
.cita-o .cita-o-reset.hat-filter:hover{background:#F1F5FD;}

/* Werkzeugleiste Tablet: alles in einer Zeile halten */
@media (min-width:820px) and (max-width:1180px){
  .cita-o .cita-o-toolbar{gap:8px;}
  .cita-o .cita-o-maptoggle,
  .cita-o .cita-o-favtoggle{padding:0 11px;gap:6px;}
  .cita-o .cita-o-sortfeld > select{padding-left:12px;padding-right:30px;background-position:right 11px center;}
  .cita-o .cita-o-flagge{padding:0 9px 0 7px;gap:5px;}
}

/* Handy: Zimmer und Flaeche als Paar nebeneinander */
@media (max-width:560px){
  .cita-o .cita-o-row > label:nth-child(4),
  .cita-o .cita-o-row > label:nth-child(5){grid-column:auto;}
}
@media (max-width:819px){
  .cita-o .cita-o-kopf{margin:0 0 16px;}
  .cita-o .cita-o-kopf .cita-o-seitentitel{font-size:26px;margin:0 0 6px;}
  .cita-o .cita-o-intro{font-size:var(--t-klein);line-height:1.5;}
  .cita-o .cita-o-flagge{min-height:38px;}
}

/* ---------- Ladezustand ----------
   Leicht abgeblendet, damit sichtbar ist, dass gesucht wird. Mit
   kurzer Verzoegerung - schnelle Antworten flackern nicht. */
.cita-o .cita-o-grid{transition:opacity .2s ease;}
.cita-o .cita-o-grid.is-laedt{opacity:.5;pointer-events:none;transition-delay:.15s;}

/* ---------- Leer- und Fehlerzustand ---------- */
.cita-o .cita-o-grid > .cita-o-error,
.cita-o .cita-o-grid > .cita-o-leer{
  grid-column:1 / -1;margin:0;padding:28px 24px;
  border:1px solid var(--c-line);border-radius:14px;background:var(--c-bg);
  text-align:center;color:var(--c-ink);
}
.cita-o .cita-o-grid > .cita-o-error{border-color:#EFC7C7;background:#FFF8F8;}
.cita-o .cita-o-error p,
.cita-o .cita-o-leer p{margin:0;}
.cita-o .cita-o-leer .cita-o-empty{padding:0 0 14px;}
.cita-o .cita-o-error-aktionen{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:16px 0 0 !important;
}
.cita-o .cita-o-error-aktionen .cita-o-btn{margin:0;}

/* ---------- Symbole in den Kacheln (statt Emojis) ---------- */
.cita-o .cita-o-fi{
  display:inline-block;flex:none;width:18px;height:18px;
  background-color:var(--c-pri);opacity:.78;
  -webkit-mask:var(--fi) center / contain no-repeat;
          mask:var(--fi) center / contain no-repeat;
}
.cita-o .cita-o-fi-zimmer{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 21V4.5A1.5 1.5 0 0 1 7.5 3h9A1.5 1.5 0 0 1 18 4.5V21M3 21h18M14.5 12.5v.01'/%3E%3C/svg%3E");}
.cita-o .cita-o-fi-flaeche{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E");}
.cita-o .cita-o-fi-grund{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-6M6.5 15h11L12 4z'/%3E%3Cpath d='M3 21h18'/%3E%3C/svg%3E");}
.cita-o .cita-o-fi-baujahr{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");}
.cita-o .cita-o-fi-etage{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h5v-5h5v-5h5V5h3'/%3E%3C/svg%3E");}
.cita-o .cita-o-fi-energie{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2.5 4.5 13.5h6.5l-1 8 8.5-11H12z'/%3E%3C/svg%3E");}
.cita-o .cita-o-facts li{gap:7px;}

@media (prefers-reduced-motion:reduce){
  .cita-o .cita-o-grid,.cita-o .cita-o-grid.is-laedt{transition:none;}
}
@media (max-width:380px){
  .cita-o .cita-o-sortfeld > select{font-size:15px;padding:0 26px 0 10px;background-position:right 9px center;}
}

/* ==========================================================
   v4.14.1 — SPRACHWAHL AUF DER OBJEKTSEITE AM HANDY
   ========================================================== */
/* Die Knopf-Optik der Zurueck-Zeile (.cita-o-back a: Rahmen, 100 %
   Breite am Handy) griff auch auf die Flaggen durch. */
.cita-o-detail .cita-o-sprache .cita-o-flagge{
  width:auto;min-height:38px;padding:0 13px 0 10px;
  border:0;box-shadow:none;background:none;font-size:var(--t-klein);
}
.cita-o-detail .cita-o-sprache .cita-o-flagge.is-an{background:var(--c-pri);color:#fff;}
.cita-o-detail .cita-o-sprache .cita-o-flagge:not(.is-an):hover{background:#F1F5FD;color:var(--c-ink);}

.cita-o-detail .cita-o-head-sprache{display:none;}
@media (max-width:819px){
  .cita-o-detail .cita-o-back .cita-o-sprache{display:none;}
  .cita-o-detail .cita-o-head-sprache{display:flex;justify-content:flex-start;margin:0 0 14px;}
  .cita-o-detail .cita-o-head-sprache .cita-o-sprache{flex:0 0 auto;width:auto;order:0;margin:0;}
  .cita-o-detail .cita-o-head-sprache .cita-o-flagge{flex:0 0 auto;min-height:40px;padding:0 16px 0 12px;}
}

/* ==========================================================
   v5.0 (25.10.2026) – Neugestaltung Liste, Kacheln, Preisblock
   Grundfehler bis 4.14: Das Theme setzt html{font-size:62.5%}
   (1rem = 10px). Alle rem-Werte dieses Plugins waren dadurch 37 %
   zu klein (Preis 14px statt 23px). Ab 5.0 stehen alle Groessen in px.
   ========================================================== */
.cita-o{
  --v5-pri:#17419B; --v5-pri-d:#0F2F73; --v5-sec:#0D9488; --v5-ink:#121A2B;
  --v5-mut:#5B6779; --v5-line:#E1E7EF; --v5-bg:#F5F7FB; --v5-r:14px;
}

/* ---------- Seitenkopf der Liste ---------- */
body .cita-o#cita-o-app{max-width:1240px !important;margin:0 auto !important;padding:20px 20px 40px !important;box-sizing:border-box;}
body .cita-o .cita-o-kopf{margin:0 0 16px !important;padding:0 !important;text-align:left !important;}
body .cita-o .cita-o-seitentitel{font-size:32px !important;line-height:1.15 !important;margin:0 0 6px !important;font-weight:800 !important;letter-spacing:-.01em;}
body .cita-o .cita-o-intro{font-size:16px !important;color:var(--v5-mut) !important;margin:0 !important;}

/* ---------- Suche: Kaufen/Mieten/Neubau + Stichwort ---------- */
body .cita-o .cita-o-filters{display:flex !important;flex-direction:column !important;gap:12px !important;margin:0 0 18px !important;}
body .cita-o .cita-o-hauptsuche{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;}
body .cita-o .cita-o-hauptsuche .cita-o-seg{margin:0 !important;display:inline-flex !important;gap:4px !important;padding:4px !important;background:#EAEFF6 !important;border-radius:12px !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button{min-width:0 !important;min-height:44px !important;padding:0 16px !important;border:0 !important;border-radius:9px !important;background:transparent !important;color:var(--v5-ink) !important;font-size:16px !important;font-weight:700 !important;box-shadow:none !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button i{font-size:13px !important;padding:1px 7px !important;background:rgba(18,26,43,.08) !important;color:var(--v5-mut) !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button.is-on{background:#fff !important;color:var(--v5-pri) !important;box-shadow:0 1px 3px rgba(16,24,40,.12) !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button[data-mt="rent"].is-on{color:var(--v5-sec) !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button[data-mt="neubau"].is-on{color:#8A5A00 !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button.is-on i{background:rgba(23,65,155,.1) !important;color:inherit !important;}
body .cita-o .cita-o-hauptsuche .cita-o-qsuche{margin:0 !important;}
body .cita-o .cita-o-hauptsuche .cita-o-qsuche input{min-height:52px !important;border-radius:12px !important;font-size:16px !important;border-color:#CFD8E4 !important;}
body .cita-o .cita-o-hauptsuche .cita-o-qsuche input:focus{border-color:var(--v5-pri) !important;box-shadow:0 0 0 3px rgba(23,65,155,.14) !important;outline:none !important;}

/* Werkzeugleiste: Zahl links, Bedienung rechts */
body .cita-o .cita-o-toolbar{display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:8px !important;margin:0 !important;padding:0 !important;border:0 !important;background:none !important;position:static !important;}
body .cita-o .cita-o-toolbar > *{margin:0 !important;}
body .cita-o .cita-o-count{order:0;flex:1 1 auto !important;font-size:17px !important;font-weight:800 !important;color:var(--v5-ink) !important;}
body .cita-o .cita-o-filterschalter{order:1;}
body .cita-o .cita-o-sortfeld{order:2;}
body .cita-o .cita-o-maptoggle{order:3;}
body .cita-o .cita-o-favtoggle{order:4;}
body .cita-o .cita-o-toolbar .cita-o-sprache{order:5;}
body .cita-o .cita-o-filterschalter,body .cita-o .cita-o-maptoggle,body .cita-o .cita-o-favtoggle{
  min-height:42px !important;height:42px !important;padding:0 14px !important;border:1px solid #CFD8E4 !important;border-radius:10px !important;
  background:#fff !important;color:var(--v5-ink) !important;font-size:15px !important;font-weight:700 !important;gap:7px !important;display:inline-flex !important;align-items:center !important;width:auto !important;}
body .cita-o .cita-o-filterschalter svg,body .cita-o .cita-o-maptoggle svg,body .cita-o .cita-o-favtoggle svg{width:18px !important;height:18px !important;}
body .cita-o .cita-o-maptoggle[aria-pressed="true"],body .cita-o .cita-o-filterschalter.hat-filter{border-color:var(--v5-pri) !important;color:var(--v5-pri) !important;background:#F1F5FD !important;}
body .cita-o .cita-o-favtoggle[aria-pressed="true"]{border-color:var(--v5-sec) !important;color:#0B6E66 !important;background:#ECF8F6 !important;}
body .cita-o .cita-o-sortfeld > select{min-height:42px !important;height:42px !important;border:1px solid #CFD8E4 !important;border-radius:10px !important;font-size:15px !important;font-weight:600 !important;padding:0 34px 0 12px !important;background-color:#fff !important;color:var(--v5-ink) !important;}
body .cita-o .cita-o-toolbar .cita-o-sprache{display:inline-flex !important;gap:2px !important;padding:3px !important;background:#EAEFF6 !important;border-radius:10px !important;width:auto !important;}
body .cita-o .cita-o-sprache .cita-o-flagge{min-height:34px !important;padding:0 9px !important;border-radius:8px !important;font-size:13px !important;display:inline-flex !important;align-items:center !important;gap:5px !important;background:transparent !important;color:var(--v5-mut) !important;border:0 !important;width:auto !important;flex:none !important;}
body .cita-o .cita-o-sprache .cita-o-flagge.is-an{background:#fff !important;color:var(--v5-ink) !important;box-shadow:0 1px 2px rgba(16,24,40,.1) !important;}
body .cita-o .cita-o-sprache .cita-o-flagge svg{width:18px !important;height:13px !important;}

/* Gesetzte Filter + Suche speichern in einer ruhigen Zeile */
body .cita-o .cita-o-chips{margin:0 !important;}
body .cita-o .cita-o-bar{display:flex !important;justify-content:flex-end !important;margin:0 !important;padding:0 !important;gap:8px !important;}
body .cita-o .cita-o-suchespeichern,body .cita-o .cita-o-merkteilen{min-height:0 !important;padding:6px 2px !important;border:0 !important;background:none !important;color:var(--v5-sec) !important;font-size:15px !important;font-weight:700 !important;text-decoration:none !important;box-shadow:none !important;width:auto !important;}
body .cita-o .cita-o-suchespeichern:hover{text-decoration:underline !important;}

/* Desktop: Filter immer sichtbar als kompakte Zeile, kein Schubladen-Knopf */
@media (min-width:901px){
  body .cita-o .cita-o-filterschalter{display:none !important;}
  body .cita-o .cita-o-panel{order:-1;display:block !important;position:static !important;transform:none !important;visibility:visible !important;
    padding:12px 14px !important;margin:0 !important;background:#fff !important;border:1px solid var(--v5-line) !important;border-radius:var(--v5-r) !important;box-shadow:none !important;max-height:none !important;}
  body .cita-o .cita-o-hauptsuche{order:-2;}
  body .cita-o .cita-o-sheetkopf,body .cita-o .cita-o-sheetok{display:none !important;}
  body .cita-o .cita-o-sheetinhalt{padding:0 !important;overflow:visible !important;}
  body .cita-o .cita-o-row{display:grid !important;grid-template-columns:1.3fr .8fr 1fr 1fr .8fr .8fr 1fr 1fr !important;gap:10px !important;margin:0 !important;}
  body .cita-o .cita-o-row > label{margin:0 !important;font-size:12px !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.05em !important;color:var(--v5-mut) !important;display:flex !important;flex-direction:column !important;gap:4px !important;width:auto !important;max-width:none !important;}
  body .cita-o .cita-o-row select,body .cita-o .cita-o-row input{min-height:42px !important;height:42px !important;width:100% !important;max-width:none !important;font-size:15px !important;font-weight:500 !important;text-transform:none !important;letter-spacing:0 !important;color:var(--v5-ink) !important;border:1px solid #CFD8E4 !important;border-radius:10px !important;padding:0 10px !important;background-color:#fff !important;margin:0 !important;}
  body .cita-o .cita-o-sheetfuss{display:flex !important;justify-content:flex-end !important;padding:6px 0 0 !important;margin:0 !important;border:0 !important;background:none !important;position:static !important;box-shadow:none !important;}
  body .cita-o .cita-o-reset{margin-left:auto !important;min-height:0 !important;padding:4px 2px !important;border:0 !important;background:none !important;color:var(--v5-mut) !important;font-size:14px !important;font-weight:600 !important;width:auto !important;}
  body .cita-o .cita-o-reset.hat-filter{color:var(--v5-pri) !important;}
  body .cita-o .cita-o-sheetbg{display:none !important;}
}

/* ---------- Neubauprojekte ---------- */
body .cita-o .cita-o-projekte{margin:4px 0 26px !important;}
body .cita-o .cita-o-projekte[hidden]{display:none !important;}
body .cita-o .cita-o-projekte h2{font-size:21px !important;font-weight:800 !important;margin:0 0 12px !important;padding:0 !important;border:0 !important;}
body .cita-o .cita-o-projekte h2::after{display:none !important;}
body .cita-o .cita-o-projekte h2 span{font-weight:600;color:var(--v5-sec);font-size:16px;margin-left:6px;}
body .cita-o .cita-o-projekte-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
body .cita-o .cita-o-pkarte{display:grid !important;grid-template-columns:44% minmax(0,1fr);min-height:220px;background:#fff;border:1px solid var(--v5-line);border-radius:var(--v5-r);overflow:hidden;
  text-decoration:none !important;color:var(--v5-ink) !important;box-shadow:0 1px 2px rgba(16,24,40,.05);transition:box-shadow .18s ease,transform .18s ease;}
body .cita-o .cita-o-pkarte[hidden]{display:none !important;}
body .cita-o .cita-o-pkarte:hover{box-shadow:0 10px 28px rgba(16,24,40,.12);transform:translateY(-2px);}
body .cita-o .cita-o-pkarte-bild{position:relative;display:block;background:#E8EDF4;}
body .cita-o .cita-o-pkarte-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;}
body .cita-o .cita-o-pkarte-txt{display:flex;flex-direction:column;gap:6px;padding:16px 18px;}
body .cita-o .cita-o-pkarte .cita-o-place{margin:0 !important;font-size:13px !important;}
body .cita-o .cita-o-pkarte-name{font-size:21px;font-weight:800;line-height:1.2;color:var(--v5-ink);}
body .cita-o .cita-o-pkarte-daten{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:15px;color:#3D4859;}
body .cita-o .cita-o-pkarte-daten b{color:var(--v5-sec);}
body .cita-o .cita-o-pkarte-preis{font-size:15px;color:var(--v5-mut);margin-top:2px;}
body .cita-o .cita-o-pkarte-preis b{font-size:23px;font-weight:800;color:var(--v5-pri);}
body .cita-o .cita-o-pkarte-cta{margin-top:auto;padding-top:6px;font-size:15px;font-weight:800;color:var(--v5-sec);}

/* ---------- Plaketten ---------- */
body .cita-o .cita-o-badges{position:absolute;left:10px;top:10px;right:60px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none;}
body .cita-o .cita-o-badges .cita-o-tag,body .cita-o .cita-o-b{position:static !important;display:inline-flex !important;align-items:center;margin:0 !important;padding:5px 9px !important;border-radius:7px !important;
  font-size:12.5px !important;font-weight:800 !important;line-height:1.1 !important;letter-spacing:.02em !important;text-transform:none !important;box-shadow:0 1px 3px rgba(0,0,0,.18);}
body .cita-o .cita-o-badges .cita-o-tag{background:var(--v5-pri) !important;color:#fff !important;}
body .cita-o .cita-o-badges .cita-o-tag-rent{background:var(--v5-sec) !important;}
body .cita-o .cita-o-b-neubau{background:#FFE9A8 !important;color:#5C3D00 !important;}
body .cita-o .cita-o-b-frei{background:#fff !important;color:#0B6E66 !important;}
body .cita-o .cita-o-b-runter{background:#C62828 !important;color:#fff !important;}
body .cita-o .cita-o-thumb .cita-o-runter,body .cita-o .cita-o-thumb .cita-o-neu{display:none !important;}

/* ---------- Kacheln ---------- */
body .cita-o .cita-o-grid,body .cita-o .cita-o-split-list .cita-o-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:22px !important;}
body .cita-o .cita-o-split-list:not(.is-nomap) .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
body .cita-o .cita-o-card{position:relative;display:flex !important;flex-direction:column !important;background:#fff !important;border:1px solid var(--v5-line) !important;border-radius:var(--v5-r) !important;overflow:hidden !important;
  box-shadow:0 1px 2px rgba(16,24,40,.05) !important;transition:box-shadow .18s ease,transform .18s ease !important;margin:0 !important;}
body .cita-o .cita-o-card:hover{box-shadow:0 12px 30px rgba(16,24,40,.13) !important;transform:translateY(-2px);}
body .cita-o .cita-o-card-link{display:flex !important;flex-direction:column !important;flex:1 1 auto;color:inherit !important;text-decoration:none !important;}
body .cita-o .cita-o-thumb{aspect-ratio:3/2 !important;height:auto !important;border-radius:0 !important;margin:0 !important;}
body .cita-o .cita-o-thumb img{width:100% !important;height:100% !important;object-fit:cover !important;}
body .cita-o .cita-o-card .cita-o-body{display:flex !important;flex-direction:column !important;flex:1 1 auto;padding:14px 16px 16px !important;gap:0 !important;}
body .cita-o .cita-o-card .cita-o-place{font-size:13px !important;letter-spacing:.05em !important;color:var(--v5-mut) !important;margin:0 0 5px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body .cita-o .cita-o-card .cita-o-title{font-size:17px !important;font-weight:700 !important;line-height:1.35 !important;margin:0 0 10px !important;min-height:2.7em;color:var(--v5-ink) !important;}
body .cita-o .cita-o-preiszeile{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;margin:0 0 2px;}
body .cita-o .cita-o-card .cita-o-price{font-size:23px !important;font-weight:800 !important;line-height:1.15 !important;margin:0 !important;color:var(--v5-pri) !important;}
body .cita-o .cita-o-card .cita-o-per{font-size:14px !important;font-weight:600 !important;color:var(--v5-mut) !important;margin-left:2px;}
body .cita-o .cita-o-preis2{font-size:14px;font-weight:600;color:var(--v5-mut);white-space:nowrap;}
body .cita-o .cita-o-card .cita-o-facts{display:flex !important;flex-wrap:wrap !important;gap:6px 14px !important;margin:12px 0 0 !important;padding:11px 0 0 !important;border-top:1px solid var(--v5-line) !important;font-size:15px !important;color:#344054 !important;}
body .cita-o .cita-o-card .cita-o-facts li{margin:0 !important;padding:0 !important;display:inline-flex !important;align-items:center !important;gap:5px !important;white-space:nowrap;}
body .cita-o .cita-o-merkmale{margin:8px 0 0 !important;font-size:14px !important;color:var(--v5-mut) !important;line-height:1.4 !important;}
body .cita-o .cita-o-card .cita-o-fav{top:10px !important;right:10px !important;width:40px !important;height:40px !important;box-shadow:0 1px 4px rgba(0,0,0,.18) !important;}

/* ---------- Detailseite: Preisblock ---------- */
body .cita-o-detail .cita-o-badges-head{position:static !important;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px !important;pointer-events:auto;}
body .cita-o-detail .cita-o-badges-head .cita-o-tag,body .cita-o-detail .cita-o-badges-head .cita-o-b{box-shadow:none !important;}
body .cita-o-detail .cita-o-badges-head .cita-o-b-frei{background:#DDF4F0 !important;}
body .cita-o-detail .cita-o-preisblock{display:grid;grid-template-columns:minmax(190px,auto) minmax(0,1fr);gap:12px 30px;align-items:start;margin:4px 0 18px;padding:18px 20px;
  background:#fff;border:1px solid var(--v5-line);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.05);}
body .cita-o-detail .cita-o-preislabel{display:block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--v5-mut);}
body .cita-o-detail .cita-o-preisblock .cita-o-price-lg{font-size:34px !important;font-weight:800 !important;line-height:1.1 !important;margin:4px 0 0 !important;color:var(--v5-pri) !important;}
body .cita-o-detail .cita-o-preisblock .cita-o-altpreis{display:block;font-size:16px !important;font-weight:600;color:var(--v5-mut);text-decoration:line-through;margin-top:4px;}
body .cita-o-detail .cita-o-kosten{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px 22px;margin:0 !important;padding:0 !important;}
body .cita-o-detail .cita-o-kosten > div{margin:0;padding:0;}
body .cita-o-detail .cita-o-kosten dt{font-size:14px !important;font-weight:600 !important;color:var(--v5-mut) !important;margin:0 !important;line-height:1.3 !important;}
body .cita-o-detail .cita-o-kosten dt small{display:block;font-size:12.5px;font-weight:500;color:#8792A2;}
body .cita-o-detail .cita-o-kosten dd{font-size:18px !important;font-weight:800 !important;color:var(--v5-ink) !important;margin:2px 0 0 !important;line-height:1.25 !important;}
body .cita-o-detail .cita-o-kosten .is-summe dd{color:var(--v5-pri) !important;}
body .cita-o-detail .cita-o-kosten .is-frei dd{color:var(--v5-sec) !important;}
body .cita-o-detail .cita-o-preislink{grid-column:1/-1;font-size:15px;font-weight:800;color:var(--v5-sec) !important;text-decoration:none !important;border-top:1px solid var(--v5-line);padding-top:12px;}
body .cita-o-detail .cita-o-preislink:hover{text-decoration:underline !important;}
body .cita-o-detail .cita-o-projektband{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:14px 18px;border-radius:14px;
  background:linear-gradient(90deg,#FFF5D6,#FFFBEF);border:1px solid #F1D48A;color:var(--v5-ink) !important;text-decoration:none !important;font-size:15px;line-height:1.45;}
body .cita-o-detail .cita-o-projektband b{display:block;font-size:17px;color:#5C3D00;}
body .cita-o-detail .cita-o-projektband i{font-style:normal;font-size:24px;color:#8A5A00;}

/* Eckdaten: vier ruhige Kacheln */
body .cita-o-detail .cita-o-stats{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:10px !important;margin:0 0 22px !important;}
body .cita-o-detail .cita-o-stat{padding:12px 14px !important;border-radius:12px !important;background:var(--v5-bg) !important;border:1px solid var(--v5-line) !important;box-shadow:none !important;min-height:0 !important;}
body .cita-o-detail .cita-o-stat b{font-size:22px !important;font-weight:800 !important;}
body .cita-o-detail .cita-o-stat b i{font-size:14px !important;font-style:normal;margin-left:2px;color:var(--v5-mut);}
body .cita-o-detail .cita-o-stat span{font-size:14px !important;margin-top:2px !important;color:var(--v5-mut) !important;}

/* Weitere Angaben als Liste statt Emoji-Kacheln */
body .cita-o-detail .cita-o-angaben{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:0 28px !important;margin:0 !important;}
body .cita-o-detail .cita-o-angabe{display:flex !important;justify-content:space-between !important;align-items:baseline !important;gap:12px !important;padding:11px 0 !important;margin:0 !important;border:0 !important;border-bottom:1px solid var(--v5-line) !important;border-radius:0 !important;background:none !important;box-shadow:none !important;}
body .cita-o-detail .cita-o-angabe dt{font-size:16px !important;font-weight:500 !important;color:var(--v5-mut) !important;margin:0 !important;}
body .cita-o-detail .cita-o-angabe dd{font-size:16px !important;font-weight:700 !important;color:var(--v5-ink) !important;margin:0 !important;text-align:right;}

/* Leiste unten am Handy */
body .cita-o-detail .cita-o-sticky-p{display:flex;flex-direction:column;line-height:1.1;min-width:0;}
body .cita-o-detail .cita-o-sticky-p small{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--v5-mut);}
body .cita-o-detail .cita-o-sticky-p b{font-size:21px;font-weight:800;color:var(--v5-pri);white-space:nowrap;}

/* ---------- Tablet ---------- */
@media (max-width:1100px){
  body .cita-o .cita-o-grid,body .cita-o .cita-o-split-list .cita-o-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body .cita-o .cita-o-projekte-liste{grid-template-columns:1fr;}
}

/* ---------- Handy ---------- */
@media (max-width:900px){
  body .cita-o#cita-o-app{padding:14px 14px 32px !important;}
  body .cita-o .cita-o-seitentitel{font-size:25px !important;}
  body .cita-o .cita-o-intro{font-size:15px !important;}
  body .cita-o .cita-o-hauptsuche{grid-template-columns:1fr;gap:10px;}
  body .cita-o .cita-o-hauptsuche .cita-o-seg{display:flex !important;width:100%;overflow-x:auto;scrollbar-width:none;}
  body .cita-o .cita-o-hauptsuche .cita-o-seg button{flex:1 0 auto !important;padding:0 10px !important;font-size:15px !important;}
  body .cita-o .cita-o-toolbar{gap:6px !important;}
  body .cita-o .cita-o-count{flex:1 0 100% !important;order:9;font-size:16px !important;}
  body .cita-o .cita-o-filterschalter,body .cita-o .cita-o-maptoggle,body .cita-o .cita-o-favtoggle{padding:0 11px !important;font-size:14px !important;}
  body .cita-o .cita-o-sortfeld{flex:1 1 120px;min-width:0;}
  body .cita-o .cita-o-sortfeld > select{width:100% !important;font-size:14px !important;}
  body .cita-o .cita-o-favtoggle span{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  body .cita-o .cita-o-toolbar .cita-o-sprache{order:-1;margin-left:auto !important;}
  body .cita-o .cita-o-toolbar .cita-o-sprache .cita-o-flagge{min-height:30px !important;}
  body .cita-o .cita-o-bar{justify-content:flex-start !important;}
  body .cita-o .cita-o-grid,body .cita-o .cita-o-split-list .cita-o-grid,body .cita-o .cita-o-similar .cita-o-grid{grid-template-columns:1fr !important;gap:16px !important;}
  body .cita-o .cita-o-pkarte{grid-template-columns:1fr;min-height:0;}
  body .cita-o .cita-o-pkarte-bild{aspect-ratio:16/9;}
  body .cita-o .cita-o-pkarte-txt{padding:14px 16px 16px;}
  body .cita-o .cita-o-card .cita-o-title{min-height:0;}
  body .cita-o-detail .cita-o-preisblock{grid-template-columns:1fr;padding:16px;gap:12px;}
  body .cita-o-detail .cita-o-preisblock .cita-o-price-lg{font-size:30px !important;}
  body .cita-o-detail .cita-o-kosten{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;}
  body .cita-o-detail .cita-o-kosten dd{font-size:17px !important;}
  body .cita-o-detail .cita-o-stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  body .cita-o-detail .cita-o-angaben{grid-template-columns:1fr !important;}
  body .cita-o-detail .cita-o-sticky{padding:10px 72px 10px 14px !important;gap:10px !important;align-items:center !important;}
  body .cita-o-detail .cita-o-sticky .cita-o-btn{min-height:46px !important;padding:0 16px !important;font-size:15px !important;white-space:nowrap !important;flex:none !important;}
  body:has(.cita-o) #scroll-top{display:none !important;}
}
@media (max-width:380px){
  body .cita-o .cita-o-hauptsuche .cita-o-seg button i{display:none !important;}
  body .cita-o-detail .cita-o-kosten{grid-template-columns:1fr;}
}
@media (max-width:900px){
  body .cita-o#cita-o-app{position:relative;}
  body .cita-o .cita-o-kopf{padding-right:96px !important;}
  body .cita-o .cita-o-toolbar .cita-o-sprache{position:absolute !important;top:16px;right:14px;margin:0 !important;}
}
@media (min-width:901px){ body .cita-o .cita-o-reset{margin-left:auto !important;} }
body .cita-o-detail .cita-o-kosten > div:last-child:not(.is-frei) dd{font-size:15px !important;font-weight:700 !important;hyphens:manual !important;-webkit-hyphens:manual !important;}
body .cita-o-detail .cita-o-angaben{background:none !important;padding:0 !important;border:0 !important;border-radius:0 !important;}
body .cita-o-detail .cita-o-angabe{padding:11px 2px !important;}

/* ---------- v5.0.2 ---------- */
/* WordPress (wpautop) setzt <p>/<br> in die Shortcode-Ausgabe: neutralisieren */
body .cita-o .cita-o-filters p:not([class]),body .cita-o .cita-o-toolbar p:not([class]),body .cita-o .cita-o-hauptsuche p:not([class]),body .cita-o .cita-o-panel p:not([class]),body .cita-o .cita-o-projekte p:not([class]),body .cita-o .cita-o-grid > p:not([class]){display:contents !important;margin:0 !important;}
body .cita-o .cita-o-filters br,body .cita-o .cita-o-toolbar br,body .cita-o .cita-o-projekte br,body .cita-o .cita-o-grid br,body .cita-o .cita-o-card br{display:none !important;}
body .cita-o .cita-o-b-neu{background:#fff !important;color:var(--v5-pri) !important;}
@media (max-width:900px){
  body .cita-o .cita-o-toolbar{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;}
  body .cita-o .cita-o-filterschalter{order:1 !important;width:100% !important;justify-content:center !important;}
  body .cita-o .cita-o-sortfeld{order:2 !important;width:100% !important;}
  body .cita-o .cita-o-maptoggle{order:3 !important;width:100% !important;justify-content:center !important;}
  body .cita-o .cita-o-favtoggle{order:4 !important;width:100% !important;justify-content:center !important;}
  body .cita-o .cita-o-favtoggle span{position:static !important;width:auto !important;height:auto !important;overflow:visible !important;clip:auto !important;}
  body .cita-o .cita-o-count{order:5 !important;grid-column:1/-1;margin-top:4px !important;}
  body .cita-o .cita-o-kopf{padding-right:120px !important;}
  body .cita-o .cita-o-seitentitel{font-size:24px !important;}
  body .cita-o .cita-o-bar{justify-content:flex-start !important;}
}
/* v5.1.0 */
body .cita-o .cita-o-suchespeichern{background:#E6F6F4 !important;border:1px solid #BFE7E2 !important;border-radius:999px !important;padding:8px 16px !important;color:#0B7A70 !important;}
body .cita-o .cita-o-suchespeichern:hover{background:#D3F0EC !important;text-decoration:none !important;}
.cita-o .cita-o-rate{margin:4px 0 0;font-size:14px;font-weight:600;color:var(--v5-sec);line-height:1.3;}
.cita-o .cita-o-fussnote{margin:14px auto 0;max-width:900px;font-size:12.5px;line-height:1.5;color:var(--v5-mut);text-align:center;}
.cita-o .cita-o-fussnote[hidden]{display:none;}
.cita-o .cita-o-grid>.cita-o-suchkarte{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:20px 24px;border-radius:var(--v5-r);background:linear-gradient(135deg,#0F2F73,#17419B);color:#fff;box-shadow:0 6px 20px rgba(15,47,115,.18);}
.cita-o .cita-o-suchkarte-icon{flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:24px;}
.cita-o .cita-o-suchkarte>div{flex:1 1 auto;min-width:0;}
.cita-o .cita-o-suchkarte b{display:block;font-size:18px;color:#fff;margin-bottom:2px;}
.cita-o .cita-o-suchkarte p{margin:0;font-size:15px;color:rgba(255,255,255,.86);line-height:1.45;}
body .cita-o .cita-o-suchkarte .cita-o-btn{flex:0 0 auto;background:#0D9488 !important;border-color:#0D9488 !important;color:#fff !important;white-space:nowrap;}
@media (max-width:680px){.cita-o .cita-o-grid>.cita-o-suchkarte{flex-wrap:wrap;padding:18px;gap:12px;}.cita-o .cita-o-suchkarte>div{flex-basis:calc(100% - 64px);}body .cita-o .cita-o-suchkarte .cita-o-btn{width:100% !important;justify-content:center;}}
.cita-o .cita-o-einkommen{margin:12px 0 0;padding:12px 14px;border-radius:10px;background:#F0F7F6;border:1px solid #CFE9E5;display:grid;gap:2px;}
.cita-o .cita-o-einkommen span{font-size:13.5px;color:var(--v5-mut);}
.cita-o .cita-o-einkommen b{font-size:17px;color:var(--v5-ink);}
.cita-o .cita-o-einkommen small{font-size:12.5px;color:var(--v5-mut);}
.cita-o .cita-o-interesse{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;padding:6px 12px;border-radius:999px;background:#FFF4E5;color:#7A4300;font-size:14px;font-weight:600;}
.cita-o .cita-o-interesse i{width:8px;height:8px;border-radius:50%;background:#E8590C;box-shadow:0 0 0 3px rgba(232,89,12,.18);}
.cita-o .cita-o-unterlagen-h{margin:14px 0 6px;font-weight:700;font-size:15px;}
.cita-o .cita-o-unterlagen{margin:0 0 14px;padding-left:20px;font-size:15px;line-height:1.55;}
body .cita-o .cita-o-bewerben{width:100%;justify-content:center;}
.cita-o .cita-o-stat b{overflow-wrap:normal;word-break:normal;hyphens:manual;}
.cita-o .cita-o-stat.is-wort b{font-size:18px;}
@media (max-width:560px){.cita-o .cita-o-stat.is-wort b{font-size:16px;}}
@media (max-width:680px){
body .cita-o .cita-o-hauptsuche .cita-o-seg{display:flex !important;overflow:hidden !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button{flex:1 1 0 !important;min-width:0 !important;padding:0 4px !important;font-size:14px !important;white-space:nowrap !important;}
body .cita-o .cita-o-hauptsuche .cita-o-seg button i{display:none !important;}
body .cita-o .cita-o-kopf{padding-right:0 !important;}
body .cita-o .cita-o-kopf{padding-top:48px !important;}
body .cita-o .cita-o-kopf .cita-o-intro{padding-right:0;}
}
@media (min-width:901px){body .cita-o .cita-o-sheetfuss{width:100% !important;}}
/* v5.2.0 Projektseite */
body.cita-o-kunde .rh_menu__user_phone{display:none !important;}
.cita-o-projekt{max-width:1180px;margin:0 auto;padding:24px 20px 56px;color:var(--v5-ink);}
.cita-o-pzurueck{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:15px;}
.cita-o-pzurueck a{color:var(--v5-pri);font-weight:600;text-decoration:none;}
.cita-o-pkopf h1{margin:4px 0 8px;font-size:38px;line-height:1.15;font-weight:800;}
.cita-o-pkopf h1 span{display:block;font-size:20px;font-weight:600;color:var(--v5-mut);margin-top:4px;}
.cita-o-pclaim{font-size:18px;line-height:1.55;color:#33405A;max-width:820px;margin:12px 0 0;}
.cita-o-pgalerie{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:8px;margin:22px 0;border-radius:var(--v5-r);overflow:hidden;}
.cita-o-pgalerie.is-wenig{grid-template-columns:2fr 1fr;}
.cita-o-pbild{position:relative;padding:0;margin:0;border:0;background:#E9EEF5;cursor:zoom-in;overflow:hidden;min-height:0;}
.cita-o-pbild:first-child{grid-row:1/3;}
.cita-o-pbild img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.cita-o-pbild:hover img{transform:scale(1.03);}
.cita-o-pmehr{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,47,115,.55);color:#fff;font-weight:700;font-size:18px;}
.cita-o-peck{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 16px;}
.cita-o-peck>div{background:#fff;border:1px solid var(--v5-line);border-radius:12px;padding:14px 16px;}
.cita-o-peck span{display:block;font-size:13.5px;color:var(--v5-mut);}
.cita-o-peck b{display:block;font-size:20px;margin-top:2px;color:var(--v5-ink);}
.cita-o-peck .is-rate b{color:var(--v5-sec);}
.cita-o-pcta{margin:0 0 8px;}
.cita-o-psek{margin:40px 0 0;}
.cita-o-psek>h2{font-size:26px;margin:0 0 16px;font-weight:800;}
.cita-o-psek>h2 span{font-size:15px;font-weight:600;color:var(--v5-mut);margin-left:8px;}
.cita-o-phigh{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;}
.cita-o-phigh li{background:#fff;border:1px solid var(--v5-line);border-left:4px solid var(--v5-sec);border-radius:12px;padding:14px 16px;}
.cita-o-phigh b{display:block;font-size:16px;margin-bottom:4px;}
.cita-o-phigh span{font-size:15px;color:#46536A;line-height:1.5;}
.cita-o-pfilter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#fff;border:1px solid var(--v5-line);border-radius:12px;padding:14px;}
.cita-o-pfilter label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--v5-mut);min-width:140px;}
.cita-o-pfilter select{height:42px;border:1px solid var(--v5-line);border-radius:10px;padding:0 10px;font-size:15px;background:#fff;color:var(--v5-ink);text-transform:none;}
.cita-o .cita-o-pfilter .cita-o-pnurfrei{flex-direction:row;align-items:center;min-width:0;text-transform:none;font-size:15px;color:var(--v5-ink);height:42px;}
.cita-o-ptreffer{margin:12px 0;font-weight:700;}
.cita-o-peinheiten{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;}
.cita-o-pe{background:#fff;border:1px solid var(--v5-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
.cita-o-pe[hidden]{display:none;}
.cita-o-pe.is-weg{opacity:.6;}
.cita-o-pe-bild{position:relative;aspect-ratio:4/3;background:#F3F6FA;}
.cita-o-pe-bild img{width:100%;height:100%;object-fit:contain;display:block;}
.cita-o-pe-status{position:absolute;top:10px;left:10px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:#E6F6F4;color:#0B7A70;}
.cita-o-pe-status.is-reserviert{background:#FFF4E5;color:#7A4300;}
.cita-o-pe-status.is-verkauft{background:#EDEFF3;color:#5B6779;}
.cita-o-pe-txt{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.cita-o-pe-txt h3{margin:0;font-size:18px;}
.cita-o-pe-lage{margin:0;font-size:14px;color:var(--v5-mut);}
.cita-o-pe-daten{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14.5px;color:#33405A;}
.cita-o-pe-preis{margin:auto 0 6px;font-size:14px;color:var(--v5-mut);}
.cita-o-pe-preis b{font-size:20px;color:var(--v5-pri);margin-right:6px;}
body .cita-o .cita-o-pe .cita-o-btn{width:100%;justify-content:center;}
.cita-o-pleer{background:#fff;border:1px dashed var(--v5-line);border-radius:12px;padding:16px;}
.cita-o-pleer[hidden]{display:none;}
.cita-o-plage{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 16px;}
.cita-o-plage li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--v5-line);padding:8px 0;font-size:15px;}
.cita-o-plage span{color:var(--v5-mut);text-align:right;}
.cita-o-pfakten{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 24px;margin:0;}
.cita-o-pfakten div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--v5-line);padding:10px 0;font-size:15px;}
.cita-o-pfakten dt{color:var(--v5-mut);margin:0;}
.cita-o-pfakten dd{margin:0;text-align:right;font-weight:600;}
.cita-o-pfin{background:#fff;border:1px solid var(--v5-line);border-radius:14px;padding:22px;}
.cita-o-pfin>h2{font-size:22px;}
.cita-o-pfin p{font-size:15.5px;line-height:1.6;}
.cita-o-pfaq details{background:#fff;border:1px solid var(--v5-line);border-radius:12px;margin-bottom:8px;padding:0 16px;}
.cita-o-pfaq summary{cursor:pointer;font-weight:700;padding:14px 0;font-size:16px;}
.cita-o-pfaq details p{margin:0 0 14px;font-size:15px;line-height:1.6;color:#33405A;}
.cita-o-projekt .cita-o-cta{margin-top:40px;}
.cita-o-pstand{margin-top:18px;text-align:center;}
@media (max-width:760px){
.cita-o-projekt{padding:16px 16px 40px;}
.cita-o-pkopf h1{font-size:28px;}
.cita-o-pkopf h1 span{font-size:17px;}
.cita-o-pclaim{font-size:16px;}
.cita-o-pgalerie,.cita-o-pgalerie.is-wenig{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;margin:16px -16px;border-radius:0;padding:0 16px;scrollbar-width:none;}
.cita-o-pbild{flex:0 0 86%;height:240px;scroll-snap-align:center;border-radius:12px;}
.cita-o-peck{grid-template-columns:1fr 1fr;}
.cita-o-peck b{font-size:17px;}
body .cita-o .cita-o-pcta .cita-o-btn{width:100%;justify-content:center;}
.cita-o-psek>h2{font-size:22px;}
.cita-o-psek>h2 span{display:block;margin:4px 0 0;}
.cita-o-pfilter label{min-width:0;flex:1 1 calc(50% - 6px);}
.cita-o-peinheiten{grid-template-columns:1fr;}
}
/* v5.2.1 */
.cita-o-pbadges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;}
.cita-o-pbadges .cita-o-b{position:static;display:inline-block;padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700;}
.cita-o-pfilter select{-webkit-appearance:none;appearance:none;padding-right:34px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%235B6779' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 12px center !important;cursor:pointer;}
.cita-o-plage{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));}
.cita-o-pfakten{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));}
.cita-o-pfakten dd{max-width:62%;}
.cita-o-pfin .cita-o-fussnote{text-align:left;margin:14px 0 0;max-width:none;}
@media (max-width:760px){
body .cita-o.cita-o-projekt{padding-left:16px !important;padding-right:16px !important;}
.cita-o-plage,.cita-o-pfakten{grid-template-columns:1fr;}
}
