.school-product-cta {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #c9dfe4;
  border-radius: 8px;
  background: #eef6f7;
}

.school-product-cta p {
  margin: 0;
  font-weight: 700;
  line-height: 1.7;
}

.school-product-cta a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-height: 64px;
  padding: 12px 16px;
  border: 1px solid #0b6477;
  border-radius: 8px;
  background: #fff;
  color: #0b6477;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.school-product-cta a::after {
  position: absolute;
  right: 16px;
  content: "→";
  font-size: 1.2em;
}

.school-product-cta .school-product-quote,
.school-product-cta .school-product-quote:visited {
  padding: 14px 20px;
  border: 2px solid #0b6477;
  border-radius: 8px;
  background: #0b6477;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.school-product-cta .school-product-quote::after {
  content: "›";
  font-size: 1.5em;
  line-height: 0.8;
}

.school-product-cta .school-product-quote:hover {
  background: #084c5b;
  box-shadow: 0 4px 12px rgba(11, 100, 119, 0.2);
}

.school-product-cta a:not(.school-product-quote):visited {
  color: #0b6477;
}

.school-product-cta a:not(.school-product-quote):hover {
  background: #e3f1f3;
  text-decoration: none;
}

.school-product-cta a:focus-visible {
  outline: 3px solid #f0a51b;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .school-product-cta {
    padding: 14px;
  }

  .school-product-cta a {
    min-height: 80px;
  }
}
