/* Version 29: State Guide published-response popups. */
.sg-map-click-hint{
  margin:.75rem 0 0;
  padding:.7rem .9rem;
  border-radius:12px;
  background:#f4ead7;
  color:#554638;
  line-height:1.45;
}
.sg-state-link{
  position:relative;
}
.sg-state-link::after{
  content:"↗";
  position:absolute;
  right:3px;
  bottom:1px;
  font-size:.62rem;
  line-height:1;
  opacity:.78;
}
body.sg-popup-open{
  overflow:hidden;
}
.sg-response-popup{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(35,27,18,.62);
}
.sg-response-popup.is-open{
  display:flex;
}
.sg-response-dialog{
  position:relative;
  width:min(760px,94vw);
  max-height:min(82vh,760px);
  overflow:auto;
  padding:34px 38px 30px;
  border:3px solid #b8955c;
  border-radius:22px;
  background:linear-gradient(145deg,#fffdf5 0%,#f7ecd7 100%);
  box-shadow:0 22px 70px rgba(0,0,0,.34);
  color:#4d4034;
}
.sg-response-close{
  position:absolute;
  top:12px;
  right:14px;
  width:42px;
  height:42px;
  border:2px solid #7a5320;
  border-radius:50%;
  background:#fffaf0;
  color:#5b3b18;
  font:900 1.45rem/1 Georgia,serif;
  cursor:pointer;
}
.sg-response-close:hover,
.sg-response-close:focus-visible{
  outline:3px solid rgba(49,95,53,.28);
  outline-offset:2px;
}
.sg-response-kicker{
  display:block;
  margin:0 52px 5px 0;
  color:#7a5320;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.sg-response-dialog h2{
  margin:.05em 52px .35em 0;
  color:#315f35;
  font-size:clamp(1.65rem,4vw,2.35rem);
  line-height:1.08;
}
.sg-response-status{
  display:inline-block;
  margin:0 0 18px;
  padding:5px 10px;
  border-radius:999px;
  background:#62805a;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
}
.sg-response-subject{
  margin:.1em 0 .55em;
  color:#4e351b;
  font-size:1.2rem;
}
.sg-response-summary{
  margin:0;
  color:#584b3f;
  font-size:1.02rem;
  line-height:1.67;
}
.sg-response-group-note{
  margin:17px 0 0;
  padding:12px 14px;
  border-radius:12px;
  background:#f1e4cc;
  color:#5b4a38;
  line-height:1.45;
}
.sg-response-disclaimer{
  margin:20px 0 0;
  padding:14px 16px;
  border-left:5px solid #7a5320;
  border-radius:10px;
  background:#fff5df;
  color:#5e4c39;
  font-size:.9rem;
  line-height:1.5;
}
@media(max-width:620px){
  .sg-response-popup{padding:12px;}
  .sg-response-dialog{padding:30px 20px 24px;border-radius:18px;max-height:88vh;}
  .sg-response-close{top:9px;right:9px;width:38px;height:38px;}
}
