/* srs-requester-demo.css — 100% scoped to <srs-requester-demo> */

srs-requester-demo{ display:block; }

srs-requester-demo .srs-requester-demo{
  color-scheme: light;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  --text:#0f172a;
  --muted:#334155;
  --line:#e6eaf2;

  --shadow-1:0 8px 24px rgba(2,12,44,.06);

  --pad:14px;
  --r-outer:18px;
  --r-card:16px;
  --r-field:10px;
  --r-pill:999px;

  color: var(--text);
  width:100%;
  max-width:100%;
  margin:0;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:none;

  --safeL: env(safe-area-inset-left, 0px);
  --safeR: env(safe-area-inset-right, 0px);
  --safeB: env(safe-area-inset-bottom, 0px);
}

srs-requester-demo .srs-requester-demo :where(*, *::before, *::after){ box-sizing:border-box; }

srs-requester-demo .srs-requester-demo__outer{
  max-width:760px;
  margin:0 auto;
  padding: var(--pad) calc(var(--pad) + var(--safeR)) calc(var(--pad) + var(--safeB)) calc(var(--pad) + var(--safeL));
  border-radius: var(--r-outer);
  background:
    radial-gradient(900px 420px at -10% -10%, #e8f0ff 0%, transparent 60%),
    radial-gradient(700px 360px at 110% 0%, #ddf6ec 0%, transparent 55%),
    linear-gradient(180deg,#f9fafb,#f6f7fb);
  min-width:0;
}

srs-requester-demo .srs-requester-demo__card{
  border:1px solid var(--line);
  border-radius: var(--r-card);
  background:#fff;
  overflow:hidden;
  box-shadow: var(--shadow-1);
  min-width:0;
}

srs-requester-demo .srs-requester-demo__hero{
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(1200px 600px at -10% -10%, #c9d2ff 0%, transparent 60%),
    radial-gradient(1000px 500px at 110% 0%, #d9f6e6 0%, transparent 55%),
    linear-gradient(135deg,#eadfff, #f7c9da 45%, #8fe0e6 100%);
}

srs-requester-demo .srs-requester-demo__topbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}

srs-requester-demo .srs-requester-demo__h{
  margin:0;
  font:900 clamp(18px,3.2vw,24px)/1.15 Inter, system-ui, sans-serif;
  flex:1 1 auto;
  min-width:0;
}

srs-requester-demo .srs-requester-demo__badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius: var(--r-pill);
  background:#ffffffd9;
  border:1px solid var(--line);
  font:800 11px/1.2 Inter, system-ui, sans-serif;
  color: var(--text);
  flex:0 1 auto;
  min-width:0;
}

srs-requester-demo .srs-requester-demo__dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#22c55e;
  flex:0 0 auto;
}

srs-requester-demo .srs-requester-demo__sub{
  margin:6px 0 0;
  color: var(--muted);
  font:600 12px/1.5 Inter, system-ui, sans-serif;
}

srs-requester-demo .srs-requester-demo__body{
  padding:12px 14px;
  background:
    radial-gradient(220px 120px at 96% 20%, #f0f9ff 0%, transparent 70%),
    radial-gradient(220px 120px at 6% 90%, #fef7ff 0%, transparent 70%),
    #fff;
}

srs-requester-demo .srs-requester-demo__form{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin:0;
  min-width:0;
}

srs-requester-demo .srs-requester-demo__label{
  display:block;
  font:700 12px/1.35 Inter, system-ui, sans-serif;
  min-width:0;
}

srs-requester-demo .srs-requester-demo__label--full{ grid-column:1 / -1; }

srs-requester-demo .srs-requester-demo__field{
  margin-top:5px;
  width:100%;
  border:1px solid #e2e8f0;
  border-radius: var(--r-field);
  background:#fff;
  color: var(--text);
  padding:9px 10px;
  font:600 13px/1.35 Inter, system-ui, sans-serif;
  box-shadow:0 1px 0 rgba(2,6,23,.03) inset;
  min-width:0;
}

srs-requester-demo .srs-requester-demo__field:focus{
  outline:none;
  border-color:#94a3b8;
  box-shadow:0 0 0 3px rgba(59,130,246,.16);
}

srs-requester-demo .srs-requester-demo__textarea{
  min-height:96px;
  resize:vertical;
}

srs-requester-demo .srs-requester-demo__hp{
  position:relative;
  height:0;
  overflow:hidden;
}

srs-requester-demo .srs-requester-demo__hp-input{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

srs-requester-demo .srs-requester-demo__gdpr{
  display:flex;
  gap:8px;
  align-items:flex-start;
  flex-wrap:wrap;
}

srs-requester-demo .srs-requester-demo__check{
  width:auto;
  margin-top:2px;
  flex:0 0 auto;
}

srs-requester-demo .srs-requester-demo__gdpr-label{
  font:700 12px/1.35 Inter, system-ui, sans-serif;
  color: var(--text);
  min-width:0;
}

srs-requester-demo .srs-requester-demo__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:4px;
}

srs-requester-demo .srs-requester-demo__btn{
  border:1px solid #1d4ed8;
  background:#2563eb;
  color:#fff;
  border-radius: var(--r-field);
  padding:9px 12px;
  font:800 13px/1 Inter, system-ui, sans-serif;
  cursor:pointer;
  flex:0 1 auto;
}

srs-requester-demo .srs-requester-demo__btn--secondary{
  background:#eef2f7;
  color: var(--text);
  border-color:#cbd5e1;
}

srs-requester-demo .srs-requester-demo__btn[disabled]{
  opacity:.6;
  cursor:not-allowed;
}

srs-requester-demo .srs-requester-demo__note{
  font:600 11.5px/1.4 Inter, system-ui, sans-serif;
  color:#64748b;
  margin:6px 0 0;
}

srs-requester-demo .srs-requester-demo__ok{
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  padding:12px;
  margin-top:12px;
}

srs-requester-demo .srs-requester-demo__error{
  font:600 11.5px/1.4 Inter, system-ui, sans-serif;
  color:#b91c1c;
  margin:10px 0 0;
}

@media (max-width:640px){
  srs-requester-demo .srs-requester-demo__form{ grid-template-columns:1fr; }
}

@media (max-width:420px){
  srs-requester-demo .srs-requester-demo__outer{
    padding:12px calc(12px + var(--safeR)) calc(12px + var(--safeB)) calc(12px + var(--safeL));
  }
  srs-requester-demo .srs-requester-demo__hero,
  srs-requester-demo .srs-requester-demo__body{ padding:12px; }
  srs-requester-demo .srs-requester-demo__btn{ flex:1 1 160px; }
}

@media (max-width:360px){
  srs-requester-demo .srs-requester-demo__topbar{ flex-wrap:wrap; }
  srs-requester-demo .srs-requester-demo__h{ flex:1 1 100%; }
}

@media (prefers-reduced-motion: reduce){
  srs-requester-demo .srs-requester-demo :where(*){
    scroll-behavior:auto !important;
  }
}