.kp-testimonials-section{
    padding:42px 0;
    background:#fff;
}

.kp-testimonials-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:22px;
}

.kp-testimonial-card{
    background:#f8fafc;
    border:1px solid #e6ebf2;
    border-radius:15px;
    padding:16px;
    box-shadow:0 12px 34px rgba(15,45,96,.07);
    display:flex;
    flex-direction:column;
    min-height:205px;
}

.kp-testimonial-head{
    display:flex;
    align-items:center;
    gap:12px;
}

.kp-testimonial-photo,
.kp-testimonial-avatar{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:50%;
}

.kp-testimonial-photo{
    object-fit:cover;
}

.kp-testimonial-avatar{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#0f4c9a;
    color:#fff;
    font-weight:800;
}

.kp-testimonial-identity{
    min-width:0;
    flex:1;
}

.kp-testimonial-identity strong{
    display:block;
    color:#0b2d60;
    line-height:1.2;
    font-size:.91rem;
}

.kp-testimonial-identity span{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:.78rem;
}

.kp-testimonial-source{display:inline-flex;align-items:center;border-radius:999px;background:#edf3fb;color:#5d6f8f;padding:4px 8px;font-size:.67rem;font-weight:700}

.kp-testimonial-verified{
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#e8f7ee;
    color:#138a47;
    font-weight:900;
}

.kp-testimonial-stars{
    display:flex;
    gap:2px;
    margin:11px 0 9px;
    color:#d4dae4;
    font-size:.9rem;
}

.kp-testimonial-stars .is-filled{
    color:#ffb400;
}

.kp-testimonial-card blockquote{
    margin:0;
    color:#263957;
    line-height:1.5;
    font-size:.86rem;
    font-style:normal;
    flex:1;
}

.kp-testimonial-date{
    margin-top:11px;
    color:#7b8ba6;
    font-size:.74rem;
}

@media(max-width:980px){
    .kp-testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:640px){
    .kp-testimonials-section{padding:38px 0}
    .kp-testimonials-grid{grid-template-columns:1fr}
}


.kp-review-public{
    margin-top:34px;
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:28px;
    padding:28px;
    border:1px solid #e3eaf4;
    border-radius:22px;
    background:#f8fafc;
}

.kp-review-public-copy h3{
    margin:8px 0 10px;
    color:#0b2d60;
    font-size:1.6rem;
}

.kp-review-public-copy p{
    color:#536580;
    line-height:1.7;
}

.kp-review-form{
    background:#fff;
    border:1px solid #e4eaf2;
    border-radius:16px;
    padding:20px;
}

.kp-review-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.kp-review-form label,
.kp-review-rating legend{
    display:block;
    margin-bottom:6px;
    color:#17345f;
    font-weight:700;
    font-size:.9rem;
}

.kp-review-form input[type=text],
.kp-review-form textarea{
    width:100%;
    border:1px solid #ccd7e6;
    border-radius:10px;
    padding:11px 12px;
    font:inherit;
    color:#1e3355;
    background:#fff;
    box-sizing:border-box;
}

.kp-review-form input[type=text]:focus,
.kp-review-form textarea:focus{
    outline:none;
    border-color:#1f5db8;
    box-shadow:0 0 0 3px rgba(31,93,184,.10);
}

.kp-review-rating{
    border:0;
    padding:0;
    margin:16px 0;
}

.kp-review-stars-input{
    display:inline-flex;
    flex-direction:row-reverse;
    justify-content:flex-end;
    gap:4px;
}

.kp-review-stars-input input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.kp-review-stars-input label{
    cursor:pointer;
    color:#d8dee8;
    font-size:1.8rem;
    line-height:1;
    margin:0;
    transition:transform .15s ease,color .15s ease;
}

.kp-review-stars-input label:hover,
.kp-review-stars-input label:hover ~ label,
.kp-review-stars-input input:checked ~ label{
    color:#ffb400;
}

.kp-review-stars-input label:hover{
    transform:scale(1.08);
}

.kp-review-help{
    margin-top:5px;
    color:#7a8aa4;
    font-size:.8rem;
}

.kp-review-field-error,
.kp-review-error{
    display:block;
    color:#b42318;
    margin-top:5px;
    font-size:.82rem;
}

.kp-review-error,
.kp-review-success{
    padding:10px 12px;
    border-radius:9px;
    margin-bottom:14px;
}

.kp-review-error{
    background:#fff1f0;
    border:1px solid #ffc9c5;
}

.kp-review-success{
    color:#116329;
    background:#edf9f0;
    border:1px solid #bde5c7;
}

.kp-review-turnstile{
    margin:16px 0;
}

@media(max-width:820px){
    .kp-review-public{grid-template-columns:1fr}
}

@media(max-width:600px){
    .kp-review-public{padding:18px}
    .kp-review-fields{grid-template-columns:1fr}
}
