/* Homepage photo reviews only. Never change corners or typography elsewhere. */
#review.wf-photo-reviews { max-width:none; margin:72px 0 0; padding:52px 0 56px; background:#f4f6fa; color:#191f28; }
.wf-photo-reviews, .wf-photo-reviews * { box-sizing:border-box; }
.wf-photo-reviews [hidden] { display:none !important; }
.wf-photo-reviews-inner { max-width:1280px; margin:0 auto; padding:0 22px; }
.wf-photo-reviews-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; }
.wf-photo-reviews-heading h2 { margin:0; font-size:28px; line-height:1.35; font-weight:700; letter-spacing:-.7px; }
.wf-photo-reviews-all { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0; border:0; background:none; color:#697586; cursor:pointer; font:inherit; font-size:16px; white-space:nowrap; }
.wf-photo-reviews-all svg, .wf-photo-reviews-arrow svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.wf-photo-reviews-note { margin:0 0 24px; color:#697586; font-size:13px; line-height:1.5; }
.wf-photo-reviews-carousel { position:relative; }
.wf-photo-reviews-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px) / 3); gap:20px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:2px 0; }
.wf-photo-reviews-track::-webkit-scrollbar { display:none; }
.wf-photo-review { display:flex; flex-direction:column; align-items:center; min-width:0; padding:26px 26px 28px; border:0; border-radius:20px; background:#fff; text-align:center; scroll-snap-align:start; }
.wf-photo-review-category { display:inline-block; padding:5px 12px; border-radius:7px; background:#edf3ff; color:#0064d9; font-size:14px; line-height:1.35; }
.wf-photo-review-stars { margin-top:11px; color:#ffc400; font-size:25px; letter-spacing:1px; line-height:1.25; }
.wf-photo-review-star-empty { color:#e2e6ed; }
.wf-photo-review-image { display:block; width:100%; max-width:240px; height:130px; margin:18px 0 0; border-radius:12px; object-fit:cover; background:#f4f6fa; }
.wf-photo-review-quote { flex:1; margin:20px 0 24px; color:#191f28; font-size:17px; line-height:1.7; letter-spacing:-.35px; word-break:keep-all; overflow-wrap:anywhere; }
.wf-photo-review-author { display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:4px 9px; border-radius:7px; background:#f0f3f7; color:#667487; font-size:13px; line-height:1.4; }
.wf-photo-review-author svg { flex:none; width:16px; height:16px; fill:#2874ef; }
.wf-photo-reviews-arrow { position:absolute; top:50%; z-index:1; display:grid; place-items:center; width:48px; height:48px; min-height:48px; padding:0; border:0; border-radius:50%; background:#fff; color:#53606f; box-shadow:0 3px 12px #19243414; cursor:pointer; transform:translateY(-50%); }
.wf-photo-reviews-prev { left:-24px; }
.wf-photo-reviews-next { right:-24px; }
.wf-photo-reviews-arrow:disabled { color:#bcc4d0; box-shadow:none; cursor:default; }
.wf-photo-reviews-all:hover { color:#191f28; }
.wf-photo-reviews-arrow:not(:disabled):hover { background:#eaf1ff; color:#0064d9; }
.wf-photo-reviews :focus-visible { outline:3px solid #0064d9; outline-offset:3px; }
.wf-photo-reviews.is-expanded .wf-photo-reviews-track { grid-auto-flow:row; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-columns:auto; overflow:visible; }
.wf-photo-reviews-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (max-width:1328px) {
  .wf-photo-reviews-inner { padding:0 36px; }
}
@media (max-width:960px) {
  .wf-photo-reviews-track { grid-auto-columns:calc((100% - 20px) / 2); }
  .wf-photo-reviews.is-expanded .wf-photo-reviews-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  #review.wf-photo-reviews { margin-top:48px; padding:32px 0 36px; }
  .wf-photo-reviews-inner { padding:0 24px; }
  .wf-photo-reviews-heading h2 { font-size:24px; }
  .wf-photo-reviews-all { font-size:14px; }
  .wf-photo-reviews-note { margin-bottom:18px; font-size:12px; }
  .wf-photo-reviews-track { grid-auto-columns:100%; gap:16px; }
  .wf-photo-review { padding:24px; }
  .wf-photo-review-quote { font-size:16px; }
  .wf-photo-reviews-arrow { width:44px; height:44px; min-height:44px; }
  .wf-photo-reviews-prev { left:-20px; }
  .wf-photo-reviews-next { right:-20px; }
  .wf-photo-reviews.is-expanded .wf-photo-reviews-track { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  .wf-photo-reviews-track { scroll-behavior:auto; }
}
