/* v4: Real, data-driven review strip replaces the sparse advice bar. */
.lp-review-strip {background:#fff; border-top:1px solid #e0eaf2; padding:19px clamp(15px,3vw,48px) 21px;}
.lp-reviews-inner {max-width:1330px; margin:0 auto; display:grid; grid-template-columns:220px minmax(0,1fr); gap:22px; align-items:center;}
.lp-review-summary {display:flex;flex-direction:column;gap:7px;}
.lp-review-heading {display:flex;gap:11px;align-items:center;color:#0a3c69;}
.lp-review-symbol {width:36px;height:36px;flex:0 0 36px;color:#087eaf;}
.lp-review-heading>span {display:flex;flex-direction:column;gap:3px;}
.lp-review-heading strong {font-size:17px;line-height:1.1;}
.lp-review-count {font-size:13px;color:#57748c;}
.lp-review-all {font-size:13px;color:#0875ac;text-decoration:underline;text-underline-offset:3px;margin-left:47px;}
.lp-review-scroller {display:flex;align-items:center;gap:8px;min-width:0;}
.lp-review-track {display:flex;flex:1;min-width:0;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;border-radius:9px;}
.lp-review-track::-webkit-scrollbar {display:none;}
.lp-review-card {display:flex;flex-direction:column;justify-content:space-between;gap:9px;flex:0 0 calc((100% - 12px) / 2);min-height:102px;scroll-snap-align:start;background:#f6f9fc;border:1px solid #e1eaf1;border-radius:10px;padding:13px 15px;}
.lp-review-quote {font-size:13px;line-height:1.43;color:#2c4c67;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.lp-review-byline {font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;color:#648097;}
.lp-review-byline strong {color:#0b507f;font-size:12px;}
.lp-review-arrow {border:1px solid #d6e8f3;background:#f1f7fb;color:#0a6e9f;border-radius:50%;width:31px;height:31px;flex:0 0 31px;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;cursor:pointer;padding:0 0 3px;}
.lp-review-arrow:hover {background:#dceef8;color:#074b7a;}
.lp-review-arrow[hidden] {display:none;}
.lp-material-placeholder {width:67px;height:56px;border-radius:3px;display:block;box-shadow:4px 5px 6px rgba(9,48,73,.18);border:1px solid rgba(13,71,105,.2);transform:perspective(130px) rotateY(-11deg) rotateX(10deg);}
.lp-material-white {background:linear-gradient(145deg,#fff 15%,#d2e6f1 82%,#a8cadf);}
.lp-material-opal {background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(205,231,248,.64) 62%,rgba(109,169,203,.5));}
@media (max-width: 1020px) { .lp-reviews-inner{grid-template-columns:195px minmax(0,1fr);gap:12px}.lp-review-card{flex-basis:100%;} }
@media (max-width: 640px) {
  .lp-review-strip{padding:17px 14px 19px;}
  .lp-reviews-inner{display:block;}
  .lp-review-summary{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:12px;}
  .lp-review-symbol{width:30px;height:30px;flex-basis:30px;}
  .lp-review-heading strong{font-size:15px;}
  .lp-review-all{margin:0;white-space:nowrap;font-size:12px;}
  .lp-review-arrow{width:26px;height:26px;flex-basis:26px;font-size:24px;}
  .lp-review-card{min-height:121px;}
}
@media (prefers-reduced-motion: reduce) {.lp-review-track{scroll-behavior:auto;}}


/* v9: Complete reviews on demand, without changing the carousel's dimensions. */
.lp-review-more{align-self:flex-start;background:none;border:0;padding:0;color:#0875ac;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:12px;cursor:pointer;}
.lp-review-more:hover,.lp-review-more:focus-visible{color:#034c74;}
.lp-review-more[hidden],.lp-review-full[hidden],.lp-review-dialog[hidden]{display:none!important;}
.lp-review-dialog{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.lp-review-dialog-backdrop{position:absolute;inset:0;background:rgba(7,27,42,.70);}
.lp-review-dialog-panel{position:relative;width:min(590px,100%);max-height:min(80vh,700px);overflow:auto;border-radius:14px;background:#fff;padding:25px 28px 23px;box-shadow:0 18px 55px rgba(0,0,0,.35);color:#23445c;outline:none;}
.lp-review-dialog-panel h2{font-size:19px;line-height:1.3;margin:0 35px 16px 0;font-weight:600;color:#0b507f;}
.lp-review-dialog-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65;margin:0 0 18px;}
.lp-review-dialog-byline{font-size:13px;color:#52718a;margin:0;}
.lp-review-dialog-close{position:absolute;right:13px;top:9px;border:0;background:#edf5fa;color:#145d87;border-radius:50%;height:34px;width:34px;font-size:26px;line-height:1;cursor:pointer;}
.lp-review-dialog-close:hover{background:#d7eaf6;}
body.lp-review-dialog-open{overflow:hidden;}
@media(max-width:640px){.lp-review-dialog{padding:12px}.lp-review-dialog-panel{padding:22px 20px}}

/* v11: final carousel card invites visitors to read the complete review archive. */
.lp-review-end-card {justify-content:center; align-items:flex-start; background:#eef7fc; border-color:#d2e5f0;}
.lp-review-end-text {font-size:13px; line-height:1.4; color:#345c78;}
.lp-review-end-link {display:inline-block; font-size:14px; line-height:1.5; font-weight:600; color:#076b9d; text-decoration:underline; text-underline-offset:3px;}
.lp-review-end-link:hover,.lp-review-end-link:focus-visible {color:#034c74;}

/* Five outlined stars, above and left-aligned with the review heading. */
.lp-review-heading.lp-review-heading-stacked{flex-direction:column;align-items:flex-start;gap:5px}
.lp-review-heading .lp-review-stars{display:flex;align-items:center;gap:3px;width:auto;height:auto;flex:none;color:#0087be}
.lp-review-heading .lp-review-stars svg{width:18px;height:18px;flex:none}
.lp-review-all{margin-left:0}
@media(max-width:640px){.lp-review-heading .lp-review-stars svg{width:16px;height:16px}}

/* Visual correction: five stars in one horizontal line above the heading.
   Overrides the original fixed 36px symbol slot. */
.lp-review-heading{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.lp-review-heading .lp-review-stars{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:3px;width:auto;height:20px;flex:0 0 auto;white-space:nowrap}
.lp-review-heading .lp-review-stars svg{display:block;width:19px;height:19px;flex:0 0 19px}
.lp-review-heading>span:not(.lp-review-stars){display:flex;flex-direction:column;gap:3px}
.lp-review-all{margin-left:0}
@media(max-width:640px){.lp-review-summary{align-items:flex-start}.lp-review-heading .lp-review-stars{height:19px}.lp-review-heading .lp-review-stars svg{width:18px;height:18px;flex-basis:18px}}
