/* ===========================
   QUOTE BLOCK
=========================== */

.acf-quote-block {
  padding: 2em;
  margin: 2em 0;
  text-align: left;
  position: relative;
  color: #333;
  font-size: 1rem; /* base */
  line-height: 1.6;
}

/* Prevent theme color overrides */
.acf-quote-block,
.acf-quote-block blockquote {
  color: #333;
  max-width: none;
}

.acf-quote-block blockquote {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.125rem;
}

/* Quote text */
.body-copy .acf-quote-block__text {
  margin-bottom: 1em;
  line-height: 1.4;
  letter-spacing: -0.03em;
  
  font-size: 1.3rem;
  font-weight: 600;
  color: #333;
}

/* Author section */
.acf-quote-block__footer {
  margin-top: 0.5em;
}

.acf-quote-block__author {
  margin-bottom: 0.15em;
}

/* White background variant adds separators */
.acf-quote-block.has-separators {
  border-top: 1px solid #505767;
  border-bottom: 1px solid #505767;
  padding-top: 2em;
  padding-bottom: 2em;
}

.acf-quote-block.u-bg-white {
  padding-left: 0;
  padding-right: 0;
}

.acf-quote-block.u-bg-white blockquote {
  color: #505767;
}

/* Dark background variants automatically switch text to white */
.acf-quote-block.u-bg-gray,
.acf-quote-block.u-bg-accent {
  color: #fff;
}

.acf-quote-block.u-bg-gray h1,
.acf-quote-block.u-bg-gray h2,
.acf-quote-block.u-bg-gray h3,
.acf-quote-block.u-bg-gray h4,
.acf-quote-block.u-bg-gray h5,
.acf-quote-block.u-bg-gray h6,
.acf-quote-block.u-bg-gray p,
.acf-quote-block.u-bg-gray a,
.acf-quote-block.u-bg-accent h1,
.acf-quote-block.u-bg-accent h2,
.acf-quote-block.u-bg-accent h3,
.acf-quote-block.u-bg-accent h4,
.acf-quote-block.u-bg-accent h5,
.acf-quote-block.u-bg-accent h6,
.acf-quote-block.u-bg-accent p,
.acf-quote-block.u-bg-accent a {
  color: #fff !important;
}

/* ===========================
   CTA BLOCK
=========================== */


.acf-cta-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 2em;
  padding-bottom: 2em;
  margin: 2em 0;
  text-align: left;
  flex-wrap: wrap;
  transition: color 0.2s ease, background 0.2s ease;
}

.acf-cta-block.u-bg-lite-blue,
.acf-cta-block.u-bg-gray {
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Layout variations */
.acf-cta-block.layout-right {
  flex-direction: row-reverse;
  text-align: right;
}
.acf-cta-block__content {
  flex: 1;
  max-width: 500px;
}
.acf-cta-block__button {
  margin-left: 2em;
}
.acf-cta-block.layout-right .acf-cta-block__button {
  margin-left: 0;
  margin-right: 2em;
}

/* Typography */
.acf-cta-block__title {
  margin: 0 0 0.25em;
  font-size: 1.3rem;
}

.acf-cta-block__desc {
  margin: 0;
}

/* Default button */
.acf-cta-block__button .btn {
  display: inline-block;
  background-color: #1847c9;
  color: #fff;
  padding: 0.7em 1.4em 0.5em;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  transition: background 0.2s ease;
}

.acf-cta-block__button .btn:hover {
  background-color: #133a9f !important;
  color: #fff !important;
}

/* Gray background variant */
.acf-cta-block.has-gray-bg {
  color: #fff;
}

.acf-cta-block.has-gray-bg h1,
.acf-cta-block.has-gray-bg h2,
.acf-cta-block.has-gray-bg h3,
.acf-cta-block.has-gray-bg h4,
.acf-cta-block.has-gray-bg h5,
.acf-cta-block.has-gray-bg h6,
.acf-cta-block.has-gray-bg p,
.acf-cta-block.has-gray-bg a {
  color: #fff !important;
}

.acf-cta-block.has-gray-bg .acf-cta-block__desc {
  opacity: 0.95;
}

.acf-cta-block.has-gray-bg .btn {
  background: #00a859; /* green button */
  color: #fff;
}

.acf-cta-block.has-gray-bg .btn:hover {
  background: #008a49;
}

@media (max-width: 1060px) {
  .acf-cta-block {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
  }
  .acf-cta-block__button {
    margin-left: 0;
  }
}






/* ===========================
   AUTHOR BIO BLOCK
=========================== */

.acf-author-bio {
  display: flex;
  align-items: center;
  gap: 1.5em;
  padding: 2em;
  margin: 2em 0;
  border-radius: 8px;
  flex-wrap: wrap;
  transition: color 0.2s ease, background 0.2s ease;
}

/* Layouts */
.acf-author-bio.layout-center {
  flex-direction: column;
  text-align: center;
  gap: 0.6em; /* reduced overall spacing for centered layout */
}
.acf-author-bio.layout-side {
  flex-direction: row;
  text-align: left;
}

/* Image */
.acf-author-bio__image img {
  border-radius: 50%;
  width: 120px;
  height: 120px !important;
  object-fit: cover;
}

/* Text */
.acf-author-bio__name {
  font-size: 1.125rem;
  margin-bottom: 0 !important;
}
.acf-author-bio__title {
  margin: 0.1em 0 0.5em; /* slightly tighter space below name */
  font-size: 1em;
  opacity: 0.85;
}
.acf-author-bio__desc {
  line-height: 1.2;
  max-width: 600px;
  margin: 0;
}

/* Fine-tuning for centered layout */
.acf-author-bio.layout-center .acf-author-bio__image {
  margin-bottom: 0.4em; /* less space between image and name */
}
.acf-author-bio.layout-center .acf-author-bio__title {
  margin-top: 0.05em; /* even tighter gap under name */
}

/* Gray background variant (white text) */
.acf-author-bio.has-gray-bg {
  color: #fff;
}
.acf-author-bio.has-gray-bg h1,
.acf-author-bio.has-gray-bg h2,
.acf-author-bio.has-gray-bg h3,
.acf-author-bio.has-gray-bg h4,
.acf-author-bio.has-gray-bg h5,
.acf-author-bio.has-gray-bg h6,
.acf-author-bio.has-gray-bg p,
.acf-author-bio.has-gray-bg a {
  color: #fff !important;
}



/* ===========================
   Global fallbacks for background colors 
=========================== */

.u-bg-gray {
	background-color: #404040;
}

.u-bg-lite-blue {
	background-color: #f6f5fa;
}