.elementor-kit-172{--e-global-color-primary:#7A93A8;--e-global-color-accent:#A8BDC9;--e-global-color-secondary:#7A93A8;--e-global-color-text:#232A2E;--e-global-color-03d4c8c:#5B7FA8;--e-global-color-7120ed1:#5B7FA8;--e-global-color-4dc052d:#D4A03D;--e-global-color-85a7d1c:#C64B42;--e-global-color-f97b96d:#FAFBFC;--e-global-color-96e7ac6:#EEF3F5;--e-global-color-42b21c5:#656B70;--e-global-color-f268844:#D6E1E7;--e-global-color-8f7c8e7:#687d8f;--e-global-color-b3cdd39:#FFFFFF;--e-global-color-8469757:#8fa1ab;--e-global-color-f7dc858:#7A93A8;--e-global-color-56b0924:#687d8f;--e-global-typography-primary-font-family:"Instrument Serif";--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-family:"Inter";--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:clamp(0.875rem, 0.8173rem + 0.2564vw, 1rem);--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-8cf967c-font-family:"Inter";--e-global-typography-8cf967c-font-size:clamp(0.875rem, 0.8173rem + 0.2564vw, 1rem);--e-global-typography-8cf967c-line-height:1.3em;--e-global-typography-10edc26-font-family:"Instrument Serif";--e-global-typography-10edc26-font-size:clamp(3.125rem, 0.5288rem + 11.5385vw, 8.75rem);--e-global-typography-f72d1cb-font-family:"Instrument Serif";--e-global-typography-f72d1cb-font-size:clamp(1.5rem, 1.2692rem + 1.0256vw, 2rem);--e-global-typography-f72d1cb-font-style:italic;--e-global-typography-f72d1cb-line-height:1.4em;--e-global-typography-0e207fb-font-family:"Inter";--e-global-typography-0e207fb-font-size:clamp(1.75rem, 1.5357rem + 0.9524vw, 2.25rem);--e-global-typography-0e207fb-font-weight:700;color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:clamp(1rem, 0.6vw + 0.8125rem, 1.25rem);font-weight:400;line-height:1.5em;}.elementor-kit-172 button,.elementor-kit-172 input[type="button"],.elementor-kit-172 input[type="submit"],.elementor-kit-172 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );color:var( --e-global-color-b3cdd39 );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );border-radius:50px 50px 50px 50px;padding:016px 036px 016px 036px;}.elementor-kit-172 button:hover,.elementor-kit-172 button:focus,.elementor-kit-172 input[type="button"]:hover,.elementor-kit-172 input[type="button"]:focus,.elementor-kit-172 input[type="submit"]:hover,.elementor-kit-172 input[type="submit"]:focus,.elementor-kit-172 .elementor-button:hover,.elementor-kit-172 .elementor-button:focus{background-color:var( --e-global-color-8f7c8e7 );color:var( --e-global-color-b3cdd39 );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-8f7c8e7 );border-radius:50px 50px 50px 50px;}.elementor-kit-172 a{color:var( --e-global-color-f7dc858 );font-family:"Inter", Sans-serif;font-size:clamp(1rem, 0.6vw + 0.8125rem, 1.25rem);}.elementor-kit-172 a:hover{color:var( --e-global-color-56b0924 );}.elementor-kit-172 h1{color:var( --e-global-color-text );font-family:"Instrument Serif", Sans-serif;font-size:clamp(2.5rem, 1.2019rem + 5.7692vw, 5.3125rem);font-weight:400;line-height:1.2em;}.elementor-kit-172 h2{color:var( --e-global-color-text );font-family:"Instrument Serif", Sans-serif;font-size:clamp(2.0625rem, 1.5721rem + 2.1795vw, 3.125rem);font-weight:400;line-height:1.25em;}.elementor-kit-172 h3{color:var( --e-global-color-text );font-family:"Instrument Serif", Sans-serif;font-size:clamp(1.75rem, 1.29rem + 1.3vw, 2.5rem);font-weight:400;line-height:1.3em;}.elementor-kit-172 h4{color:var( --e-global-color-text );font-family:"Instrument Serif", Sans-serif;font-size:clamp(1.5rem,  1.22rem + 0.9vw, 2rem);font-weight:400;line-height:1.35em;}.elementor-kit-172 h5{color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:clamp(1.25rem, 1.13rem + 0.45vw, 1.5rem);font-weight:600;font-style:normal;line-height:1.35em;letter-spacing:0.5px;}.elementor-kit-172 h6{color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:clamp(1.125rem,1.06rem + 0.15vw, 1.25rem);font-weight:600;text-transform:uppercase;font-style:normal;line-height:1.4em;letter-spacing:0.5px;}.elementor-kit-172 img{border-radius:15px 15px 15px 15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}.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-kit-172 button,.elementor-kit-172 input[type="button"],.elementor-kit-172 input[type="submit"],.elementor-kit-172 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-172{--e-global-typography-accent-line-height:1.5em;}.elementor-kit-172 p{margin-block-end:0.8em;}.elementor-kit-172 button,.elementor-kit-172 input[type="button"],.elementor-kit-172 input[type="submit"],.elementor-kit-172 .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ================================================
   Lechclick Template Kit — Core CSS
   - Organized for readability
   - Short, meaningful English comments only
   - Modern CSS (logical properties, :is/:has)
   ================================================= */

/* ===============================
   1) DESIGN TOKENS (GLOBAL)
   =============================== */
:root{
  /* Section container sizing */
  --section-py: clamp(3.75rem, 2.5962rem + 5.1282vw, 6.25rem);
  --section-px: clamp(1.25rem, 0.0962rem + 5.1282vw, 3.75rem);
  --section-max: 1200px;           /* default container width */
  --section-max-narrow: 880px;     /* optional narrow width */
  --section-max-wide: 1440px;      /* optional wide width */

  /* Vertical & horizontal gaps (360 → 1140) */
  --gap-y-tight:    clamp(12px,  8.3077px + 1.0256vw, 20px);
  --gap-y-regular:  clamp(16px, 10.4615px + 1.5385vw, 28px);
  --gap-y-medium:   clamp(18px, 10.6154px + 2.0513vw, 34px);
  --gap-y-cozy:     clamp(20px, 10.7692px + 2.5641vw, 40px);
  --gap-y-spacious: clamp(28px, 15.0769px + 3.5897vw,56px);
  --gap-y: var(--gap-y-regular);

  --gap-x-tight:    var(--gap-y-tight);
  --gap-x-regular:  var(--gap-y-regular);
  --gap-x-medium:   var(--gap-y-medium);
  --gap-x-cozy:     var(--gap-y-cozy);
  --gap-x-spacious: var(--gap-y-spacious);
  --gap-x:          var(--gap-x-regular);

  /* Card tokens */
  --card-pad: clamp(20px, 10.7692px + 2.5641vw, 30px);
  --card-pad-y: var(--card-pad);
  --card-pad-x: var(--card-pad);
  --card-gap: var(--gap-y-regular);
  --card-radius: var(--container-border-radius);
 
  /* Optional: define in theme if you want a custom border */
  /* --card-border: 1px solid #E5E7EB; */

  /* Heading rhythm (bottom margins) */
  --h1-mb: clamp(0.8rem, 0.6rem + 1.2vw, 1.75rem);
  --h2-mb: clamp(0.7rem, 0.55rem + 1vw, 1.5rem);
  --h3-mb: clamp(0.6rem, 0.5rem + 0.8vw, 1.25rem);
  --h4-mb: clamp(0.5rem, 0.45rem + 0.6vw, 1rem);
  --h5-mb: clamp(0.45rem, 0.4rem + 0.5vw, 0.875rem);
  --h6-mb: clamp(0.4rem, 0.35rem + 0.4vw, 0.75rem);

  /* Text widget spacing (16px → 20px) */
  --text-widget-mb: clamp(1.25rem, 1.0192rem + 1.0256vw, 1.75rem);

  /* Common media/widget spacing helpers */
  --space-icon: clamp(12px, 1.6vw, 20px);
  --space-icon-list: clamp(24px, 3.6vw, 40px);
  --space-image: clamp(16px, 2.2vw, 20px);
}

.card-gap{
    gap: var(--gap-y-regular);
}

.card-gap-s{
    gap: var(--gap-y-tight);
}

.card-pad{
    padding:var(--card-pad);
}

.footer-row{
    row-gap: var(--gap-y-spacious) !important;
    column-gap: var(--gap-y-spacious) !important;
}

/* ===============================
   2) GLOBAL WRAPPERS & CONTAINERS
   =============================== */

/* Full-width wrapper with neutralized Elementor gaps */
.section-wrapper{
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
}

/* Container sizing presets */
.section{
  width: 100%;
  max-inline-size: var(--section-max);
  padding-block: var(--section-py);
  padding-inline: var(--section-px);
}

section-y{
    padding-top: var(--section-py) !important;
    padding-bottom: var(--section-py) !important;
}

/* Quick padding helpers */
.section-x{ padding-inline: var(--section-px); }
.section-x-top{ padding-top: var(--section-py); }

/* Neutralize Elementor widget spacing inside layout wrappers */
.section,
.lc-container{
  --widgets-spacing: 0 !important;
}

/* Two-column layout defaults */
.two-col,
.two-col.e-con,
.two-col > .elementor-container,
.two-col > .elementor-row{
  column-gap: var(--gap-x-spacious) !important;
  row-gap: var(--gap-y-spacious) !important;
}

:root {
    --container-border-radius: 15px;
    --container-box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.rounded-container {
    border-radius: var(--container-border-radius) !important;
    box-shadow: var(--container-box-shadow) !important;
}

.dot{
    height:clamp(2.75rem, 2.4554rem + 1.3095vw, 3.4375rem) !important;
    width:clamp(2.75rem, 2.4554rem + 1.3095vw, 3.4375rem) !important;
}
/* Optional width utility (use with care) */


/* ===============================
   3) HEADER
   =============================== */

/* Glassmorphism nav header */
.header-nav{
  background: rgba(255, 255, 255, 0.54);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.9px);
  -webkit-backdrop-filter: blur(5.9px);
  border: 1px solid rgba(255, 255, 255, 0.23);
}

/* ===============================
   4) CARDS & CARD GRIDS
   =============================== */

/* Grid wrapper for cards */
.cards{
  display: grid !important;
  column-gap: var(--gap-x-regular) !important;
  row-gap: var(--gap-x-regular) !important;
}

.cards-gap-l{
    row-gap: var(--gap-y-spacious) !important;
    column-gap: var(--gap-y-spacious) !important;
}

/* Single card styles */
.card, .box, .lc-card{
  padding: var(--card-pad) !important;
  border: var(--card-border, 1px solid #E5E7EB); /* fallback if --card-border is not set */
  border-radius: var(--card-radius);
  background: var(--card-background);
}

/* Density variants */
.card.tight { --card-gap: var(--gap-y-tight); }
.card.loose { --card-gap: var(--gap-y-spacious); }

/* Small padding utility */
.card-pad-s{ padding: var(--gap-y-tight); }

   /*===============================
   5) BUTTONs & BUTTON ROWS
   =============================== */
/* Normal State */
.btn-secondary .elementor-button {
    background-color: var(--e-global-color-f97b96d) !important;
    color: var(--e-global-color-primary) !important; /* #C67B5C */
    border: 2px solid var(--e-global-color-primary) !important;
    border-radius: var(-border-radius); /* Dein Standard Button Radius */
    transition: all 0.3s ease !important;
}

/* Hover State */
.btn-secondary .elementor-button:hover {
    background-color: var(--e-global-color-96e7ac6) !important; /* Surface: #F4EDE7 */
    color: var(--e-global-color-8f7c8e7) !important; /* Primary Hover: #a8694e */
    border-color: var(--e-global-color-8f7c8e7) !important;
    
    border-radius: var(-border-radius) !important;
}


.btn-secondary .elementor-button svg{
    fill: var(--e-global-color-primary) !important; /* Primary Hover: #a8694e */
}
/* Hover State */
.btn-secondary .elementor-button:hover svg{
    
    fill: var(--e-global-color-8f7c8e7) !important; /* Primary Hover: #a8694e */
}

.btn-tertiary .elementor-button {
    background-color: transparent !important;
    color: var(--e-global-color-primary) !important; /* #C67B5C */
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    padding-bottom: 8px;
    padding-right: 0;
    padding-left: 0;
    padding-top: 0;
    border-radius: 0 !important; /* Dein Standard Button Radius */
    transition: all 0.3s ease !important;
}


.btn-tertiary .elementor-button:hover {
    background-color: transparent !important; /* Surface: #F4EDE7 */
    color: var(--e-global-color-8f7c8e7) !important; /* Primary Hover: #a8694e */
    border-color: var(--e-global-color-8f7c8e7) !important;
    
    border-radius: 0 !important;
}


.btn-tertiary .elementor-button svg{
    fill: var(--e-global-color-primary) !important; /* Primary Hover: #a8694e */
}
/* Hover State */
.btn-tertiary .elementor-button:hover svg{
    
    fill: var(--e-global-color-8f7c8e7) !important; /* Primary Hover: #a8694e */
}




/* Horizontal on desktop, stacked on mobile */
.btn-row{
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--gap-x-regular) !important;
  align-items: center !important;
}
.btn-row > *{ flex: 0 0 auto; }

@media (max-width: 767px){
  .btn-row{
    flex-direction: column;
    gap: var(--gap-y-regular) !important;
    align-items: center !important;
  }
  .btn-row > *{ width: 100%; } /* optional full-width buttons on mobile */
}

/* ===============================
   6) TYPOGRAPHY & HEADINGS
   =============================== */

/* Elementor Heading widget: bottom margins only */
.elementor-widget-heading h1.elementor-heading-title { margin: 0 0 var(--h1-mb); }
.elementor-widget-heading h2.elementor-heading-title { margin: 0 0 var(--h2-mb); }
.elementor-widget-heading h3.elementor-heading-title { margin: 0 0 var(--h3-mb); }
.elementor-widget-heading h4.elementor-heading-title { margin: 0 0 var(--h4-mb); }
.elementor-widget-heading h5.elementor-heading-title { margin: 0 0 var(--h5-mb); }
.elementor-widget-heading h6.elementor-heading-title { margin: 0 0 var(--h6-mb); }

/* Headings inside text widgets & post content */
.elementor-widget-text-editor :is(h1,h2,h3,h4,h5,h6),
.entry-content :is(h1,h2,h3,h4,h5,h6){
  margin-top: 0;
}
.elementor-widget-text-editor h1, .entry-content h1{ margin-bottom: var(--h1-mb); }
.elementor-widget-text-editor h2, .entry-content h2{ margin-bottom: var(--h2-mb); }
.elementor-widget-text-editor h3, .entry-content h3{ margin-bottom: var(--h3-mb); }
.elementor-widget-text-editor h4, .entry-content h4{ margin-bottom: var(--h4-mb); }
.elementor-widget-text-editor h5, .entry-content h5{ margin-bottom: var(--h5-mb); }
.elementor-widget-text-editor h6, .entry-content h6{ margin-bottom: var(--h6-mb); }

/* Utility-Klasse für „kein H1-Abstand“ */
.no-h1-mb {
  --h1-mb: 0;
}

/* Eyebrow style */
.eyebrow p{
  text-transform: uppercase !important;
  font-weight: 600;
  line-height: 1.5em;
  color: var(--e-global-color-primary) !important;
  margin-bottom: var(--h6-mb);
  font-size: clamp(0.875rem, 0.8173rem + 0.2564vw, 1rem);
}

/* Text widget rhythm helpers */
.elementor .elementor-widget-wrap > .elementor-widget-text-editor:not(:last-child){
  margin-bottom: var(--text-widget-mb) !important;
}
.elementor .elementor-container > .elementor-widget-text-editor:not(:last-child){
  margin-bottom: var(--text-widget-mb) !important;
}
.elementor .elementor-widget-text-editor + .elementor-element{
  margin-top: var(--text-widget-mb) !important;
}

/* ===============================
   TIMELINE 
   =============================== */
/* === Timeline Variablen === */
.tl-wrapper{
  --tl-center: 80px;
  --tl-gap: 32px;
  --tl-line: 2px;
  --tl-line-color: var(--e-global-color-primary);
  --tl-dot-size: 56px;
  --tl-gap-under-dot: 2px;
}

/* Timeline Row */
.tl-row{
  display: grid;
  grid-template-columns: 1fr var(--tl-center) 1fr;
  gap: var(--tl-gap);
  position: relative;
  min-height: 140px;
}

/* Content Columns */
.tl-col{ 
  min-width: 0;
  padding: 0;
}

/* Center Column */
.tl-center{
  position: relative;
  width: var(--tl-center);
  height: 100%; /* FIX für Desktop/Tablet */
}

/* Vertical Line */
.tl-center::after{
  content: "";
  position: absolute;
  top: calc(var(--tl-dot-size) + var(--tl-gap-under-dot));
  bottom: 0;
  left: calc(50% - var(--tl-line) / 2);
  width: var(--tl-line);
  background: var(--tl-line-color);
}

/* Last Row: No Line */
.tl-row:last-child .tl-center::after{ 
  display: none; 
}

/* Dot */
.tl-dot{
  position: absolute;
  top: 0; 
  left: 50%;
  transform: translateX(-50%);
  width: var(--tl-dot-size);
  height: var(--tl-dot-size);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 18px;
  z-index: 2;
}

/* === Tablet === */
@media (max-width: 1024px){
  .tl-wrapper{ 
    --tl-center: 64px;
    --tl-dot-size: 48px;
  }
}

/* === Mobile === */
@media (max-width: 767px){
  .tl-wrapper{
    --tl-center: 50px;
    --tl-row-gap-mobile: 20px;
  }
  
  .tl-row{
    grid-template-columns: var(--tl-center) 1fr;
    gap: 10px;
    min-height: unset;
  }
  
  .tl-left, 
  .tl-right{ 
    grid-column: 2; 
  }
  
  .tl-center{ 
    grid-column: 1;
    grid-row: 1 / -1;
  }
  
  /* Line extends into gap */
  .tl-row:not(:last-child) .tl-center::after{
    bottom: calc(-1 * var(--tl-row-gap-mobile));
  }
}

/* ===============================
   7) SPACING HELPERS FOR WIDGETS
   =============================== */
.mb-icon.elementor-widget-icon           { margin-bottom: var(--space-icon) !important; }
.mb-icon-list.elementor-widget-icon-list { margin-bottom: var(--space-icon-list) !important; }
.mb-image.elementor-widget-image         { margin-bottom: var(--space-image) !important; }

/* ===============================
   8) UTILITIES
   =============================== */
.card_inner{ padding: var(--gap-y-spacious); }
.card_y{ padding-block: var(--section-py); }
.padr{ padding-right: 7%; }

.site-credit a, .site-credit p{
  font-size: clamp(0.875rem, 0.8173rem + 0.2564vw, 1rem);
}

/* ===============================
   9) LEGAL DOC / BLOG ANCHOR RHYTHM
   =============================== */
/* Local custom props for heading spacing & anchor offset */
.legal-doc, .blog-margin {
  --h2-top: clamp(28px, 4vw, 60px);
  --h3-top: clamp(18px, 3vw, 40px);
  --anchor-offset: clamp(72px, 8vw, 120px);
}
.legal-doc h2, .blog-margin h2 { margin-top: var(--h2-top); }
.legal-doc h3, .blog-margin h3 { margin-top: var(--h3-top); }
.legal-doc :is(h2,h3):first-child,
.blog-margin :is(h2,h3):first-child { margin-top: 0; }
.legal-doc :is(h2,h3),
.blog-margin :is(h2,h3) { scroll-margin-top: var(--anchor-offset); }

/* ===============================
   10) ICON LIST LOGIC (Elementor)
   =============================== */
/* Hide empty list items (global) */
.elementor-widget-icon-list
  .elementor-icon-list-item:has(.elementor-icon-list-text:empty) {
  display: none;
}

/* Hide icon list widget if no item has text (frontend, scoped) */
body:not(.elementor-editor-active)
  .lc-section
  .lc-iconlist.elementor-widget[data-widget_type="icon-list.default"]:not(:has(.elementor-icon-list-text:not(:empty))) {
  display: none !important;
}

/* Hide entire section if it contains an icon list widget with no visible text (frontend) */
body:not(.elementor-editor-active)
  .lc-section:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"]):not(:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"] .elementor-icon-list-text:not(:empty))) {
  display: none !important;
}

/* Hide only the section header in that case (frontend) */
body:not(.elementor-editor-active)
  .lc-section:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"]):not(:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"] .elementor-icon-list-text:not(:empty))) .lc-header {
  display: none !important;
}

/* Editor opt-in: only hide if .lc-hide-in-editor is present */
body.elementor-editor-active
  .lc-section.lc-hide-in-editor:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"]):not(:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"] .elementor-icon-list-text:not(:empty))) {
  display: none !important;
}
body.elementor-editor-active
  .lc-section.lc-hide-in-editor:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"]):not(:has(.lc-iconlist.elementor-widget[data-widget_type="icon-list.default"] .elementor-icon-list-text:not(:empty))) .lc-header {
  display: none !important;
}

/* ===============================
   11) TEXT/CONTENT SECTIONS LOGIC
   =============================== */
/* Hide entire section if no visible text exists (frontend) */
body:not(.elementor-editor-active)
  .lc-section:has(.lc-content.elementor-widget):not(:has(
    .lc-content.elementor-widget .elementor-heading-title:not(:empty),
    .lc-content.elementor-widget .elementor-text-editor :not(:empty)
  )) {
  display: none !important;
}

/* Hide only header if content is empty (frontend) */
body:not(.elementor-editor-active)
  .lc-section:has(.lc-content.elementor-widget):not(:has(
    .lc-content.elementor-widget .elementor-heading-title:not(:empty),
    .lc-content.elementor-widget .elementor-text-editor :not(:empty)
  )) .lc-header {
  display: none !important;
}

/* Editor opt-in for text sections */
body.elementor-editor-active
  .lc-section.lc-hide-in-editor:has(.lc-content.elementor-widget):not(:has(
    .lc-content.elementor-widget .elementor-heading-title:not(:empty),
    .lc-content.elementor-widget .elementor-text-editor :not(:empty)
  )) {
  display: none !important;
}
body.elementor-editor-active
  .lc-section.lc-hide-in-editor:has(.lc-content.elementor-widget):not(:has(
    .lc-content.elementor-widget .elementor-heading-title:not(:empty),
    .lc-content.elementor-widget .elementor-text-editor :not(:empty)
  )) .lc-header {
  display: none !important;
}

/* ===============================
   12) BIO SECTION (FRONTEND)
   =============================== */
/* Slim bio section in frontend */
body:not(.elementor-editor-active) .bio-section {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Reset content wrapper in bio section */
body:not(.elementor-editor-active) .bio-section .lc-content {
  min-height: 0 !important;
  height: auto !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  align-content: start !important;
  align-items: start !important;
  justify-content: start !important;
  row-gap: 20px !important;
  grid-auto-rows: max-content !important;  /* no stretched rows */
  grid-template-rows: none !important;
}

/* Neutralize inline min-height once */
body:not(.elementor-editor-active) .bio-section [style*="min-height"] {
  min-height: 0 !important;
}

/* Remove spacers & shape dividers in bio section (frontend) */
body:not(.elementor-editor-active) .bio-section .elementor-spacer,
body:not(.elementor-editor-active) .bio-section .elementor-shape-top,
body:not(.elementor-editor-active) .bio-section .elementor-shape-bottom {
  display: none !important;
}

/* Last visible child without extra bottom margin */
body:not(.elementor-editor-active) .bio-section .lc-content > *:last-child {
  margin-bottom: 0 !important;
}

/* Timeline fit */
.bio-section .timeline-wrapper { align-self: start; height: auto !important; }
.bio-section .timeline-track   { height: auto !important; min-height: 0 !important; }

/* ===============================
   13) BIO BOX LOGIC
   =============================== */

/* Base state */
.elementor-element.bio-box { display: block; }

/* Remove empty bio boxes entirely (frontend) */
body:not(.elementor-editor-active)
  .bio-box:not(:has(.bio-year:not(:empty), .bio-text :not(:empty))) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}

/* Hide whole bio section if nothing remains (frontend) */
body:not(.elementor-editor-active)
  .bio-section:not(:has(.bio-box:has(.bio-year:not(:empty), .bio-text :not(:empty)))) {
  display: none !important;
}

/* Editor opt-in: hide only with .lc-hide-in-editor */
body.elementor-editor-active
  .bio-section.lc-hide-in-editor:not(:has(.bio-box:has(.bio-year:not(:empty), .bio-text :not(:empty)))) {
  display: none !important;
}font-size: clamp(2.75rem, 2.4554rem + 1.3095vw, 3.4375rem);font-size: clamp(2.75rem, 2.4554rem + 1.3095vw, 3.4375rem);/* End custom CSS */