/* Reviews list — mobile-first */
:root{
  --bg:#f7f8fa;
  --card:#ffffff;
  --text:#2c3e50;
  --muted:#7f8c8d;
  --primary:#3498db;
  --primary-2:#2980b9;
  --success:#2ecc71;
  --danger:#e74c3c;
  --radius:14px;
  --shadow:0 10px 24px rgba(0,0,0,.06);
}

html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Header on this page */
.reviews{max-width:980px;margin:20px auto;padding:0 12px}
.reviews__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.reviews__title{margin:0;font-size:clamp(1.2rem,2.4vw,1.8rem)}

/* Buttons/links */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  border:0;border-radius:12px;padding:10px 16px;cursor:pointer;
  font-weight:700;background:linear-gradient(90deg,#3aa0e0,var(--primary));color:#fff;
  box-shadow:var(--shadow);transition:transform .15s ease, opacity .2s ease
}
.btn:hover{transform:translateY(-1px)}
.btn--ghost{background:#fff;color:var(--text);box-shadow:inset 0 0 0 2px #e6e9ef}

/* Alerts */
.alert{margin:12px 0;padding:12px 14px;border-radius:12px}
.alert--success{background:#ecf9f1;color:#1e8449;border:1px solid #d7f2e4}
.alert--error{background:#fdecea;color:#c0392b;border:1px solid #fad4d2}

/* Cards grid */
.cards{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:680px){ .cards{grid-template-columns:1fr 1fr} }
@media (min-width:980px){ .cards{grid-template-columns:1fr 1fr 1fr} }

.card{
  background:var(--card);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px
}
.card__title{margin:0}
.card__title a{color:var(--text);text-decoration:none}
.card__title a:hover{text-decoration:underline}
.card__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.95rem}
.card__dot{opacity:.6}
.card__excerpt{margin:.25rem 0 0;font-size:1rem;line-height:1.6;color:var(--text)}
.card__actions{margin-top:6px;display:flex;gap:12px;flex-wrap:wrap}
.link{background:none;border:0;padding:0;font:inherit;color:var(--primary);cursor:pointer}
.link:hover{text-decoration:underline}
.link--danger{color:var(--danger)}

/* Pagination */
.pagination{
  margin:18px 0 36px;display:flex;justify-content:center;align-items:center;
  gap:6px;flex-wrap:wrap
}
.pagination__btn{
  display:inline-block;min-width:38px;text-align:center;padding:8px 10px;border-radius:10px;
  background:#eef2f5;color:#2c3e50;text-decoration:none;font-weight:700
}
.pagination__btn:hover{background:#e2e7ec}
.pagination__btn.is-current{background:var(--success);color:#fff}
.pagination__dots{padding:0 6px;color:#7f8c8d}

/* Modal */
.modal{
  position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;
  align-items:center;justify-content:center;z-index:1000;padding:16px
}
.modal__content{
  width:100%;max-width:720px;background:#fff;border-radius:16px;padding:16px;
  box-shadow:0 20px 50px rgba(0,0,0,.2)
}
.modal__title{margin:0 0 10px}
.modal__close{
  position:absolute;right:22px;top:14px;background:transparent;border:0;font-size:28px;
  cursor:pointer;color:#888
}
.modal__close:hover{color:#000}
.form-group{display:grid;gap:6px;margin-bottom:10px}
.form-group input[type="text"],
.form-group textarea{
  width:100%;border:1px solid #e3e7ee;border-radius:12px;padding:10px 12px;resize:vertical;font:inherit
}
.modal__actions{display:flex;gap:10px;flex-wrap:wrap}

/* Misc */
.empty{color:#7f8c8d;text-align:center;margin:18px 0}
