/* =========================================================
   Schipper Enhancements - Formular & Danke im Markendesign
   Marke: Bordeaux #8F0317 | Akzent #EBE4E5 | Text #0E0000
   Scope strikt ueber body.sch-form-page / body.page-id-1687
   ========================================================= */
:root{
	--sch-bordeaux:#8F0317;
	--sch-bordeaux-dark:#6d0211;
	--sch-accent:#EBE4E5;
	--sch-text:#0E0000;
	--sch-grey:#6A6264;
	--sch-line:#e4dadc;
	--sch-field-bg:#fcfbfb;
}

/* Logo-Karte (Formular- und Danke-Seite) */
body.sch-form-page .sch-logo-card,
body.page-id-1687 .sch-logo-card{ text-align:center; }
body.sch-form-page .sch-logo-card img,
body.page-id-1687 .sch-logo-card img{
	border-radius:16px;
	box-shadow:0 16px 40px rgba(143,3,23,.18), 0 4px 12px rgba(0,0,0,.06);
}

/* =========================================================
   Bewerbungsformular - Seite 169
   ========================================================= */
body.sch-form-page .elementor-widget-form{
	max-width:680px;
	margin-left:auto;
	margin-right:auto;
}
body.sch-form-page .elementor-widget-form .elementor-form{
	background:#ffffff;
	border:1px solid var(--sch-line);
	border-radius:20px;
	box-shadow:0 24px 60px rgba(143,3,23,.10), 0 6px 18px rgba(0,0,0,.05);
	padding:34px 32px 30px;
}

/* Feld-Abstaende kompakt */
body.sch-form-page .elementor-field-group{ margin-bottom:10px; }
body.sch-form-page .elementor-field-label{
	font-weight:600;
	color:var(--sch-text);
	font-size:13.5px;
	margin-bottom:6px;
	letter-spacing:.1px;
}

/* Eingabefelder / Selects / Textarea */
body.sch-form-page .elementor-field-textual{
	border:1px solid #d9d2d3 !important;
	border-radius:10px !important;
	min-height:46px;
	padding:10px 14px !important;
	background:var(--sch-field-bg) !important;
	color:var(--sch-text) !important;
	font-size:15px;
	box-shadow:none !important;
	transition:border-color .15s ease, box-shadow .15s ease;
}
body.sch-form-page .elementor-field-textual:focus{
	border-color:var(--sch-bordeaux) !important;
	box-shadow:0 0 0 3px rgba(143,3,23,.12) !important;
	outline:none;
}
body.sch-form-page select.elementor-field-textual{ cursor:pointer; }
body.sch-form-page textarea.elementor-field-textual{ min-height:104px; line-height:1.5; }

/* Pflichtfeld-Stern dezent in Markenrot */
body.sch-form-page .elementor-mark-required .elementor-field-label:after{ color:var(--sch-bordeaux); }

/* Buttons (Weiter / Zurueck / Absenden) */
body.sch-form-page .elementor-button,
body.sch-form-page .e-form__buttons button{
	background:var(--sch-bordeaux);
	border:none;
	color:#ffffff !important;
	border-radius:10px;
	font-weight:600;
	letter-spacing:.2px;
	padding:13px 28px;
	font-size:15px;
	transition:background .15s ease, transform .05s ease, box-shadow .15s ease;
	box-shadow:0 6px 16px rgba(143,3,23,.22);
}
body.sch-form-page .elementor-button:hover,
body.sch-form-page .e-form__buttons button:hover{ background:var(--sch-bordeaux-dark); }
body.sch-form-page .elementor-button:active{ transform:translateY(1px); }

/* Weiter / Absenden solide Bordeaux */
body.sch-form-page .e-form__buttons__wrapper__button-next,
body.sch-form-page .elementor-button[type="submit"]{
	background:var(--sch-bordeaux) !important;
	color:#ffffff !important;
	border:1.5px solid var(--sch-bordeaux) !important;
}
/* Zurueck-Button neutral grau (nur previous).
   Bewusst NICHT rot: zwei rote Schaltflaechen nebeneinander verwischen,
   welche der Weg vorwaerts ist. Grau = sekundaer, Bordeaux = Hauptweg. */
body.sch-form-page .e-form__buttons button.e-form__buttons__wrapper__button-previous{
	background:#F3F1F1 !important;
	color:#4A4446 !important;
	border:1.5px solid #CFC9CA !important;
	box-shadow:none !important;
	font-weight:600 !important;
}
body.sch-form-page .e-form__buttons button.e-form__buttons__wrapper__button-previous:hover{
	background-color:#E3DEDF !important;
	color:#2B2628 !important;
	border-color:#B9B2B4 !important;
}
body.sch-form-page .e-form__buttons button.e-form__buttons__wrapper__button-previous:focus-visible{
	outline:2px solid var(--sch-bordeaux);
	outline-offset:2px;
}

/* Zurueck links, Weiter rechts - nebeneinander statt uebereinander.
   Der Weg vorwaerts liegt damit dort, wo Leserichtung und Gewohnheit
   ihn erwarten, und bekommt zugleich mehr Flaeche als der Rueckweg. */
body.sch-form-page .e-form__buttons{
	margin-top:14px;
	gap:12px;
	flex-wrap:nowrap;
	align-items:stretch;
}
body.sch-form-page .e-form__buttons .e-form__buttons__wrapper{
	padding:0 !important;
	margin:0 !important;
	min-width:0;
}
body.sch-form-page .e-form__buttons .elementor-field-type-previous{ flex:0 1 38%; order:1; }
body.sch-form-page .e-form__buttons .elementor-field-type-next,
body.sch-form-page .e-form__buttons .elementor-field-type-submit{ flex:1 1 62%; order:2; }
body.sch-form-page .e-form__buttons button{ width:100%; }

/* Sehr schmale Geraete: untereinander, Hauptweg oben. */
@media (max-width:420px){
	body.sch-form-page .e-form__buttons{ flex-wrap:wrap; }
	body.sch-form-page .e-form__buttons .elementor-field-type-previous{ flex:1 1 100%; order:2; }
	body.sch-form-page .e-form__buttons .elementor-field-type-next,
	body.sch-form-page .e-form__buttons .elementor-field-type-submit{ flex:1 1 100%; order:1; }
}

/* ----- Rueckmeldung waehrend der Uebermittlung -----
   Deckt die Formularkarte ab, damit klar ist: es laeuft etwas,
   und ein zweiter Klick auf "Absenden" bringt nichts. */
body.sch-form-page .sch-sending{
	position:absolute;
	inset:0;
	z-index:20;
	display:none;
	align-items:center;
	justify-content:center;
	background:rgba(255,255,255,.86);
	backdrop-filter:blur(2px);
	border-radius:20px;
}
body.sch-form-page .sch-sending.is-visible{ display:flex; }
body.sch-form-page .sch-sending__box{ text-align:center; padding:20px; }
body.sch-form-page .sch-sending__spinner{
	width:44px;height:44px;margin:0 auto 16px;
	border:4px solid var(--sch-accent);
	border-top-color:var(--sch-bordeaux);
	border-radius:50%;
	animation:sch-spin .9s linear infinite;
}
body.sch-form-page .sch-sending.is-done .sch-sending__spinner{
	border-color:var(--sch-bordeaux);
	animation:none;
}
body.sch-form-page .sch-sending__text{
	margin:0;
	color:var(--sch-text);
	font-weight:600;
	font-size:16px;
}
@keyframes sch-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){
	body.sch-form-page .sch-sending__spinner{ animation:none; }
}

/* ----- Step-Indikator (number_text) ----- */
body.sch-form-page .e-form__indicators{ margin-bottom:28px; gap:6px; }
body.sch-form-page .e-form__indicators__indicator{
	color:var(--sch-grey);
	border:none;
	padding:0 4px;
}
body.sch-form-page .e-form__indicators__indicator__number,
body.sch-form-page .e-form__indicators__indicator__icon{
	width:38px;height:38px;
	border:2px solid var(--sch-line);
	border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	font-weight:700;font-size:15px;
	background:#ffffff;color:var(--sch-grey);
	transition:background .2s ease, border-color .2s ease, color .2s ease;
}
body.sch-form-page .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
body.sch-form-page .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number,
body.sch-form-page .e-form__indicators__indicator--state-active .e-form__indicators__indicator__icon,
body.sch-form-page .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__icon{
	background:var(--sch-bordeaux);
	border-color:var(--sch-bordeaux);
	color:#ffffff;
}
body.sch-form-page .e-form__indicators__indicator__label{
	font-size:12.5px;font-weight:600;margin-top:8px;color:var(--sch-grey);
}
body.sch-form-page .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label,
body.sch-form-page .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__label{
	color:var(--sch-bordeaux);
}
body.sch-form-page .e-form__indicators__indicator--state-inactive{ opacity:.65; }
body.sch-form-page .e-form__indicators__indicator__separator{ background:var(--sch-line); height:2px; }
body.sch-form-page .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__separator{ background:var(--sch-bordeaux); }

/* Mobile: Step-Labels ausblenden spart Platz, Nummern bleiben */
@media (max-width:600px){
	body.sch-form-page .elementor-widget-form{ max-width:100%; }
	body.sch-form-page .elementor-widget-form .elementor-form{ padding:22px 14px 20px; }
	body.sch-form-page .e-form__indicators__indicator__label{ display:none; }
	/* Elementor-Spalten-Gutter auf Mobil neutralisieren (verhindert Ueberlauf rechts) */
	body.sch-form-page .elementor-form-fields-wrapper{ margin-left:0 !important; margin-right:0 !important; }
	body.sch-form-page .elementor-field-group{
		padding-left:0 !important; padding-right:0 !important;
		box-sizing:border-box; max-width:100%;
	}
	/* Step-Indikator passt sich an: Trenner schrumpfen, Kreise bleiben */
	body.sch-form-page .e-form__indicators{ width:100%; max-width:100%; gap:0; }
	body.sch-form-page .e-form__indicators__indicator{ flex:0 0 auto; padding:0; }
	body.sch-form-page .e-form__indicators__indicator__separator{
		flex:1 1 auto; width:auto !important; min-width:6px; margin:0 4px;
	}
	/* Sicherheitsnetz gegen Ueberlauf der Karte auf Mobil */
	body.sch-form-page .elementor-widget-form .elementor-form{ overflow-x:clip; }
}

/* =========================================================
   Danke-Seite - Seite 1687
   ========================================================= */
body.page-id-1687 .elementor-element-d40031{
	max-width:640px;
	margin-left:auto;margin-right:auto;
	background:#ffffff;
	border-radius:22px;
	box-shadow:0 28px 70px rgba(143,3,23,.14), 0 8px 22px rgba(0,0,0,.06);
	padding:52px 44px 46px !important;
	position:relative;
	overflow:hidden;
	border-top:5px solid var(--sch-bordeaux);
}
body.page-id-1687 .elementor-element-d40031 .sch-logo-card{ margin-bottom:18px; }

/* Buttons Danke-Seite - beide gegen bestehende ucc-Klassen durchsetzen */
body.page-id-1687 .elementor-element-d40031 .elementor-widget-button .elementor-button{
	background:var(--sch-bordeaux) !important;
	color:#ffffff !important;
	border:2px solid var(--sch-bordeaux) !important;
	border-radius:10px !important;
	font-weight:600 !important;
	padding:13px 26px !important;
	box-shadow:0 6px 16px rgba(143,3,23,.22) !important;
	transition:background .15s ease, transform .05s ease !important;
}
body.page-id-1687 .elementor-element-d40031 .elementor-widget-button .elementor-button:hover{
	background:var(--sch-bordeaux-dark) !important; color:#ffffff !important; transform:translateY(-1px);
}
/* Sekundaerer Button (Unsere Immobilien) als Outline */
body.page-id-1687 .elementor-element-d40031 .sch-btn-secondary .elementor-button{
	background:#ffffff !important;
	color:var(--sch-bordeaux) !important;
	box-shadow:none !important;
}
body.page-id-1687 .elementor-element-d40031 .sch-btn-secondary .elementor-button:hover{
	background:var(--sch-accent) !important; color:var(--sch-bordeaux) !important;
}

@media (max-width:600px){
	body.page-id-1687 .elementor-element-d40031{ padding:36px 22px 32px !important; }
}

/* =========================================================
   Hero mit Haus-Hintergrund (Bewerbung 169, Kontakt 173)
   Text auf dem dunklen Overlay weiss
   ========================================================= */
body.sch-form-page .sch-hero-bg{ position:relative; }
body.sch-form-page .sch-hero-bg .elementor-heading-title,
body.sch-form-page .sch-hero-bg .elementor-widget-text-editor,
body.sch-form-page .sch-hero-bg .elementor-widget-text-editor p{
	color:#ffffff !important;
}
/* "Klicken, ausfuellen, einziehen." Akzentzeile hell statt Bordeaux auf dunklem Grund */
body.sch-form-page .sch-hero-bg .elementor-heading-title{ text-shadow:0 2px 14px rgba(0,0,0,.35); }

/* =========================================================
   Objekt-Bilderkarussell (Unsere Immobilien 171)
   ========================================================= */
body.page-id-171 .sch-objekt-carousel .elementor-image-carousel-wrapper{ padding-bottom:6px; }
body.page-id-171 .sch-objekt-carousel .swiper-slide img,
body.page-id-171 .sch-objekt-carousel .elementor-carousel-image{
	border-radius:14px;
	box-shadow:0 14px 36px rgba(143,3,23,.16), 0 4px 12px rgba(0,0,0,.06);
	height:300px; object-fit:cover;
}
body.page-id-171 .sch-objekt-carousel .elementor-swiper-button{
	color:#ffffff; background:var(--sch-bordeaux); width:42px; height:42px;
	border-radius:50%; display:flex; align-items:center; justify-content:center;
	box-shadow:0 6px 16px rgba(143,3,23,.30); opacity:.95;
}
body.page-id-171 .sch-objekt-carousel .elementor-swiper-button:hover{ background:var(--sch-bordeaux-dark); }
body.page-id-171 .sch-objekt-carousel .swiper-pagination-bullet-active{ background:var(--sch-bordeaux); }
@media (max-width:767px){
	body.page-id-171 .sch-objekt-carousel .swiper-slide img,
	body.page-id-171 .sch-objekt-carousel .elementor-carousel-image{ height:230px; }
}

/* =========================================================
   Vermittelte Objekte (171) - "Erfolgreich vermittelt"-Binde
   Ansatz ueber stabile Element-IDs (Container-Custom-Klassen
   rendern an bestehenden Containern nicht zuverlaessig).
   ========================================================= */
body.page-id-171 .elementor-element-e369853,
body.page-id-171 .elementor-element-19ca14e,
body.page-id-171 .elementor-element-a5771bc{
	position:relative;
	border-radius:14px;
	overflow:hidden;
	box-shadow:0 12px 30px rgba(143,3,23,.14), 0 3px 10px rgba(0,0,0,.06);
	background:#ffffff;
}
body.page-id-171 .elementor-element-e369853 img,
body.page-id-171 .elementor-element-19ca14e img,
body.page-id-171 .elementor-element-a5771bc img{
	display:block;
	width:100%;
	height:230px;
	object-fit:cover;
}
body.page-id-171 .elementor-element-e369853::before,
body.page-id-171 .elementor-element-19ca14e::before,
body.page-id-171 .elementor-element-a5771bc::before{
	content:"Erfolgreich vermittelt";
	position:absolute;
	top:14px;
	left:0;
	z-index:2;
	background:var(--sch-bordeaux);
	color:#ffffff;
	font-family:"Open Sans",sans-serif;
	font-size:12px;
	font-weight:700;
	letter-spacing:.4px;
	text-transform:uppercase;
	padding:7px 14px;
	border-radius:0 6px 6px 0;
	box-shadow:0 4px 12px rgba(0,0,0,.22);
	pointer-events:none;
}
@media (max-width:767px){
body.page-id-171 .elementor-element-e369853 img,
body.page-id-171 .elementor-element-19ca14e img,
body.page-id-171 .elementor-element-a5771bc img{ height:200px; }
}
