/* Hero Tiles Fix for Properly Nested HTML Structure */

/* Remove default margins from p tags in title container */
.jcc-hero-tiles__title-container p {
  margin: 0;
}

/* Remove default margins from p tags in tiles */
.jcc-hero-tiles__tile a p {
  margin: 0;
}

/* Remove overlay when using background-color instead of image */
@media (min-width: 64em) {
  .jcc-hero-tiles__background:not(:has(img))::before {
    display: none;
  }
}

/* Move background-color and padding from anchor to tile element */
.jcc-hero-tiles__tile {
  display: flex !important;
  align-items: center !important;
  height: 110px !important;
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25) !important;
  position: relative !important;
}

@media (min-width: 40em) {
  .jcc-hero-tiles__tile {
    justify-content: center !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    flex-direction: column !important;
    height: 180px !important;
  }
}

@media (min-width: 64em) {
  .jcc-hero-tiles__tile {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
    height: 230px !important;
  }
}

/* Apply background colors to tiles, not anchors */
.jcc-hero-tiles__tile[data-index="1"] {
  background-color: #005ea2 !important;
}

.jcc-hero-tiles__tile[data-index="1"]:hover {
  background-color: #0050d8 !important;
}

.jcc-hero-tiles__tile[data-index="2"] {
  background-color: #1a4480 !important;
}

.jcc-hero-tiles__tile[data-index="2"]:hover {
  background-color: #162e51 !important;
}

.jcc-hero-tiles__tile[data-index="3"] {
  background-color: #0050d8 !important;
}

.jcc-hero-tiles__tile[data-index="3"]:hover {
  background-color: #0040b0 !important;
}

.jcc-hero-tiles__tile[data-index="4"] {
  background-color: #1c3d5a !important;
}

.jcc-hero-tiles__tile[data-index="4"]:hover {
  background-color: #152d42 !important;
}

/* Remove background from anchor tags */
.jcc-hero-tiles__tile a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  width: 100% !important;
  color: white !important;
  text-decoration: none !important;
  flex-direction: column !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.jcc-hero-tiles__tile a:hover {
  text-decoration: underline !important;
  background: none !important;
  background-color: transparent !important;
}

/* ===== SIDE-IMAGE VARIANT LAYOUT ===== */

/* Desktop: Tiles on left (50%), image on right (50%) */
@media (min-width: 64em) {
  /* Parent container for tiles and image - max-width 1400px like El Condado */
  .jcc-hero-tiles--side-image .jcc-hero-tiles__tiles-side {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  /* Tiles container - left 50%, 2x2 grid */
  .jcc-hero-tiles--side-image .jcc-hero-tiles__tiles {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 1fr) !important;
    gap: 0 !important;
    width: 50% !important;
    min-width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* Individual tiles fill their grid cell */
  .jcc-hero-tiles--side-image .jcc-hero-tiles__tile {
    width: 100% !important;
    min-height: 230px !important;
  }

  /* Side image - right 50% */
  .jcc-hero-tiles--side-image .jcc-hero-tiles__side {
    display: block !important;
    width: 50% !important;
    min-width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    height: 460px !important;
    background-color: #f0f0f0 !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .jcc-hero-tiles--side-image .jcc-hero-tiles__side::before {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    color: #666 !important;
    font-size: 14px !important;
    z-index: 10 !important;
  }

  .jcc-hero-tiles--side-image .jcc-hero-tiles__side img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }
}

/* Tablet: 2 tiles per row, no side image */
@media (min-width: 40em) and (max-width: 63.99em) {
  .jcc-hero-tiles--side-image .jcc-hero-tiles__tiles {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .jcc-hero-tiles--side-image .jcc-hero-tiles__side {
    display: none !important;
  }
}

/* Mobile: stack tiles vertically, hide side image */
@media (max-width: 39.99em) {
  .jcc-hero-tiles--side-image .jcc-hero-tiles__tiles {
    display: block !important;
    width: 100% !important;
  }

  .jcc-hero-tiles--side-image .jcc-hero-tiles__side {
    display: none !important;
  }
}
