/* ComCom v2.5.0 — compact news grid + Newsletter/Social/Who/Video editorial rail. */

body.home .comcom-home-composite {
  --comcom-composite-gap: 20px;
  --comcom-composite-news-row-gap: 24px;
  --comcom-composite-module-gap: 14px;
  --comcom-composite-rail: minmax(280px, 1fr);
  --comcom-composite-module-top: 0px;
  display: grid;
  grid-template-columns: minmax(0, 2fr) var(--comcom-composite-rail);
  column-gap: var(--comcom-composite-gap);
  align-items: start;
  width: 100%;
  margin: 4px 0 42px;
}

body.home .comcom-home-composite__news-grid,
body.home .comcom-home-composite__rail,
body.home .comcom-home-composite__module {
  min-width: 0;
}

/*
 * Keep the first pair of news cards aligned with the top edge of the Social
 * Quotes module. The rail heading remains inside its own card, while the news
 * column starts at exactly the same vertical level as that card.
 */
body.home .comcom-home-composite__news-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: var(--comcom-composite-news-row-gap);
  align-items: start;
  padding-top: var(--comcom-composite-module-top);
}

body.home .comcom-home-composite__news-grid > * {
  min-width: 0;
}

body.home .comcom-home-composite__rail {
  display: flex;
  flex-direction: column;
  gap: var(--comcom-composite-module-gap);
  align-self: start;
}

/* Production ComCom news-card skin. */
body.home .comcom-home-composite.cc-news-block {
  --cc-radius: 5px;
  --cc-badge: #ff0000;
  --cc-hover: #ff0000;
  --cc-dark: #000000;
  --cc-muted: #000000;
}

body.home .comcom-home-composite.cc-news-block .cc-news-card__media {
  border-radius: var(--cc-radius);
}

body.home .comcom-home-composite.cc-news-block .cc-news-card__title,
body.home .comcom-home-composite.cc-news-block .cc-news-card__title a {
  color: #1c296a !important;
  text-decoration: none !important;
  transition: color .22s ease;
}

body.home .comcom-home-composite.cc-news-block .cc-news-card__title a:hover,
body.home .comcom-home-composite.cc-news-block .cc-news-card__title a:focus {
  color: #ff0000 !important;
  text-decoration: none !important;
}

body.home .comcom-home-composite__news-card .cc-news-card__body {
  padding-top: 14px;
}

body.home .comcom-home-composite__news-card .cc-news-card__title {
  font-size: 20px !important;
  line-height: 1.12 !important;
}

body.home .comcom-home-composite__news-card .cc-news-card__excerpt {
  margin-top: 10px;
  font-size: 16.8px;
  line-height: 1.6;
}

body.home .comcom-home-composite__news-card .cc-news-card__meta {
  margin-top: 10px;
}

/* Composite owns all outer spacing of the three modules. */
body.home .comcom-home-composite__module .comcom-social-quotes-slot--video-column,
body.home .comcom-home-composite__module .comcom-quotes-home,
body.home .comcom-home-composite__module .comcom-editorial-panel,
body.home .comcom-home-composite__module .comcom-video-shortcode {
  margin: 0 !important;
}

body.home .comcom-home-composite__module .comcom-quotes-home,
body.home .comcom-home-composite__module .comcom-editorial-panel,
body.home .comcom-home-composite__module .comcom-video-shortcode {
  padding: 12px !important;
}

/* Normalize the heading footprint for a consistent compact rail. */
body.home .comcom-home-composite__module .cq-section-head,
body.home .comcom-home-composite__module .comcom-editorial-panel__title,
body.home .comcom-home-composite__module .comcom-video-shortcode__heading {
  min-height: 44px;
  margin: 0 0 12px !important;
  padding: 9px 12px !important;
  display: flex !important;
  align-items: center;
}

body.home .comcom-home-composite__module .cq-section-title,
body.home .comcom-home-composite__module .comcom-editorial-panel__title,
body.home .comcom-home-composite__module .comcom-video-shortcode__heading {
  font-size: 20px !important;
  line-height: 1.15 !important;
}

/* --- Social Quotes: compact so it does not dominate the rail. --- */
body.home .comcom-home-composite__module--social .comcom-quotes-home .cq-card-media {
  height: auto !important;
  aspect-ratio: 16 / 8.6 !important;
  border-radius: 5px;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .cq-card-body {
  padding: 8px 0 0 !important;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .cq-card-name {
  font-size: 16px !important;
  line-height: 1.15 !important;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .cq-card-meta--top {
  margin-top: 3px !important;
  font-size: 11px !important;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .cq-card-quote {
  margin-top: 6px !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 2 !important;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .cq-card-footer {
  margin-top: 6px !important;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .cq-card-readmore {
  font-size: 11.5px !important;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .comcom-quotes-pagination {
  margin-top: 7px !important;
}

body.home .comcom-home-composite__module--social .comcom-quotes-home .comcom-quotes-prev,
body.home .comcom-home-composite__module--social .comcom-quotes-home .comcom-quotes-next {
  top: 50% !important;
  width: 30px;
  height: 30px;
}

/* --- Who is Who: Cyber&Cyber-style compact horizontal profile card. --- */
body.home .comcom-home-composite__module--who .comcom-who-is-who__card {
  display: grid;
  grid-template-columns: minmax(112px, 42%) minmax(0, 58%);
  align-items: stretch;
  min-height: 150px;
}

body.home .comcom-home-composite__module--who .comcom-who-is-who__media {
  min-height: 150px;
  height: 100%;
  aspect-ratio: auto;
}

body.home .comcom-home-composite__module--who .comcom-who-is-who__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 9px 11px;
}

body.home .comcom-home-composite__module--who .comcom-who-is-who__name {
  margin: 0 0 5px;
  font-size: 15.5px;
  line-height: 1.2;
}

body.home .comcom-home-composite__module--who .comcom-who-is-who__meta {
  font-size: 11.5px;
  line-height: 1.35;
}

body.home .comcom-home-composite__module--who .comcom-who-is-who__bio {
  margin-top: 6px;
  font-size: 11.5px;
  line-height: 1.38;
  -webkit-line-clamp: 3;
}

/* Video retains the same visual language, with compact module spacing. */
body.home .comcom-home-composite__module--video .comcom-video-shortcode__card,
body.home .comcom-home-composite__module--video .comcom-video-shortcode__title,
body.home .comcom-home-composite__module--video .comcom-video-shortcode__title a,
body.home .comcom-home-composite__module--video .comcom-video-shortcode__excerpt,
body.home .comcom-home-composite__module--video .comcom-video-shortcode__meta {
  font-family: "Montserrat", sans-serif !important;
}

body.home .comcom-home-composite__module--video .comcom-video-shortcode__title {
  margin-top: 10px;
  color: #1c296a !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

body.home .comcom-home-composite__module--video .comcom-video-shortcode__title a {
  color: #1c296a !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.home .comcom-home-composite__module--video .comcom-video-shortcode__title a:hover,
body.home .comcom-home-composite__module--video .comcom-video-shortcode__title a:focus {
  color: #ff0000 !important;
  text-decoration: none !important;
}

body.home .comcom-home-composite__module--video .comcom-video-shortcode__excerpt {
  font-size: 13px;
  line-height: 1.45;
}

body.home .comcom-home-composite__module--video .comcom-video-shortcode__meta {
  font-size: 12px;
  line-height: 1.4;
}

/* Tablet: news first, compact editorial rail below. */
@media (max-width: 1024px) {
  body.home .comcom-home-composite {
    --comcom-composite-module-top: 0px;
    grid-template-columns: 1fr;
    row-gap: 26px;
  }

  body.home .comcom-home-composite__news-grid {
    padding-top: 0;
  }

  body.home .comcom-home-composite__rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
  }

  body.home .comcom-home-composite__module--who .comcom-who-is-who__card {
    grid-template-columns: minmax(120px, 40%) minmax(0, 60%);
  }
}

@media (max-width: 767px) {
  body.home .comcom-home-composite {
    margin-bottom: 38px;
  }

  body.home .comcom-home-composite__news-grid {
    grid-template-columns: 1fr;
    row-gap: 26px;
  }

  body.home .comcom-home-composite__rail {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.home .comcom-home-composite__module--who .comcom-who-is-who__card {
    grid-template-columns: 118px minmax(0, 1fr);
    min-height: 138px;
  }

  body.home .comcom-home-composite__module--who .comcom-who-is-who__media {
    min-height: 138px;
  }
}

/* v2.5.0 — Newsletter occupies the first slot in the editorial rail. */
body.home .comcom-home-composite__module--newsletter {
  min-width: 0;
}

body.home .comcom-home-composite__module--newsletter .comcom-newsletter-banner {
  margin: 0;
}
