/* Elite visual layout fixes — scoped text/container corrections, 2026-09-13. */

/* Elementor's inherited --page-title-display:none also hides the native
   Single Post Title widget. Restore that one widget, not Astra's title. */
.single-post .elite-single-title {
  --page-title-display: block;
  display: block;
}

/* Each specification already has two editable Text Editor widgets. The
   migrated row defaulted to a column, separating labels from their values. */
.elementor .elite-migrated.spec-list {
  gap: 0;
}
.elementor .elite-migrated.spec-list > .e-con {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 8px 20px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid #e6eaec;
}
.elementor .elite-migrated.spec-list > .e-con > .elementor-widget-text-editor {
  width: auto;
  min-width: 0;
  margin: 0;
}
.elementor .elite-migrated.spec-list > .e-con > .elementor-widget-text-editor p {
  margin: 0;
}

/* A linked application card is not a paragraph of underlined inline links.
   Keep its explicit CTA underlined, and keep all existing targets/captions. */
.elementor .application-cards .elementor-heading-title a,
.elementor .application-cards .elementor-widget-text-editor:not(.text-link) a {
  text-decoration: none;
}
.elementor .application-cards .elementor-heading-title a:hover,
.elementor .application-cards .elementor-heading-title a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.elementor .application-cards .application-photo .elementor-widget-text-editor {
  padding: 0 14px 12px;
}

/* Archive cards have unequal excerpt lengths. Let the text body fill each
   equal-height grid card so its reading link shares a baseline with peers. */
.elementor .elite-post-list .elementor-post {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}
.elementor .elite-post-list .elementor-post__text {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}
.elementor .elite-post-list .elementor-post__read-more {
  align-self: flex-start;
  margin-top: auto;
}

/* Stable article-thumbnail frames keep titles aligned without waiting for
   JavaScript image sizing. These are product/technical references: show the
   complete image, with no squeezed proportions or clipped tool/diagram. */
.elementor .elementor-element.elite-post-list .elementor-post__thumbnail__link {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  flex: 0 0 auto;
  overflow: hidden;
}
.elementor .elementor-element.elite-post-list .elementor-post__thumbnail {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 0;
}
.elementor .elementor-element.elite-post-list .elementor-post__thumbnail img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

@media (max-width: 767px) {
  .elementor .elite-migrated.spec-list > .e-con {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
    column-gap: 14px;
  }
}
