/* Homepage: AdCast vs Traditional Digital Signage */
.adcast-comparison-section {
  background: #fbfdff;
}

.adcast-comparison-section .heading.hbm {
  margin-bottom: 0;
}

.adcast-comparison-section .heading h2 {
  color: #1c1b2e;
}

.adcast-comparison-section .container {
  position: relative;
}

.adcast-compare-table {
  margin-top: 4rem;
  overflow: visible;
  border: 1px solid #dce7f1;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 16px 42px rgba(28, 54, 82, .07);
}

.adcast-compare-row {
  display: grid;
  grid-template-columns: 34% 33% 33%;
  min-width: 0;
}

.adcast-compare-row:not(:last-child) > div {
  border-bottom: 1px solid #e4edf4;
}

.adcast-compare-header {
  min-height: 9.35rem;
}

.adcast-compare-feature,
.adcast-compare-adcast,
.adcast-compare-traditional {
  display: flex;
  min-width: 0;
  align-items: center;
}

.adcast-compare-header .adcast-compare-feature {
  border-radius: 1.45rem 0 0 0;
}

.adcast-compare-feature {
  gap: .9rem;
  padding: 1.25rem 2rem;
  color: #1c2b3a;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.35;
}

.adcast-compare-feature > img {
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
}

.adcast-compare-feature-copy {
  display: grid;
  gap: .15rem;
}

.adcast-compare-feature-copy strong {
  color: #17283c;
  font-size: 1.03rem;
  font-weight: 700;
}

.adcast-compare-feature-copy > span {
  color: #71839a;
  font-size: .88rem;
  font-weight: 400;
}

.adcast-compare-adcast {
  position: relative;
  gap: .8rem;
  padding: 1.25rem 2rem;
  border-right: 1px solid #87b6ff;
  border-left: 1px solid #87b6ff;
  background: #f5faff;
  color: #16253a;
}

.adcast-compare-header .adcast-compare-adcast {
  flex-direction: column;
  justify-content: center;
  gap: .45rem;
  z-index: 2;
  margin-top: -1rem;
  padding-top: 3.1rem;
  padding-bottom: 1.8rem;
  border-top: 1px solid #5d9dff;
  border-radius: 1.35rem 1.35rem 0 0;
  box-shadow: 0 -8px 24px rgba(61, 130, 237, .08);
  text-align: center;
}

.adcast-compare-recommended {
  position: absolute;
  top: -1.05rem;
  left: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  padding: .35rem .9rem;
  border-radius: 999px;
  transform: translateX(-50%);
  background: #287df4;
  box-shadow: 0 7px 17px rgba(40, 125, 244, .22);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.adcast-compare-logo {
  display: block;
  width: auto;
  height: 2.45rem;
}

.adcast-compare-header .adcast-compare-adcast > .adcast-compare-logo {
  width: auto;
  height: 2.45rem;
}

.adcast-compare-tagline {
  color: #4b6f99;
  font-size: .91rem;
  font-weight: 500;
  line-height: 1.35;
}

.adcast-compare-adcast > img,
.adcast-compare-traditional > img {
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
}

.adcast-compare-adcast strong {
  color: #16253a;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.adcast-compare-traditional {
  gap: .8rem;
  justify-content: center;
  padding: 1.25rem 2rem;
  color: #52677e;
  font-size: 1rem;
  line-height: 1.4;
}

.adcast-compare-row:not(.adcast-compare-header) .adcast-compare-traditional {
  justify-content: flex-start;
}

.adcast-compare-header .adcast-compare-traditional {
  flex-direction: column;
  gap: .5rem;
  border-radius: 0 1.45rem 0 0;
  color: #263b52;
  font-size: 1.08rem;
  font-weight: 700;
  text-align: center;
}

.adcast-compare-header .adcast-compare-traditional > img {
  width: 2.4rem;
  height: 2.4rem;
}

.adcast-compare-traditional-tagline {
  color: #70839a;
  font-size: .88rem;
  font-weight: 400;
  line-height: 1.35;
}

.adcast-compare-row:last-child .adcast-compare-feature {
  border-radius: 0 0 0 1.45rem;
}

.adcast-compare-row:last-child .adcast-compare-adcast {
  z-index: 2;
  margin-bottom: -1rem;
  border-bottom: 1px solid #87b6ff;
  border-radius: 0 0 1.35rem 1.35rem;
}

.adcast-compare-row:last-child .adcast-compare-traditional {
  border-radius: 0 0 1.45rem 0;
}

.adcast-compare-mobile-label {
  display: none;
}

.adcast-compare-cta {
  display: grid;
  justify-items: center;
  gap: 1rem;
  margin: 2.75rem auto 0;
}

.adcast-compare-cta-copy {
  margin: 0;
  color: #1c2b3a;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.adcast-compare-store-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .7rem;
}

.adcast-compare-store-links a { display: block; }
.adcast-compare-store-links img { display: block; width: 10rem; height: auto; }

.adcast-compare-doodle {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.adcast-compare-doodle-rays {
  top: 2.15rem;
  right: .35rem;
}

.adcast-compare-doodle-small-business {
  right: .35rem;
  bottom: -3.6rem;
}

@media (hover: hover) and (pointer: fine) {
  .adcast-compare-row:not(.adcast-compare-header) > div {
    transition: background-color 220ms ease;
  }

  .adcast-compare-row:not(.adcast-compare-header):hover .adcast-compare-feature,
  .adcast-compare-row:not(.adcast-compare-header):hover .adcast-compare-traditional {
    background: #f8fbfd;
  }

  .adcast-compare-row:not(.adcast-compare-header):hover .adcast-compare-adcast {
    background: #edf6ff;
  }
}

@media (max-width: 991.98px) {
  .adcast-compare-table { margin-top: 2.5rem; }
  .adcast-compare-feature,
  .adcast-compare-adcast,
  .adcast-compare-traditional { padding-right: 1.25rem; padding-left: 1.25rem; }
}

@media (max-width: 767.98px) {
  .adcast-compare-table {
    display: block;
    margin-top: 2rem;
    overflow: hidden;
    border: 1px solid #dce7f1;
    border-radius: 1.1rem;
    background: #fff;
    box-shadow: 0 9px 24px rgba(28, 54, 82, .055);
  }

  .adcast-compare-doodle { display: none; }

  /* Mobile test variant: retain the familiar three-column comparison. */
  .adcast-compare-header {
    display: grid;
    grid-template-columns: 35% 39% 26%;
    min-height: 3.75rem;
  }

  .adcast-compare-header .adcast-compare-feature { display: block; padding: 0; }
  .adcast-compare-header .adcast-compare-adcast,
  .adcast-compare-header .adcast-compare-traditional {
    justify-content: center;
    padding: .65rem .35rem;
    text-align: center;
  }

  .adcast-compare-header .adcast-compare-adcast {
    margin: -.3rem 0;
    border-top: 0;
    border-radius: 0;
    box-shadow: 0 0 18px rgba(61, 130, 237, .09);
    z-index: 1;
  }

  .adcast-compare-header .adcast-compare-recommended,
  .adcast-compare-header .adcast-compare-tagline,
  .adcast-compare-header .adcast-compare-traditional > img,
  .adcast-compare-header .adcast-compare-traditional-tagline { display: none; }

  .adcast-compare-header .adcast-compare-logo { height: 1.1rem; }
  .adcast-compare-header .adcast-compare-traditional { font-size: .7rem; line-height: 1.15; }

  .adcast-compare-row:not(.adcast-compare-header) {
    display: grid;
    grid-template-columns: 35% 39% 26%;
    border-bottom: 1px solid #e1eaf2;
    background: #fff;
  }

  .adcast-compare-row:not(.adcast-compare-header):last-child { border-bottom: 0; }

  .adcast-compare-row:not(.adcast-compare-header) > div {
    border: 0 !important;
    border-radius: 0 !important;
  }

  .adcast-compare-row:last-child .adcast-compare-adcast {
    margin-bottom: 0;
  }

  .adcast-compare-feature {
    grid-column: auto;
    align-items: flex-start;
    gap: .45rem;
    padding: .9rem .7rem;
    font-size: 1rem;
  }

  .adcast-compare-feature > img { width: 1.2rem; height: 1.2rem; margin-top: .08rem; }
  .adcast-compare-feature-copy { gap: .2rem; }
  .adcast-compare-feature-copy strong { font-size: .74rem; line-height: 1.2; }
  .adcast-compare-feature-copy > span { font-size: .64rem; line-height: 1.3; }

  .adcast-compare-adcast,
  .adcast-compare-traditional {
    align-content: center;
    align-items: center;
    gap: .3rem;
    padding: .9rem .5rem;
    font-size: .76rem;
    line-height: 1.28;
  }

  .adcast-compare-adcast {
    border-right: 1px solid #b8d5ff !important;
    border-bottom: 1px solid #87b6ff !important;
    background: #f5faff;
    margin-top: -.3rem;
    margin-bottom: -.3rem;
    box-shadow: 0 0 18px rgba(61, 130, 237, .07);
    z-index: 1;
  }

  .adcast-compare-traditional { justify-content: flex-start; }
  .adcast-compare-mobile-label { display: none; }
  .adcast-compare-adcast strong { font-size: .76rem; line-height: 1.25; overflow-wrap: anywhere; }
  .adcast-compare-traditional > span:last-child { overflow-wrap: anywhere; }
  .adcast-compare-adcast > img,
  .adcast-compare-traditional > img { width: 1.45rem; height: 1.45rem; }
}

@media (max-width: 420px) {
  .adcast-compare-feature,
  .adcast-compare-adcast,
  .adcast-compare-traditional { padding-right: 1rem; padding-left: 1rem; }
}

/* Shared component, including layout=3: this section intentionally remains light. */
body.layout-3 .adcast-comparison-section { background: #fbfdff !important; }
body.layout-3 .adcast-comparison-section .heading h2 { color: #1c1b2e; }
