.ac-reviews, .ac-review-dialog { box-sizing: border-box; color: #25332a; font-family: inherit; letter-spacing: 0; text-align: left; }
.ac-reviews *, .ac-review-dialog * { box-sizing: border-box; letter-spacing: 0; }
.ac-reviews { padding: 64px 0; background: #f5f8f4; scroll-margin-top: 100px; }
.ac-reviews__inner { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.ac-reviews__heading { margin: 0 0 34px; text-align: center; }
.ac-reviews .ac-reviews__eyebrow { margin: 0 0 12px; color: #467f32; font-size: 12px; font-weight: 700; line-height: 1.5; }
.ac-reviews__heading h2 { margin: 0 0 12px; color: #233027; font-size: 36px; line-height: 1.2; font-weight: 700; text-transform: none; }
.ac-reviews .ac-reviews__lead { margin: 0 0 17px; color: #626d62; font-size: 17px; line-height: 1.5; }
.ac-reviews .ac-reviews__source { margin: 0; color: #52644d; font-size: 13px; line-height: 1.5; }
.ac-reviews__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: stretch; }
.ac-reviews__carousel { position: relative; min-width: 0; }
.ac-reviews.is-carousel .ac-reviews__grid { display: block; margin: 0 -9px; }
.ac-reviews.is-carousel .slick-track { display: flex; align-items: stretch; }
.ac-reviews.is-carousel .ac-review.slick-slide { display: flex; float: none; height: auto; margin: 8px 9px; }
.ac-reviews.is-carousel .slick-list { padding: 0; }
.ac-review { min-width: 0; padding: 26px; background: #fff; border: 1px solid #dce6d7; border-radius: 8px; box-shadow: 0 7px 20px rgba(35,57,28,.04); display: flex; flex-direction: column; text-align: left; }
.ac-review__meta { display: flex; gap: 12px; align-items: center; min-height: 58px; margin-bottom: 18px; }
.ac-review__initial { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; background: #eef6e8; color: #43842f; font-size: 21px; line-height: 1; font-weight: 700; }
.ac-review__person { min-width: 0; }
.ac-review__person h3 { margin: 0; color: #25332a; font-size: 17px; line-height: 1.4; font-weight: 700; text-transform: none; overflow-wrap: anywhere; }
.ac-review__person time { display: block; margin-top: 5px; color: #697364; font-size: 13px; line-height: 1.4; }
.ac-review__stars { display: block; margin-bottom: 12px; color: #a87300; font-size: 20px; line-height: 1.3; white-space: nowrap; }
.ac-review__deal { margin: 0 0 18px; color: #697464; font-size: 12px; line-height: 1.7; }
.ac-review__deal span { color: #42842e; }
.ac-review__text { margin: 0; color: #39453b; font-size: 16px; line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; }
.ac-reviews.is-ready .ac-review__text { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; min-height: 132px; }
.ac-review__photos { width: fit-content; max-width: 100%; margin-top: 20px; padding: 0; border: 0; background: transparent; color: #697364; text-align: left; font-family: inherit; }
button.ac-review__photos { cursor: pointer; touch-action: manipulation; }
.ac-review__crop { display: block; position: relative; width: var(--crop-width); max-width: 100%; aspect-ratio: var(--crop-ratio); overflow: hidden; border-radius: 6px; background: #fff; }
.ac-review__crop img { display: block; position: absolute; width: var(--image-width); height: auto; max-width: none; left: var(--image-left); top: var(--image-top); margin: 0; border: 0; border-radius: 0; }
.ac-review__photo-label { display: block; margin-top: 9px; color: #697364; font-size: 12px; line-height: 1.5; }
.ac-review__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 20px; }
.ac-review__read, .ac-reviews__arrow, .ac-review-dialog__close { appearance: none; cursor: pointer; font-family: inherit; touch-action: manipulation; }
.ac-review__read { display: inline-flex; align-items: center; gap: 10px; border: 0; border-radius: 0; background: transparent; padding: 10px 0; min-height: 44px; color: #377827; font-size: 14px; line-height: 1.5; font-weight: 700; text-align: left; }
.ac-review__read:hover { color: #214e17; text-decoration: underline; }
.ac-review__source { margin-left: auto; color: #697364; font-size: 12px; line-height: 1.5; }
.ac-reviews__footer { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 24px; text-align: center; }
.ac-reviews__count { margin: 0; min-width: 100px; font-size: 14px; line-height: 1.5; color: #52644d; }
.ac-reviews button:focus-visible, .ac-review:focus-visible, .ac-review-dialog button:focus-visible { outline: 3px solid #367928; outline-offset: 4px; }
.ac-reviews [hidden], .ac-review-dialog [hidden] { display: none !important; }
.ac-review-dialog { position: fixed; inset: 0; margin: auto; padding: 24px; width: min(720px,calc(100% - 28px)); max-width: calc(100% - 28px); max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); overflow: auto; overscroll-behavior: contain; border: 0; border-radius: 8px; background: #fff; }
.ac-review-dialog:not([open]) { display: none; }
.ac-review-dialog::backdrop { background: rgba(20,30,18,.55); }
.ac-review-dialog__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 24px; }
.ac-review-dialog__head h2 { margin: 0; color: #25332a; font-size: 22px; line-height: 1.3; font-weight: 700; text-transform: none; overflow-wrap: anywhere; }
.ac-review-dialog__close { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; padding: 0; border: 1px solid #c9d9c0; border-radius: 6px; background: #fff; color: #3e7e2c; font-size: 30px; line-height: 1; }
.ac-review-dialog__content .ac-review { border: 0; padding: 0; border-radius: 0; box-shadow: none; }
.ac-review-dialog__content .ac-review__text { display: block; overflow: visible; min-height: 0; }
body.ac-review-open { overflow: hidden; }
@media (max-width:1050px) {
  .ac-reviews__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .ac-reviews { padding: 40px 0; }
  .ac-reviews__inner { padding: 0 16px; }
  .ac-reviews__heading { margin-bottom: 25px; }
  .ac-reviews__heading h2 { font-size: 28px; }
  .ac-reviews .ac-reviews__lead { font-size: 15px; }
  .ac-reviews .ac-reviews__eyebrow { font-size: 11px; }
  .ac-reviews .ac-reviews__source { font-size: 12px; }
  .ac-reviews__grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .ac-review { padding: 20px; }
  .ac-reviews.is-ready .ac-review__text { min-height: 0; }
  .ac-review__meta { min-height: 44px; }
  .ac-review-dialog { padding: 20px; padding-bottom: max(20px,env(safe-area-inset-bottom)); }
}
