/* forms.css */
.sm-input{width:100%;padding:0.625rem 0.8125rem;border:1px solid var(--sm-border-strong);border-radius:var(--sm-r);
  font-family:var(--sm-font-body);font-size:var(--sm-size-md);color:var(--sm-ink);background:var(--sm-paper);
  outline:none;transition:border-color var(--sm-transition)}
.sm-input:focus{border-color:var(--sm-green);box-shadow:var(--sm-shadow-green)}
.sm-input::placeholder{color:var(--sm-ink-4)}
.sm-select{width:100%;padding:0.5625rem 0.8125rem;border:1px solid var(--sm-border-strong);border-radius:var(--sm-r);
  font-family:var(--sm-font-body);font-size:var(--sm-size-base);color:var(--sm-ink);background:var(--sm-paper);cursor:pointer;outline:none}
.sm-select:focus{border-color:var(--sm-green)}
.sm-textarea{width:100%;padding:0.625rem 0.8125rem;border:1px solid var(--sm-border-strong);border-radius:var(--sm-r);
  font-family:var(--sm-font-body);font-size:var(--sm-size-sm);color:var(--sm-ink);background:var(--sm-paper);
  resize:vertical;min-height:5rem;line-height:1.6;outline:none;transition:border-color var(--sm-transition)}
.sm-textarea:focus{border-color:var(--sm-green)}
.sm-form-group{margin-bottom:1.1rem}
.sm-form-label{display:block;font-family:var(--sm-font-body);font-size:var(--sm-size-sm);font-weight:500;color:var(--sm-ink-3);margin-bottom:0.3125rem}
.sm-email-cta{background:var(--sm-forest);border-radius:var(--sm-r-lg);padding:3.5rem;text-align:center;margin-top:3rem}
.sm-email-cta__badge{display:inline-flex;align-items:center;gap:0.4375rem;background:var(--sm-green-dim);
  border:1px solid var(--sm-green-dim-25);color:var(--sm-mint);font-family:var(--sm-font-body);
  font-size:var(--sm-size-sm);font-weight:500;padding:0.375rem 0.9375rem;border-radius:var(--sm-r-full);margin-bottom:1.5rem}
.sm-email-cta h2{font-family:var(--sm-font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:400;color:var(--sm-paper);margin-bottom:.5rem}
.sm-email-cta>p{font-family:var(--sm-font-body);font-size:var(--sm-size-lg);color:rgba(255,255,255,.55);
  margin-bottom:1.75rem;line-height:1.65;max-width:480px;margin-left:auto;margin-right:auto}
.sm-email-form{display:flex;gap:0.625rem;justify-content:center;max-width:460px;margin:0 auto}
.sm-email-form .sm-email-input{flex:1;padding:0.75rem 1rem;border-radius:var(--sm-r);font-family:var(--sm-font-body);
  font-size:var(--sm-size-md);border:none;color:var(--sm-ink);background:var(--sm-paper);outline:none}
.sm-email-form .sm-email-input:focus{outline:2px solid var(--sm-green);outline-offset:0}
.sm-email-cta__disc{font-family:var(--sm-font-body);font-size:var(--sm-size-sm);color:rgba(255,255,255,.3);margin-top:1rem}
.sm-email-cta--inline{background:var(--sm-mint-tint);border:1px solid var(--sm-mint);border-radius:var(--sm-r);
  padding:1.25rem 1.5rem;margin:2rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sm-email-cta--inline .sm-email-cta__title{font-family:var(--sm-font-body);font-weight:500;font-size:var(--sm-size-md);color:var(--sm-green-darker);margin-bottom:0.1875rem}
.sm-email-cta--inline .sm-email-cta__sub{font-family:var(--sm-font-body);font-size:var(--sm-size-sm);color:var(--sm-ink-3)}
.sm-search-wrap{display:flex;gap:.375rem;max-width:28.75rem;margin-bottom:0}
.sm-search-input{flex:1;min-width:0;padding:.5rem .875rem;border:1px solid var(--sm-border-strong);border-radius:var(--sm-r);
  font-family:var(--sm-font-body);font-size:var(--sm-size-sm);color:var(--sm-ink);background:var(--sm-paper);outline:none}
.sm-search-input:focus{border-color:var(--sm-green)}

/* Filter bar: chips on the left, search on the right (inline) */
.sm-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.sm-filter-bar__chips{display:flex;gap:.5rem;flex-wrap:wrap;flex:1 1 auto;min-width:0}
.sm-filter-bar__search{flex:0 1 20rem;margin:0}
.sm-filter-bar__search .wp-block-search__inside-wrapper{border:1px solid var(--sm-border-strong);border-radius:var(--sm-r);overflow:hidden;background:var(--sm-paper)}
.sm-filter-bar__search .wp-block-search__input{border:none;padding:.5rem .875rem;font-size:var(--sm-size-sm);background:transparent;outline:none}
.sm-filter-bar__search .wp-block-search__button{background:var(--sm-green);color:var(--sm-paper);border:none;padding:.5rem 1rem;font-size:var(--sm-size-sm);cursor:pointer;border-radius:0;margin:0}
.sm-filter-bar__search .wp-block-search__button:hover{background:var(--sm-green-dark)}

.sm-filter-btn{padding:.4375rem 1rem;border-radius:var(--sm-r-full);font-family:var(--sm-font-body);font-size:var(--sm-size-sm);
  font-weight:500;border:1px solid var(--sm-border-strong);background:var(--sm-paper);color:var(--sm-ink-3);cursor:pointer;transition:all var(--sm-transition);white-space:nowrap}
.sm-filter-btn:hover{border-color:var(--sm-green);color:var(--sm-green)}
.sm-filter-btn--active{background:var(--sm-green);color:var(--sm-paper);border-color:var(--sm-green)}

@media(max-width:768px){
  .sm-filter-bar{flex-direction:column;align-items:stretch}
  .sm-filter-bar__search{flex:1 1 auto;width:100%}
  .sm-filter-bar__chips{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin;padding-bottom:.25rem}
  .sm-filter-bar__chips::-webkit-scrollbar{height:4px}
  .sm-filter-bar__chips::-webkit-scrollbar-thumb{background:var(--sm-border-strong);border-radius:2px}
}
@media(max-width:640px){.sm-email-cta{padding:2.5rem 1.5rem}.sm-email-form{flex-direction:column;align-items:stretch}}

/* Form validation + success states */
.sm-email-form.is-error .sm-email-input{outline:2px solid var(--sm-red);animation:sm-shake .3s ease}
.sm-email-form.is-success{position:relative}
.sm-email-form.is-success::after{content:"✓ Check your inbox!";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sm-mint-tint);color:var(--sm-green-dark);border-radius:var(--sm-r);font-weight:500;animation:sm-fade-in .3s ease}
.sm-form-error{font-family:var(--sm-font-body);font-size:var(--sm-size-sm);color:var(--sm-red);margin-top:0.375rem;display:none}
.sm-form-error.is-visible{display:block;animation:sm-fade-in .2s ease}
@keyframes sm-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-0.375rem)}75%{transform:translateX(0.375rem)}}
@keyframes sm-fade-in{from{opacity:0;transform:translateY(-0.25rem)}to{opacity:1;transform:translateY(0)}}
