.colours-slider {display:flex!important;gap:5px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 16px;max-width:100%;}
.colours-slider>div {flex:0 0 280px;min-width:0;max-width:280px;scroll-snap-align:start;}
.review-gallery-controls {display:flex;gap:8px;margin:8px 0;}
.review-autoplay-toggle{display:block;margin:6px auto;padding:8px 12px;min-height:36px;border:1px solid #dfe4e8;border-radius:6px;background:#fff;color:#124a82;cursor:pointer}.review-autoplay-toggle:focus-visible{outline:2px solid #124a82;outline-offset:2px}
.review-gallery-controls button {min-width:44px;min-height:44px;border:1px solid #DF6000;background:#fff8ef;color:#DF6000;border-radius:8px;}
@media(max-width:600px){.colours-slider>div{flex-basis:100%;min-width:0;max-width:100%;}}

/* Shared geometry keeps town, photos and review/rating rows aligned. */
.testimonial-preview {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:38px 180px auto;height:auto;box-sizing:border-box;min-width:0;}
.testimonial-preview>* {min-width:0;max-width:100%;}
.testimonial-preview>.company-main {background-color:#DF6000!important;background-image:none!important;}
.testimonial-preview>.company-main {height:38px;box-sizing:border-box;padding:4px 10px;display:flex;align-items:center;min-width:0;}
.testimonial-preview>.company-main>.company-name {font-size:24px;line-height:30px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.testimonial-preview>.slider,.testimonial-preview .carousel,.testimonial-preview .carousel-inner,.testimonial-preview .carousel-inner>.item {height:180px;}
.testimonial-preview .slider .carousel-inner>.item>img {width:100%;height:180px;object-fit:cover;object-position:center;}
.testimonial-preview>.user-main {height:auto;box-sizing:border-box;padding:10px;}
.testimonial-preview .user-right {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:30px var(--review-height,auto) 40px;gap:5px;max-height:none;min-width:0;}
.testimonial-preview .user-name {height:30px;box-sizing:border-box;line-height:20px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.testimonial-preview .user-review {height:var(--review-height,auto);min-height:0;max-height:none;box-sizing:border-box;line-height:20px;margin:0;overflow:visible;overflow-wrap:anywhere;}
.testimonial-preview .company-rating {height:40px;margin:0;display:flex;align-items:center;gap:2px;white-space:nowrap;}
.company-rating img {box-sizing:border-box;object-fit:contain;object-position:center;padding:2px;flex-shrink:0;}
.testimonial-preview .company-rating img {width:32px!important;height:32px;object-fit:contain;min-width:0;}
.testimonial-preview .slider .carousel-inner>.item>img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 50%!important;padding:0;border-radius:0}
.testimonial-preview>.slider,.testimonial-preview .slider .carousel,.testimonial-preview .slider .carousel-inner,.testimonial-preview .slider .carousel-inner>.item{padding:0!important;margin:0!important;border:0!important;width:100%;min-width:0;overflow:hidden}
.testimonial-preview .slider .carousel-inner>.item>img{margin:0!important;padding:0!important;border:0!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important}

/* Square photo panels, shared by website and embedded app previews. */
.testimonial-preview{grid-template-rows:38px auto auto}
.testimonial-preview>.slider{position:relative;aspect-ratio:1 / 1;height:auto!important}
.testimonial-preview>.slider>.carousel{position:absolute;inset:0;height:100%!important}
.testimonial-preview .slider .carousel-inner,.testimonial-preview .slider .carousel-inner>.item{height:100%!important}

.testimonial-preview .slider .carousel-inner>.item>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}

/* Carousel slides must fill the card rather than inherit legacy item widths. */
.testimonial-preview .slider .carousel-inner>.item{width:100%!important;max-width:100%!important;min-width:100%;box-sizing:border-box}

/* Gentle light and shade on testimonial town headings. */
.testimonial-preview>.company-main{background-color:#DF6000!important;background-image:linear-gradient(180deg,rgba(255,255,255,.19) 0%,rgba(255,255,255,.035) 48%,rgba(112,42,0,.16) 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(95,34,0,.18)}
.testimonial-preview>.company-main>.company-name{text-shadow:0 1px 1px rgba(92,35,0,.2)}

/* Match the original bottom rule on every edge of a testimonial. */
.testimonial-preview{position:relative;border:0!important;box-sizing:border-box;overflow:hidden}
.testimonial-preview::after{content:"";position:absolute;inset:0;border:1px solid #c5c5c5;pointer-events:none;z-index:5;box-sizing:border-box}
.testimonial-preview .slider img{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.testimonial-preview>.user-main{border-bottom:0!important}

.colours-slider>.testimonial-marquee-track{display:flex;gap:5px;flex:0 0 auto;min-width:100%;max-width:none;will-change:transform;backface-visibility:hidden;scroll-snap-align:none}
.testimonial-marquee-track>.testimonial-preview{flex:0 0 280px;width:280px;max-width:280px;min-width:0;backface-visibility:hidden}

/* Restore the original town heading typography. */
.testimonial-preview>.company-main>.company-name{font-family:Roboto,sans-serif;font-size:28px;font-weight:400;line-height:30px}

/* Five-line excerpts belong inside the testimonial, not the admin table. */
.testimonial-preview{grid-template-rows:38px auto 1fr;align-content:start}
.testimonial-preview>.slider{align-self:start}
.testimonial-preview .user-right{grid-template-rows:30px auto 40px!important}
.testimonial-preview .user-review{position:relative;height:100px!important;min-height:100px!important;max-height:none!important;overflow:visible!important}
.testimonial-preview .user-review:has(.testimonial-review-excerpt.expanded){height:auto!important}
.user-review:has(.testimonial-review-excerpt){max-height:none!important;overflow:visible!important}
.testimonial-review-excerpt{line-height:20px!important;height:100px;max-height:100px;overflow:hidden;min-height:0;white-space:normal}
.testimonial-review-excerpt.expanded{height:auto;min-height:100px;max-height:none}
.testimonial-review-excerpt p{margin:0!important;line-height:20px!important}
.testimonial-review-more{position:absolute;right:0;top:80px;display:block;background:#fff;border:0;color:#144675;font:600 12px/20px Arial,sans-serif;padding:0 3px 0 12px;min-height:20px!important;height:20px;cursor:pointer;text-decoration:underline;box-shadow:-8px 0 8px #fff}
.testimonial-review-excerpt.expanded+.testimonial-review-more{position:static;box-shadow:none;padding:0;margin-left:auto}
.testimonial-review-more[hidden]{display:none!important}
