/* Container */
.lf-filters {
  width: 100%;
}
p:empty {
  display: none;
}

.lf-box {
  border: 1px solid #63856E;
  padding: 1rem;
  border-radius: .5rem;
  background: #fff;
}

.lf-box legend {
  font-weight: 600;
  font-size: 1.1rem;
}

/* Filter Grid */
.lf-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: .5rem;
}

/* Mobile: Stack filters vertically, full width */
@media (max-width: 640px) {
  .lf-grid-3 {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}

/* Filter Item */
.lf-grid-3 > div {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}

.lf-grid-3 label {
  font-weight: 500;
  font-size: .9rem;
}

/* Inline Selects */
.lf-inline {
  display: flex;
  gap: .5rem;
  align-items: center;
}

.lf-inline select {
  flex: 1;
  padding: .5rem;
  border: 1px solid #63856E;
  border-radius: .25rem;
  font-size: .9rem;
}

/* Actions (Buttons) */
.lf-actions {
  margin-top: 1rem;
  display: flex;
  gap: .75rem;
  align-items: center;
}

.lf-actions button[type="submit"] {
  background: #3d5f48;
  color: #fff;
  border: none;
  padding: .65rem 1.5rem;
  border-radius: .35rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}

.lf-actions button[type="submit"]:hover {
  background: #2f4437;
}

.lf-actions button[type="submit"]:active {
  background: #253629;
}

.lf-reset {
  color: #3d5f48;
  text-decoration: none;
  font-weight: 500;
  padding: .65rem 1rem;
  transition: color .2s;
}

.lf-reset:hover {
  color: #2f4437;
  text-decoration: underline;
}