/* ความประทับใจของสมาชิก */

.kbMemberReviews {

  margin: 0 0 72px;

  padding: 0;

  box-sizing: border-box;

  font-family: 'Sarabun', sans-serif;

}



.kbMemberReviews__inner {

  width: 100%;

  max-width: 100%;

}



.kbMemberReviews__title {

  margin: 0 0 36px;

  text-align: center;

  font-family: 'GmarketSans', 'Sarabun', sans-serif;

  font-size: clamp(26px, 2.8vw, 36px);

  font-weight: 700;

  line-height: 1.35;

  color: #111827;

  letter-spacing: -0.02em;

}



.kbMemberReviews__titleLead {

  display: block;

  font-weight: 800;

  letter-spacing: -0.03em;

}



.kbMemberReviews__titleSub {

  display: block;

  margin-top: 4px;

  font-weight: 700;

  color: #008654;

}



.kbMemberReviews__sliderWrap {

  position: relative;

  padding: 12px 52px 0;

}



.kbMemberReviews__slider {

  overflow: hidden;

  padding: 8px 4px 16px;

}



.kbMemberReviews__slider .swiper-wrapper {

  align-items: stretch;

}



.kbMemberReviews__slider .swiper-slide {

  height: auto;

  display: flex;

}



.kbReviewCard {

  position: relative;

  display: flex;

  flex-direction: column;

  align-items: center;

  width: 100%;

  height: 100%;

  padding: 52px 26px 28px;

  text-align: center;

  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);

  border: 1px solid #e8ecf3;

  border-radius: 20px;

  box-shadow:

    0 1px 0 rgba(255, 255, 255, 0.9) inset,

    0 10px 32px rgba(20, 40, 90, 0.08);

  box-sizing: border-box;

  transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;

  overflow: hidden;

}



.kbReviewCard::before {

  content: '';

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  height: 4px;

  background: linear-gradient(90deg, #008654 0%, #1f379d 100%);

}



.kbReviewCard::after {

  content: '\201C';

  position: absolute;

  top: 18px;

  right: 22px;

  font-family: 'GmarketSans', Georgia, serif;

  font-size: 72px;

  line-height: 1;

  color: rgba(0, 134, 84, 0.07);

  pointer-events: none;

  user-select: none;

}



.kbReviewCard:hover {

  transform: translateY(-5px);

  border-color: #d4e8df;

  box-shadow:

    0 1px 0 rgba(255, 255, 255, 0.9) inset,

    0 18px 40px rgba(0, 134, 84, 0.1);

}



.kbReviewCard__avatar {

  position: relative;

  z-index: 1;

  width: 96px;

  height: 96px;

  margin: -20px 0 20px;

  border-radius: 50%;

  overflow: hidden;

  background: #fff;

  border: 4px solid #fff;

  box-shadow:

    0 0 0 3px #e8f5ef,

    0 8px 20px rgba(0, 134, 84, 0.15);

}



.kbReviewCard__avatar img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}



.kbReviewCard__quote {

  position: relative;

  z-index: 1;

  margin: 0 0 24px;

  flex: 1;

  padding: 0 4px;

  font-size: 15px;

  font-style: normal;

  line-height: 1.8;

  color: #4b5563;

  border: none;

}



.kbReviewCard__footer {

  position: relative;

  z-index: 1;

  width: 100%;

  margin-top: auto;

  padding-top: 20px;

  border-top: 1px solid #eef1f6;

}



.kbReviewCard__stars {

  display: flex;

  justify-content: center;

  gap: 3px;

  margin-bottom: 12px;

  color: #f5b301;

  filter: drop-shadow(0 1px 2px rgba(245, 179, 1, 0.25));

}



.kbReviewCard__stars svg {

  width: 17px;

  height: 17px;

  fill: currentColor;

}



.kbReviewCard__name {

  margin: 0;

  display: flex;

  flex-direction: column;

  gap: 2px;

  font-size: 15px;

  line-height: 1.4;

  color: #111827;

}



.kbReviewCard__name strong {

  font-family: 'GmarketSans', 'Sarabun', sans-serif;

  font-size: 16px;

  font-weight: 700;

}



.kbReviewCard__name span {

  font-size: 13px;

  font-weight: 500;

  color: #6b7280;

}



.kbMemberReviews__nav {

  position: absolute;

  top: 50%;

  z-index: 5;

  width: 44px;

  height: 44px;

  display: grid;

  place-items: center;

  color: #1f379d;

  background: #fff;

  border: 1px solid #e2e4ec;

  border-radius: 50%;

  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);

  cursor: pointer;

  transform: translateY(-50%);

  transition: 0.2s ease;

  text-indent: 0;

  overflow: visible;

}



.kbMemberReviews__nav::before,

.kbMemberReviews__nav::after {

  display: none !important;

}



.kbMemberReviews__nav svg {

  width: 18px;

  height: 18px;

}



.kbMemberReviews__nav:hover {

  color: #fff;

  background: #1f379d;

  border-color: #1f379d;

}



.kbMemberReviews__nav.swiper-button-disabled {

  opacity: 0.35;

  cursor: default;

  pointer-events: none;

}



.kbMemberReviews__nav--prev {

  left: 0;

}



.kbMemberReviews__nav--next {

  right: 0;

}



@media all and (max-width: 850px) {

  .kbMemberReviews {

    margin-bottom: 56px;

  }



  .kbMemberReviews__title {

    margin-bottom: 28px;

    font-size: 24px;

  }



  .kbMemberReviews__sliderWrap {

    padding: 8px 44px 0;

  }



  .kbReviewCard {

    padding: 48px 20px 24px;

  }



  .kbReviewCard__avatar {

    width: 84px;

    height: 84px;

  }



  .kbMemberReviews__nav {

    width: 40px;

    height: 40px;

  }

}



@media all and (max-width: 600px) {

  .kbMemberReviews__sliderWrap {

    padding: 8px 40px 0;

  }



  .kbReviewCard__quote {

    font-size: 14px;

    line-height: 1.75;

  }



  .kbReviewCard::after {

    font-size: 56px;

    top: 14px;

    right: 16px;

  }

}


