/* Panaccess section harmony - 27 October 2026.
   Equal card sizes within each multi-column group, natural text wrapping,
   matched image/info-box heights, and a small gap above the Content Security CTA.
   Loaded after the other Panaccess styles. */

/* Standard Kadence card collections: every card stretches to its grid track,
   with all tracks in the same group sharing the tallest item's height. */
.entry-content .kt-row-column-wrap:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > .wp-block-kadence-infobox):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) {
  align-items: stretch;
  grid-auto-rows: minmax(0, 1fr);
}
.entry-content .kt-row-column-wrap:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > .wp-block-kadence-infobox):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column {
  min-width: 0;
  height: 100%;
  align-self: stretch;
}
.entry-content .kt-row-column-wrap:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > .wp-block-kadence-infobox):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.entry-content .kt-row-column-wrap:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > .wp-block-kadence-infobox):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-infobox {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.entry-content .kt-row-column-wrap:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > .wp-block-kadence-infobox):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-infobox > .kt-blocks-info-box-link-wrap {
  flex: 1 1 auto;
  width: 100%;
}

/* Image on one side, text card on the other: fill the same row height. The
   picture retains its aspect through object-fit: cover; no fixed pixel height. */
@media (min-width: 768px) {
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) {
    align-items: stretch;
  }
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column {
    min-width: 0;
    display: flex;
    align-self: stretch;
  }
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col {
    min-width: 0;
    width: 100%;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
  }
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col > figure,
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-infobox {
    flex: 1 1 auto;
    display: flex;
    min-height: 100%;
    flex-direction: column;
  }
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col > figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
  }
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) .kt-blocks-info-box-link-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 1 auto;
  }
}

/* All four How it works cards are equal across both rows (not just per row).
   Remove the original extra row margins so the vertical spacing is symmetrical. */
#workflow > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
  display: grid;
  grid-template-rows: auto repeat(2, minmax(0, 1fr));
  gap: clamp(1.3rem, 2.5vw, 2rem);
  align-items: stretch;
}
#workflow > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kb-row-layout-wrap {
  margin: 0 !important;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
#workflow > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap {
  flex: 1 1 auto;
  align-items: stretch;
  height: 100%;
}
#workflow > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column {
  height: 100%;
}
#workflow > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kb-row-layout-wrap > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Panaccess-built grids on newer pages use the same equal-height rules. */
:is(.panaccess-dc-grid, .panaccess-dc-gallery-grid, .panaccess-dc-workflow-steps, .panaccess-access-grid, .panaccess-satellite-card-grid) {
  align-items: stretch;
  grid-auto-rows: minmax(0, 1fr);
}
:is(.panaccess-dc-grid, .panaccess-dc-gallery-grid, .panaccess-dc-workflow-steps, .panaccess-access-grid, .panaccess-satellite-card-grid) > :is(article, .panaccess-access-card) {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* The Content Security tabbed product panels should not touch the dark-blue
   contact band. Keep a small strip of white between the two sections. */
body:has(#tab-cableview) .entry-content > .wp-block-kadence-tabs + .kb-row-layout-wrap.has-theme-palette4-background-color {
  margin-top: clamp(22px, 2.6vw, 34px) !important;
}

/* On narrow screens, let long descriptions establish natural heights rather
   than truncating them merely to match a different card's text length. */
@media (max-width: 767px) {
  .entry-content .kt-row-column-wrap:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > .wp-block-kadence-infobox):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) {
    grid-auto-rows: auto;
  }
  #workflow > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
    grid-template-rows: auto auto auto;
  }
  :is(.panaccess-dc-grid, .panaccess-dc-gallery-grid, .panaccess-dc-workflow-steps, .panaccess-access-grid, .panaccess-satellite-card-grid) {
    grid-auto-rows: auto;
  }
}


/* Symmetric cards in the newer Analytics and Datacenter grids. Individual
   rows remain content-driven and never clip text on narrower viewports. */
:is(.panaccess-dc-grid, .panaccess-dc-gallery-grid, .panaccess-dc-workflow-steps) > article {
  box-sizing: border-box;
  align-self: stretch;
}
/* Ensure figure and text both occupy the full height in applicable photo +
   description layouts; the original geometry is preserved with object-fit. */
@media (min-width: 768px) {
  .entry-content .kt-row-column-wrap.kt-has-2-columns:has(> .wp-block-kadence-column:first-child > .kt-inside-inner-col > figure img):has(> .wp-block-kadence-column:nth-child(2) > .kt-inside-inner-col > .wp-block-kadence-infobox) > .wp-block-kadence-column > .kt-inside-inner-col > figure {
    margin-block: 0;
  }
}
