/* UI Testimonials - responsive modal + cards */
.uitest-wrap{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;max-width:1200px;margin:0 auto;padding:18px 10px;}
.uitest-header{display:grid;grid-template-columns: 1.1fr 1.3fr auto;gap:18px;align-items:center;margin-bottom:16px;}
.uitest-score-num{font-size:56px;line-height:1;font-weight:700;color:#222;}
.uitest-score-stars{font-size:18px;margin-top:6px;}
.uitest-star{opacity:.25;margin-right:2px;}
.uitest-star.is-on{opacity:1;}
.uitest-score-sub{font-size:13px;color:#666;margin-top:6px;}

.uitest-breakdown{max-width:520px}
.uitest-row{display:grid;grid-template-columns:40px 1fr 28px;gap:10px;align-items:center;margin:6px 0;}
.uitest-bar{height:8px;background:#eee;border-radius:999px;overflow:hidden;}
.uitest-bar span{display:block;height:100%;background:#9ad10a;border-radius:999px;width:0%;}
.uitest-row-left,.uitest-row-right{font-size:12px;color:#555;}

.uitest-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.uitest-btn{border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap}
.uitest-btn-ghost{background:#f3f3f3;color:#222;}
.uitest-btn-primary{background:#9ad10a;color:#0b2000;}
.uitest-btn:hover{transform:translateY(-1px);}

.uitest-grid{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:14px;margin-top:14px;}
.uitest-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:14px;box-shadow:0 4px 18px rgba(0,0,0,.05);}
.uitest-card-top{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-bottom:10px;}
.uitest-avatar{width:42px;height:42px;border-radius:999px;background:#eee;display:flex;align-items:center;justify-content:center;font-weight:800;color:#444;object-fit:cover;}
.uitest-name{font-weight:800;color:#222;font-size:14px;}
.uitest-stars{font-size:14px;}
.uitest-date{font-size:12px;color:#777;white-space:nowrap;}
.uitest-message{font-size:13px;color:#333;line-height:1.5;margin-top:6px;word-break:break-word;}
.uitest-empty{padding:16px;border:1px dashed #ddd;border-radius:14px;color:#666;background:#fafafa;}

.uitest-modal{position:fixed;inset:0;display:none;z-index:99999;}
.uitest-modal.is-open{display:block;}
.uitest-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.uitest-modal-card{position:relative;background:#fff;border-radius:18px;max-width:680px;width:calc(100% - 22px);margin:6vh auto;box-shadow:0 18px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;max-height:88vh;overflow:hidden;}
.uitest-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee;}
.uitest-modal-title{font-size:20px;font-weight:800;color:#111;}
.uitest-x{border:0;background:#f3f3f3;border-radius:12px;width:38px;height:38px;font-size:20px;cursor:pointer}

.uitest-form{display:flex;flex-direction:column;min-height:0;}
/* KEY FIX: body scrolls on small screens so submit is ALWAYS reachable */
.uitest-form-body{padding:14px 16px;overflow:auto;min-height:0;max-height:calc(88vh - 64px - 62px);}
.uitest-form-foot{padding:12px 16px;border-top:1px solid #eee;background:#fff;position:sticky;bottom:0;}
.uitest-submit{width:100%;padding:12px 14px;border-radius:14px;font-size:15px}

.uitest-label{display:block;font-weight:700;font-size:13px;color:#333;margin:10px 0 6px;}
.uitest-input,.uitest-textarea{width:100%;border:1px solid #ddd;border-radius:12px;padding:12px 12px;font-size:14px;outline:none;}
.uitest-textarea{resize:vertical;min-height:120px;}
.uitest-file{margin-top:8px}
.uitest-note{margin-top:10px;font-size:12px;color:#666;}
.uitest-error{margin-top:10px;font-size:13px;color:#b00020;font-weight:700;display:none}

.uitest-rating{display:flex;gap:6px;align-items:center;}
.uitest-rate{border:0;background:transparent;font-size:22px;cursor:pointer;opacity:.35;line-height:1;}
.uitest-rate.is-on{opacity:1;}

@media (max-width: 980px){
  .uitest-header{grid-template-columns:1fr;gap:12px}
  .uitest-actions{justify-content:flex-start}
  .uitest-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 560px){
  .uitest-grid{grid-template-columns:1fr;}
  .uitest-score-num{font-size:44px}
  .uitest-modal-card{margin:10px auto;max-height:92vh}
  .uitest-form-body{max-height:calc(92vh - 64px - 62px);}
}
