/* ─── Review Badge ─── */
.p-review-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px; font-weight: 600;
    color: #22c55e;
    background: rgba(34,197,94,0.1);
    padding: 3px 10px;
    border-radius: 20px;
}

/* ─── Review Form ─── */
.rf-wrap { margin-top:28px;padding-top:24px;border-top:1px solid var(--border) }
.rf-title { font-size:16px;font-weight:700;margin-bottom:16px;color:var(--text) }
.rf-stars { display:flex;gap:6px;margin-bottom:16px;direction:ltr }
.rf-star { font-size:28px;cursor:pointer;color:var(--text-muted);transition:all .2s ease }
.rf-star:hover,
.rf-star.active,
.rf-star.hover { color:var(--gold);transform:scale(1.1) }
.rf-star.active { text-shadow:0 0 12px rgba(212,168,67,.4) }
.rf-star-label { font-size:13px;color:var(--text-muted);margin-bottom:12px }
.rf-textarea { width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:14px;resize:vertical;min-height:100px;font-family:inherit;transition:border-color .2s }
.rf-textarea:focus { outline:none;border-color:var(--gold) }
.rf-btn { margin-top:12px;padding:12px 28px;border:none;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .3s ease }
.rf-btn:hover { transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,168,67,.3) }
.rf-btn:disabled { opacity:.5;cursor:not-allowed;transform:none }
.rf-msg { margin-top:12px;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;display:none }
.rf-msg.success { display:block;background:rgba(34,197,94,.1);color:#22c55e;border:1px solid rgba(34,197,94,.2) }
.rf-msg.error { display:block;background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2) }
.rf-login { text-align:center;padding:24px;color:var(--text-muted);font-size:14px }
.rf-login a { color:var(--gold);font-weight:600 }

/* ─── Testimonials ─── */
.t-section { padding:80px 0;position:relative;overflow:hidden }
.t-section::before { content:'';position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(212,168,67,.06),transparent 70%);pointer-events:none }
.t-header { text-align:center;margin-bottom:48px;position:relative }
.t-header h2 { font-size:32px;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,#f0e6d0,#c8a85e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text }
.t-header p { color:var(--text-muted);font-size:15px }
.t-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px }
.t-card { background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;transition:all .35s ease;position:relative;overflow:hidden }
.t-card::before { content:'\201C';position:absolute;top:12px;right:20px;font-size:64px;line-height:1;color:rgba(212,168,67,.12);font-family:Georgia,serif }
.t-card:hover { border-color:rgba(212,168,67,.3);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.2) }
.t-stars { display:flex;gap:3px;margin-bottom:14px;font-size:14px;color:var(--gold) }
.t-card blockquote { font-size:14px;line-height:1.8;color:var(--text-secondary);margin-bottom:18px;font-style:italic;position:relative;z-index:1 }
.t-author { display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.05) }
.t-avatar { width:38px;height:38px;border-radius:50%;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#1a1a2e;flex-shrink:0 }
.t-author-info strong { font-size:14px;color:#fff }
.t-author-info span { font-size:12px;color:var(--text-muted);display:block;margin-top:2px }
.t-empty { text-align:center;padding:48px;color:var(--text-muted);grid-column:1/-1 }
.t-empty i { font-size:40px;display:block;margin-bottom:12px;color:var(--gold) }

/* ─── Reviews Responsive ─── */
@media (max-width: 768px) {
    .rf-stars { gap: 4px; }
    .rf-star { font-size: 24px; }
    .t-grid { grid-template-columns: 1fr; }
    .t-section { padding: 48px 0; }
    .t-header h2 { font-size: 24px; }
    .t-card { padding: 20px; }
}

@media (max-width: 480px) {
    .rf-star { font-size: 22px; }
    .t-header h2 { font-size: 20px; }
    .t-card { padding: 16px; }
    .t-card blockquote { font-size: 13px; }
}
