/* Depoimentos - layout público/admin */
.testimonial-admin-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:start;gap:14px}
.testimonial-admin-avatar{width:52px;height:52px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#edf4ff;color:var(--brand-primary,#175CD3);font-size:1rem;font-weight:800;flex:0 0 auto;border:2px solid #fff;box-shadow:0 0 0 1px var(--border,#E4E7EC)}
.testimonial-admin-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.testimonial-admin-avatar--large{width:68px;height:68px;font-size:1.25rem}
.testimonial-upload-box{display:flex;align-items:center;gap:14px;padding:14px;border:1px dashed #cbd8e8;border-radius:14px;background:#f9fbfe}
.testimonial-upload-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#edf4ff;color:var(--brand-primary,#175CD3);font-size:1.2rem;flex:0 0 auto}

/* Seção pública: limpa, compacta e sem elementos decorativos desnecessários */
.testimonials-public-section{padding:52px 0 56px;background:#f8fafc;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5}
.testimonials-public-heading{max-width:720px;margin:0 auto 28px;text-align:center}
.testimonials-public-heading span{display:block;margin:0 0 7px;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-primary,#175CD3)}
.testimonials-public-heading h2{margin:0;color:var(--brand-deep,#102A43);font-size:clamp(1.9rem,2.8vw,2.35rem);line-height:1.15;letter-spacing:-.025em}
.testimonials-public-heading p{margin:9px 0 0;color:var(--text-muted,#526579);font-size:.96rem;line-height:1.55}

.testimonials-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1120px;margin:0 auto}
.testimonials-public-grid.is-single{grid-template-columns:minmax(0,640px);justify-content:center;max-width:640px}
.testimonials-public-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}

.testimonial-public-card{display:flex;flex-direction:column;min-width:0;min-height:205px;padding:24px;border:1px solid #e4eaf1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(16,42,67,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.testimonial-public-card:hover{transform:translateY(-2px);border-color:#d7e0ec;box-shadow:0 12px 28px rgba(16,42,67,.075)}

.testimonial-card__author{display:flex;align-items:center;gap:12px;min-width:0}
.testimonial-card__avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#eaf1ff;color:var(--brand-primary,#175CD3);font-weight:800;font-size:1rem;border:1px solid #d8e3f2}
.testimonial-card__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.testimonial-card__identity{min-width:0}
.testimonial-card__identity strong{display:block;color:var(--brand-deep,#102A43);font-size:.98rem;font-weight:750;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.testimonial-card__identity small{display:flex;align-items:center;gap:5px;margin-top:3px;color:var(--text-muted,#526579);font-size:.78rem;line-height:1.3}
.testimonial-card__identity small i{font-size:.76rem;color:var(--brand-primary,#175CD3)}

.testimonial-card__divider{height:1px;background:#edf1f5;margin:18px 0 17px}
.testimonial-card__text{margin:0;color:#334155;font-size:.99rem;line-height:1.65;font-weight:500;overflow-wrap:anywhere;flex:1}

.testimonials-public-grid.is-single .testimonial-public-card{min-height:0;padding:28px}
.testimonials-public-grid.is-single .testimonial-card__text{font-size:1.04rem}
.testimonials-public-grid.is-two .testimonial-public-card{min-height:195px}

@media(max-width:991.98px){
  .testimonials-public-grid,.testimonials-public-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}
  .testimonials-public-grid.is-single{grid-template-columns:minmax(0,640px)}
}

@media(max-width:767.98px){
  .testimonial-admin-card{grid-template-columns:46px minmax(0,1fr)}
  .testimonial-admin-avatar{width:46px;height:46px}
  .testimonial-admin-card .content-edit-btn{grid-column:1/-1;width:100%}
  .testimonial-upload-box{align-items:flex-start}

  .testimonials-public-section{padding:38px 0 42px}
  .testimonials-public-heading{margin-bottom:20px;text-align:left}
  .testimonials-public-heading h2{font-size:1.72rem}
  .testimonials-public-heading p{font-size:.91rem}
  .testimonials-public-grid,.testimonials-public-grid.is-single,.testimonials-public-grid.is-two{grid-template-columns:1fr;gap:12px;max-width:none}
  .testimonial-public-card,.testimonials-public-grid.is-single .testimonial-public-card,.testimonials-public-grid.is-two .testimonial-public-card{min-height:0;padding:20px;border-radius:14px}
  .testimonial-card__avatar{width:46px;height:46px}
  .testimonial-card__divider{margin:15px 0 14px}
  .testimonial-card__text,.testimonials-public-grid.is-single .testimonial-card__text{font-size:.96rem;line-height:1.58}
}


/* Avaliação dos depoimentos */
.testimonial-card__rating{display:flex;align-items:center;gap:4px;margin-top:16px;color:#f59e0b;font-size:.94rem;line-height:1}
.testimonial-card__rating span{margin-left:5px;color:#64748b;font-size:.73rem;font-weight:800;line-height:1}
.testimonial-admin-rating{display:flex;align-items:center;gap:2px;margin-top:7px;color:#f59e0b;font-size:.75rem;line-height:1}
.testimonial-rating-picker{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:5px;padding:8px 11px;border:1px solid #dce4ee;border-radius:12px;background:#fbfcfe}
.testimonial-rating-picker input{position:absolute;opacity:0;pointer-events:none}
.testimonial-rating-picker label{margin:0;cursor:pointer;color:#cbd5e1;font-size:1.45rem;line-height:1;transition:color .15s ease,transform .15s ease}
.testimonial-rating-picker label:hover,.testimonial-rating-picker label:hover~label,.testimonial-rating-picker input:checked~label{color:#f59e0b}
.testimonial-rating-picker label:hover{transform:translateY(-1px) scale(1.04)}
.testimonial-rating-picker input:focus-visible+label{outline:2px solid var(--brand-primary,#175CD3);outline-offset:3px;border-radius:4px}
@media(max-width:767.98px){.testimonial-card__rating{margin-top:13px}.testimonial-rating-picker label{font-size:1.35rem}}
