/* Site Reviews: scoped utilities and modal */
.sr-alert{margin:0.75rem auto 1rem;max-width:1100px;padding:0.75rem 1rem;border-radius:8px;font-weight:600}
.sr-alert--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.sr-alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}

.sr-stars{letter-spacing:1px;font-size:1rem;line-height:1;display:inline-block}

.sr-pagination{display:flex;gap:.5rem;justify-content:center;margin:1.2rem 0 0}
.sr-page{display:inline-block;padding:.35rem .6rem;border:1px solid #e5e7eb;border-radius:6px;color:#374151;text-decoration:none}
.sr-page:hover{background:#f3f4f6}
.sr-page.is-current{background:#111827;color:#fff;border-color:#111827}

.sr-empty-message{
  margin:1.5rem auto 0;
  max-width:1100px;
  padding:0 5%;
  font-size:.98rem;
  color:#4b5563;
}

.sr-actions{display:flex;justify-content:center;margin-top:1.75rem}
.sr-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.85rem 1.6rem;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg, var(--primary-color, #004d40), var(--secondary-color, #0f766e));
  color:#fff;
  font-weight:700;
  font-size:.95rem;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(0,77,64,.28);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.sr-button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(0,77,64,.35);
  filter:brightness(1.05);
}

.sr-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
}
.sr-modal[aria-hidden="false"]{display:flex}
.sr-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.sr-modal__dialog{
  position:relative;
  max-width:560px;
  width:100%;
  margin:0 auto;
  max-height:90vh;
  overflow-y:auto;
  background:#fff;
  border-radius:12px;
  padding:1.25rem 1.25rem 1rem;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
  color:#111827;
}
.sr-modal__close{position:absolute;top:.4rem;right:.6rem;background:none;border:none;font-size:1.6rem;line-height:1;color:#6b7280;cursor:pointer}

.sr-modal__dialog h3{
  margin:0 0 1rem;
  font-size:1.25rem;
  font-weight:700;
  color:#020617;
}

.sr-form label{display:block;margin-bottom:.75rem;color:#111827;font-size:.95rem;font-weight:500}
.sr-form input[type="text"],
.sr-form input[type="email"],
.sr-form select,
.sr-form textarea{
  width:100%;
  padding:.6rem .75rem;
  border:1px solid #e5e7eb;
  border-radius:8px;
  background:#f9fafb;
  color:#111827;
}
.sr-form input::placeholder,
.sr-form textarea::placeholder{
  color:#9ca3af;
}
.sr-form .sr-checkbox{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:.5rem 0 1rem;
  color:#111827;
}
.sr-form__actions{display:flex;justify-content:flex-end;margin-top:.75rem}
.sr-button--primary{background:linear-gradient(135deg, var(--primary-color, #1f4ed8), #2563eb);box-shadow:0 6px 18px rgba(37,99,235,.35)}
.sr-honeypot{position:absolute !important;left:-9999px !important;opacity:0 !important;height:0 !important;width:0 !important}
