/* ==========================================================================
   00. NOTIZEN / BREAKPOINTS
   ========================================================================== */

/* GHR am 28.11.2025: Einstellungen der Breakpoints in Website-Einstellungen:
Mobil (Basis) 0 px
Mobil (groß) 576 px
Tablet 768 px
Laptop klein 992 px
Desktop 1200 px
Desktop groß 1400 px
*/

/* ==========================================================================
   10. CSS VARIABLEN / DESIGN TOKENS
   ========================================================================== */
/* **********************************************************************
     TECH TOKENS
   ********************************************************************** */
	 
:root{
  --header-height: 60px;
  --lg-radius: 0px;
  --lg-pill-radius: 60px;
}

/* ==========================================================================
   20. TYPOGRAFIE (Basis + Headings / Elementor Kit)
   ========================================================================== */

/* GHR am 10.03.2026: Silbentrennung und Mehrspalten-Text */

html{
	hyphens: auto;
}

.lg-text-columns{
  column-count: 3;
  column-gap: 20px !important;
  column-rule: none;
  text-align: left;
  hyphens: auto;
  line-height: 1.7;
}

.lg-text-columns.lg-2-col{
	column-count: 2 !important;
}

.lg-text-columns p{
	break-inside: auto;
	margin-top: 0;
	margin-bottom: 1em;
}

.lg-text-columns h1,
.lg-text-columns h2{
	column-span: all;
}

@media (max-width: 991px){
	.lg-text-columns,
	.lg-text-columns.lg-2-col{
		column-count: 1 !important;
	}
}

p, li{
	hyphens: auto;
	line-height: 1.6;
}

.lg-banner_box h1,
.lg-banner_box h2{
	text-align: left;
	hyphens: auto;
}

/* GHR am 28.11.2025: Nachfolgender Ansatz für h1 - h6 erscheint nötig, da die font-size Festlegungen über das Standard-Kit von Angaben einer reset.css überschrieben werden*/

body,
.elementor-flip-box__layer__description{
  font-size: 1.1rem !important;
}

.elementor-kit-6 h1{ font-size: 2.0rem; line-height: 1.25; }
.elementor-kit-6 h2{ font-size: 2.0rem; line-height: 1.25; }
.elementor-kit-6 h3{ font-size: 1.4rem; line-height: 1.25; }
.elementor-kit-6 h4{ font-size: 1.4rem; line-height: 1.25; }
.elementor-kit-6 h5{ font-size: 1.2rem; line-height: 1.25; }
.elementor-kit-6 h6{ font-size: 1.2rem; line-height: 1.25; }

@media (max-width: 1200px){
  body,
  .elementor-flip-box__layer__description{
    font-size: 1.1rem !important;
	}
	
	.elementor-kit-6 h1{ font-size: 2.0rem; line-height: 1.25; }
	.elementor-kit-6 h2{ font-size: 2.0rem; line-height: 1.25; }
	.elementor-kit-6 h3{ font-size: 1.4rem; line-height: 1.25; }
	.elementor-kit-6 h4{ font-size: 1.4rem; line-height: 1.25; }
	.elementor-kit-6 h5{ font-size: 1.2rem; line-height: 1.25; }
	.elementor-kit-6 h6{ font-size: 1.2rem; line-height: 1.25; }
}

@media (max-width: 767px){
  body,
  .elementor-flip-box__layer__description{
    font-size: 1.1rem !important;
  }
  
	.elementor-kit-6 h1{ font-size: 1.8rem; line-height: 1.25; }
	.elementor-kit-6 h2{ font-size: 1.8rem; line-height: 1.25; }
	.elementor-kit-6 h3{ font-size: 1.4rem; line-height: 1.25; }
	.elementor-kit-6 h4{ font-size: 1.4rem; line-height: 1.25; }
	.elementor-kit-6 h5{ font-size: 1.0rem; line-height: 1.25; }
	.elementor-kit-6 h6{ font-size: 1.0rem; line-height: 1.25; }
 }


.header-light > h1,
.header-light > h2,
.header-light > h3,
.header-light > h4,
.header-light > h5,
.header-light > h6{
  color: var(--lg-cool-09) !important;
  margin-block-end: 0;
  margin-block-start: 0;
}

/* ==========================================================================
   30. LAYOUT / CONTAINER / BREAKPOINT-FIXES (Elementor boxed widths)
   ========================================================================== */

/* GHR am 28.11.2025: Anpassung der breakpoints und maximalen Breiten */

.elementor-kit-6 .e-con.lg-boxed{
	padding: 0px !important;
}
	
.elementor-kit-6 .e-con.lg-boxed.e-con-boxed > .e-con-inner,
.elementor-kit-6 .elementor-location-header .e-con-boxed > .e-con-inner{
  width: 100%;
  max-width: 100%;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* Ab 576px: etwas mehr Luft, immer noch fluid, aber sauber eingerueckt */
@media (min-width: 576px){
  .elementor-kit-6 .e-con.lg-boxed.e-con-boxed > .e-con-inner,
  .elementor-kit-6 .elementor-location-header .e-con-boxed > .e-con-inner{
    width: 540px;
    max-width: 540px;
	padding-left: 0px !important;
	padding-right: 0px !important;
  }
}

/* Ab 768px: Tablet Hochformat, feste Breite */
@media (min-width: 768px){
  .elementor-kit-6 .e-con.lg-boxed.e-con-boxed > .e-con-inner,
  .elementor-kit-6 .elementor-location-header .e-con-boxed > .e-con-inner{
    width: 720px;
    max-width: 720px;
  }
}

/* Ab 992px: Laptop klein / Tablet quer */
@media (min-width: 992px){
  .elementor-kit-6 .e-con.lg-boxed.e-con-boxed > .e-con-inner,
  .elementor-kit-6 .elementor-location-header .e-con-boxed > .e-con-inner{
    width: 960px;
    max-width: 960px;
  }
}

/* Ab 1200px: Desktop */
@media (min-width: 1200px){
  .elementor-kit-6 .e-con.lg-boxed.e-con-boxed > .e-con-inner,
  .elementor-kit-6 .elementor-location-header .e-con-boxed > .e-con-inner{
    width: 1140px;
    max-width: 1140px;
  }
}

/* Ab 1400px: Desktop groß */
@media (min-width: 1400px){
  .elementor-kit-6 .e-con.lg-boxed.e-con-boxed > .e-con-inner,
  .elementor-kit-6 .elementor-location-header .e-con-boxed > .e-con-inner{
    width: 1320px;
    max-width: 1320px;
  }
}

/* ==========================================================================
   Gutenberg Support für lg-boxed Wrapper
   (Hello Theme + Group Block)
   ========================================================================== */

/* Wrapper selbst zentrieren */
.wp-block-group.lg-boxed {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Gutenberg constrained-layout neutralisieren */
.wp-block-group.lg-boxed.is-layout-constrained > * {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Breakpoints identisch zu Elementor */
@media (min-width: 576px){
  .wp-block-group.lg-boxed { max-width: 540px; }
}

@media (min-width: 768px){
  .wp-block-group.lg-boxed { max-width: 720px; }
}

@media (min-width: 992px){
  .wp-block-group.lg-boxed { max-width: 960px; }
}

@media (min-width: 1200px){
  .wp-block-group.lg-boxed { max-width: 1140px; }
}

@media (min-width: 1400px){
  .wp-block-group.lg-boxed { max-width: 1320px; }
}

/* ==========================================================================
   50. LISTEN / CONTENT-ELEMENTE
   ========================================================================== */

/* GHR am 25.11.2025: Quadratische Aufzählungszeichen */
.li-square ul,
ul{
  margin-left: 0;      /* Entfernt Browser-Standard-Einzug */
  padding-left: 0.2em; /* Platz für das Icon (nach Bedarf anpassen) */
}

.li-square ul li{
  list-style: none;    /* Standard-Bullet entfernen */
  position: relative;
  padding-left: 0.8em;
}

/* eigenes Bullet (Quadrat) korrekt positionieren */
.li-square ul li::before{
  content: "";
  position: absolute;
  top: 0.55em;         /* vertikale Ausrichtung */
  left: 0;             /* Bullet bündig zur linken Kante */
  width: 6px;
  height: 6px;
  background: var(--lg-c-primary);
}

/* ==========================================================================
   70. SPACING / LAYOUT FIXES (Header/Footer/Sections)
   ========================================================================== */

/* GHR am 11.02.2026: Um ein Footer-Element direkt in die Seiten zu integrieren und den resultierenden unteren Rand zu eliminieren */
.no-bottom-space{
  padding-bottom: 0 !important;
  padding-block-end: 0 !important;
  margin-bottom: 0 !important;
}

/* ==========================================================================
   95. PLUGINS / INTEGRATIONS (FacetWP, WPML, etc.)
   ========================================================================== */

/* GHR am 26.12.2025: Anpassung der Schrift der FacetWP-Facets */
.facetwp-facet{
  font-size: 1rem;
  font-weight: 600;
}