/* Rate our app + Testimonials */
.rate-form { max-width: 760px; }
.rate-row { border: 0; border-bottom: 1px solid var(--border, #e5e7eb); margin: 0; padding: 14px 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.rate-row legend { float: left; padding: 0; }
.rate-row legend strong { display: block; }
.rate-row legend span { display: block; font-size: .85rem; color: var(--ink-soft, #6b7280); }
.rate-overall legend strong { font-size: 1.1rem; }
.star-input { display: inline-flex; flex-direction: row-reverse; gap: 2px; }
.star-input input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.star-input label { font-size: 2rem; line-height: 1; color: #d1d5db; cursor: pointer; padding: 0 2px; transition: color .1s, transform .1s; }
.star-input label:hover, .star-input label:hover ~ label, .star-input input:checked ~ label { color: #f59e0b; }
.star-input label:hover { transform: scale(1.12); }
.star-input input:focus-visible + label { outline: 2px solid var(--primary, #4f46e5); outline-offset: 2px; border-radius: 4px; }

.stars { display: inline-flex; gap: 1px; letter-spacing: 0; }
.stars i { font-style: normal; color: #d1d5db; }
.stars i.on { color: #f59e0b; }
.stars i.half { background: linear-gradient(90deg, #f59e0b 50%, #d1d5db 50%); -webkit-background-clip: text; background-clip: text; color: transparent; }

.rate-promo { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.rate-promo .stars { font-size: 1.3rem; }

.tst-hero { text-align: center; padding: 10px 0 6px; }
.tst-score { display: inline-flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: 16px; padding: 14px 22px; margin: 8px 0 18px; }
.tst-score b { font-size: 2.4rem; line-height: 1; color: var(--primary, #4f46e5); }
.tst-score .stars { font-size: 1.4rem; }
.tst-crit { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0 0 26px; }
.tst-crit div { background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: 12px; padding: 10px 12px; }
.tst-crit span { display: block; font-size: .8rem; color: var(--ink-soft, #6b7280); }
.tst-crit strong { font-size: 1.05rem; }
.tst-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; }
.tst-card { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.tst-card.featured { border-color: #fcd34d; box-shadow: 0 6px 20px rgba(245, 158, 11, .12); }
.tst-card blockquote { margin: 0; font-size: .95rem; line-height: 1.6; }
.tst-who { display: flex; align-items: center; gap: 10px; margin-top: auto; }
.tst-avatar { width: 38px; height: 38px; border-radius: 50%; background: #eef2ff; color: #3730a3; display: flex; align-items: center; justify-content: center; font-weight: 800; }
.tst-who small { display: block; color: var(--ink-soft, #6b7280); }

