.elementor-kit-5{--e-global-color-primary:#171512;--e-global-color-secondary:#4D4540;--e-global-color-text:#4D4540;--e-global-color-accent:#C2B3A5;--e-global-color-cb18b5d:#F5F5F0;--e-global-color-ea64c9c:#FFFFFF;--e-global-color-108a606:#E7E3D9;--e-global-color-3bdd72c:#DCD5C6;--e-global-color-7f33fda:#DCD6C9;--e-global-color-decfabf:#7C736B;--e-global-color-8a14239:#221F1C;--e-global-color-aaf62e8:#F2EFE8;--e-global-color-aab31d4:#B6ADA2;--e-global-typography-primary-font-family:"Raleway";--e-global-typography-primary-font-size:1px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Archivo";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Archivo";--e-global-typography-accent-font-weight:500;background-color:#141414;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:1.9rem;--e-global-typography-secondary-font-size:0.98rem;--e-global-typography-text-font-size:1rem;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:0.8rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1220px;}.e-con{--container-max-width:1220px;}}
/* Start custom CSS *//* ==========================================================================
   SIGN Immobilien – Design-Tokens & Hilfsklassen für Elementor
   Einfügen unter: Elementor → Website-Einstellungen → Benutzerdefiniertes CSS
   (oder als Code-Snippet im Child-Theme). Klassen vergibst du je Widget
   unter „Erweitert → CSS-Klassen“ – ohne Punkt, z. B.  sg-eyebrow
   ========================================================================== */

:root{
  --sg-ground:#F5F5F0;   /* Seitenhintergrund, warmes Off-White */
  --sg-surface:#FFFFFF;  /* Karten, Formularfelder */
  --sg-sand:#E7E3D9;     /* abgesetzte Sektionen */
  --sg-sand-deep:#DCD5C6;/* Bildplatzhalter, Hover */
  --sg-taupe:#C2B3A5;    /* Akzent */
  --sg-taupe-deep:#9E8D7E;
  --sg-ink:#171512;      /* Überschriften */
  --sg-ink-2:#4D4540;    /* Fließtext */
  --sg-ink-3:#7C736B;    /* Labels, Meta */
  --sg-line:#DCD6C9;     /* Haarlinien */
  --sg-dark:#221F1C;     /* dunkle Bänder, Hero, Footer */
  --sg-dark-2:#2C2823;
  --sg-on-dark:#F2EFE8;
  --sg-on-dark-2:#B6ADA2;
}

/* --- Grundtypografie ---------------------------------------------------- */
body{ background:var(--sg-ground); }
h1,h2,h3,h4{ letter-spacing:-.015em; text-wrap:balance; }

/* Kleines Label über der Überschrift  →  Klasse: sg-eyebrow */
.sg-eyebrow{
  font-size:.8rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--sg-ink-3); font-weight:500;
}
.sg-eyebrow.sg-on-dark{ color:var(--sg-on-dark-2); }

/* Vorspann-Absatz  →  sg-lead */
.sg-lead{ font-size:1.2rem; line-height:1.5; color:var(--sg-ink-2); max-width:62ch; }

/* Haarlinie als Trenner (Divider-Widget)  →  sg-rule */
.sg-rule .elementor-divider-separator{ border-top-color:var(--sg-line)!important; }

/* --- Sektionsflächen ---------------------------------------------------- */
.sg-sand{ background:var(--sg-sand); }
.sg-band{ background:var(--sg-dark); }
.sg-band, .sg-band h1, .sg-band h2, .sg-band h3, .sg-band p{ color:var(--sg-on-dark); }
.sg-band p:not(.sg-eyebrow){ color:var(--sg-on-dark-2); }

/* --- Header: klebend mit Weichzeichner  →  sg-header (äußerer Container) - */
.sg-header{
  background:color-mix(in srgb, var(--sg-ground) 88%, transparent)!important;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--sg-line);
}
.sg-header .elementor-nav-menu a{
  font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; color:var(--sg-ink-2);
}
.sg-header .elementor-nav-menu a:hover,
.sg-header .elementor-nav-menu .current-menu-item a{ color:var(--sg-ink); }

/* --- Hero --------------------------------------------------------------- */
.sg-hero{ background-color:var(--sg-dark); }
.sg-hero h1{ color:var(--sg-on-dark); }
.sg-hero p{ color:var(--sg-on-dark-2); }
.sg-hero .sg-meta{
  font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sg-on-dark-2);
}

/* Bewertungsleiste (Button-Widget)  →  sg-valuebar */
.sg-valuebar .elementor-button{
  display:flex; align-items:center; gap:1rem; justify-content:space-between;
  min-width:min(100%,26rem); padding:.85rem 1rem .85rem 1.6rem; border-radius:999px;
  background:rgba(255,255,255,.07); border:1px solid rgba(242,239,232,.22);
  color:var(--sg-on-dark); font-size:1rem; letter-spacing:0; text-transform:none;
}
.sg-valuebar .elementor-button:hover{
  background:rgba(255,255,255,.13); border-color:rgba(242,239,232,.4);
}
.sg-valuebar .elementor-button-icon{
  width:2.1rem; height:2.1rem; border-radius:999px; background:var(--sg-taupe);
  color:var(--sg-dark); display:grid; place-items:center; flex:0 0 auto;
}

/* --- Buttons ------------------------------------------------------------ */
.sg-btn .elementor-button{
  border-radius:999px; padding:.85rem 1.6rem; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; border:1px solid var(--sg-ink);
  background:var(--sg-ink); color:var(--sg-ground); transition:.2s;
}
.sg-btn .elementor-button:hover{ background:transparent; color:var(--sg-ink); }
.sg-btn-ghost .elementor-button{ background:transparent; color:var(--sg-ink); }
.sg-btn-ghost .elementor-button:hover{ background:var(--sg-ink); color:var(--sg-ground); }
.sg-btn-light .elementor-button{
  background:var(--sg-on-dark); border-color:var(--sg-on-dark); color:var(--sg-dark);
}
.sg-btn-light .elementor-button:hover{ background:transparent; color:var(--sg-on-dark); }
.sg-btn-outline-light .elementor-button{
  background:transparent; border:1px solid rgba(242,239,232,.45); color:var(--sg-on-dark);
  border-radius:999px; padding:.85rem 1.6rem; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase;
}
.sg-btn-outline-light .elementor-button:hover{
  background:var(--sg-on-dark); color:var(--sg-dark); border-color:var(--sg-on-dark);
}

/* --- Leistungskachel (innerer Container)  →  sg-feature ------------------ */
.sg-feature{ border-top:1px solid var(--sg-line); padding-top:1.4rem; }
.sg-feature .sg-eyebrow{ font-size:.7rem; letter-spacing:.2em; color:var(--sg-taupe-deep); font-weight:600; }
.sg-feature h3{ font-size:1rem; font-weight:600; letter-spacing:0; }
.sg-feature p{ color:var(--sg-ink-2); font-size:.95rem; }

/* --- Ablaufschritt (Container, 2 Spalten)  →  sg-step -------------------- */
.sg-step{ border-top:1px solid var(--sg-line); padding-block:1.75rem; }
.sg-steps > .sg-step:last-child{ border-bottom:1px solid var(--sg-line); }
.sg-step .sg-no{ font-size:1.8rem; line-height:1; color:var(--sg-taupe-deep); }
.sg-step h3{ font-size:1.25rem; font-weight:500; letter-spacing:0; }
.sg-step p{ color:var(--sg-ink-2); max-width:58ch; }

/* --- Kennzahl  →  sg-stat ----------------------------------------------- */
.sg-stat .sg-num{ font-size:2.4rem; line-height:1; font-variant-numeric:tabular-nums; }
.sg-stat p{ font-size:.85rem; color:var(--sg-ink-3); max-width:22ch; }

/* --- Objektkarte (Loop-Item)  →  sg-card -------------------------------- */
.sg-card{ background:transparent; }
.sg-card .sg-loc{ font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--sg-ink-3); }
.sg-card h3{ font-size:1rem; font-weight:600; letter-spacing:0; }
.sg-card .sg-facts{
  border-top:1px solid var(--sg-line); padding-top:.9rem; font-size:.88rem;
  color:var(--sg-ink-2); font-variant-numeric:tabular-nums;
}
.sg-card .sg-price{ font-weight:600; color:var(--sg-ink); margin-left:auto; }
.sg-card img{ transition:.3s; }
.sg-card:hover img{ filter:brightness(.96); }
/* Status-Badge über dem Bild */
.sg-badge{
  position:absolute; top:.85rem; left:.85rem; z-index:2;
  font-size:.62rem; letter-spacing:.16em; text-transform:uppercase;
  padding:.35rem .7rem; border-radius:999px; background:var(--sg-ground); color:var(--sg-ink);
}
.sg-badge.is-reserved{ background:var(--sg-taupe); color:var(--sg-dark); }
.sg-badge.is-sold{ background:var(--sg-ink); color:var(--sg-ground); }

/* --- Definitionsliste / Konditionen  →  sg-dl --------------------------- */
.sg-dl .elementor-icon-list-item{
  border-top:1px solid var(--sg-line); padding-block:.9rem; align-items:flex-start;
}
.sg-dl .elementor-icon-list-text{ color:var(--sg-ink-2); }

/* --- Akkordeon / FAQ  →  sg-faq ----------------------------------------- */
.sg-faq .e-n-accordion-item-title,
.sg-faq .elementor-tab-title{
  border-bottom:1px solid var(--sg-line); padding:1.25rem 0; font-size:1.25rem;
}
.sg-faq .e-n-accordion-item-title-text{ letter-spacing:-.01em; }
.sg-faq .elementor-tab-content{ padding:0 0 1.4rem; color:var(--sg-ink-2); max-width:62ch; }

/* --- Filter-Chips  →  sg-chips (Container) ------------------------------ */
.sg-chips .elementor-button{
  font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; border-radius:999px;
  padding:.5rem 1rem; background:var(--sg-surface); color:var(--sg-ink-2);
  border:1px solid var(--sg-line);
}
.sg-chips .elementor-button:hover,
.sg-chips .is-active .elementor-button{
  background:var(--sg-ink); color:var(--sg-ground); border-color:var(--sg-ink);
}

/* --- Formulare (Elementor Pro Form)  →  sg-form ------------------------- */
.sg-form .elementor-field-group > label{
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--sg-ink-3); margin-bottom:.45rem;
}
.sg-form .elementor-field-textual{
  background:var(--sg-surface); border:1px solid var(--sg-line); border-radius:2px;
  padding:.8rem .9rem; color:var(--sg-ink); font-size:.95rem; min-height:auto;
}
.sg-form .elementor-field-textual:focus{ border-color:var(--sg-taupe-deep); box-shadow:none; }
.sg-form textarea.elementor-field-textual{ min-height:8rem; }
.sg-form .elementor-field-type-acceptance{ font-size:.82rem; color:var(--sg-ink-3); }
.sg-form .elementor-button[type="submit"]{
  border-radius:999px; padding:.9rem 1.7rem; font-size:.78rem; letter-spacing:.14em;
  text-transform:uppercase; background:var(--sg-ink); color:var(--sg-ground);
  border:1px solid var(--sg-ink);
}
.sg-form .elementor-button[type="submit"]:hover{ background:transparent; color:var(--sg-ink); }
.sg-form .elementor-message{ font-size:.9rem; }

/* --- Footer  →  sg-footer ----------------------------------------------- */
.sg-footer{ background:var(--sg-dark); color:var(--sg-on-dark); }
.sg-footer a, .sg-footer p, .sg-footer li{ color:var(--sg-on-dark-2); text-decoration:none; }
.sg-footer a:hover{ color:var(--sg-on-dark); }
.sg-footer h4, .sg-footer .sg-eyebrow{
  color:var(--sg-on-dark-2); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
}

/* --- Feinschliff -------------------------------------------------------- */
:focus-visible{ outline:2px solid var(--sg-taupe-deep); outline-offset:3px; }
@media (prefers-reduced-motion:reduce){ *{ animation:none!important; transition:none!important; } }

/* SIGN Immobilien source styling */
.sign-section{font-family:"Instrument Sans","Helvetica Neue",Arial,sans-serif}
.sign-heading .elementor-heading-title{font-weight:400;letter-spacing:-.021em;line-height:1.1}
.sign-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:9px}
.sign-eyebrow .elementor-heading-title:before{content:"";width:6px;height:6px;background:#FF7800;display:inline-block}
.sign-button .elementor-button{border-radius:0;padding:13px 22px;font-size:13px}
.sign-button .elementor-button:hover{background:#141414!important;color:#EBE8E3!important;border-color:#141414!important}
.sign-source-image img{width:100%;object-fit:cover}
@media(max-width:860px){.sign-section{padding-left:20px!important;padding-right:20px!important}}/* End custom CSS */