/* ========================
   Testimonial Module
   ======================== */

.testimonial-block-module-section {
  position: relative;
  padding: var(--space-22) 0;
  background-color: var(--bs-body-bg);
  min-height: 52.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimonial-block-module-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}

.testimonial-panel {
  max-width: 75rem;
  width: 100%;
  background-color: var(--bs-primary-25);
  padding: 3.515625rem;
  padding-right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  gap: var(--space-14);
  position: relative;
}
.testimonial-panel::after {
  content: "";
  background-color: var(--bs-primary-25);
  position: absolute;
  height: 100%;
  right: -50%;
  top: 0;
  width: 50%;
}

.testimonial-description-or-quote {
  font-size: var(--font-size-50);
  line-height: var(--line-height-heading);
  color: var(--bs-black);
  font-weight: var(--font-weight-regular);
}

.testimonial-description-or-quote strong,
.testimonial-description-or-quote b {
  font-weight: var(--font-weight-bold);
}

/* Testimonial title uses .title-xl from typography.css */

.testimonial-subtitle {
  font-size: var(--font-size-lg);
  line-height: 1.6;
  color: var(--bs-secondary-color);
  margin-bottom: var(--space-11);
  margin-top: var(--space-5);
}

.testimonial-person-details {
  font-family: var(--font-family-mono);
  font-size: var(--font-size-base);
  color: var(--neutral-700);
}

.testimonial-company-logo {
  margin-left: auto;
}

/* ========================
   RESPONSIVE DESIGN
   ======================== */

/* Tablet (992px to 1199.98px) */
@media (max-width: 1199.98px) and (min-width: 992px) {
  .testimonial-block-module-section {
    min-height: 46.875rem;
    padding: var(--space-21) 0;
  }

  .testimonial-panel {
    max-width: 100%;
    padding: 2.734375rem;
    padding-right: 0;
    gap: var(--space-11);
  }

  .testimonial-description-or-quote {
    font-size: var(--font-size-40);
  }

  .testimonial-subtitle {
    font-size: var(--font-size-base);
  }
}

/* Tablet (768px to 991.98px) */
@media (max-width: 991.98px) {
  .testimonial-block-module-section {
    min-height: auto;
    padding: var(--space-20) 0;
  }
  .testimonial-panel::after {
    content: none;
  }
  .testimonial-block-module-wrapper {
    align-items: center;
  }

  .testimonial-panel {
    max-width: 100%;
    padding: 1.953125rem;
    padding-right: 0;
    align-items: center;
    text-align: center;
    gap: var(--space-11);
  }

  .testimonial-description-or-quote {
    font-size: var(--font-size-32);
    line-height: 1.3;
  }

  .testimonial-subtitle {
    font-size: var(--font-size-base);
    margin-bottom: var(--space-5);
  }

  .testimonial-company-logo {
    margin-left: auto;
  }
}

/* Mobile (576px to 767.98px) */
@media (max-width: 767.98px) {
  .testimonial-block-module-section {
    min-height: auto;
    padding: var(--space-17) 0;
  }

  .testimonial-block-module-wrapper {
    align-items: center;
  }

  .testimonial-panel {
    max-width: 100%;
    padding: 1.5625rem;
    align-items: center;
    text-align: center;
    gap: var(--space-7);
  }

  .testimonial-description-or-quote {
    font-size: var(--font-size-2xl);
    line-height: 1.3;
  }

  .testimonial-description-or-quote img {
    max-height: 3.125rem;
  }
  .testimonial-description-or-quote strong,
  .testimonial-description-or-quote b {
    font-size: var(--font-size-26);
  }

  .testimonial-subtitle {
    font-size: var(--font-size-sm);
    margin-bottom: var(--space-3);
  }

  .testimonial-company-logo {
    margin-left: auto;
  }
}

/* Small Mobile (up to 575.98px) */
@media (max-width: 575.98px) {
  .testimonial-block-module-section {
    min-height: 21.875rem;
    padding: var(--space-14) 0;
  }

  .testimonial-block-module-wrapper {
    align-items: center;
  }

  .testimonial-panel {
    max-width: 100%;
    padding: 1.171875rem;
    align-items: center;
    text-align: center;
    gap: var(--space-5);
  }

  .testimonial-subtitle {
    font-size: var(--font-size-12);
    margin-bottom: var(--space-1);
  }

  .testimonial-company-logo {
    margin-left: auto;
    margin-right: auto;
    max-width: 80%;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .testimonial-block-module-section,
  .testimonial-panel {
    transition: none;
  }
}
