/* ComCom v2.4.2 — shared homepage editorial panel component. */
:root {
  --comcom-logo-sky: #5e92cd;
  --comcom-panel-sky: #e4eef8;
  --comcom-menu-navy: #1c296a;
  --comcom-hover-red: #e00000;
}

/*
 * Social Quotes, Who is Who and Video are editorial side modules. The whole
 * module uses a very light tint of the ComCom sky blue so it reads as a
 * distinct homepage section without reducing text contrast; only the header
 * is menu-navy.
 */
body.home .comcom-quotes-home,
body.home .comcom-video-shortcode,
body.home .comcom-editorial-panel {
  box-sizing: border-box !important;
  width: 100%;
  margin: 32px 0 52px !important;
  padding: 18px !important;
  background: var(--comcom-panel-sky) !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* If Social Quotes already sits inside its placement wrapper, avoid double spacing. */
body.home .comcom-social-quotes-slot--video-column {
  margin: 0 !important;
}
body.home .comcom-social-quotes-slot--video-column .comcom-quotes-home {
  margin: 32px 0 52px !important;
}

/*
 * Desktop editorial-column alignment:
 * the title bar is intentionally allowed to sit above the neighbouring news
 * row, so the Social Quote image itself lines up with the article thumbnails.
 * Pulling the wrapper up (rather than absolutely positioning the card) keeps
 * the following Who is Who / Video modules in normal document flow too.
 */
@media (min-width: 1025px) {
  body.home .comcom-social-quotes-slot--video-column {
    margin-top: -66px !important;
  }
}

/* Dark header bar, white label, red hover — matching the main menu language. */
body.home .comcom-quotes-home .cq-section-head,
body.home .comcom-video-shortcode__heading,
body.home .comcom-editorial-panel__title {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 0 22px !important;
  padding: 11px 14px !important;
  background: var(--comcom-menu-navy) !important;
  border: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  color: #fff !important;
  text-decoration: none !important;
}

body.home .comcom-quotes-home .cq-section-head::after,
body.home .comcom-video-shortcode__heading::after,
body.home .comcom-editorial-panel__title::after,
body.home .comcom-section-heading--social-quotes::before {
  display: none !important;
  content: none !important;
}

body.home .comcom-quotes-home .cq-section-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

body.home .comcom-video-shortcode__heading,
body.home .comcom-editorial-panel__title {
  font-family: "Montserrat", sans-serif !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

body.home .comcom-quotes-home .cq-section-title a,
body.home .comcom-video-shortcode__heading a,
body.home .comcom-editorial-panel__title a {
  color: #fff !important;
  text-decoration: none !important;
  transition: color .2s ease;
}

body.home .comcom-quotes-home .cq-section-title a:hover,
body.home .comcom-quotes-home .cq-section-title a:focus-visible,
body.home .comcom-video-shortcode__heading a:hover,
body.home .comcom-video-shortcode__heading a:focus-visible,
body.home .comcom-editorial-panel__title a:hover,
body.home .comcom-editorial-panel__title a:focus-visible {
  color: var(--comcom-hover-red) !important;
  text-decoration: none !important;
}

/* Keep enough breathing room between the bar and its first card/image. */
body.home .comcom-quotes-home .comcom-quotes-swiper,
body.home .comcom-video-shortcode__content,
body.home .comcom-who-is-who__grid {
  margin-top: 0 !important;
}

/* Social Quotes body lives directly on the blue surface. */
body.home .comcom-quotes-home .cq-card-body {
  background: transparent !important;
}
body.home .comcom-quotes-home .cq-card-name,
body.home .comcom-quotes-home .cq-card-name a,
body.home .comcom-video-shortcode__title a {
  color: var(--comcom-menu-navy) !important;
}
body.home .comcom-quotes-home .cq-card-name a:hover,
body.home .comcom-quotes-home .cq-card-name a:focus-visible,
body.home .comcom-video-shortcode__title a:hover,
body.home .comcom-video-shortcode__title a:focus-visible {
  color: var(--comcom-hover-red) !important;
}
body.home .comcom-quotes-home .cq-card-quote,
body.home .comcom-quotes-home .cq-card-meta,
body.home .comcom-quotes-home .cq-card-date,
body.home .comcom-quotes-home .cq-card-social,
body.home .comcom-video-shortcode__excerpt,
body.home .comcom-video-shortcode__meta {
  color: #162033 !important;
}
body.home .comcom-quotes-home .cq-card-readmore {
  color: #111827 !important;
}
body.home .comcom-quotes-home .cq-card-readmore:hover,
body.home .comcom-quotes-home .cq-card-readmore:focus-visible {
  color: var(--comcom-hover-red) !important;
}

/* Who is Who: white profile cards inside the shared blue module. */
body.home .comcom-editorial-panel__inner {
  width: 100%;
  margin: 0 auto;
}
body.home .comcom-who-is-who__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
body.home .comcom-who-is-who__card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 5px;
}
body.home .comcom-who-is-who__media {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e7eef2;
}
body.home .comcom-who-is-who__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none !important;
  transition: none !important;
}
body.home .comcom-who-is-who__placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background: var(--comcom-menu-navy);
  color: #fff;
  font-size: 52px;
  font-weight: 700;
}
body.home .comcom-who-is-who__body {
  padding: 14px 15px 16px;
}
body.home .comcom-who-is-who__name {
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.25;
}
body.home .comcom-who-is-who__name a {
  color: var(--comcom-menu-navy);
  text-decoration: none;
}
body.home .comcom-who-is-who__name a:hover,
body.home .comcom-who-is-who__name a:focus-visible {
  color: var(--comcom-hover-red);
}
body.home .comcom-who-is-who__meta {
  margin: 0;
  color: #46515f;
  font-size: 13px;
  line-height: 1.45;
}
body.home .comcom-who-is-who__bio {
  display: -webkit-box;
  margin: 10px 0 0;
  overflow: hidden;
  color: #334155;
  font-size: 13px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/*
 * Who is Who and Video are true sibling modules in v2.4.2. Keep an explicit
 * white gutter between their light-blue surfaces even if a page builder adds
 * its own compact spacing around the shortcode output.
 */
body.home .comcom-who-is-who + .comcom-video-shortcode {
  margin-top: 28px !important;
}

@media (max-width: 767px) {
  body.home .comcom-quotes-home,
  body.home .comcom-video-shortcode,
  body.home .comcom-editorial-panel,
  body.home .comcom-social-quotes-slot--video-column .comcom-quotes-home {
    margin-top: 26px !important;
    margin-bottom: 40px !important;
    padding: 14px !important;
  }

  body.home .comcom-quotes-home .cq-section-head,
  body.home .comcom-video-shortcode__heading,
  body.home .comcom-editorial-panel__title {
    margin-bottom: 18px !important;
    padding: 11px 13px !important;
  }

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