/* =========================================
   FLEX GRID – BASE
   ========================================= */
.od-flex-grid .et_pb_row, .od-flex-grid.et_pb_row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

/* Divi adds a clearfix ::after on rows; not needed here */
.od-flex-grid .et_pb_row:after, .od-flex-grid.et_pb_row:after {
  display: none;
}

.od-flex-grid .et_pb_column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 16px;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

/* General module styling inside the grid */
.od-flex-grid .et_pb_module {
  display: flex;
  /*flex-direction: column;*/
  align-items: flex-start;
  align-self: stretch;
  border-radius: var(--od-border-radius-default);
  flex: 1 0 0;
	margin: 0 !important;
  /* If your image is absolute-positioned inside the module,
     you likely want the module to be the positioning context: */
  /* position: relative; */
}
		   
								   
								   
/* Specific tweaks for Blurb modules inside the grid */
.od-flex-grid .et_pb_module.et_pb_blurb {
  padding: 0 !important;   /* overrides the general module padding */
  overflow: clip;
  /* height: 100%; */       /* not needed; let content define height */
}


/* =========================================
   CONTENT BOX + ASPECT RATIO
   ========================================= */
/* Shared content box defaults */
.od-flex-grid .et_pb_blurb_content {
  max-width: 2560px;
  align-self: stretch;
  width: 100%;            /* centralize width:100% (removed from variant rules) */
  /*height: auto;*/           /* ensure it can grow beyond aspect ratio if content needs it */
  height: 100%;     /*  fought aspect-ratio & content growth – commenting out */
}

/* Aspect ratio variants (acts like a width-based min-height when height:auto) */
.od-flex-grid.od-flex-grid--aspectLand .et_pb_module .et_pb_blurb_content, .od-flex-grid.od-flex-grid--aspectLand .et_pb_module.et_pb_text {
  aspect-ratio: 16 / 10;
}
.od-flex-grid.od-flex-grid--aspectWide .et_pb_module .et_pb_blurb_content, .od-flex-grid.od-flex-grid--aspectWide .et_pb_module.et_pb_text {
  aspect-ratio: 16 / 7;
}
.od-flex-grid.od-flex-grid--aspectUltraWide .et_pb_module .et_pb_blurb_content, .od-flex-grid.od-flex-grid--aspectUltraWide .et_pb_module.et_pb_text {
  aspect-ratio: 16 / 5;
}
.od-flex-grid.od-flex-grid--aspectPort .et_pb_module .et_pb_blurb_content, .od-flex-grid.od-flex-grid--aspectPort .et_pb_module.et_pb_text {
  aspect-ratio: 4 / 5;
}
/* Specific tweaks for Blurb modules inside the grid */	   
.od-flex-grid .et_pb_blurb_content .et_pb_blurb_container  {
	min-height: 100%;
  display: flex;
  flex-wrap: wrap;
	align-content: flex-start;
}								   
.od-flex-grid .et_pb_blurb_content .et_pb_blurb_container .et_pb_blurb_description {
	width: 100%;
}								   
.od-flex-grid.od-flex-grid--verticalCenter .et_pb_blurb_content .et_pb_blurb_container, .od-flex-grid .et_pb_module.od-flex-grid--verticalCenter .et_pb_blurb_content .et_pb_blurb_container {
  align-content: center;
}	
.od-flex-grid.od-flex-grid--verticalBottom .et_pb_blurb_content .et_pb_blurb_container, .od-flex-grid .et_pb_module.od-flex-grid--verticalBottom .et_pb_blurb_content .et_pb_blurb_container {
  align-content: flex-end;
}									   

/* Specific tweaks for Text modules inside the grid */	   
/*.od-flex-grid .et_pb_blurb_content .et_pb_blurb_container  {
	min-height: 100%;
  display: flex;
  flex-wrap: wrap;
	align-content: flex-start;
}*/								   
/*.od-flex-grid .et_pb_blurb_content .et_pb_blurb_container .et_pb_blurb_description {
	width: 100%;
}	*/	
.od-flex-grid .et_pb_text .et_pb_text_inner {
	width: 100%;
}								   
.od-flex-grid.od-flex-grid--verticalCenter .et_pb_text, .od-flex-grid .et_pb_text.od-flex-grid--verticalCenter {
  align-content: center;
	align-items: center !important;
}	
.od-flex-grid.od-flex-grid--verticalBottom .et_pb_text, .od-flex-grid .et_pb_text.od-flex-grid--verticalBottom {
  align-content: flex-end;
		align-items: flex-end !important;
}									   
								   
						   
								   
/* =========================================
   IMAGE LAYER (ABSOLUTE) 
   ========================================= */
.od-flex-grid .et_pb_main_blurb_image {
  position: absolute;
  inset: 0;
  height: 100%;
  margin: 0;              /* merged duplicate block */
}

.od-flex-grid .et_pb_main_blurb_image img {
  object-fit: cover;
  height: 100%;
  /* width is usually auto or 100% via theme; add if needed */
  /* width: 100%; */
}
.od-flex-grid .od-image-align--tc .et_pb_main_blurb_image img {
 	object-position: top center;
}
.od-flex-grid .od-image-align--bc .et_pb_main_blurb_image img {
 	object-position: bottom center;
}
.od-flex-grid .et_pb_main_blurb_image .et_pb_image_wrap {
  height: 100%;
}

/* Foreground content layer */
.od-flex-grid .et_pb_blurb_container, .od-flex-grid .et_pb_text .et_pb_text_inner {
  padding: var(--od-flex-padding-y) var(--od-flex-padding-x);
  z-index: 999;
  position: relative;
}
.od-flex-grid .et_pb_column.et_pb_column_4_4 .et_pb_module .et_pb_blurb_container, .od-flex-grid .et_pb_column.et_pb_column_4_4 .et_pb_module .et_pb_text_inner {
	padding: calc(var(--od-flex-padding-y) * 0.5) calc(var(--od-flex-padding-x) * 0.5);
}
.od-flex-grid .et_pb_column.et_pb_column_1_3 .et_pb_module .et_pb_blurb_container, .od-flex-grid .et_pb_column.et_pb_column_1_3 .et_pb_module .et_pb_text_inner {
	padding: calc(var(--od-flex-padding-y) * 1.5) calc(var(--od-flex-padding-x) * 1.5);
}								   


/* =========================================
   DECORATION
   ========================================= */
.od-flex-grid .blurb-arrow .et_pb_blurb_container:after {
  content: "\f0a9";
  font-family: 'Font Awesome 6 Pro';
  font-style: normal;
  font-weight: 300;
  font-size: 50px;
  line-height: 1.5em;
}


/* =========================================
   MEDIA QUERIES
   ========================================= */

/* ≥768px (placeholder was empty; leaving commented for future use) */
@media (min-width: 768px) {
  /* .od-flex-grid .et_pb_row .et_pb_column .et_pb_module { } */
}

/* ≥981px – columns fill row width (often redundant with flex; keep if Divi needs it) */
@media (min-width: 981px) {
.od-flex-grid .et_pb_column {
    width: 100%;
  }
  /* .od-flex-grid .et_pb_row .et_pb_column .et_pb_module { } */ /* empty – remove */
}

/* ≥1024px – switch rows to horizontal layout */
@media screen and (min-width: 1024px) {
.od-flex-grid .et_pb_row, .od-flex-grid.et_pb_row {
    flex-direction: row;
    justify-content: center;
  }
  /* .od-flex-grid .et_pb_row .et_pb_column { } */ /* empty – remove */
}

/* ≤767px – hide blurb paragraphs on mobile */
@media (max-width: 767px) {
.od-flex-grid .et_pb_module p {
    display: none;
  }
.od-flex-grid.od-flex-grid--mobilePort .et_pb_module .et_pb_blurb_content, .od-flex-grid .et_pb_module.od-flex-grid--mobilePort .et_pb_blurb_content {
  aspect-ratio: 4 / 5;
}
.od-flex-grid.od-flex-grid--mobileLand .et_pb_module .et_pb_blurb_content, .od-flex-grid .et_pb_module.od-flex-grid--mobileLand .et_pb_blurb_content {
  aspect-ratio: 16 / 10;
}	
.od-flex-grid .et_pb_column.et_pb_column_4_4 .et_pb_module .et_pb_blurb_container, .od-flex-grid .et_pb_column.et_pb_column_4_4 .et_pb_module .et_pb_text_inner {
	padding: var(--od-flex-padding-y) var(--od-flex-padding-x);
}
.od-flex-grid .et_pb_column.et_pb_column_1_3 .et_pb_module .et_pb_blurb_container, .od-flex-grid .et_pb_column.et_pb_column_1_3 .et_pb_module .et_pb_text_inner {
	padding: var(--od-flex-padding-y) var(--od-flex-padding-x);
}	
	
}
