/* Restaurant Error Reporter styles */
:root{
  --rer-primary: #bd342c; /* deep green */
  --rer-primary-hover: #dd382f;
  --rer-accent: #e7b65f;  /* warm gold */
  --rer-bg: #ffffff;
  --rer-text: #0b1f1a;
  --rer-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.rer-button{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.75rem 1rem;
  border-radius:999px;
  border:1px solid var(--rer-primary);
  background:linear-gradient(180deg, var(--rer-primary), var(--rer-primary-hover));
  color:#fff;
  font-weight:600;
  letter-spacing:.2px;
  cursor:pointer;
  box-shadow: var(--rer-shadow);
  transition: transform .1s ease, box-shadow .2s ease;
}
.rer-button:hover{ transform: translateY(-1px); box-shadow: 0 12px 34px rgba(0,0,0,.2); }
.rer-button:focus{ outline:3px solid var(--rer-accent); outline-offset:2px; }
.rer-button .rer-icon{ fill:#fff; }

/* Modal */
.rer-overlay{
  position:fixed; inset:0; background:rgba(18,18,18,.5);
  display:flex; align-items:center; justify-content:center;
  z-index: 99999;
}
.rer-dialog{
  width:min(680px, 92vw);
  background:var(--rer-bg);
  color:var(--rer-text);
  border-radius:16px;
  box-shadow: var(--rer-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.rer-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 20px; background:#0e1f1a08;
  border-bottom:1px solid #ececec;
}
.rer-title{
  display:flex; align-items:center; gap:.6rem;
  font-size:1.1rem; font-weight:700;
}
.rer-title .badge{
  background: var(--rer-accent);
  color:#1b1306;
  padding:.25rem .5rem;
  border-radius:6px;
  font-size:.75rem;
  font-weight:700;
}
.rer-close{
  appearance:none; border:none; background:transparent; cursor:pointer;
  font-weight:700; font-size:.95rem; color:#333; padding:.4rem .6rem; border-radius:8px;
}
.rer-close:hover{ background:#f3f3f3; }
.rer-body{ padding:16px 20px; }
.rer-field{
  display:flex; flex-direction:column; gap:.5rem;
}
.rer-textarea{
  width:100%; min-height:160px; resize:vertical;
  padding:12px 14px; border:1px solid #dcdcdc; border-radius:12px;
  font: inherit; line-height:1.45;
}
.rer-actions{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:16px 20px; border-top:1px solid #ececec; background: #fafafa;
}
.rer-send{
  appearance:none; border:none; padding:.75rem 1rem; border-radius:12px;
  background: var(--rer-primary); color:#fff; font-weight:700; cursor:pointer;
  box-shadow: var(--rer-shadow);
}
.rer-send[disabled]{ opacity:.6; cursor:not-allowed; }
.rer-status{ font-size:.9rem; color:#2b3; display:none; }
.rer-status.error{ color:#b32d2e; }
.rer-status.show{ display:block; }

/* Focus lock helper */
.rer-sr-only{ position:absolute; width:1px; height:1px; margin:-1px; border:0; padding:0; clip:rect(0 0 0 0); overflow:hidden; }
