/* time2flow front-page reviews — visual styling for the review list + submission form. */
.g-reviews{margin-top:56px;padding-top:48px;border-top:1px solid var(--rule)}
.g-reviews .rv-head{max-width:640px;margin-bottom:28px}
.g-reviews .rv-head h2{margin-bottom:8px}

.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:32px}
.rv-empty{grid-column:1/-1}
.rv-card{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:18px 20px}
.rv-card-stars{color:var(--t2f-cyan);font-size:18px;letter-spacing:2px;display:block;margin-bottom:8px}
.rv-name{font-weight:700;color:var(--ink);margin:0}
.rv-tag{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--t2f-sky-100,#E9F3FB);border-radius:4px;padding:2px 7px;margin-left:6px;vertical-align:middle}
.rv-reason{margin-top:8px;color:var(--ink-2);font-size:var(--s-sm);line-height:1.5}
.rv-date{margin-top:10px;font-size:var(--s-xs);color:var(--ink-3)}

.rv-form-wrap{max-width:640px;background:var(--t2f-sky-50,#F5F9FD);border:1px solid var(--rule);border-radius:calc(var(--radius) + 4px);padding:clamp(20px,4vw,32px)}
.rv-form-wrap h3{margin-bottom:14px}
.rv-alert{background:#FBE9E3;border:1px solid #efc2b3;color:#8B2A1F;border-radius:6px;padding:10px 14px;font-size:var(--s-sm);margin-bottom:14px}
.rv-stars{border:0;padding:0;margin:0 0 18px}
.rv-stars legend{font-weight:600;font-size:var(--s-sm);margin-bottom:8px;padding:0;color:var(--ink)}
.rv-star-row{display:inline-flex;flex-direction:row-reverse;gap:2px}
.rv-star-row input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}
.rv-star-row label{cursor:pointer;font-size:30px;line-height:1;color:#d9e4f5;transition:color .15s;padding:2px}
.rv-star-row label::before{content:"★"}
.rv-star-row input:checked ~ label,
.rv-star-row label:hover,
.rv-star-row label:hover ~ label{color:var(--t2f-cyan)}
.rv-star-row input:focus-visible + label{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}

.g-reviews .rv-nametype{border:0;padding:0;margin:0 0 10px;display:flex;gap:18px;flex-wrap:wrap}
.g-reviews .rv-nametype legend{width:100%;font-weight:600;font-size:var(--s-sm);margin-bottom:6px;padding:0;color:var(--ink)}
.g-reviews .rv-nametype label{display:flex;align-items:center;gap:6px;font-size:var(--s-sm);color:var(--ink-2);cursor:pointer}

.g-reviews .field{margin-bottom:16px}
.g-reviews .field label{display:block;font-weight:600;font-size:var(--s-sm);margin-bottom:6px;color:var(--ink)}
.g-reviews .req{color:#c0503c;margin-left:3px}
.g-reviews .opt{font-weight:400;color:var(--ink-3);margin-left:6px;font-size:var(--s-xs)}
.g-reviews input[type=text],.g-reviews input[type=email],.g-reviews textarea{
  width:100%;font:inherit;font-size:var(--s-sm);padding:11px 13px;border:1px solid var(--rule);border-radius:8px;background:#fff;min-height:46px;box-sizing:border-box}
.g-reviews textarea{min-height:90px;resize:vertical}
.g-reviews .field.has-err input,.g-reviews .field.has-err textarea,.rv-stars.has-err label{border-color:#c0503c}
.g-reviews .err{display:block;color:#8B2A1F;font-size:var(--s-xs);margin-top:5px}
.g-reviews .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rv-ok{background:#E5F3E8;border:1px solid #b9dcc2;color:#1F6B33;border-radius:6px;padding:10px 14px;font-size:var(--s-sm);margin-bottom:14px}

@media (max-width:560px){ .rv-form-wrap{padding:20px} }
