/**
 * Smart Green Living global frontend styles.
 *
 * Component- and page-specific layers are loaded separately. Vendor
 * foundations remain separate; historical customisation layers are dequeued.
 */

:root {
	--sgl-color-primary: #72914e;
	--sgl-color-primary-dark: #607c42;
	--sgl-color-primary-light: #abc57b;
	--sgl-color-text: #222222;
	--sgl-color-line: #707070;
	--sgl-color-background: #ffffff;
	--sgl-outline-title: rgba(114, 145, 78, 0.72);
	--sgl-outline-title-soft: rgba(114, 145, 78, 0.42);
}

/* === Slick slider === */
.slick-next,.slick-prev{font-size:0;line-height:0;position:absolute;top:13%;display:block;width:20px;height:20px;padding:0;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:0;background:0 0}.slick-next:focus,.slick-next:hover,.slick-prev:focus,.slick-prev:hover{color:transparent;outline:0;background:0 0}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{font-family:"Open Sans",sans-serif;font-size:20px;line-height:1;opacity:1;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir=rtl] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'\2190'}[dir=rtl] .slick-prev:before{content:'\2192'}.slick-next{right:-25px}[dir=rtl] .slick-next{right:auto;left:-25px}.slick-next:before{content:'\2192'}[dir=rtl] .slick-next:before{content:'\2190'}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;bottom:-25px;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:0;background:0 0}.slick-dots li button:focus,.slick-dots li button:hover{outline:0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-family:"Open Sans",sans-serif;font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'\2022';text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:1;color:#4a4c55}.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}

/* === Design system and layout === */
/*
 * Smart Green Living -- Figma alignment foundation
 * Figma source: Home, node 1:43
 *
 * This file intentionally lives in the child theme and loads last. It
 * normalises legacy parent/plugin typography without modifying vendor code.
 */

:root {
	--sgl-green: #72914e;
	--sgl-light-green: #e2ebd0;
	--sgl-ink: #151f23;
	--sgl-grey: #6c6c6c;
	--sgl-line: #707070;
	--sgl-surface: #ffffff;
	--sgl-content-width: 1057px;
	--sgl-wide-width: 1040px;
	--sgl-shadow-card: 0 3px 12px rgba(34, 34, 34, 0.16);
}

/* Open Sans is the sole project text face. Icon fonts retain their explicit
   Font Awesome, Flaticon, Dashicons or Opal declarations. */
html,
body,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body ul,
body ol,
body li,
body a,
body button,
body input,
body select,
body textarea,
body label,
body table,
body th,
body td,
body blockquote,
body .elementor,
body .elementor-widget,
body .main-header,
body .hidden-bar,
body .main-footer,
body sr7-txt,
body sr7-txt * {
	font-family: "Open Sans", sans-serif !important;
}

body {
	color: var(--sgl-ink);
}

/* Do not let old theme colour values drift from the Figma master green. */
.header-style-one .nav-toggler .nav-btn,
.sticky-header .main-menu .navigation > li.current > a,
.sticky-header .main-menu .navigation > li:hover > a,
.scroll-top,
.scroll-top:hover {
	background-color: var(--sgl-green) !important;
}

.main-slider h1 div.green-text,
.scroll-btn-flip::after {
	color: var(--sgl-green) !important;
}

/* Figma desktop content grid: 1920 px artboard, 1057 px core column. */
@media (min-width: 1201px) {
	body.elementor-page > .container {
		width: 100%;
		max-width: none;
		padding-right: 0;
		padding-left: 0;
	}

	body.elementor-page > .container > .row {
		margin-right: 0;
		margin-left: 0;
	}

	body.elementor-page > .container > .row > [class*="col-"] {
		padding-right: 0;
		padding-left: 0;
	}

	.smart-floor-wapper > .elementor-container {
		width: min(var(--sgl-content-width), calc(100vw - 80px));
		max-width: var(--sgl-content-width);
		margin-right: auto;
		margin-left: auto;
	}

	.smart-floor-wapper {
		padding-top: 98px;
		padding-bottom: 138px;
	}
}

/* Header dimensions from the Figma desktop frame. */
@media (min-width: 1201px) {
	.header-style-one .pull-left {
		padding-left: max(32px, calc((100vw - 1454px) / 2)) !important;
	}

	.header-style-one .nav-toggler .nav-btn {
		width: 98px;
		height: 98px;
	}

	.main-header figure.logo {
		width: 205px !important;
		max-width: 205px !important;
		height: 106px !important;
		max-height: 106px !important;
	}

	.main-header figure.logo img {
		width: 100%;
		height: 100%;
		max-width: none !important;
		max-height: none !important;
		object-fit: contain;
	}
}

/* Figma card and section primitives for subsequent Elementor rebuilds. */
.sgl-figma-card {
	background: var(--sgl-surface);
	box-shadow: var(--sgl-shadow-card);
}

.sgl-figma-kicker {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--sgl-green);
}

.sgl-figma-title {
	font-size: clamp(36px, 2.6vw, 50px);
	font-weight: 300;
	line-height: 1.24;
	color: var(--sgl-ink);
}

.sgl-figma-title strong {
	font-weight: 700;
}

/* Screendesign accent: short green rule below the highlighted title word. */
.sgl-accent-line,
.elementor .sgl-about-title em,
.elementor .hero-section .main-heading .elementor-heading-title span,
.elementor .noch-section h2.elementor-heading-title span,
.elementor .sgl-home-apartments .sgl-apartment-table__heading strong {
	position: relative !important;
	display: inline-block !important;
	text-decoration: none !important;
}

.sgl-accent-line::after,
.elementor .sgl-about-title em::after,
.elementor .hero-section .main-heading .elementor-heading-title span::after,
.elementor .noch-section h2.elementor-heading-title span::after,
.elementor .sgl-home-apartments .sgl-apartment-table__heading strong::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	bottom: -5px !important;
	display: block !important;
	width: 96px !important;
	max-width: 72% !important;
	height: 3px !important;
	background: var(--sgl-green) !important;
	border: 0 !important;
	border-radius: 0 !important;
	pointer-events: none !important;
}

/* Footer: retain existing widgets, but align typography and project palette. */
.main-footer,
.main-footer a,
.main-footer p,
.main-footer li,
.main-footer .widget-title {
	font-family: "Open Sans", sans-serif !important;
}

.main-footer .widget-title {
	font-size: 15px;
	font-weight: 700;
	line-height: 18px;
	text-transform: uppercase;
}

.main-footer .contact-widget,
.main-footer .contact-widget a,
.main-footer .copyright {
	font-size: 13px;
	line-height: 20px;
}

/* Respect reduced motion for the existing theme, sliders and modal. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* === Final semantic layout rules === */
/*
 * Global semantic component rules derived from the approved screen design.
 * Widget appearance depends on reusable classes, never page or Elementor IDs.
 */

:root {
  --sgl-core: 1057px;
  --sgl-table: 1040px;
  --sgl-standard: 1415px;
}

body { overflow-x: clip; }

/* ---------------------------------------------------------------------
   OFF-CANVAS NAVIGATION
   --------------------------------------------------------------------- */
.hidden-bar {
  right: -523px !important;
  width: 523px !important;
  max-width: 100vw !important;
  border-left: 0 !important;
  background: rgba(255, 255, 255, .88) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: none !important;
}

.side-content-visible .hidden-bar { right: 0 !important; }

.hidden-bar .inner-box {
  min-height: 100vh !important;
  padding: 35px 77px 50px !important;
  background: transparent !important;
}

.hidden-bar .inner-box .cross-icon {
  top: 30px !important;
  right: 29px !important;
  z-index: 2 !important;
  width: 22px !important;
  height: 22px !important;
  color: #000 !important;
  font-size: 20px !important;
  line-height: 22px !important;
  text-align: center !important;
}

.hidden-bar .inner-box .cross-icon i {
  width: auto !important;
  height: auto !important;
  color: inherit !important;
}

.hidden-bar .logo-box {
  display: flex !important;
  align-items: center !important;
  justify-content: left !important;
  width: 369px !important;
  height: 140px !important;
  margin: 0 0 54px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid #72914E!important;
}

.hidden-bar .logo-box a,
.hidden-bar .logo-box a img {
  display: block !important;
  width: 300px !important;
  max-width: 300px !important;
  height: auto !important;
  max-height: 120px !important;
}

.hidden-bar .side-menu {
  width: 369px !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
}

.hidden-bar .side-menu ul,
.hidden-bar .side-menu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.hidden-bar .side-menu ul li a {
  display: flex !important;
  align-items: center !important;
  min-height: 58px !important;
  padding: 13px 0 !important;
  color: #000;
  border-bottom: 0 solid!important;
  font-size: 30px !important;
  font-weight: 600 !important;
  line-height: 38px !important;
  letter-spacing: .15px !important;
  text-transform: none !important;
}

.hidden-bar .side-menu ul li a:hover,
.hidden-bar .side-menu ul li.current-menu-item > a,
.hidden-bar .side-menu ul li.current_page_item > a {
  color: var(--sgl-green);
}

.hidden-bar .social-links {
  margin: 0 !important;
  padding: 60px 0 0 !important;
}

.hidden-bar .social-links li { margin: 0 5px 0 0 !important; }

.hidden-bar .side-menu ul li.menu-item-131 > a {
   color: #000 !important;
}

.hidden-bar .side-menu ul li.current_page_item.menu-item-1310 a:hover,
.hidden-bar .side-menu ul li.current_page_item.menu-item-1310 > a {
    color: #000 !important;
}

/*
.hidden-bar .social-links li a,
.hidden-bar .social-links li a i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  padding: 5px 10px !important;
  color: #fff !important;
  background: #72914E !important;
  font-size: 16px !important;
  line-height: 1 !important;
}*/

/* ==========================================================
   SOCIAL MEDIA ICONS ? OVERLAY MENU
   ========================================================== */

.hidden-bar .social-links {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.hidden-bar .social-links li {
    margin: 0;
    padding: 0;
}


/* Basis f?r Facebook + Instagram */
.hidden-bar .social-links li a {
    display: block !important;

    width: 43px !important;
    height: 43px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 43px 43px !important;

    border: 0 !important;
    border-radius: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}


/* Font-Awesome-Icon vollst?ndig ausblenden */
.hidden-bar .social-links li a i {
    display: none !important;
}


/* Facebook */
.hidden-bar .social-links li a[href*="facebook.com"] {
    background-image: url("/wp-content/uploads/2026/08/FBIcon_OverlayMenu.svg") !important;
}


/* Instagram */
.hidden-bar .social-links li a[href*="instagram.com"] {
    background-image: url("/wp-content/uploads/2026/08/IGIcon_OverlayMenu.svg") !important;
}


/* Optionaler Hover-Effekt */
.hidden-bar .social-links li a:hover {
    transform: scale(1.08);
    opacity: 0.85;
}


/* Tastaturbedienung */
.hidden-bar .social-links li a:focus-visible {
    outline: 2px solid #72914E;
    outline-offset: 3px;
}



.form-back-drop { background: rgba(0, 0, 0, .58) !important; }

@media (max-width: 767px) {
  .hidden-bar {
    right: -100vw !important;
    width: 100vw !important;
  }

  .hidden-bar .inner-box {
    padding: 28px 30px 40px !important;
  }

  .hidden-bar .logo-box,
  .hidden-bar .side-menu {
    width: 100% !important;
  }

  .hidden-bar .side-menu ul li a {
    min-height: 52px !important;
    font-size: 22px !important;
    line-height: 30px !important;
  }
}

.elementor,
.elementor *:not(i):not(.fa):not(.fas):not(.far):not(.fab):not([class^="flaticon-"]):not([class*=" flaticon-"]):not([class^="icon-"]):not([class*=" icon-"]) {
  font-family: "Open Sans", sans-serif !important;
}

body.elementor-page > .container,
body.elementor-page > .container > .row,
body.elementor-page > .container > .row > [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* ---------------------------------------------------------------------
   ABOUT
   --------------------------------------------------------------------- */
@media (min-width: 1201px) {
  .elementor .sgl-about {
    margin: 0 !important;
    padding: 79px 0 138px !important;
    background: #fff !important;
  }

  .elementor .sgl-about > .elementor-container {
    display: grid !important;
    grid-template-columns: 72px 354px 1fr !important;
    column-gap: 0 !important;
    align-items: start !important;
    width: 1060px !important;
    max-width: calc(100vw - 80px) !important;
    min-height: 493px !important;
    margin: 0 auto !important;
  }

  .elementor .sgl-about > .elementor-container > .elementor-column {
    width: auto !important;
    max-width: none !important;
  }

  .elementor .sgl-about .rotate-column {
    position: relative !important;
    overflow: visible !important;
  }

  .elementor .sgl-about .rotate-column > .elementor-widget-wrap {
    min-height: 493px !important;
  }

  .elementor .sgl-about .rotate-column > .elementor-widget-wrap::before {
    content: "\0000DCber Smart Green Living";
    position: absolute;
    top: 80px;
    right: -23px;
    width: 381px;
    transform: rotate(-90deg) translateX(-100%);
    transform-origin: top right;
    font-size: 25px;
    font-weight: 700;
    line-height: 40px;
    letter-spacing: 1.25px;
    white-space: nowrap;
    color: rgba(114,145,78,.25);
  }

  .elementor .sgl-about .rotate-column > .elementor-widget-wrap::after {
    content: "";
    position: absolute;
    top: 82px;
    right: 3px;
    width: 28px;
    height: 1px;
    transform: rotate(-90deg);
    transform-origin: right center;
    background: #9f9f9f;
  }

  .elementor .sgl-about__visual,
  .elementor .sgl-about__visual .elementor-widget-wrap,
  .elementor .sgl-about__image,
  .elementor .sgl-about__image .elementor-widget-container {
    width: 354px !important;
    height: 493px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor .sgl-about__image img {
    display: block !important;
    width: 354px !important;
    height: 493px !important;
    max-width: none !important;
    object-fit: cover !important;
  }

  .elementor .sgl-about__copy {
    width: 634px !important;
    max-width: 634px !important;
    padding: 0 0 0 70px !important;
  }

  .elementor .sgl-about__copy > .elementor-widget-wrap {
    display: block !important;
    padding: 0 !important;
  }

  .elementor .sgl-about__kicker {
    margin: 0 0 15px !important;
  }

  .elementor .sgl-about__kicker .elementor-heading-title {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    text-transform: uppercase !important;
    color: var(--sgl-green) !important;
  }

  .elementor .sgl-about__title,
  .elementor .sgl-about__title .elementor-widget-container,
  .elementor .sgl-about-title {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 55px !important;
    font-weight: 300 !important;
    line-height: 60px !important;
    letter-spacing: 0 !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-about-title strong {
    font-weight: 700 !important;
  }

  .elementor .sgl-about-title em {
    font-style: normal !important;
    font-weight: 300 !important;
    color: var(--sgl-green) !important;
  }

  .elementor .sgl-about__body {
    width: 608px !important;
    max-width: 608px !important;
    margin: 38px 0 0 !important;
  }

  .elementor .sgl-about__body p {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    color: var(--sgl-ink) !important;
  }
}

/* ---------------------------------------------------------------------
   ON-TOP / BESONDERS SMART
   --------------------------------------------------------------------- */
.sgl-feature-widget {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 78px 0 108px !important;
  background: rgba(226,235,208,.40) !important;
  overflow: hidden !important;
}

.sgl-feature-widget *,
.sgl-feature-widget *::before,
.sgl-feature-widget *::after {
  box-sizing: border-box !important;
  text-transform:initial;
}

.sgl-feature-widget > .container {
  position: relative !important;
  z-index: 1 !important;
  width: var(--sgl-core) !important;
  max-width: calc(100vw - 80px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.sgl-feature-widget .sec-title {
  margin: 0 0 42px !important;
  padding: 0 !important;
}

.sgl-feature-widget .sec-title .top-title {
  display: none !important;
}

.sgl-feature-widget .project-block-two .image-box img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  opacity: 1 !important;
}

.sgl-feature-widget .project-block-two .image-box::before,
.sgl-feature-widget .project-block-two .image-box::after,
.sgl-feature-widget .project-block-two .icon-box,
.sgl-feature-widget .project-block-two .count-text,
.sgl-feature-widget .project-block-two .line {
  content: none !important;
  display: none !important;
  background-image: none !important;
}

@media (min-width: 1201px) {
  .sgl-feature-widget.single-team-page {
    position: relative !important;
  }

  .sgl-feature-widget.single-team-page > .project-title {
    position: absolute !important;
    top: 23px !important;
    right: 20px !important;
    z-index: 0 !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    font-size: 80px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -.9px !important;
    text-transform: uppercase !important;
    color: transparent !important;
    -webkit-text-stroke: 1px var(--sgl-outline-title) !important;
    text-stroke: 1px var(--sgl-outline-title) !important;
    paint-order: stroke fill !important;
    text-shadow: none !important;
    pointer-events: none !important;
  }

  .sgl-feature-widget .sec-title .title {
    display: block !important;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    text-transform: uppercase !important;
    color: var(--sgl-green) !important;
  }

  .sgl-feature-widget .sec-title h1 {
    margin: 0 !important;
    font-size: 50px !important;
    font-weight: 300 !important;
    line-height: 62px !important;
    letter-spacing: 0 !important;
    color: var(--sgl-ink) !important;
  }

  .sgl-feature-widget .sec-title h1 b {
    font-weight: 700 !important;
  }

  .sgl-feature-widget .project-block-two {
    width: var(--sgl-core) !important;
    height: 400px !important;
    min-height: 400px !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(34,34,34,.16) !important;
    overflow: hidden !important;
  }

  .sgl-feature-widget .project-block-two:last-child {
    margin-bottom: 0 !important;
  }

  .sgl-feature-widget .project-block-two > .row {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 400px !important;
    margin: 0 !important;
  }

  .sgl-feature-widget .project-block-two .image-column {
    position: relative !important;
    flex: 0 0 400px !important;
    width: 400px !important;
    max-width: 400px !important;
    height: 400px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #27221e url("../images/figma/feature-wood.jpg") center/cover no-repeat !important;
  }

  .sgl-feature-widget .project-block-two .content-column {
    flex: 0 0 657px !important;
    width: 657px !important;
    max-width: 657px !important;
    height: 400px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .sgl-feature-widget .project-block-two .image-box {
    position: relative !important;
    display: block !important;
    width: 400px !important;
    height: 400px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
  }

  .sgl-feature-widget .project-block-two .image-box img {
    display: block !important;
    width: 400px !important;
    height: 400px !important;
    max-width: none !important;
    opacity: 1 !important;
  }

  .sgl-feature-widget .project-block-two .content-box {
    display: block !important;
    width: 657px !important;
    height: 400px !important;
    margin: 0 !important;
    padding: 52px 49px 34px !important;
    background: #fff !important;
  }

  .sgl-feature-widget .project-block-two .top-content {
    position: relative !important;
    margin: 0 0 26px !important;
    padding: 0 0 17px !important;
    border-bottom: 0 solid;
  }


.sgl-feature-widget .project-block-two .top-content::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;               /* Linksb?ndig ausrichten */
    width: 70%;            /* Hier die gew?nschte Breite (z. B. 70% oder 80%) */
    height: 1px;           /* Dicke der Linie */
    background-color: #72914E;
}

  .sgl-feature-widget .project-block-two .count-text,
  .sgl-feature-widget .project-block-two .icon-box,
  .sgl-feature-widget .project-block-two .image-box .line {
    display: none !important;
  }

  .sgl-feature-widget .project-block-two h2,
  .sgl-feature-widget .project-block-two h2 > div,
  .sgl-feature-widget .project-block-two h2 a {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 38px !important;
    font-weight: 700 !important;
    line-height: 43px !important;
    letter-spacing: -.76px !important;
    color: var(--sgl-green) !important;
  }

  .sgl-feature-widget .project-block-two .text,
  .sgl-feature-widget .project-block-two .text p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    color: var(--sgl-ink) !important;
  }

  .sgl-feature-widget .project-block-two .text p + p {
    margin-top: 16px !important;
  }
}

/* ---------------------------------------------------------------------
   AERIAL
   --------------------------------------------------------------------- */
.elementor .sgl-aerial-section {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 940px !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #39423b !important;
  overflow: hidden !important;
}

.elementor .sgl-aerial-section > .elementor-container,
.elementor .sgl-aerial-section .elementor-column,
.elementor .sgl-aerial-section .elementor-widget-wrap,
.elementor .sgl-aerial-section .elementor-widget,
.elementor .sgl-aerial-section .elementor-widget-container,
.elementor .sgl-aerial {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 940px !important;
  height: 940px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor .sgl-aerial {
  position: relative !important;
  background: #39423b !important;
}

.elementor .sgl-aerial img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 940px !important;
  object-fit: cover !important;
  object-position: center !important;
}

.elementor .sgl-aerial.is-fallback::before {
  content: "Luftaufnahme wird aus der WordPress-Mediathek geladen";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 16px;
  color: rgba(255,255,255,.72);
  background: linear-gradient(135deg,#354039,#53604f);
}

.elementor .sgl-aerial__marker {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 2 !important;
  display: block !important;
  width: 251px !important;
  height: 251px !important;
  transform: translate(-50%,-50%) !important;
  border: 2px solid rgba(226,235,208,.72) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 24px rgba(114,145,78,.08) !important;
}

.elementor .sgl-aerial__marker::before,
.elementor .sgl-aerial__marker::after {
  content: "" !important;
  position: absolute !important;
  background: rgba(226,235,208,.72) !important;
}
.elementor .sgl-aerial__marker::before { top: 0; left: 50%; width: 1px; height: 100%; }
.elementor .sgl-aerial__marker::after { top: 50%; left: 0; width: 100%; height: 1px; }

/* ---------------------------------------------------------------------
   SMART IST BEI UNS STANDARD
   --------------------------------------------------------------------- */
.elementor .sgl-standard-section {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 74px 0 142px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.elementor .sgl-standard-section > .elementor-container,
.elementor .sgl-standard-section .elementor-column,
.elementor .sgl-standard-section .elementor-widget-wrap,
.elementor .sgl-standard-widget,
.elementor .sgl-standard-widget .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 1201px) {
  .elementor .sgl-standard-widget .sgl-standard {
    display: grid !important;
    grid-template-columns: 365px repeat(3,350px) !important;
    grid-auto-flow: column !important;
    gap: 0 !important;
    align-items: start !important;
    width: var(--sgl-standard) !important;
    max-width: calc(100vw - 80px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .elementor .sgl-standard__copy {
    display: block !important;
    width: 365px !important;
    padding: 0 28px 0 0 !important;
  }

  .elementor .sgl-standard__copy h2 {
    margin: 0 0 26px !important;
    font-size: 50px !important;
    font-weight: 300 !important;
    line-height: 62px !important;
    letter-spacing: 0 !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-standard__copy h2 strong {
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }

  .elementor .sgl-standard__copy p {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-standard__card {
    position: relative !important;
    display: grid !important;
    grid-template-rows: 131px 300px !important;
    width: 350px !important;
    height: 431px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--sgl-ink) !important;
    background: #fff !important;
    box-shadow: 0 0 12px rgba(172,172,172,.16) !important;
    text-decoration: none !important;
    overflow: hidden !important;
  }

  .elementor .sgl-standard__card-head {
    position: relative !important;
    display: block !important;
    width: 350px !important;
    height: 131px !important;
    margin: 0 !important;
    padding: 24px 54px 14px 66px !important;
    background: #fff !important;
  }

  .elementor .sgl-standard__card-head::before {
    content: "" !important;
    position: absolute !important;
    top: 42px !important;
    left: 18px !important;
    width: 36px !important;
    height: 2px !important;
    background: var(--sgl-green) !important;
  }

  .elementor .sgl-standard__card-head::after {
    content: "\2197" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #fff !important;
    background: var(--sgl-green) !important;
  }

  .elementor .sgl-standard__card h3 {
    min-height: 54px !important;
    margin: 0 0 5px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 27px !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-standard__card span {
    display: block !important;
    margin: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
    color: var(--sgl-green) !important;
    text-decoration: underline !important;
  }

  .elementor .sgl-standard__card img {
    display: block !important;
    width: 350px !important;
    height: 300px !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
  }
}

/* ---------------------------------------------------------------------
   APARTMENTS
   --------------------------------------------------------------------- */
.elementor .sgl-home-apartments {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #f4f4f4 !important;
}

.elementor .sgl-home-apartments > .elementor-container,
.elementor .sgl-home-apartments .elementor-column,
.elementor .sgl-home-apartments .elementor-widget-wrap,
.elementor .sgl-home-apartments .elementor-widget,
.elementor .sgl-home-apartments .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor .sgl-home-apartments .sgl-apartment-table {
  padding-top: 63px !important;
  padding-bottom: 83px !important;
}

.elementor .sgl-home-apartments .sgl-apartment-table__heading {
  margin-bottom: 54px !important;
  font-size: 50px !important;
  font-weight: 300 !important;
  line-height: 62px !important;
  font-weight: 700 !important;
}

.elementor .sgl-home-apartments .sgl-apartment-table__heading strong {
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--sgl-green) !important;
}

.elementor .sgl-home-apartments .sgl-apartment-table__categories,
.elementor .sgl-home-apartments .sgl-apartment-table__panels,
.elementor .sgl-home-apartments .sgl-apartment-table__cta {
  width: var(--sgl-table) !important;
  max-width: calc(100vw - 80px) !important;
}

/* ---------------------------------------------------------------------
   INFRASTRUCTURE
   --------------------------------------------------------------------- */
.elementor .sgl-infrastructure {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 44px 0 107px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.elementor .sgl-infrastructure::before {
  display: none !important;
}

.elementor .sgl-infrastructure > .elementor-container,
.elementor .sgl-infrastructure .elementor-column,
.elementor .sgl-infrastructure .elementor-widget-wrap,
.elementor .sgl-infrastructure .elementor-widget,
.elementor .sgl-infrastructure .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 1201px) {
  .elementor .sgl-infrastructure .team-section {
    padding: 0 !important;
  }

  .elementor .sgl-infrastructure .team-section > .container {
    width: 1038px !important;
    max-width: calc(100vw - 80px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .elementor .sgl-infrastructure .sec-title {
    width: 788px !important;
    max-width: 100% !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
  }

  .elementor .sgl-infrastructure .sec-title .top-title {
    display: block !important;
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 28px !important;
    text-transform: uppercase !important;
    color: var(--sgl-green) !important;
  }

  .elementor .sgl-infrastructure .sec-title h1 {
    margin: 0 !important;
    font-size: 50px !important;
    font-weight: 300 !important;
    line-height: 62px !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-infrastructure .sec-title h1 b {
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }

  .elementor .sgl-infrastructure .sec-title p {
    margin: 12px 0 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-infrastructure .team-carousel {
    width: 1100px !important;
    max-width: none !important;
  }

  .elementor .sgl-infrastructure .team-carousel .owl-stage {
    display: flex !important;
  }

  .elementor .sgl-infrastructure .team-carousel .owl-item {
    flex: 0 0 275px !important;
    width: 275px !important;
    padding-right: 25px !important;
  }

  .elementor .sgl-infrastructure .team-block-one {
    width: 243px !important;
    margin: 0 !important;
  }

  .elementor .sgl-infrastructure .team-block-one .image-box {
    display: block !important;
    width: 243px !important;
    height: 243px !important;
    margin: 0 !important;
    padding: 10px !important;
    background: #fff !important;
    border: 1px solid #ebebeb !important;
  }

  .elementor .sgl-infrastructure .team-block-one .image-box .line {
    display: none !important;
  }

  .elementor .sgl-infrastructure .team-block-one .image-box figure,
  .elementor .sgl-infrastructure .team-block-one .image-box img {
    display: block !important;
    width: 221px !important;
    height: 221px !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  .elementor .sgl-infrastructure .team-block-one .lower-content {
    width: 243px !important;
    padding: 19px 0 0 !important;
  }

  .elementor .sgl-infrastructure .team-block-one h3,
  .elementor .sgl-infrastructure .team-block-one h3 a {
    margin: 0 !important;
    font-size: 21px !important;
    font-weight: 600 !important;
    line-height: 28px !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-infrastructure .team-block-one .designation {
    display: block !important;
    font-size: 14px !important;
    font-weight: 300 !important;
    line-height: 28px !important;
    color: var(--sgl-ink) !important;
  }
}

/* ---------------------------------------------------------------------
   IMPRESSIONS + FOOTER
   --------------------------------------------------------------------- */
.elementor .sgl-impressions {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  background: #fff !important;
}

.elementor .sgl-impressions .swiper-slide-inner:hover::before{
    position: absolute;
    content: "\f106";
    right: 15px;
    font-family: 'Flaticon';
    top: 15px;
    color: white;
    font-size: 30px;
    line-height: 40px;
    font-weight: 400;
    transition: all 500ms ease;
}

.elementor .sgl-impressions .swiper-slide-inner::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: rgba(0, 0, 0, 0.5) !important; /* Transparenz hier anpassen (0.5 = 50%) */
  opacity: 0;
  transition: opacity 300ms ease !important;
  pointer-events: none !important;
  z-index: 1 !important;
}



.elementor .sgl-impressions .swiper-slide-inner:hover {
    position: relative;
    display: block;
    background: #222222;
    overflow: hidden;
    transition: all 500ms ease;
}

.elementor .sgl-impressions .swiper-slide-inner:hover::after {
  opacity: 1 !important;
}

/* Icon (::before) über das Overlay legen */
.elementor .sgl-impressions .swiper-slide-inner::before {
  z-index: 2 !important; /* Damit das Icon über dem Overlay liegt */
}

.elementor .sgl-impressions > .elementor-container,
.elementor .sgl-impressions .elementor-column,
.elementor .sgl-impressions .elementor-widget-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 1201px) {
  .elementor .sgl-impressions .project-title {
    position: absolute !important;
    top: -81px !important;
    right: 20px !important;
    z-index: 3 !important;
    width: auto !important;
    margin: 0 !important;
  }

  .elementor .sgl-impressions .project-title .elementor-heading-title {
    font-size: 90px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -.9px !important;
    text-transform: uppercase !important;
    color: transparent !important;
    -webkit-text-stroke: 1px var(--sgl-outline-title) !important;
    text-stroke: 1px var(--sgl-outline-title) !important;
    paint-order: stroke fill !important;
    text-shadow: none !important;
    pointer-events: none !important;
  }

  .elementor .sgl-impressions .elementor-image-carousel-wrapper,
  .elementor .sgl-impressions .elementor-image-carousel,
  .elementor .sgl-impressions .swiper-slide,
  .elementor .sgl-impressions .swiper-slide a,
  .elementor .sgl-impressions .swiper-slide-inner,
  .elementor .sgl-impressions .swiper-slide-image {
    height: 417px !important;
  }

  .elementor .sgl-impressions .swiper-slide-image {
    display: block !important;
    width: 100% !important;
    object-fit: cover !important;
  }
}

@media (min-width: 1201px) {
  .main-footer {
    min-height: 403px !important;
    padding: 57px 0 0 !important;
  }

  .main-footer > .container {
    width: 968px !important;
    max-width: calc(100vw - 80px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
}

/* ---------------------------------------------------------------------
   GLOBAL LEGACY ELEMENTOR COMPONENTS

   Older subpages use semantic classes such as hero-section, left-contant
   and noch-section instead of the newer sgl-* component classes. Keep
   their presentation page-independent and override only Elementor's
   per-page visual values. Content and document order remain untouched.
   --------------------------------------------------------------------- */
.elementor .hero-section {
  width: 100% !important;
  max-width: 968px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 !important;
}

.elementor .hero-section > .elementor-container {
  width: 100% !important;
  max-width: none !important;
  column-gap: 28px !important;
}

.elementor .hero-section > .elementor-container > .elementor-column {
  padding: 0 !important;
}

.elementor .hero-section .elementor-widget-wrap {
  align-content: flex-start !important;
  padding: 0 !important;
}

.elementor .hero-section.mobile-heading {
  display: none !important;
}

.elementor .hero-section:not(.mobile-heading) {
  padding-top: 88px !important;
  padding-bottom: 112px !important;
}

.elementor .hero-section .main-heading {
  margin: 0 0 108px !important;
}

.elementor .hero-section .main-heading .elementor-heading-title {
  margin: 0 !important;
  color: var(--sgl-text) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: clamp(42px, 4vw, 58px) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  letter-spacing: -.025em !important;
  text-transform: uppercase !important;
}

.elementor .hero-section .main-heading .elementor-heading-title span {
  color: var(--sgl-green) !important;
}

.elementor .hero-section .left-contant,
.elementor .hero-section .right-contant {
  width: 50% !important;
}

.elementor .hero-section .elementor-widget-image {
  margin: 0 0 24px !important;
}

.elementor .hero-section .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

.elementor .hero-section .elementor-widget-heading:not(.main-heading) {
  margin: 0 0 14px !important;
}

.elementor .hero-section .elementor-widget-heading:not(.main-heading) .elementor-heading-title {
  margin: 0 !important;
  color: var(--sgl-text) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  text-transform: none !important;
}

.elementor .hero-section .elementor-widget-text-editor {
  margin: 0 0 62px !important;
}

.elementor .hero-section .elementor-widget-text-editor,
.elementor .hero-section .elementor-widget-text-editor p {
  color: var(--sgl-text) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.elementor .hero-section .elementor-widget-text-editor p {
  margin: 0 0 16px !important;
}

.elementor .noch-section {
  margin: 0 !important;
  padding: 92px max(24px, calc((100vw - 968px) / 2)) 106px !important;
  background-color: #f3f5ef !important;
  background-position: center !important;
  background-size: cover !important;
}

.elementor .noch-section > .elementor-container,
.elementor .noch-section .elementor-inner-section > .elementor-container {
  width: 100% !important;
  max-width: 968px !important;
  margin: 0 auto !important;
}

.elementor .noch-section .elementor-inner-section,
.elementor .noch-section .elementor-column,
.elementor .noch-section .elementor-widget-wrap {
  padding: 0 !important;
}

.elementor .noch-section h2.elementor-heading-title {
  margin: 0 0 54px !important;
  color: var(--sgl-text) !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

.elementor .noch-section h2.elementor-heading-title span {
  color: var(--sgl-green) !important;
}

.elementor .noch-contant-section > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.elementor .noch-contant-box {
  width: 100% !important;
  min-height: 300px !important;
  padding: 34px 30px !important;
  background: rgba(255,255,255,.92) !important;
}

.elementor .noch-contant-box h3.elementor-heading-title {
  margin: 0 0 22px !important;
  color: var(--sgl-text) !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.elementor .noch-contant-box .list-icon,
.elementor .noch-contant-box .list-icon li {
  color: var(--sgl-text) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.elementor .noch-contant-box .list-icon li i {
  color: var(--sgl-green) !important;
}

/* Footer output is identical on every page, independent of Elementor. */
.main-footer {
  color: #fff !important;
  background-color: #1d1d1d !important;

}

.main-footer::before {
  background: transparent !important;
}

.main-footer .widget-section > .row {
  align-items: flex-start !important;
}

.main-footer .footer-logo img {
  display: block !important;
  width: 280px !important;
  max-width: 280px !important;
  height: auto !important;
  max-height: none !important;
}

.main-footer .widget-title,
.main-footer p,
.main-footer li,
.main-footer a,
.main-footer a span,
.main-footer a i,
.main-footer .footer-column ul li a,
.main-footer .contact-widget .list li a,
.main-footer .footer-social .social-links a,
.main-footer .footer-social .social-links a i {
  color: #fff !important;
}

.main-footer a:hover,
.main-footer a:focus,
.main-footer a:hover span,
.main-footer a:focus span,
.main-footer a:hover i,
.main-footer a:focus i {
  color: var(--sgl-light-green) !important;
}


/* ==========================================================
   SOCIAL MEDIA ICONS ? FOOTER
   ========================================================== */

.main-footer .footer-social .social-links {
    display: flex;
    align-items: center;
    gap: 12px;

    margin: 0;
    padding: 0;

    list-style: none;
}


/* Listenelemente zur?cksetzen */
.main-footer .footer-social .social-links li {
    position: relative;

    display: block;

    margin: 0;
    padding: 0;

    width: auto;
    height: auto;

    font-size: 0;
    line-height: 0;
}


/* Facebook + Instagram Basis */
.main-footer .footer-social .social-links li a {
    display: block !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 38px 38px !important;

    border: 0 !important;
    border-radius: 0 !important;

    font-size: 0 !important;
    line-height: 0 !important;

    transition:
        transform 0.2s ease,
        opacity 0.2s ease;
}


/* Font Awesome innerhalb des Footers deaktivieren */
.main-footer .footer-social .social-links li a i {
    display: none !important;
}


/* Facebook */
.main-footer .footer-social .social-links li a[href*="facebook.com"] {
    background-image:
        url("/wp-content/uploads/2026/08/FBIcon_OverlayMenu.svg") !important;
}


/* Instagram */
.main-footer .footer-social .social-links li a[href*="instagram.com"] {
    background-image:
        url("/wp-content/uploads/2026/08/IGIcon_OverlayMenu.svg") !important;
}


/* Hover */
.main-footer .footer-social .social-links li a:hover {
    transform: scale(1.08);
    opacity: 0.85;
}


/* Tastatur-Fokus */
.main-footer .footer-social .social-links li a:focus-visible {
    outline: 2px solid #72914E;
    outline-offset: 3px;
}

@media (max-width: 1024px) {
  .elementor .hero-section {
    max-width: calc(100% - 48px) !important;
  }

  .elementor .hero-section:not(.mobile-heading) {
    padding-top: 64px !important;
    padding-bottom: 82px !important;
  }

  .elementor .noch-contant-section > .elementor-container {
    grid-template-columns: 1fr !important;
  }

  .elementor .noch-contant-box {
    min-height: 0 !important;
  }
}

@media (max-width: 767px) {
  .elementor .hero-section.mobile-heading {
    display: block !important;
    max-width: calc(100% - 40px) !important;
    padding: 48px 0 32px !important;
  }

  .elementor .hero-section:not(.mobile-heading) {
    max-width: calc(100% - 40px) !important;
    padding-top: 0 !important;
    padding-bottom: 64px !important;
  }

  .elementor .hero-section:not(.mobile-heading) > .elementor-container {
    display: block !important;
  }

  .elementor .hero-section .desktop-heading {
    display: none !important;
  }

  .elementor .hero-section .left-contant,
  .elementor .hero-section .right-contant {
    width: 100% !important;
  }

  .elementor .hero-section .main-heading {
    margin-bottom: 0 !important;
  }

  .elementor .hero-section .main-heading .elementor-heading-title {
    font-size: 38px !important;
    text-align: left !important;
  }

  .elementor .hero-section .elementor-widget-text-editor {
    margin-bottom: 46px !important;
  }

  .elementor .noch-section {
    padding: 64px 20px 72px !important;
  }
}

/* ---------------------------------------------------------------------
   RESPONSIVE SAFEGUARDS
   --------------------------------------------------------------------- */
@media (max-width: 1200px) {
  .sgl-feature-widget {
    padding: 70px 0 82px !important;
  }

  .sgl-feature-widget > .project-title {
    display: none !important;
  }

  .sgl-feature-widget > .container {
    width: calc(100% - 48px) !important;
    max-width: 920px !important;
  }

  .sgl-feature-widget .sec-title h1 {
    margin: 0 !important;
    font-size: 44px !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
    color: var(--sgl-ink) !important;
  }

  .sgl-feature-widget .project-block-two,
  .sgl-feature-widget .project-block-two > .row,
  .sgl-feature-widget .project-block-two .content-box {
    height: auto !important;
    min-height: 0 !important;
  }

  .sgl-feature-widget .project-block-two {
    width: 100% !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(34,34,34,.16) !important;
    overflow: hidden !important;
  }

  .sgl-feature-widget .project-block-two > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    margin: 0 !important;
  }

  .sgl-feature-widget .project-block-two .image-column,
  .sgl-feature-widget .project-block-two .content-column {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .sgl-feature-widget .project-block-two .image-box {
    width: 100% !important;
    height: 100% !important;
    min-height: 360px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .sgl-feature-widget .project-block-two .content-box {
    width: 100% !important;
    padding: 44px 38px !important;
    background: #fff !important;
  }

  .sgl-feature-widget .project-block-two .top-content {
    margin: 0 0 24px !important;
    padding: 0 0 16px !important;
    border-bottom: 1px solid rgba(112,112,112,.35) !important;
  }

  .sgl-feature-widget .project-block-two h2,
  .sgl-feature-widget .project-block-two h2 a {
    margin: 0 !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--sgl-green) !important;
  }

  .sgl-feature-widget .project-block-two .text,
  .sgl-feature-widget .project-block-two .text p {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: var(--sgl-ink) !important;
  }

  .elementor .sgl-aerial-section,
  .elementor .sgl-aerial-section > .elementor-container,
  .elementor .sgl-aerial-section .elementor-column,
  .elementor .sgl-aerial-section .elementor-widget-wrap,
  .elementor .sgl-aerial-section .elementor-widget,
  .elementor .sgl-aerial-section .elementor-widget-container,
  .elementor .sgl-aerial,
  .elementor .sgl-aerial img {
    min-height: 600px !important;
    height: 600px !important;
  }

  .elementor .sgl-standard-widget .sgl-standard {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 24px !important;
    width: calc(100% - 48px) !important;
    margin: 0 auto !important;
  }

  .elementor .sgl-standard__copy {
    grid-column: 1 / -1 !important;
    max-width: 620px !important;
  }

  .elementor .sgl-standard__card,
  .elementor .sgl-standard__card-head,
  .elementor .sgl-standard__card img {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .sgl-feature-widget {
    padding: 52px 0 64px !important;
  }

  .sgl-feature-widget > .container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }

  .sgl-feature-widget .sec-title {
    margin-bottom: 30px !important;
  }

  .sgl-feature-widget .sec-title h1 {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  .sgl-feature-widget .project-block-two > .row {
    display: flex !important;
    flex-direction: column !important;
  }

  .sgl-feature-widget .project-block-two .image-column,
  .sgl-feature-widget .project-block-two .content-column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .sgl-feature-widget .project-block-two .image-column {
    order: 1 !important;
  }

  .sgl-feature-widget .project-block-two .content-column {
    order: 2 !important;
  }

  .sgl-feature-widget .project-block-two .image-box {
    height: min(88vw, 420px) !important;
    min-height: 280px !important;
  }

  .sgl-feature-widget .project-block-two .content-box {
    padding: 30px 24px 34px !important;
  }

  .sgl-feature-widget .project-block-two h2,
  .sgl-feature-widget .project-block-two h2 a {
    font-size: 28px !important;
  }

  .elementor .sgl-about {
    padding: 48px 20px 70px !important;
  }

  .elementor .sgl-about__copy {
    padding-left: 0 !important;
  }

  .elementor .sgl-about-title {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  .elementor .sgl-aerial-section,
  .elementor .sgl-aerial-section > .elementor-container,
  .elementor .sgl-aerial-section .elementor-column,
  .elementor .sgl-aerial-section .elementor-widget-wrap,
  .elementor .sgl-aerial-section .elementor-widget,
  .elementor .sgl-aerial-section .elementor-widget-container,
  .elementor .sgl-aerial,
  .elementor .sgl-aerial img {
    min-height: 390px !important;
    height: 390px !important;
  }

  .elementor .sgl-aerial__marker {
    width: 130px !important;
    height: 130px !important;
  }

  .elementor .sgl-standard-section {
    padding: 58px 0 80px !important;
  }

  .elementor .sgl-standard-widget .sgl-standard {
    display: block !important;
    width: calc(100% - 32px) !important;
  }

  .elementor .sgl-standard__copy {
    padding: 0 0 34px !important;
  }

  .elementor .sgl-standard__copy h2 {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  .elementor .sgl-standard__card {
    margin-bottom: 20px !important;
  }

  .elementor .sgl-home-apartments .sgl-apartment-table__heading {
    font-size: 36px !important;
    line-height: 44px !important;
  }

  .sgl-accent-line::after,
  .elementor .sgl-about-title em::after,
  .elementor .hero-section .main-heading .elementor-heading-title span::after,
  .elementor .noch-section h2.elementor-heading-title span::after,
  .elementor .sgl-home-apartments .sgl-apartment-table__heading strong::after {
    bottom: -4px !important;
    width: 68px !important;
    height: 2px !important;
  }
}


/* === Global building-info headline accent === */
/*
 * Legacy building-info sections are reused on the homepage and subpages.
 * Keep the Figma accent component-based instead of coupling it to page 4492.
 */
.elementor .building-info h1.title b,
.elementor .building-info h1.title strong {
  position: relative !important;
  z-index: 0 !important;
  isolation: isolate !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.elementor .building-info h1.title b::after,
.elementor .building-info h1.title strong::after {
  content: "" !important;
  position: absolute !important;
  left: -2% !important;
  bottom: -4px !important;
  z-index: -1 !important;
  display: block !important;
  width: 104% !important;
  max-width: none !important;
  height: 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  background: transparent url("../images/figma/headline_accent.svg") center bottom / 100% 15px no-repeat !important;
  pointer-events: none !important;
}

/* === Slider Revolution Figma arrow navigation === */
/*
 * Slider 7 uses revicons glyphs for Uranus arrows. The public frontend does
 * not ship that font, so use the approved Figma SVGs while retaining the
 * original 50 x 50 px interaction area.
 */
#SR7_7_1 sr7-arrow.sr7-arrows.uranus::before {
	content: "" !important;
	display: block !important;
	width: 50px !important;
	height: 50px !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 15px 25px !important;
	font-family: sans-serif !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

#SR7_7_1 sr7-arrow.sr7-leftarrow::before {
	background-image: url("../images/figma/arrow-left.svg") !important;
}

#SR7_7_1 sr7-arrow.sr7-rightarrow::before {
	background-image: url("../images/figma/arrow-right.svg") !important;
}
