/* --- Awesome Reviews Frontend CSS --- */
:root {
--ar-bg:#fff; --ar-card:#ffffff; --ar-muted:#6b7280; --ar-border:#e5e7eb; --ar-ring:#3b82f6;
--ar-text:#111827; --ar-success:#10b981; --ar-warning:#f59e0b; --ar-danger:#ef4444;
}
.ar-card { background:var(--ar-card); border:1px solid var(--ar-border); border-radius:16px; box-shadow:0 4px 10px rgba(0,0,0,.04); overflow:hidden; margin:1rem 0; }
.ar-card-header{ padding:1rem 1.25rem; border-bottom:1px solid var(--ar-border);}
.ar-title{ font-weight:700; font-size:1.125rem; color:var(--ar-text);}
.ar-subtitle{ color:var(--ar-muted); font-size:.9rem; margin-top:.25rem;}
.ar-card-body{ padding:1rem 1.25rem; }
.ar-card-footer{ padding:1rem 1.25rem; border-top:1px solid var(--ar-border); display:flex; gap:.75rem; align-items:center; }

.ar-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:600px){ .ar-grid{ grid-template-columns:1fr; } }

.ar-field{ display:flex; flex-direction:column; gap:6px; margin-bottom:.75rem; }
.ar-field>span{ color:var(--ar-muted); font-size:.85rem; }
.ar-field input[type="text"], .ar-field input[type="email"], .ar-field input[type="number"], .ar-field textarea {
border:1px solid var(--ar-border); border-radius:10px; padding:.65rem .75rem; font-size:1rem; outline:none; transition:border .15s, box-shadow .15s;
}
.ar-field input:focus, .ar-field textarea:focus{ border-color:var(--ar-ring); box-shadow:0 0 0 3px rgba(59,130,246,.15); }

.ar-btn{ background:var(--ar-ring); color:#fff; border:none; padding:.7rem 1rem; border-radius:999px; font-weight:600; cursor:pointer; }
.ar-btn:hover{ filter:brightness(.95);}

.ar-form-status{ color:var(--ar-muted); font-size:.95rem; }
.ar-notice{ padding:.75rem 1rem; border-radius:12px; margin:.5rem 0; }
.ar-notice-warning{ background:#fff7ed; border:1px solid #fed7aa; }

.ar-stars-field .ar-stars{ display:flex; gap:6px; align-items:center; }
.ar-star{ background:#f3f4f6; border:1px solid var(--ar-border); width:40px; height:40px; border-radius:8px; font-size:20px; line-height:38px; text-align:center; cursor:pointer; color:#9ca3af; transition:all .15s; }
.ar-star.is-active, .ar-star:hover{ background:#fff; color:#f59e0b; border-color:#fbbf24; transform:translateY(-1px); }

.ar-stars-row{ display:inline-flex; gap:2px; }
.ar-star-icon{ font-size:18px; color:#d1d5db; }
.ar-star-icon.full{ color:#f59e0b; }
.ar-star-icon.half{ background: linear-gradient(90deg, #f59e0b 50%, #d1d5db 50%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

.ar-badge{ display:inline-flex; gap:.35rem; align-items:center; border:1px solid var(--ar-border); border-radius:999px; padding:.25rem .6rem; background:#fff; }
.ar-badge strong{ font-weight:700; }

.ar-reviews-wrap{ margin:1.25rem 0; }
.ar-summary{ display:flex; align-items:center; justify-content:flex-start; margin:.5rem 0 1rem; }
.ar-average{ display:flex; align-items:center; gap:.75rem; }
.ar-average-number{ font-weight:800; font-size:1.75rem; }
.ar-average-count{ color:var(--ar-muted); }

.ar-review-header{ display:grid; gap:.25rem; }
.ar-review-title{ font-weight:700; font-size:1rem; }
.ar-review-meta{ color:var(--ar-muted); font-size:.85rem; }

.ar-empty{ color:var(--ar-muted); margin:.75rem 0; }

.ar-pagination{ margin-top:1rem; }
.ar-pagination .page-numbers{ display:inline-block; padding:.4rem .65rem; border:1px solid var(--ar-border); margin-right:.35rem; border-radius:8px; text-decoration:none; }
.ar-pagination .current{ background:#eef2ff; border-color:#c7d2fe; }
