/* VON THUN Immobilien – immobilien.css v2.2 (Jost · Hauptseiten-Design) */
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300&display=swap');

/* Basisschrift Jost (wie Hauptseiten) */
.vt-immo-wrap,.vt-immo-grid,.vt-immo-archive-section,.vt-immo-single__layout,.vt-immo-breadcrumb,.vt-page-hero__body{font-family:'Jost',sans-serif;}

/* Farb-Tokens an die Hauptseiten angleichen (nur Plugin-Ausgabe) */
.vt-immo-wrap,.vt-immo-grid,.vt-immo-archive-section,.vt-immo-single__layout,.vt-immo-breadcrumb,.vt-immo-more{
  --vt-ink:#1A1A1D;--vt-navy:#2A2A2E;--vt-royal:#38383E;--vt-mid:#4F4F57;
  --vt-gold:#B8965A;--vt-pearl:#F4F5F6;--vt-ice:#E9EBED;--vt-border:#E1E3E6;
  --vt-hint:#9A9AA0;--vt-muted:#5C5C61;
}

/* ── Breadcrumb ── */
.vt-immo-breadcrumb{
  background:var(--vt-pearl,#F4F5F6);
  border-bottom:1px solid var(--vt-border,#E1E3E6);
  padding:14px var(--vt-inner,64px);
  margin-top:var(--vt-nav-h,76px);
}
.vt-immo-breadcrumb__in{max-width:1440px;margin:0 auto;}
.vt-immo-breadcrumb a{
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--vt-mid,#4F4F57);text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
  transition:opacity .2s;
}
.vt-immo-breadcrumb a:hover{opacity:.75;}

/* ── Layout ── */
.vt-immo-single__layout{
  max-width:1440px;margin:0 auto;
  padding:48px var(--vt-inner,64px);
  display:grid;
  grid-template-columns:1fr 360px;
  gap:48px;
  align-items:start;
}

/* ── Galerie ── */
.vt-immo-gallery-wrap{margin-bottom:24px;}
.vt-slider{
  position:relative;
  height:480px;overflow:hidden;
  border-radius:0;
  background:var(--vt-ice,#E9EBED);
  margin-bottom:8px;
  cursor:grab;
  touch-action:pan-y;            /* vertikales Scrollen erlauben, horizontal = Slider */
  user-select:none;-webkit-user-select:none;
}
.vt-slider.vt-grabbing{cursor:grabbing;}
.vt-slider__track{
  display:flex;height:100%;
  will-change:transform;
}
.vt-slide{
  flex:0 0 100%;width:100%;height:100%;
}
.vt-slide img{
  width:100%;height:100%;object-fit:cover;display:block;
  pointer-events:none;-webkit-user-drag:none;
}
.vt-immo-gallery__badge{
  position:absolute;top:16px;left:16px;
  background:var(--vt-royal,#38383E);color:#fff;
  font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:6px 16px;border-radius:0;
}
.vt-gallery-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(26,26,30,.7);border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .2s;
}
.vt-gallery-nav:hover{background:rgba(26,26,30,.95);}
.vt-gallery-nav--prev{left:16px;}
.vt-gallery-nav--next{right:16px;}
.vt-gallery-counter{
  position:absolute;bottom:16px;right:16px;
  background:rgba(26,26,30,.7);color:#fff;
  font-size:11px;font-weight:600;padding:4px 12px;border-radius:20px;
}
.vt-gallery-label{
  position:absolute;bottom:16px;left:16px;
  background:rgba(26,26,30,.7);color:#fff;
  font-size:10px;font-weight:600;letter-spacing:1px;padding:4px 12px;border-radius:20px;
}
.vt-immo-gallery__thumbs{
  display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;
}
.vt-immo-gallery__thumb{
  width:100px;height:70px;flex-shrink:0;
  overflow:hidden;border-radius:0;
  border:2px solid transparent;cursor:pointer;
  transition:border-color .2s;
}
.vt-immo-gallery__thumb.active{border-color:var(--vt-mid,#4F4F57);}
.vt-immo-gallery__thumb img{width:100%;height:100%;object-fit:cover;}

/* ── Objekt-ID ── */
.vt-immo-objekt-id{
  font-size:10px;font-weight:500;color:var(--vt-hint,#9A9AA0);
  letter-spacing:.5px;margin-bottom:12px;
}

/* ── Titel ── */
.vt-immo-single__title{
  font-size:clamp(26px,2.6vw,38px);font-weight:600;color:var(--vt-ink,#1A1A1D);
  letter-spacing:.02em;text-transform:uppercase;
  line-height:1.12;margin-bottom:20px;
}

/* ── Quick Facts ── */
.vt-immo-quick-facts{
  display:flex;gap:32px;margin-bottom:28px;
  padding-bottom:28px;border-bottom:1px solid var(--vt-border,#E1E3E6);
}
.vt-immo-quick-fact__val{
  font-size:30px;font-weight:200;color:var(--vt-navy,#2A2A2E);
  letter-spacing:-1px;margin-bottom:4px;
}
.vt-immo-quick-fact__lbl{
  font-size:9px;font-weight:700;letter-spacing:2.2px;
  text-transform:uppercase;color:var(--vt-hint,#9A9AA0);
}

/* ── Sections ── */
.vt-immo-section{
  margin-bottom:36px;padding-top:32px;
  border-top:1px solid var(--vt-border,#E1E3E6);
}
.vt-immo-section__title{
  font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--vt-ink,#1A1A1D);margin-bottom:20px;
  display:flex;align-items:center;gap:10px;
}
.vt-immo-section__title::before{
  content:'';display:block;width:20px;height:2px;
  background:var(--vt-gold,#B8965A);
}

/* ── Tabelle ── */
.vt-immo-table{border:1px solid var(--vt-border,#E1E3E6);border-radius:0;overflow:hidden;}
.vt-immo-table__row{
  display:flex;border-bottom:1px solid var(--vt-border,#E1E3E6);
}
.vt-immo-table__row:last-child{border-bottom:none;}
.vt-immo-table__row:nth-child(odd){background:var(--vt-pearl,#F4F5F6);}
.vt-immo-table__label{
  width:220px;flex-shrink:0;
  padding:12px 16px;
  font-size:12px;font-weight:600;color:var(--vt-muted,#4A4A50);
  border-right:1px solid var(--vt-border,#E1E3E6);
}
.vt-immo-table__val{
  flex:1;padding:12px 16px;
  font-size:12px;font-weight:400;color:var(--vt-ink,#1A1A1D);
}

/* ── Text Blocks ── */
.vt-immo-description{
  font-size:15px;font-weight:300;color:var(--vt-muted,#4A4A50);
  line-height:1.95;margin-bottom:32px;padding-bottom:32px;
  border-bottom:1px solid var(--vt-border,#E1E3E6);
}
.vt-immo-text{
  font-size:14px;font-weight:300;color:var(--vt-muted,#4A4A50);line-height:1.95;
}

/* ── Energie ── */
.vt-energie-scale{display:flex;gap:2px;margin-bottom:4px;}
.vt-energie-scale__item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;}
.vt-energie-scale__bar{
  height:28px;width:100%;
  background:var(--ec,#ccc);
  border-radius:0;
}
.vt-energie-scale__label{
  font-size:10px;font-weight:700;color:var(--vt-ink,#1A1A1D);margin-top:4px;
}
.vt-energie-scale__item.active .vt-energie-scale__bar{
  outline:3px solid var(--vt-ink,#1A1A1D);
  outline-offset:1px;
}
.vt-energie-scale__pointer{
  position:absolute;top:-24px;left:50%;transform:translateX(-50%);
  font-size:9px;font-weight:700;color:var(--vt-ink,#1A1A1D);
  white-space:nowrap;background:#fff;padding:2px 4px;border-radius:0;
  border:1px solid var(--vt-border,#E1E3E6);
}
.vt-energie-scale__axis{
  display:flex;justify-content:space-between;
  font-size:8.5px;color:var(--vt-hint,#9A9AA0);margin-top:4px;
}

/* ── Karte ── */
.vt-immo-map-address{
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:300;color:var(--vt-muted,#4A4A50);
  margin-bottom:12px;
}
.vt-immo-map-link{
  color:var(--vt-mid,#4F4F57);text-decoration:none;
  font-size:11px;font-weight:600;letter-spacing:1px;
  margin-left:8px;
}
.vt-immo-map{border-radius:0;overflow:hidden;border:1px solid var(--vt-border,#E1E3E6);}

/* ── SIDEBAR ── */
.vt-immo-single__sidebar{
  display:flex;flex-direction:column;gap:20px;
  position:sticky;top:calc(var(--vt-nav-h,76px) + 24px);
}

/* Kontakt Box */
.vt-immo-contact-box{
  background:var(--vt-pearl,#F4F5F6);
  border:1px solid var(--vt-border,#E1E3E6);
  border-radius:0;padding:24px;
}
.vt-immo-contact-box__head{
  margin-bottom:20px;padding-bottom:20px;
  border-bottom:1px solid var(--vt-border,#E1E3E6);
}
.vt-immo-contact-box__name{
  font-size:14px;font-weight:700;color:var(--vt-ink,#1A1A1D);
  letter-spacing:1px;text-transform:uppercase;line-height:1.4;margin-bottom:4px;
}
.vt-immo-contact-box__role{
  font-size:9px;font-weight:600;color:var(--vt-hint,#9A9AA0);
  letter-spacing:2px;text-transform:uppercase;
}
.vt-immo-contact-box__actions{display:flex;flex-direction:column;gap:10px;}

/* Buttons */
.vt-immo-contact-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 20px;border-radius:0;
  font-family:'Jost',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;text-decoration:none;
  cursor:pointer;border:none;transition:all .2s;justify-content:center;
}
.vt-immo-contact-btn--primary{background:var(--vt-ink,#1A1A1D);color:#fff;}
.vt-immo-contact-btn--primary:hover{background:var(--vt-royal,#38383E);color:#fff;}
.vt-immo-contact-btn--secondary{background:transparent;color:var(--vt-ink,#1A1A1D);border:1px solid var(--vt-border,#E1E3E6);}
.vt-immo-contact-btn--secondary:hover{border-color:var(--vt-mid,#4F4F57);color:var(--vt-mid,#4F4F57);}

/* Kontakt Formular */
.vt-immo-contact-form{
  background:#fff;border:1px solid var(--vt-border,#E1E3E6);
  border-radius:0;padding:24px;position:relative;overflow:hidden;
}
.vt-immo-contact-form__head{margin-bottom:20px;}
.vt-immo-contact-form__title{
  font-size:15px;font-weight:600;color:var(--vt-ink,#1A1A1D);
  letter-spacing:.5px;margin-top:8px;
}

/* Preis Box */
.vt-immo-sidebar-price{
  background:var(--vt-navy,#2A2A2E);
  border-radius:0;padding:24px;
  text-align:center;
}
.vt-immo-sidebar-price__main{
  font-size:38px;font-weight:200;color:#fff;letter-spacing:-1px;line-height:1;
}
.vt-immo-sidebar-price__main span{font-size:13px;font-weight:300;color:rgba(255,255,255,.55);}
.vt-immo-sidebar-price__nk{font-size:11px;font-weight:300;color:rgba(255,255,255,.45);margin-top:8px;}

/* ── Grid / Slider (Archiv + Shortcode) ── */
.vt-immo-archive-section{background:#fff;padding:var(--vt-section,80px) 0;}
.vt-immo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

/* Slider-Shortcode */
.vt-immo-wrap--slider{position:relative;}
.vt-slider-wrap{overflow:hidden;width:100%;}
.vt-slider-track{display:flex;gap:24px;will-change:transform;cursor:grab;touch-action:pan-y;}
.vt-slider-track.vt-grabbing{cursor:grabbing;}
.vt-immo-wrap--slider .vt-slider-track .vt-card{flex:0 0 calc(33.333% - 16px);min-width:0;}
.vt-slider-track .vt-card img{pointer-events:none;-webkit-user-drag:none;}

.vt-sc{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px;}
.vt-sb{
  width:46px;height:46px;flex:0 0 46px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:#fff;border:1px solid var(--vt-border,#E1E3E6);
  color:var(--vt-ink,#1A1A1D);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s;
  line-height:0;
}
.vt-sb:hover{background:var(--vt-ink,#1A1A1D);color:#fff;border-color:var(--vt-ink,#1A1A1D);}
.vt-sb svg{width:16px;height:16px;display:block;}
.vt-sb[disabled]{opacity:.35;cursor:default;}
.vt-sb[disabled]:hover{background:#fff;color:var(--vt-ink,#1A1A1D);border-color:var(--vt-border,#E1E3E6);}
.vt-sdots{display:flex;align-items:center;gap:8px;}
.vt-sdots .vt-dot{
  width:8px;height:8px;border-radius:50%;padding:0;border:0;
  background:var(--vt-border,#E1E3E6);cursor:pointer;transition:background .2s,transform .2s;
}
.vt-sdots .vt-dot.active{background:var(--vt-ink,#1A1A1D);transform:scale(1.25);}

/* ── Kontaktfeld Detailansicht: hochwertig wie Kontakt-Seite ── */
/* Felder (WPForms + Fallback) */
.vt-immo-contact-form .wpforms-form input[type=text],
.vt-immo-contact-form .wpforms-form input[type=email],
.vt-immo-contact-form .wpforms-form input[type=tel],
.vt-immo-contact-form .wpforms-form input[type=url],
.vt-immo-contact-form .wpforms-form textarea,
.vt-immo-contact-form .vt-form__field input,
.vt-immo-contact-form .vt-form__field textarea{
  width:100%!important;box-sizing:border-box!important;font-family:'Jost',sans-serif!important;
  font-size:13px!important;font-weight:300!important;color:var(--vt-ink,#1A1A1D)!important;
  background:#fff!important;border:1px solid var(--vt-border,#E1E3E6)!important;border-radius:0!important;
  padding:13px 14px!important;transition:border-color .25s,box-shadow .25s!important;outline:none!important;
}
.vt-immo-contact-form .wpforms-form textarea,
.vt-immo-contact-form .vt-form__field textarea{min-height:112px!important;resize:vertical!important;line-height:1.6!important;}
.vt-immo-contact-form .wpforms-form input:focus,
.vt-immo-contact-form .wpforms-form textarea:focus,
.vt-immo-contact-form .vt-form__field input:focus,
.vt-immo-contact-form .vt-form__field textarea:focus{
  border-color:var(--vt-mid,#4F4F57)!important;box-shadow:0 0 0 3px rgba(40,40,46,.12)!important;
}
.vt-immo-contact-form .wpforms-form .wpforms-field{margin-bottom:14px!important;}
.vt-immo-contact-form .wpforms-form .wpforms-field-description{font-size:10px!important;color:var(--vt-hint,#9A9AA0)!important;margin-top:5px!important;}
.vt-immo-contact-form .wpforms-field-label{
  font-size:9px!important;font-weight:700!important;letter-spacing:2px!important;
  text-transform:uppercase!important;color:var(--vt-hint,#9A9AA0)!important;margin-bottom:6px!important;
}
.vt-immo-contact-form .wpforms-form input::placeholder,
.vt-immo-contact-form .wpforms-form textarea::placeholder{color:var(--vt-hint,#9A9AA0)!important;opacity:1!important;}

/* Buttons (WPForms) – Ink → Royal, voll breit, eckig */
.vt-immo-contact-form .wpforms-submit-container button,
.vt-immo-contact-form .wpforms-form button[type=submit]{
  display:inline-flex!important;align-items:center;justify-content:center;gap:9px;
  background:var(--vt-ink,#1A1A1D)!important;border:1px solid var(--vt-ink,#1A1A1D)!important;color:#fff!important;
  font-family:'Jost',sans-serif!important;font-size:10px!important;font-weight:600!important;
  letter-spacing:2px!important;text-transform:uppercase!important;border-radius:0!important;
  padding:16px 24px!important;width:100%!important;cursor:pointer;
  transition:background .25s,border-color .25s!important;
}
.vt-immo-contact-form .wpforms-submit-container button:hover,
.vt-immo-contact-form .wpforms-form button[type=submit]:hover{
  background:var(--vt-royal,#38383E)!important;border-color:var(--vt-royal,#38383E)!important;
}

/* Fallback-Formular: Platzhalter IM Feld, durchgehende Border */
.vt-immo-contact-form .vt-form__field{position:relative;}
.vt-immo-contact-form .vt-form__field label{
  position:absolute;left:15px;top:50%;transform:translateY(-50%);
  font-size:13px;font-weight:300;color:var(--vt-hint,#9A9AA0);
  pointer-events:none;transition:opacity .15s ease;
}
.vt-immo-contact-form .vt-form__field--textarea label{top:15px;transform:none;}
.vt-immo-contact-form .vt-form__field input:focus + label,
.vt-immo-contact-form .vt-form__field input:not(:placeholder-shown) + label,
.vt-immo-contact-form .vt-form__field textarea:focus + label,
.vt-immo-contact-form .vt-form__field textarea:not(:placeholder-shown) + label{opacity:0;}

/* Fallback: Checkbox */
.vt-immo-contact-form .vt-form__checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.vt-immo-contact-form .vt-form__checkbox input{position:absolute;opacity:0;width:0;height:0;}
.vt-immo-contact-form .vt-form__checkbox-mark{
  width:16px;height:16px;flex:0 0 auto;margin-top:1px;background:#fff;
  border:1px solid var(--vt-border,#E1E3E6);position:relative;transition:.2s;
}
.vt-immo-contact-form .vt-form__checkbox input:checked + .vt-form__checkbox-mark{
  background:var(--vt-ink,#1A1A1D);border-color:var(--vt-ink,#1A1A1D);
}
.vt-immo-contact-form .vt-form__checkbox input:checked + .vt-form__checkbox-mark::after{
  content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;
  border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);
}
.vt-immo-contact-form .vt-form__checkbox-text{font-size:10px;font-weight:300;color:var(--vt-muted,#5C5C61);line-height:1.55;}

/* Fallback: Erfolg-Overlay */
.vt-immo-contact-form .vt-form-success-overlay{
  position:absolute;inset:0;background:#fff;display:none;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:24px;gap:8px;
}
.vt-immo-contact-form .vt-form-success-overlay.vt-on,
.vt-immo-contact-form .vt-form-success-overlay.active,
.vt-immo-contact-form .vt-form-success-overlay.show,
.vt-immo-contact-form .vt-form-success-overlay.is-visible{display:flex;}
.vt-immo-contact-form .vt-success-icon{
  width:54px;height:54px;border:1px solid var(--vt-border,#E1E3E6);
  display:flex;align-items:center;justify-content:center;margin-bottom:4px;
}
.vt-immo-contact-form .vt-success-title{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--vt-ink,#1A1A1D);}
.vt-immo-contact-form .vt-success-text{font-size:12px;font-weight:300;color:var(--vt-muted,#5C5C61);}

/* ── Responsive ── */
@media(max-width:1200px){
  .vt-immo-archive-section{padding:64px 0;}
}
@media(max-width:1024px){
  .vt-immo-single__layout{grid-template-columns:1fr;padding:32px 36px;}
  .vt-immo-single__sidebar{position:static;}
  .vt-slider{height:340px;}
  .vt-immo-grid{grid-template-columns:repeat(2,1fr);}
  .vt-immo-wrap--slider .vt-slider-track .vt-card{flex:0 0 calc(50% - 12px);}
  .vt-immo-archive-section{padding:56px 0;}
}
@media(max-width:768px){
  .vt-immo-breadcrumb{padding:12px 24px;}
  .vt-immo-single__layout{padding:24px 24px;}
  .vt-slider{height:260px;}
  .vt-immo-grid{grid-template-columns:1fr;}
  .vt-immo-wrap--slider .vt-slider-track{gap:16px;}
  .vt-immo-wrap--slider .vt-slider-track .vt-card{flex:0 0 100%;}
  .vt-immo-table__label{width:140px;}
  .vt-energie-scale{gap:1px;}
  .vt-immo-quick-facts{flex-wrap:wrap;gap:16px;}
}
@media(max-width:560px){
  .vt-immo-archive-section{padding:40px 0;}
  .vt-sb{width:42px;height:42px;flex:0 0 42px;}
  .vt-sc{gap:12px;margin-top:20px;}
}

/* Klickbares Karten-Bild → Detailseite */
.vt-card__img{position:relative;}
.vt-card__img-link{display:block;width:100%;height:100%;cursor:pointer;}
.vt-card__img-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.vt-card__img-link:hover img{transform:scale(1.04);}

/* Google Maps – DSGVO Klick-zum-Laden */
.vt-map-consent{
  position:relative;min-height:320px;border-radius:0;overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(135deg,#E5E6E9 0%,#F1F1F3 100%);
  border:1px solid var(--vt-border,#E1E3E6);cursor:pointer;
}
.vt-map-consent::before{
  content:'';position:absolute;inset:0;opacity:.45;pointer-events:none;
  background-image:
    linear-gradient(rgba(154,154,160,.18) 1px,transparent 1px),
    linear-gradient(90deg,rgba(154,154,160,.18) 1px,transparent 1px);
  background-size:42px 42px;
}
.vt-map-consent__inner{position:relative;max-width:440px;padding:30px 26px;}
.vt-map-consent__title{font-size:15px;font-weight:700;color:var(--vt-ink,#1A1A1D);margin:6px 0 8px;}
.vt-map-consent__text{font-size:12px;line-height:1.65;color:var(--vt-hint,#5C5C61);margin:0 0 16px;}
.vt-map-consent__text a{color:var(--vt-mid,#4F4F57);text-decoration:underline;}
.vt-map-consent__btn{
  background:var(--vt-ink,#1A1A1D);color:#fff;border:0;cursor:pointer;
  font-family:'Jost',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;padding:11px 28px;border-radius:0;transition:background .2s;
}
.vt-map-consent__btn:hover{background:var(--vt-royal,#38383E);}
.vt-map-consent__remember{display:block;margin-top:13px;font-size:11px;color:var(--vt-hint,#9A9AA0);cursor:pointer;}
.vt-map-consent__remember input{vertical-align:middle;margin-right:5px;}
.vt-map-consent--loaded{min-height:0;cursor:default;background:none;border:0;display:block;}
.vt-map-consent--loaded::before{display:none;}
.vt-map-consent--loaded iframe{display:block;border-radius:0;}

/* ── Archiv-Hero: wie die anderen Unterseiten (Stil von .vth-phero) ── */
.vt-page--immo-archive .vt-page-hero{
  position:relative;min-height:clamp(420px,56vh,560px);
  display:flex;align-items:flex-end;overflow:hidden;
  background:linear-gradient(135deg,#1A1A1D,#2A2A2E);
}
.vt-page--immo-archive .vt-page-hero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center center;
  background-repeat:no-repeat;background-color:#2A2A2E;
}
.vt-page--immo-archive .vt-page-hero__veil{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(22,22,25,.8) 0%,rgba(22,22,25,.4) 52%,rgba(22,22,25,.24) 100%),linear-gradient(to right,rgba(22,22,25,.4),transparent 66%);
}
.vt-page--immo-archive .vt-page-hero__body{
  position:relative;z-index:2;width:100%;max-width:1440px;margin:0 auto;
  padding:0 var(--vt-inner,64px) clamp(48px,7vh,82px);
}
.vt-page--immo-archive .vt-eye{
  padding-left:0;margin-left:0;text-indent:0;display:inline-flex;align-items:center;gap:12px;
  font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;
  color:rgba(255,255,255,.62);margin-bottom:18px;
}
.vt-page--immo-archive .vt-eye::before{content:"";display:block;width:30px;height:1px;background:var(--vt-gold,#B8965A);}
.vt-page--immo-archive .vt-page-h1{
  font-size:clamp(30px,4.6vw,58px);font-weight:600;color:#fff;
  text-transform:uppercase;letter-spacing:.04em;line-height:1.05;margin:0;
}
.vt-page--immo-archive .vt-immo-hero-accent{
  display:block;width:48px;height:2px;background:var(--vt-gold,#B8965A);margin:22px 0 0;
}
/* zweiten (doppelten) Akzentstrich aus dem alten Hero-System ausblenden */
.vt-page--immo-archive .vt-page-h1::before,
.vt-page--immo-archive .vt-page-h1::after{display:none !important;}
.vt-page--immo-archive .vt-page-hero__sub{
  font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;
  color:rgba(255,255,255,.6);margin:22px 0 0;line-height:1.7;
}

/* ── Weitere Angebote (Detailseite) ── */
.vt-immo-more{background:var(--vt-pearl,#F4F5F6);border-top:1px solid var(--vt-border,#E1E3E6);padding:var(--vt-section,80px) var(--vt-inner,48px);overflow:hidden;}
.vt-immo-more__in{max-width:1440px;margin:0 auto;}
.vt-immo-more__head{margin-bottom:34px;}
.vt-immo-more__title{font-size:clamp(24px,3vw,38px);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--vt-ink,#1A1A1D);line-height:1.1;margin:8px 0 0;}
@media(max-width:1024px){.vt-immo-more{padding:56px 28px;}}
@media(max-width:560px){.vt-immo-more{padding:44px 18px;}}
@media(max-width:768px){.vt-immo-more .vt-slider-track .vt-card{flex:0 0 100%;}.vt-immo-more .vt-slider-wrap{overflow:hidden;}}
/* Archiv-Filter mobil: horizontale Scroll-Chips (wie Referenzen-Plugin) */
@media(max-width:768px){
  .vt-immo-filter{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:32px!important;padding-bottom:16px!important;}
  .vt-immo-filter::-webkit-scrollbar{display:none;}
  .vt-immo-filter-btn{flex:0 0 auto;white-space:nowrap;}
}
/* Karten-Titel als Link */
.vt-card__title a{color:inherit;text-decoration:none;transition:color .2s ease;}
.vt-card__title a:hover{color:var(--vt-gold,#B8965A);}

/* ── Miete / Kauf – Umschalter ── */
.vt-immo-offer{text-align:center;}
.vt-immo-offerbar{display:inline-flex;border:1px solid var(--vt-border,#E1E3E6);background:#fff;margin:0 0 30px;}
.vt-immo-offerbar--archive{display:flex;width:max-content;margin:0 0 34px;}
.vt-offer-btn,.vt-immo-offer-btn{appearance:none;-webkit-appearance:none;border:0;background:#fff;padding:13px 30px;font-family:'Jost',sans-serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--vt-hint,#9A9AA0);cursor:pointer;transition:background .2s,color .2s;}
.vt-offer-btn+.vt-offer-btn,.vt-immo-offer-btn+.vt-immo-offer-btn{border-left:1px solid var(--vt-border,#E1E3E6);}
.vt-offer-btn.on,.vt-immo-offer-btn.on,
.vt-offer-btn.on:hover,.vt-immo-offer-btn.on:hover{background:var(--vt-ink,#1A1A1D)!important;color:#fff!important;}
.vt-offer-btn:hover:not(.on),.vt-immo-offer-btn:hover:not(.on){background:var(--vt-pearl,#F4F5F6)!important;color:var(--vt-ink,#1A1A1D)!important;}
.vt-offer-pane{text-align:left;}
@media(max-width:560px){
  .vt-immo-offerbar,.vt-immo-offerbar--archive{display:flex;width:100%;}
  .vt-offer-btn,.vt-immo-offer-btn{flex:1;padding:12px 8px;font-size:9px;letter-spacing:1.2px;}
}

/* ════════ Theme-Härtung: Themify-Button-Stile neutralisieren (Rundung/Schatten) ════════ */
.vt-sb,.vt-gallery-nav,.vt-offer-btn,.vt-immo-offer-btn,.vt-immo-filter-btn{
  -webkit-appearance:none!important;appearance:none!important;
  box-shadow:none!important;text-shadow:none!important;background-image:none!important;
}
/* Umschalter: eckig, kein Schatten, eine saubere Trennlinie */
.vt-immo-offerbar,.vt-immo-offerbar--archive{border-radius:0!important;box-shadow:none!important;overflow:hidden;}
.vt-offer-btn,.vt-immo-offer-btn{border-radius:0!important;border:0!important;min-width:0!important;line-height:1.2!important;}
.vt-offer-btn+.vt-offer-btn,.vt-immo-offer-btn+.vt-immo-offer-btn{border-left:1px solid var(--vt-border,#E1E3E6)!important;}
/* Slider-Pfeile: runder, weißer Kreis im Anthrazit-Stil – Themify-Stile abgeklemmt */
.vt-sb{width:46px!important;height:46px!important;min-width:0!important;padding:0!important;line-height:0!important;border-radius:50%!important;border:1px solid var(--vt-border,#E1E3E6)!important;background:#fff!important;color:var(--vt-ink,#1A1A1D)!important;}
.vt-sb:hover{background:var(--vt-ink,#1A1A1D)!important;color:#fff!important;border-color:var(--vt-ink,#1A1A1D)!important;}
.vt-sb[disabled]{background:#fff!important;color:var(--vt-ink,#1A1A1D)!important;border-color:var(--vt-border,#E1E3E6)!important;opacity:.35!important;}
.vt-sb svg{width:16px!important;height:16px!important;}
/* Galerie-Pfeile (Detailseite) */
.vt-gallery-nav{width:44px!important;height:44px!important;padding:0!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.2)!important;background:rgba(26,26,30,.7)!important;}
.vt-gallery-nav:hover{background:rgba(26,26,30,.95)!important;}
/* Objektart-Filter eckig */
.vt-immo-filter-btn{border-radius:1px!important;}
