.elementor-2404 .elementor-element.elementor-element-abd4aa7{--spacer-size:50px;}.elementor-2404 .elementor-element.elementor-element-bb5720f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2404 .elementor-element.elementor-element-bb5720f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2404 .elementor-element.elementor-element-2400726{text-align:center;}.elementor-2404 .elementor-element.elementor-element-e816260{--spacer-size:50px;}.elementor-2404 .elementor-element.elementor-element-84bcf8b{text-align:center;}.elementor-2404 .elementor-element.elementor-element-84bcf8b .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-2404 .elementor-element.elementor-element-bfb417d{text-align:center;}.elementor-2404 .elementor-element.elementor-element-24a9c83{text-align:center;}.elementor-2404 .elementor-element.elementor-element-2a54b56{text-align:center;}.elementor-2404 .elementor-element.elementor-element-b2dc83c{--spacer-size:50px;}.elementor-2404 .elementor-element.elementor-element-e72f5ba{text-align:center;}.elementor-2404 .elementor-element.elementor-element-e72f5ba .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-2404 .elementor-element.elementor-element-07ef717{text-align:center;}.elementor-2404 .elementor-element.elementor-element-07ef717 .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-2404 .elementor-element.elementor-element-3dc152f{text-align:center;}.elementor-2404 .elementor-element.elementor-element-3dc152f .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-2404 .elementor-element.elementor-element-5829b89{text-align:center;}.elementor-2404 .elementor-element.elementor-element-5829b89 .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);}.elementor-2404 .elementor-element.elementor-element-4de0ee4{--spacer-size:50px;}.elementor-2404 .elementor-element.elementor-element-8355f68{text-align:center;}.elementor-2404 .elementor-element.elementor-element-8355f68 .elementor-heading-title{text-shadow:0px 0px 10px rgba(0,0,0,0.3);}/* Start custom CSS for section, class: .elementor-element-bcb3312 *//* ===== Baseline: prevent border size shifting ===== */
.grape-grid, .grape-grid * , .grape-grid *::before, .grape-grid *::after{
  box-sizing: border-box;
}

/* ===== Treat each direct child as a CARD (image + title + details) ===== */
/* Covers both Container and old Column structures */
.grape-grid > .e-con-inner > .e-con,
.grape-grid > .elementor-container > .elementor-column,
.grape-grid > .elementor-row > .elementor-column {
  border: 2px solid #000;
  overflow: hidden; /* IMPORTANT: keeps image inside the border */
}

/* ===== Make image sit inside the card and add separator under it ===== */
.grape-grid img{
  display:block;
  width:100%;
  height:auto;
}

/* Add a separator line under the image widget (without adding a 2nd outer border) */
.grape-grid .elementor-widget-image .elementor-widget-container{
  border-bottom: 2px solid #000;
}

/* Optional: separator under the title to match the table look */
.grape-grid .elementor-widget-heading{
  border-bottom: 2px solid #000;
  margin: 0;
  padding: 10px 0;
}

/* ===== DETAILS: each "row" becomes a consistent 2-column box ===== */
/* Common structure: inner containers (rows) inside the card */
.grape-grid .e-con-inner > .e-con .e-con-inner > .e-con{
  border-bottom: 2px solid #000;
}

/* Remove last row bottom border so it doesn't double with card border */
.grape-grid .e-con-inner > .e-con .e-con-inner > .e-con:last-child{
  border-bottom: 0;
}

/* Force each row container to be a 2-column grid with vertical centering */
.grape-grid .e-con-inner > .e-con .e-con-inner > .e-con{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;        /* vertical align */
  min-height: 54px;           /* consistent box size */
}

/* Left cell padding (3px left as requested) */
.grape-grid .e-con-inner > .e-con .e-con-inner > .e-con > *:first-child{
  padding: 10px 8px 10px 3px;
  border-right: 2px solid #000; /* vertical divider */
}

/* Right cell padding */
.grape-grid .e-con-inner > .e-con .e-con-inner > .e-con > *:last-child{
  padding: 10px 8px;
}

/* Prevent Elementor widgets inside rows from adding extra spacing */
.grape-grid .elementor-widget-text-editor,
.grape-grid .elementor-widget-text-editor p{
  margin: 0;
}/* End custom CSS */