.elementor-kit-2112{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-567884e:#4054B2;--e-global-color-47e4d5b9:#23A455;--e-global-color-425fdb18:#000;--e-global-color-41454e06:#FFF;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-2112 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== 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 */