/* ============================================================
   Places & Businesses — intentionally in development
   ============================================================ */

.pb-head{
  background:var(--ink); color:var(--on-dark);
  padding-top:calc(74px + clamp(3rem,7vw,5.5rem));
  padding-bottom:clamp(2.5rem,5vw,4rem);
  position:relative;
}
.pb-head::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg, var(--moss), transparent 55%);
}
.pb-head h1{ font-size:var(--step-4); margin:0 0 .8rem; max-width:20ch; }
.pb-head p{ font-size:var(--step-0); color:var(--on-dark-mute); max-width:54ch; margin:0 0 1.5rem; line-height:1.75; }

.pb-status{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.5rem 1.1rem; border-radius:999px;
  background:rgba(192,86,42,0.14); border:1px solid rgba(192,86,42,0.35);
  font-family:var(--ui); font-size:.78rem; font-weight:700; color:#E8A87A;
}
.pb-status::before{
  content:''; width:7px; height:7px; border-radius:50%; background:var(--copper); flex:0 0 7px;
}

.pb-body{ padding-block:clamp(3rem,6vw,5rem); }
.pb-inner{
  max-width:min(760px,100%); margin-inline:auto; padding-inline:var(--gutter);
}

.pb-why{ padding-bottom:clamp(2.5rem,5vw,4rem); border-bottom:1px solid var(--line-light); margin-bottom:clamp(2.5rem,5vw,4rem); }
.pb-why h2{ font-size:var(--step-2); margin:0 0 1rem; }
.pb-why p{ font-size:var(--step-0); color:var(--on-light); line-height:1.75; margin-bottom:1rem; }
.pb-why p:last-child{ margin-bottom:0; }

.pb-pull{
  border-left:3px solid var(--moss);
  margin:1.75rem 0; padding:.75rem 0 .75rem 1.5rem;
}
.pb-pull p{
  font-family:var(--display); font-size:var(--step-2);
  font-weight:600; letter-spacing:-0.025em; line-height:1.2;
  color:var(--on-light); margin:0 !important;
}

.pb-considering{ list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:.5rem; }
.pb-considering li{
  display:flex; gap:.75rem; align-items:flex-start;
  padding:.7rem .9rem; border-radius:11px;
  background:var(--paper-2); border:1px solid var(--line-light);
  font-size:var(--step--1); line-height:1.55; color:var(--on-light-mute);
}
.pb-considering li::before{
  content:''; flex:0 0 6px; width:6px; height:6px; border-radius:50%;
  background:var(--moss); margin-top:.5rem;
}

/* Feedback form */
.pb-form-wrap{
  background:var(--paper-2); border:1px solid var(--line-light);
  border-radius:20px; padding:clamp(1.5rem,3vw,2.25rem);
}
.pb-form-wrap h2{ font-size:var(--step-2); margin:0 0 .4rem; }
.pb-form-wrap > p{ font-size:var(--step--1); color:var(--on-light-mute); margin:0 0 1.75rem; line-height:1.7; }

.pb-field{ margin-bottom:1.5rem; }
.pb-field > label,
.pb-field > p.pb-label{
  display:block; font-family:var(--ui); font-size:.82rem; font-weight:700;
  color:var(--on-light); margin-bottom:.7rem;
}
.pb-field .pb-sub{ font-weight:400; color:var(--on-light-mute); font-size:.78rem; margin-top:.15rem; }

.pb-checks{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:.5rem; }
.pb-check{
  display:flex; align-items:flex-start; gap:.6rem;
  padding:.65rem .8rem; border-radius:10px;
  background:var(--paper); border:1px solid var(--line-light);
  cursor:pointer; transition:border-color .2s var(--ease-out), background-color .2s var(--ease-out);
}
.pb-check:hover{ border-color:var(--moss); }
.pb-check input{ margin-top:.2rem; accent-color:var(--moss); flex:0 0 auto; }
.pb-check span{ font-size:.82rem; color:var(--on-light); line-height:1.4; }

.pb-radios{ display:flex; flex-direction:column; gap:.5rem; }
.pb-radio{
  display:flex; align-items:flex-start; gap:.6rem;
  padding:.65rem .8rem; border-radius:10px;
  background:var(--paper); border:1px solid var(--line-light);
  cursor:pointer; transition:border-color .2s var(--ease-out);
}
.pb-radio:hover{ border-color:var(--moss); }
.pb-radio input{ margin-top:.2rem; accent-color:var(--moss); flex:0 0 auto; }
.pb-radio span{ font-size:.82rem; color:var(--on-light); line-height:1.4; }

.pb-field textarea, .pb-field input[type="text"], .pb-field input[type="email"]{
  width:100%; padding:.7rem .9rem;
  border:1px solid var(--line-light); border-radius:10px;
  background:var(--paper); color:var(--on-light);
  font-family:var(--body); font-size:var(--step--1); line-height:1.5;
  transition:border-color .22s var(--ease-out), box-shadow .22s var(--ease-out);
}
.pb-field textarea:focus, .pb-field input:focus{
  outline:none; border-color:var(--moss); box-shadow:0 0 0 3px rgba(46,115,97,0.15);
}
.pb-field textarea{ resize:vertical; min-height:110px; }

.pb-submit{
  width:100%; margin-top:.5rem;
  padding:1rem; border-radius:999px; border:none;
  background:var(--moss); color:#F3FBF7;
  font-family:var(--ui); font-size:var(--step--1); font-weight:700;
  cursor:pointer; transition:background-color .28s var(--ease-out), transform .22s var(--ease-out),
             box-shadow .28s var(--ease-out);
}
.pb-submit:hover,.pb-submit:focus-visible{
  background:var(--moss-deep); transform:translateY(-2px);
  box-shadow:0 12px 28px -12px rgba(46,115,97,0.7); outline:none;
}
.pb-submit:disabled{ opacity:.55; pointer-events:none; }

.pb-success{ display:none; text-align:center; padding:2rem 1rem; }
.pb-success.is-visible{ display:block; }
.pb-success__icon{
  width:52px; height:52px; border-radius:50%;
  background:rgba(46,115,97,0.12); border:2px solid var(--moss);
  display:grid; place-items:center; margin:0 auto 1rem; font-size:1.3rem;
}
.pb-success h4{ font-size:var(--step-1); margin:0 0 .4rem; }
.pb-success p{ font-size:var(--step--1); color:var(--on-light-mute); margin:0; }

.pb-formspree-note{
  background:var(--ink); color:var(--on-dark-mute);
  border-radius:10px; padding:.65rem .85rem; margin-bottom:1.5rem;
  font-family:var(--ui); font-size:.7rem; line-height:1.55; border:1px solid var(--line-dark);
}
.pb-formspree-note a{ color:var(--moss-lt); }
