/* ====== Cormens • Image – Left Bleed =================================== */
.c-leftbleed{ position:relative; overflow:visible; }
.c-leftbleed__inner{
  display:flex;
  align-items: var(--c-align-y, center);
  justify-content:flex-start;
  overflow:visible;
}

/* Der Trick: aus dem zentrierten Container nach links rausziehen
   50% - 50vw = linker Container-Rand → plus zusätzlicher Bleed */
.c-leftbleed__media{
  margin-left: calc(50% - 50vw - var(--c-bleed, 0));
  /* optional: nach oben/unten Abstand */
}

/* Bildgrößensteuerung */
.c-leftbleed__img{
  display:block;
  width: 100%;
  max-width: var(--c-maxw, 46rem);
  height:auto;
}

/* Mobile-Fallbacks */
@media (max-width: 767.98px){
  .c-leftbleed[data-reset-mobile="1"] .c-leftbleed__media{
    margin-left: 0;               /* kein Bleed auf Mobile */
  }
  .c-leftbleed[data-reset-mobile="1"] .c-leftbleed__img{
    max-width: var(--c-mw-mobile, 92vw);
  }
}

/* Sicherheit: Row/Column darf Overflow nicht kappen */
.vc_row, .wpb_column{ overflow: visible; }
/* Basis */
.c-leftbleed{ position: relative; overflow: visible; }
.c-leftbleed__inner{ display:flex; align-items: var(--c-align-y, center); overflow: visible; }

/* Immer: 100vw & links an den Viewport kleben */
.c-leftbleed--vw .c-leftbleed__media{
  width: calc(100vw + var(--c-bleed, 0));
  margin-left: calc(50% - 50vw - var(--c-bleed, 0));
}
.c-leftbleed--vw .c-leftbleed__img{
  display:block;
  width: 100%;
  max-width: none;   /* VW-Modus ignoriert max-width */
  height: auto;
}

/* Mobile-Reset (optional im Element an/aus) */
@media (max-width: 767.98px){
  .c-leftbleed[data-reset-mobile="1"] .c-leftbleed__media{
    width: auto;
    margin-left: 0;
  }
  .c-leftbleed[data-reset-mobile="1"] .c-leftbleed__img{
    width: 100%;
    max-width: var(--c-mw-mobile, 92vw); /* hier spielt max_width wieder mit */
  }
}


/* Bild Überstand */
/* Left-bleed Element: immer 100vw links kleben */
.c-leftbleed--vw .c-leftbleed__media{
  width: calc(100vw + var(--c-bleed, 0));
  margin-left: calc(50% - 50vw - var(--c-bleed, 0));
  box-sizing: border-box;      /* Padding zählt in die 100vw rein */
  padding-right: 0;            /* Default mobil */
}

/* Ab 64em: rechts 14% Luft */
@media (min-width: 64em){
  .c-leftbleed--vw .c-leftbleed__media{
    padding-right: 14%;
	  padding-left: 14%;
  }
}

/* Bild selbst bleibt flexibel */
.c-leftbleed--vw .c-leftbleed__img{
  display:block;
  width:100%;
  height:auto;
}

/* Sicherheit: nichts abschneiden */
.vc_row, .wpb_column{ overflow: visible; }
