/*!
 * Roovet Entity Showcase v3
 * Marker: RV_ENTITY_SHOWCASE_V3_CSS_20260512
 * Compact Google/Bing-style entity block.
 */

.rv-entity-showcase {
  width: min(1120px, calc(100vw - 92px)) !important;
  margin: 18px auto 26px !important;
  color: #202124 !important;
  font-family: Arial, Helvetica, sans-serif !important;
}

/* Title row */
.rv-entity-topline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  margin-bottom: 14px !important;
}

.rv-entity-title {
  font-size: 30px !important;
  line-height: 1.12 !important;
  font-weight: 400 !important;
  letter-spacing: -.03em !important;
}

.rv-entity-subtitle {
  font-size: 14px !important;
  color: #5f6368 !important;
  margin-top: 4px !important;
}

.rv-entity-tabs {
  gap: 8px !important;
}

.rv-entity-tab {
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 5px !important;
  border: 1px solid #dadce0 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 13px !important;
}

.rv-entity-tab.is-active {
  background: #f4f1ee !important;
  border-color: #f4f1ee !important;
  color: #202124 !important;
}

/* Main showcase grid */
.rv-entity-grid {
  display: grid !important;
  grid-template-columns: minmax(340px, .9fr) minmax(310px, .7fr) minmax(230px, .42fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

/* Cleaner gallery */
.rv-entity-gallery {
  min-height: 270px !important;
  max-height: 270px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #f1f3f4 !important;
  box-shadow: none !important;
  border: 1px solid #e8eaed !important;
}

.rv-entity-gallery-main {
  min-height: 270px !important;
  max-height: 270px !important;
  object-fit: cover !important;
}

.rv-entity-gallery-side {
  display: none !important;
}

.rv-entity-gallery-tile {
  min-height: 134px !important;
  max-height: 134px !important;
  object-fit: cover !important;
}

.rv-entity-gallery-fallback {
  min-height: 270px !important;
  max-height: 270px !important;
  font-size: 42px !important;
}

/* Overview card */
.rv-entity-card {
  min-height: 270px !important;
  max-height: 270px !important;
  padding: 16px !important;
  border-radius: 10px !important;
  border: 1px solid #eee7e2 !important;
  background: #f7f3f0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.rv-entity-card-title {
  font-size: 16px !important;
  margin: 0 0 8px !important;
}

.rv-entity-overview {
  font-size: 14px !important;
  line-height: 1.5 !important;
  -webkit-line-clamp: 5 !important;
}

.rv-entity-learn {
  margin-top: 8px !important;
  font-size: 13px !important;
}

.rv-entity-fact-mini {
  margin-top: 12px !important;
  gap: 5px !important;
  font-size: 13px !important;
}

.rv-entity-fact-mini div {
  grid-template-columns: 72px minmax(0,1fr) !important;
}

.rv-entity-source-row {
  margin-top: 14px !important;
  grid-template-columns: minmax(0,1fr) 80px !important;
  gap: 8px !important;
}

.rv-entity-source-card {
  min-height: 50px !important;
  padding: 8px !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.rv-entity-source-icon {
  width: 24px !important;
  height: 24px !important;
  flex-basis: 24px !important;
  font-size: 11px !important;
}

.rv-entity-source-name {
  font-size: 13px !important;
}

.rv-entity-source-host {
  font-size: 11px !important;
}

/* Right highlight column */
.rv-entity-side {
  display: grid !important;
  gap: 12px !important;
  min-height: 270px !important;
  max-height: 270px !important;
}

.rv-entity-side-card {
  min-height: 0 !important;
  border-radius: 10px !important;
  padding: 13px !important;
  border: 1px solid #eee7e2 !important;
  background: #f7f3f0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.rv-entity-side-title {
  font-size: 15px !important;
  margin-bottom: 9px !important;
}

.rv-entity-feature {
  grid-template-columns: 64px minmax(0,1fr) !important;
  gap: 10px !important;
}

.rv-entity-feature-img,
.rv-entity-feature-fallback {
  width: 64px !important;
  height: 64px !important;
  border-radius: 6px !important;
}

.rv-entity-feature-name {
  font-size: 14px !important;
}

.rv-entity-feature-meta {
  font-size: 12px !important;
}

/* Highlight chips */
.rv-entity-chip-grid {
  gap: 7px !important;
}

.rv-entity-chip-card {
  min-height: 58px !important;
  border-radius: 7px !important;
  padding: 9px !important;
  background: #edf3ff !important;
  box-shadow: none !important;
}

.rv-entity-chip-label {
  font-size: 11px !important;
  margin-bottom: 6px !important;
}

.rv-entity-chip-value {
  font-size: 14px !important;
  line-height: 1.18 !important;
  -webkit-line-clamp: 2 !important;
}

/* Strip */
.rv-entity-strip {
  margin-top: 18px !important;
  padding-top: 16px !important;
}

.rv-entity-strip-title {
  font-size: 21px !important;
}

.rv-entity-strip-row {
  grid-auto-columns: 96px !important;
  gap: 14px !important;
}

.rv-entity-strip-img,
.rv-entity-strip-fallback {
  width: 96px !important;
  height: 96px !important;
  border-radius: 6px !important;
}

.rv-entity-strip-name {
  font-size: 12.5px !important;
}

/* Embedded entity news/results card */
.rv-entity-results-card {
  display: none !important;
}

/* Hide AI because showcase replaces it for entity queries */
body.rv-entity-showcase-active .rv-serp-ai {
  display: none !important;
}

/* Bring standard result area up a little */
body.rv-entity-showcase-active .rv-serp-shell {
  margin-top: 16px !important;
}

/* Prevent showcase from being covered by sticky header while scrolling */
.rv-entity-showcase + .rv-serp-shell {
  padding-top: 0 !important;
}

/* Mobile/tablet */
@media (max-width: 1180px) {
  .rv-entity-showcase {
    width: min(980px, calc(100vw - 46px)) !important;
  }

  .rv-entity-grid {
    grid-template-columns: minmax(0, .95fr) minmax(300px, .75fr) !important;
  }

  .rv-entity-side {
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    max-height: none !important;
    min-height: 0 !important;
  }
}

@media (max-width: 900px) {
  .rv-entity-showcase {
    width: min(760px, calc(100vw - 28px)) !important;
  }

  .rv-entity-topline {
    display: block !important;
  }

  .rv-entity-tabs {
    margin-top: 12px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 4px !important;
  }

  .rv-entity-grid {
    display: block !important;
  }

  .rv-entity-gallery,
  .rv-entity-card,
  .rv-entity-side {
    max-height: none !important;
    margin-bottom: 14px !important;
  }

  .rv-entity-side {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  .rv-entity-title {
    font-size: 26px !important;
  }

  .rv-entity-gallery {
    min-height: 220px !important;
    max-height: 220px !important;
  }

  .rv-entity-gallery-main,
  .rv-entity-gallery-fallback {
    min-height: 220px !important;
    max-height: 220px !important;
  }

  .rv-entity-source-row {
    grid-template-columns: 1fr !important;
  }
}
