.ndcc-review-footer {
    --review-ink: #2b2e37;
    --review-orange: var(--bs-orange, #e98315);
    --review-green: #00b67a;
    padding: clamp(1.25rem, 2vw, 2rem) 0;
    border-top: 1px solid #e4ded7;
    background: #f6f3ef;
    color: var(--review-ink);
    font-family: var(--ndcc-font-family, Lato, Arial, sans-serif);
    text-align: left;
}
.ndcc-review-footer__inner { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1rem clamp(1rem, 2vw, 2rem); align-items: center; }
.ndcc-review-footer .ndcc-review-footer__intro h2 { max-width: 24ch; font-family: var(--ndcc-font-family-page-heading, "Roboto Condensed", Arial, sans-serif); font-size: clamp(1.6rem, 2.5vw, 2.25rem); font-weight: 800; line-height: 1.05; letter-spacing: -.025em; text-transform: uppercase; margin: 0 0 .5rem; color: inherit; }
.ndcc-review-footer__description { font-size: .9375rem; line-height: 1.5; color: #65615d; margin: 0; }
.ndcc-review-footer a { color: inherit; text-decoration: none; }
.ndcc-review-footer :is(a, button, summary):focus-visible { outline: 3px solid var(--review-ink); outline-offset: 4px; }
.ndcc-review-footer .ndcc-review-footer__all { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; min-height: 44px; padding: .625rem 1rem; border-radius: .375rem; background: var(--review-orange); font-size: .875rem; font-weight: 800; }
.ndcc-review-footer__all i { font-size: 1rem; }
.ndcc-review-footer__all:hover { background: var(--review-ink); color: #fff; }
.ndcc-review-footer__ratings { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.ndcc-review-footer__rating { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; min-height: 44px; padding: 1rem; border: 1px solid #e5dfd8; border-radius: .5rem; background: #fff; }
.ndcc-review-footer__brand { display: inline-flex; align-items: center; gap: .375rem; font-size: 1rem; }
.ndcc-review-footer__brand > i { color: var(--review-green); font-size: 1.25rem; }
.ndcc-review-footer__brand svg { width: 1.125rem; height: 1.125rem; }
.ndcc-review-footer__rating-copy { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 .3rem; width: 100%; font-size: 1rem; }
.ndcc-review-footer__rating-copy b { font-size: 1.25rem; }
.ndcc-review-footer__rating-copy small { margin-left: auto; color: #65615d; font-size: .75rem; }
.ndcc-review-footer__rating:hover .ndcc-review-footer__brand strong { text-decoration: underline; text-underline-offset: 4px; }
.ndcc-review-footer__stars { position: relative; display: inline-block; flex: 0 0 auto; width: 108px; height: 20px; line-height: 1; }
.ndcc-review-footer__stars > span { display: flex; gap: 2px; width: 108px; }
.ndcc-review-footer__stars i { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; background: #deded8; color: #fff; font-size: 13px; }
.ndcc-review-footer__stars .ndcc-review-footer__stars-fill { position: absolute; inset: 0 auto 0 0; overflow: hidden; }
.ndcc-review-footer__stars-fill i { background: var(--review-green); }
.ndcc-review-footer__rating--google .ndcc-review-footer__stars i, .ndcc-review-footer__card--google .ndcc-review-footer__stars i { background: transparent; color: #d0cbc4; font-size: 17px; }
.ndcc-review-footer__rating--google .ndcc-review-footer__stars-fill i, .ndcc-review-footer__card--google .ndcc-review-footer__stars-fill i { color: var(--review-orange); }
.ndcc-review-footer .ndcc-review-footer__carousel { grid-column: 1 / -1; width: 100%; min-width: 0; margin: 0; overflow: visible; }
.ndcc-review-footer .ndcc-review-footer__carousel.is-ready { overflow: hidden; }
.ndcc-review-footer .ndcc-review-footer__cards { display: grid; height: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ndcc-review-footer__carousel.is-ready .ndcc-review-footer__cards { display: flex; gap: 0; align-items: stretch; }
.ndcc-review-footer .ndcc-review-footer__card { min-width: 0; width: auto; height: auto; box-sizing: border-box; display: flex; flex-direction: column; background: #fff; border: 1px solid #e5dfd8; border-radius: .5rem; padding: 1rem; overflow-wrap: anywhere; }
.ndcc-review-footer__card-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.ndcc-review-footer__source { display: inline-flex; align-items: center; gap: .25rem; color: #65615d; font-size: .8125rem; font-weight: 700; }
.ndcc-review-footer__source > i { color: #00865a; }
.ndcc-review-footer__source svg { width: 1rem; height: 1rem; }
.ndcc-review-footer .ndcc-review-footer__card h3 { margin: 0 0 .5rem; font: 800 1rem/1.3 var(--ndcc-font-family, Lato, Arial, sans-serif); color: inherit; text-transform: none; letter-spacing: 0; }
.ndcc-review-footer__card blockquote { padding: 0; border: 0; margin: 0 0 .625rem; font-size: .9375rem; line-height: 1.5; color: #55514d; }
.ndcc-review-footer__card .ndcc-review-footer__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.ndcc-review-footer__more { margin: 0 0 .5rem; font-size: .8125rem; }
.ndcc-review-footer__more summary { width: fit-content; min-height: 44px; display: list-item; align-content: center; color: #a44f08; font-weight: 700; cursor: pointer; }
.ndcc-review-footer__more blockquote { display: block; margin: .5rem 0 0; }
.ndcc-review-footer__card:has(.ndcc-review-footer__more[open]) > blockquote { display: none; }
.ndcc-review-footer__no-comment { color: #65615d; font-size: .875rem; margin: 0 0 .625rem; }
.ndcc-review-footer__byline { display: flex; flex-direction: column; gap: .125rem; margin-top: auto; padding-top: .625rem; border-top: 1px solid #eee9e3; font-size: .875rem; overflow-wrap: anywhere; }
.ndcc-review-footer__byline time { color: #65615d; font-size: .75rem; }
.ndcc-review-footer__actions { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ndcc-review-footer__controls { display: flex; align-items: center; gap: .75rem; }
.ndcc-review-footer__controls[hidden] { display: none; }
.ndcc-review-footer__controls > button { display: grid; place-items: center; flex: 0 0 auto; width: 44px; height: 44px; padding: 0; border: 1px solid var(--review-orange); border-radius: 50%; background: transparent; color: var(--review-ink); cursor: pointer; }
.ndcc-review-footer__controls > button:hover { background: var(--review-orange); }
.ndcc-review-footer__controls > button:hover i { color: #fff; }
.ndcc-review-footer__controls > button.swiper-button-disabled { border-color: #b6aba1; color: #8b8178; cursor: default; }
.ndcc-review-footer__controls > button.swiper-button-lock { display: none; }
.ndcc-review-footer__pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; width: auto !important; margin-right: 1rem; gap: .125rem; }
.ndcc-review-footer__pagination.swiper-pagination-lock { display: none; }
.ndcc-review-footer__pagination .swiper-pagination-bullet { display: grid; place-items: center; width: 24px; height: 44px; margin: 0 !important; padding: 0; border: 0; background: transparent; opacity: 1; }
.ndcc-review-footer__pagination .swiper-pagination-bullet::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #b6aba1; }
.ndcc-review-footer__pagination .swiper-pagination-bullet-active::before { background: var(--review-orange); }
@media (max-width: 1199.98px) {
    .ndcc-review-footer__inner { grid-template-columns: 1fr; }
    .ndcc-review-footer .ndcc-review-footer__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .ndcc-review-footer__ratings { gap: .75rem; }
    .ndcc-review-footer__rating { align-content: start; flex-direction: column; align-items: flex-start; gap: .5rem; padding: .75rem; }
    .ndcc-review-footer__rating-copy small { width: 100%; margin-left: 0; }
    .ndcc-review-footer .ndcc-review-footer__cards { grid-template-columns: 1fr; }
    .ndcc-review-footer__actions { flex-wrap: wrap; }
    .ndcc-review-footer__controls { width: 100%; }
    .ndcc-review-footer__pagination { justify-content: flex-start; flex: 1; margin-right: 0; }
}
